@oanda/labs-live-rates-table-widget 1.0.39 → 1.0.40

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 (122) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/dist/main/LiveRatesTableWidget/LiveRatesTableWidget.js +14 -14
  3. package/dist/main/LiveRatesTableWidget/LiveRatesTableWidget.js.map +1 -1
  4. package/dist/main/LiveRatesTableWidget/Main.js +15 -15
  5. package/dist/main/LiveRatesTableWidget/Main.js.map +1 -1
  6. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js +17 -17
  7. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  8. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +6 -6
  9. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
  10. package/dist/main/LiveRatesTableWidget/components/Cards/types.js.map +1 -1
  11. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +4 -4
  12. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
  13. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js.map +1 -1
  14. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  15. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +24 -24
  16. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  17. package/dist/main/LiveRatesTableWidget/components/index.js +12 -12
  18. package/dist/main/LiveRatesTableWidget/components/index.js.map +1 -1
  19. package/dist/main/LiveRatesTableWidget/config.js.map +1 -1
  20. package/dist/main/LiveRatesTableWidget/constant.js.map +1 -1
  21. package/dist/main/LiveRatesTableWidget/render.js +6 -6
  22. package/dist/main/LiveRatesTableWidget/render.js.map +1 -1
  23. package/dist/main/LiveRatesTableWidget/types.js +1 -1
  24. package/dist/main/LiveRatesTableWidget/types.js.map +1 -1
  25. package/dist/main/LiveRatesTableWidget/utils.js +2 -2
  26. package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
  27. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  28. package/dist/main/gql/types/gql.js +2 -2
  29. package/dist/main/gql/types/gql.js.map +1 -1
  30. package/dist/main/gql/types/graphql.js +142 -142
  31. package/dist/main/gql/types/graphql.js.map +1 -1
  32. package/dist/main/gql/types/index.js.map +1 -1
  33. package/dist/main/index.js +8 -8
  34. package/dist/main/index.js.map +1 -1
  35. package/dist/main/translations/index.js +1 -1
  36. package/dist/main/translations/index.js.map +1 -1
  37. package/dist/main/translations/translations.js.map +1 -1
  38. package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js +14 -14
  39. package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js.map +1 -1
  40. package/dist/module/LiveRatesTableWidget/Main.js +17 -17
  41. package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
  42. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +18 -18
  43. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  44. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +6 -6
  45. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
  46. package/dist/module/LiveRatesTableWidget/components/Cards/types.js.map +1 -1
  47. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +4 -4
  48. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
  49. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js.map +1 -1
  50. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +1 -1
  51. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  52. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +24 -24
  53. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  54. package/dist/module/LiveRatesTableWidget/components/index.js +2 -2
  55. package/dist/module/LiveRatesTableWidget/components/index.js.map +1 -1
  56. package/dist/module/LiveRatesTableWidget/config.js.map +1 -1
  57. package/dist/module/LiveRatesTableWidget/constant.js +1 -1
  58. package/dist/module/LiveRatesTableWidget/constant.js.map +1 -1
  59. package/dist/module/LiveRatesTableWidget/render.js +6 -6
  60. package/dist/module/LiveRatesTableWidget/render.js.map +1 -1
  61. package/dist/module/LiveRatesTableWidget/types.js +1 -1
  62. package/dist/module/LiveRatesTableWidget/types.js.map +1 -1
  63. package/dist/module/LiveRatesTableWidget/utils.js +3 -3
  64. package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
  65. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  66. package/dist/module/gql/types/gql.js +2 -2
  67. package/dist/module/gql/types/gql.js.map +1 -1
  68. package/dist/module/gql/types/graphql.js +142 -142
  69. package/dist/module/gql/types/graphql.js.map +1 -1
  70. package/dist/module/gql/types/index.js +2 -2
  71. package/dist/module/gql/types/index.js.map +1 -1
  72. package/dist/module/index.js +1 -1
  73. package/dist/module/index.js.map +1 -1
  74. package/dist/module/translations/index.js +1 -1
  75. package/dist/module/translations/index.js.map +1 -1
  76. package/dist/module/translations/translations.js.map +1 -1
  77. package/dist/types/LiveRatesTableWidget/LiveRatesTableWidget.d.ts +1 -1
  78. package/dist/types/LiveRatesTableWidget/Main.d.ts +1 -1
  79. package/dist/types/LiveRatesTableWidget/components/CardWithData/CardWithData.d.ts +1 -1
  80. package/dist/types/LiveRatesTableWidget/components/Cards/Cards.d.ts +1 -1
  81. package/dist/types/LiveRatesTableWidget/components/Cards/types.d.ts +2 -2
  82. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.d.ts +1 -1
  83. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/types.d.ts +3 -3
  84. package/dist/types/LiveRatesTableWidget/components/RowWithData/RowWithData.d.ts +1 -1
  85. package/dist/types/LiveRatesTableWidget/components/index.d.ts +2 -2
  86. package/dist/types/LiveRatesTableWidget/config.d.ts +1 -1
  87. package/dist/types/LiveRatesTableWidget/constant.d.ts +1 -1
  88. package/dist/types/LiveRatesTableWidget/types.d.ts +4 -4
  89. package/dist/types/LiveRatesTableWidget/utils.d.ts +5 -4
  90. package/dist/types/gql/types/gql.d.ts +4 -4
  91. package/dist/types/gql/types/index.d.ts +2 -2
  92. package/dist/types/index.d.ts +1 -1
  93. package/dist/types/translations/index.d.ts +2 -2
  94. package/package.json +3 -3
  95. package/src/LiveRatesTableWidget/LiveRatesTableWidget.tsx +14 -17
  96. package/src/LiveRatesTableWidget/Main.tsx +49 -43
  97. package/src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx +43 -28
  98. package/src/LiveRatesTableWidget/components/Cards/Cards.tsx +15 -8
  99. package/src/LiveRatesTableWidget/components/Cards/types.tsx +2 -2
  100. package/src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx +12 -10
  101. package/src/LiveRatesTableWidget/components/LineChartWithData/types.tsx +4 -3
  102. package/src/LiveRatesTableWidget/components/LineChartWithData/utils.ts +1 -1
  103. package/src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx +63 -30
  104. package/src/LiveRatesTableWidget/components/index.ts +2 -2
  105. package/src/LiveRatesTableWidget/config.ts +2 -4
  106. package/src/LiveRatesTableWidget/constant.ts +4 -1
  107. package/src/LiveRatesTableWidget/render.tsx +52 -34
  108. package/src/LiveRatesTableWidget/types.tsx +5 -4
  109. package/src/LiveRatesTableWidget/utils.ts +20 -17
  110. package/src/gql/types/fragment-masking.ts +41 -21
  111. package/src/gql/types/gql.ts +12 -5
  112. package/src/gql/types/graphql.ts +214 -49
  113. package/src/gql/types/index.ts +2 -2
  114. package/src/index.ts +1 -1
  115. package/src/translations/index.ts +4 -4
  116. package/src/translations/translations.ts +2 -1
  117. package/test/CardWithData.test.tsx +8 -7
  118. package/test/Cards.test.tsx +32 -29
  119. package/test/LineChartWithData.test.tsx +77 -32
  120. package/test/Main.test.tsx +10 -9
  121. package/test/RowWithData.test.tsx +9 -8
  122. package/test/mocks.ts +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"LiveRatesTableWidget.js","names":["React","ApolloClient","InMemoryCache","WidgetProvider","WidgetWrapper","translations","Main","Division","sizeConfig","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","view","logoLink","client","uri","cache","divisionCode","Opt","Ogm","dataSource","createElement","styling","size","liveRates","url","options","linkArea"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\n\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { Division, LiveRatesTableConfig } from './types';\nimport { sizeConfig } from './config';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n view,\n logoLink,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <WidgetProvider\n locale={locale}\n translations={translations}\n client={client}\n theme={theme}\n styling={{\n removePadding,\n size: view && sizeConfig[view],\n }}\n liveRates={{\n url: liveRatesUrl,\n options: { divisionCode, dataSource },\n }}\n >\n <WidgetWrapper\n logoLink={logoLink}\n linkArea=\"logo\"\n isParamError={isParamError}\n >\n <Main\n instruments={instruments}\n division={division}\n columns={columns}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,QAAQ,gBAAgB;AAC5D,SAASC,cAAc,EAAEC,aAAa,QAAQ,2BAA2B;AAEzE,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,QAAQ,QAA8B,SAAS;AACxD,SAASC,UAAU,QAAQ,UAAU;AAErC,MAAMC,oBAAoB,GAAGC,IAAA,IAYD;EAAA,IAZE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,aAAa;IACbC,IAAI;IACJC;EACoB,CAAC,GAAAX,IAAA;EACrB,MAAMY,MAAM,GAAG,IAAIrB,YAAY,CAAC;IAC9BsB,GAAG,EAAEZ,UAAU;IACfa,KAAK,EAAE,IAAItB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMuB,YAAY,GAAGX,QAAQ,KAAKP,QAAQ,CAACmB,GAAG,GAAGnB,QAAQ,CAACoB,GAAG,GAAGb,QAAQ;EACxE,MAAMc,UAAU,GAAGH,YAAY,KAAKlB,QAAQ,CAACoB,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACE3B,KAAA,CAAA6B,aAAA,CAAC1B,cAAc;IACba,MAAM,EAAEA,MAAO;IACfX,YAAY,EAAEA,YAAa;IAC3BiB,MAAM,EAAEA,MAAO;IACfL,KAAK,EAAEA,KAAM;IACba,OAAO,EAAE;MACPX,aAAa;MACbY,IAAI,EAAEX,IAAI,IAAIZ,UAAU,CAACY,IAAI;IAC/B,CAAE;IACFY,SAAS,EAAE;MACTC,GAAG,EAAErB,YAAY;MACjBsB,OAAO,EAAE;QAAET,YAAY;QAAEG;MAAW;IACtC;EAAE,GAEF5B,KAAA,CAAA6B,aAAA,CAACzB,aAAa;IACZiB,QAAQ,EAAEA,QAAS;IACnBc,QAAQ,EAAC,MAAM;IACfjB,YAAY,EAAEA;EAAa,GAE3BlB,KAAA,CAAA6B,aAAA,CAACvB,IAAI;IACHO,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,CAClB,CACY,CACD,CAAC;AAErB,CAAC;AAED,SAASN,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"LiveRatesTableWidget.js","names":["ApolloClient","InMemoryCache","WidgetProvider","WidgetWrapper","React","translations","sizeConfig","Main","Division","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","view","logoLink","client","uri","cache","divisionCode","Opt","Ogm","dataSource","createElement","liveRates","url","options","styling","size","linkArea"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { translations } from '../translations';\nimport { sizeConfig } from './config';\nimport { Main } from './Main';\nimport type { LiveRatesTableConfig } from './types';\nimport { Division } from './types';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n view,\n logoLink,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <WidgetProvider\n client={client}\n liveRates={{\n url: liveRatesUrl,\n options: { divisionCode, dataSource },\n }}\n locale={locale}\n styling={{\n removePadding,\n size: view && sizeConfig[view],\n }}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main columns={columns} division={division} instruments={instruments} />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,aAAa,QAAQ,gBAAgB;AAC5D,SAASC,cAAc,EAAEC,aAAa,QAAQ,2BAA2B;AACzE,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,UAAU,QAAQ,UAAU;AACrC,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,QAAQ,QAAQ,SAAS;AAElC,MAAMC,oBAAoB,GAAGC,IAAA,IAYD;EAAA,IAZE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,aAAa;IACbC,IAAI;IACJC;EACoB,CAAC,GAAAX,IAAA;EACrB,MAAMY,MAAM,GAAG,IAAItB,YAAY,CAAC;IAC9BuB,GAAG,EAAEZ,UAAU;IACfa,KAAK,EAAE,IAAIvB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMwB,YAAY,GAAGX,QAAQ,KAAKN,QAAQ,CAACkB,GAAG,GAAGlB,QAAQ,CAACmB,GAAG,GAAGb,QAAQ;EACxE,MAAMc,UAAU,GAAGH,YAAY,KAAKjB,QAAQ,CAACmB,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACEvB,KAAA,CAAAyB,aAAA,CAAC3B,cAAc;IACboB,MAAM,EAAEA,MAAO;IACfQ,SAAS,EAAE;MACTC,GAAG,EAAEnB,YAAY;MACjBoB,OAAO,EAAE;QAAEP,YAAY;QAAEG;MAAW;IACtC,CAAE;IACFZ,MAAM,EAAEA,MAAO;IACfiB,OAAO,EAAE;MACPd,aAAa;MACbe,IAAI,EAAEd,IAAI,IAAId,UAAU,CAACc,IAAI;IAC/B,CAAE;IACFH,KAAK,EAAEA,KAAM;IACbZ,YAAY,EAAEA;EAAa,GAE3BD,KAAA,CAAAyB,aAAA,CAAC1B,aAAa;IACZe,YAAY,EAAEA,YAAa;IAC3BiB,QAAQ,EAAC,MAAM;IACfd,QAAQ,EAAEA;EAAS,GAEnBjB,KAAA,CAAAyB,aAAA,CAACtB,IAAI;IAACQ,OAAO,EAAEA,OAAQ;IAACD,QAAQ,EAAEA,QAAS;IAACD,WAAW,EAAEA;EAAY,CAAE,CAC1D,CACD,CAAC;AAErB,CAAC;AAED,SAASJ,oBAAoB","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import React, { useEffect, useState } from 'react';
2
1
  import { useQuery } from '@apollo/client';
3
- import { Size, Table, useLayoutProvider, Tooltip, useLiveRatesQuery } from '@oanda/labs-widget-common';
4
- import { getHeaderConfig, getRecords } from './utils';
5
- import { RowWithData, Cards } from './components';
6
- import { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';
2
+ import { Size, Table, Tooltip, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
3
+ import React, { useEffect, useState } from 'react';
7
4
  import { validateInstruments } from '../gql/validateInstruments';
5
+ import { Cards, RowWithData } from './components';
6
+ import { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';
7
+ import { getHeaderConfig, getRecords } from './utils';
8
8
  const Main = _ref => {
9
9
  let {
10
10
  instruments,
@@ -51,31 +51,31 @@ const Main = _ref => {
51
51
  }, [records, isDesktop]);
52
52
  const showError = !loading && !!error || !loading && !data;
53
53
  return React.createElement(React.Fragment, null, size && React.createElement("div", {
54
- "data-testid": "live-rates-table-wrapper",
55
- className: "lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary"
54
+ className: "lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary",
55
+ "data-testid": "live-rates-table-wrapper"
56
56
  }, isDesktop ? React.createElement("div", {
57
57
  className: "lw-border lw-border-solid lw-border-border-primary"
58
58
  }, React.createElement(Table, {
59
+ headerConfig: getHeaderConfig(columns),
59
60
  isError: showError,
60
61
  records: records,
61
- headerConfig: getHeaderConfig(columns),
62
62
  renderRow: (record, index, isScrolled) => React.createElement(RowWithData, {
63
+ key: `row_${index}`,
64
+ activeColumns: columns,
65
+ division: division,
66
+ hasBackgroundColor: index % 2 === 0,
63
67
  isScrolled: isScrolled,
64
68
  loading: loading,
65
- key: `row_${index}`,
66
69
  record: record,
67
- target: target,
68
- hasBackgroundColor: index % 2 === 0,
69
- activeColumns: columns,
70
- division: division
70
+ target: target
71
71
  })
72
72
  })) : React.createElement(Cards, {
73
- records: records,
74
- division: division,
75
- target: target,
76
73
  columns: columns,
74
+ division: division,
77
75
  isError: showError,
78
- isLoading: loading
76
+ isLoading: loading,
77
+ records: records,
78
+ target: target
79
79
  }), React.createElement(Tooltip, {
80
80
  id: INSTRUMENT_TOOLTIP_ID
81
81
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["React","useEffect","useState","useQuery","Size","Table","useLayoutProvider","Tooltip","useLiveRatesQuery","getHeaderConfig","getRecords","RowWithData","Cards","DEFAULT_COLUMNS","INSTRUMENT_TOOLTIP_ID","validateInstruments","Main","_ref","instruments","division","columns","size","isDesktop","DESKTOP","target","setQuery","records","setRecords","Array","length","fill","loading","data","error","variables","fetchPolicy","instrumentsNames","map","_ref2","instrument","showError","createElement","Fragment","className","isError","headerConfig","renderRow","record","index","isScrolled","key","hasBackgroundColor","activeColumns","isLoading","id"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport {\n Size,\n Table,\n useLayoutProvider,\n Tooltip,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { getHeaderConfig, getRecords } from './utils';\nimport { DataRecord, MainProps } from './types';\nimport { RowWithData, Cards } from './components';\nimport {\n DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { ValidateInstrumentsQuery, ValidateInstrumentsQueryVariables } from '../gql/types/graphql';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n const [records, setRecords] = useState<DataRecord[]>(new Array(instruments.length).fill({}));\n\n const { loading, data, error } = useQuery<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n >(validateInstruments, {\n variables: {\n instruments,\n division,\n },\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(getRecords(data)!);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <>\n {size && (\n <div data-testid=\"live-rates-table-wrapper\" className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {isDesktop ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n isError={showError}\n records={records}\n headerConfig={getHeaderConfig(columns)}\n renderRow={(record, index, isScrolled) => (\n <RowWithData\n isScrolled={isScrolled}\n loading={loading}\n key={`row_${index}`}\n record={record}\n target={target}\n hasBackgroundColor={index % 2 === 0}\n activeColumns={columns}\n division={division}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n records={records}\n division={division}\n target={target}\n columns={columns}\n isError={showError}\n isLoading={loading}\n />\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["useQuery","Size","Table","Tooltip","useLayoutProvider","useLiveRatesQuery","React","useEffect","useState","validateInstruments","Cards","RowWithData","DEFAULT_COLUMNS","INSTRUMENT_TOOLTIP_ID","getHeaderConfig","getRecords","Main","_ref","instruments","division","columns","size","isDesktop","DESKTOP","target","setQuery","records","setRecords","Array","length","fill","loading","data","error","variables","fetchPolicy","instrumentsNames","map","_ref2","instrument","showError","createElement","Fragment","className","headerConfig","isError","renderRow","record","index","isScrolled","key","activeColumns","hasBackgroundColor","isLoading","id"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n Size,\n Table,\n Tooltip,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\n\nimport type {\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n} from '../gql/types/graphql';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { Cards, RowWithData } from './components';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { DataRecord, MainProps } from './types';\nimport { getHeaderConfig, getRecords } from './utils';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(instruments.length).fill({})\n );\n\n const { loading, data, error } = useQuery<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n >(validateInstruments, {\n variables: {\n instruments,\n division,\n },\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(getRecords(data)!);\n }\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"live-rates-table-wrapper\"\n >\n {isDesktop ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={getHeaderConfig(columns)}\n isError={showError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <RowWithData\n key={`row_${index}`}\n activeColumns={columns}\n division={division}\n hasBackgroundColor={index % 2 === 0}\n isScrolled={isScrolled}\n loading={loading}\n record={record}\n target={target}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n columns={columns}\n division={division}\n isError={showError}\n isLoading={loading}\n records={records}\n target={target}\n />\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import React from 'react';
2
- import { Card, CardHeader, CardRow, Price, ArrowPosition, LineChartSize, Truncate } from '@oanda/labs-widget-common';
1
+ import { ArrowPosition, Card, CardHeader, CardRow, LineChartSize, Price, Truncate } from '@oanda/labs-widget-common';
3
2
  import { useLocale } from '@oanda/mono-i18n';
3
+ import React from 'react';
4
+ import { INSTRUMENT_TOOLTIP_ID } from '../../constant';
4
5
  import { ColumnsNames } from '../../types';
5
- import { LineChartWithData } from '../LineChartWithData';
6
6
  import { useRecords } from '../../utils';
7
- import { INSTRUMENT_TOOLTIP_ID } from '../../constant';
7
+ import { LineChartWithData } from '../LineChartWithData';
8
8
  const CardWithData = _ref => {
9
9
  let {
10
10
  isLoading,
@@ -38,48 +38,48 @@ const CardWithData = _ref => {
38
38
  }, activeColumns.includes(ColumnsNames.CHART) && React.createElement(LineChartWithData, {
39
39
  division: division,
40
40
  isLoading: checkLoading('instrument'),
41
- size: LineChartSize.xs,
42
41
  padding: 4,
43
- record: updatedRecord
42
+ record: updatedRecord,
43
+ size: LineChartSize.xs
44
44
  })), activeColumns.map(item => {
45
45
  if (item === ColumnsNames.SELL) {
46
46
  return React.createElement(CardRow, {
47
47
  key: ColumnsNames.SELL,
48
- label: lang('sell_price'),
48
+ isError: !!error,
49
49
  isLoading: checkLoading(ColumnsNames.SELL),
50
- isError: !!error
50
+ label: lang('sell_price')
51
51
  }, React.createElement(Price, {
52
52
  arrowPosition: ArrowPosition.left,
53
- priceMovement: updatedRecord.sellPriceMovement,
54
- movementIndicator: "arrow"
53
+ movementIndicator: "arrow",
54
+ priceMovement: updatedRecord.sellPriceMovement
55
55
  }, React.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
56
56
  }
57
57
  if (item === ColumnsNames.BUY) {
58
58
  return React.createElement(CardRow, {
59
59
  key: ColumnsNames.BUY,
60
- label: lang('buy_price'),
60
+ isError: !!error,
61
61
  isLoading: checkLoading(ColumnsNames.BUY),
62
- isError: !!error
62
+ label: lang('buy_price')
63
63
  }, React.createElement(Price, {
64
64
  arrowPosition: ArrowPosition.left,
65
- priceMovement: updatedRecord.buyPriceMovement,
66
- movementIndicator: "arrow"
65
+ movementIndicator: "arrow",
66
+ priceMovement: updatedRecord.buyPriceMovement
67
67
  }, React.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
68
68
  }
69
69
  if (item === ColumnsNames.DAILY_CHANGE) {
70
70
  return React.createElement(CardRow, {
71
71
  key: ColumnsNames.DAILY_CHANGE,
72
- label: lang('daily_percent_change'),
72
+ isError: !!error,
73
73
  isLoading: checkLoading('dailyPercentChange'),
74
- isError: !!error
74
+ label: lang('daily_percent_change')
75
75
  }, React.createElement("span", null, updatedRecord.dailyPercentChange));
76
76
  }
77
77
  if (item === ColumnsNames.SPREAD) {
78
78
  return React.createElement(CardRow, {
79
79
  key: ColumnsNames.SPREAD,
80
- label: lang('spread'),
80
+ isError: !!error,
81
81
  isLoading: checkLoading(ColumnsNames.SPREAD),
82
- isError: !!error
82
+ label: lang('spread')
83
83
  }, React.createElement("span", null, updatedRecord.spread));
84
84
  }
85
85
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"CardWithData.js","names":["React","Card","CardHeader","CardRow","Price","ArrowPosition","LineChartSize","Truncate","useLocale","ColumnsNames","LineChartWithData","useRecords","INSTRUMENT_TOOLTIP_ID","CardWithData","_ref","isLoading","record","target","activeColumns","index","division","isLast","updatedRecord","error","ref","instrument","lang","checkLoading","id","undefined","createElement","withoutBottomBorder","number","title","text","displayName","tooltipId","includes","CHART","size","xs","padding","map","item","SELL","key","label","isError","arrowPosition","left","priceMovement","sellPriceMovement","movementIndicator","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","SPREAD","spread"],"sources":["../../../../../src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Card,\n CardHeader,\n CardRow,\n Price,\n ArrowPosition,\n LineChartSize,\n Truncate,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { ColumnsNames, CardWithDataProps } from '../../types';\nimport { LineChartWithData } from '../LineChartWithData';\nimport { useRecords } from '../../utils';\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\n\nconst CardWithData = ({\n isLoading,\n record,\n target,\n activeColumns,\n index,\n division,\n isLast,\n}: CardWithDataProps) => {\n const { updatedRecord, error, ref } = useRecords(record, record.instrument ? target : null);\n const { lang } = useLocale();\n\n const checkLoading = (id: string) => isLoading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={<Truncate text={record.displayName} tooltipId={INSTRUMENT_TOOLTIP_ID} />}\n >\n {activeColumns.includes(ColumnsNames.CHART) && (\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n size={LineChartSize.xs}\n padding={4}\n record={updatedRecord}\n />\n )}\n </CardHeader>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <CardRow\n key={ColumnsNames.SELL}\n label={lang('sell_price')}\n isLoading={checkLoading(ColumnsNames.SELL)}\n isError={!!error}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n priceMovement={updatedRecord.sellPriceMovement}\n movementIndicator=\"arrow\"\n >\n <span>{updatedRecord.sell?.toFixed(updatedRecord.displayPrecision)}</span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <CardRow\n key={ColumnsNames.BUY}\n label={lang('buy_price')}\n isLoading={checkLoading(ColumnsNames.BUY)}\n isError={!!error}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n priceMovement={updatedRecord.buyPriceMovement}\n movementIndicator=\"arrow\"\n >\n <span>{updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}</span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <CardRow\n key={ColumnsNames.DAILY_CHANGE}\n label={lang('daily_percent_change')}\n isLoading={checkLoading('dailyPercentChange')}\n isError={!!error}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <CardRow\n key={ColumnsNames.SPREAD}\n label={lang('spread')}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n isError={!!error}\n >\n <span>{updatedRecord.spread}</span>\n </CardRow>\n );\n }\n return null;\n })}\n </Card>\n );\n};\n\nexport { CardWithData };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardWithData.js","names":["ArrowPosition","Card","CardHeader","CardRow","LineChartSize","Price","Truncate","useLocale","React","INSTRUMENT_TOOLTIP_ID","ColumnsNames","useRecords","LineChartWithData","CardWithData","_ref","isLoading","record","target","activeColumns","index","division","isLast","updatedRecord","error","ref","instrument","lang","checkLoading","id","undefined","createElement","withoutBottomBorder","number","title","text","displayName","tooltipId","includes","CHART","padding","size","xs","map","item","SELL","key","isError","label","arrowPosition","left","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","SPREAD","spread"],"sources":["../../../../../src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx"],"sourcesContent":["import {\n ArrowPosition,\n Card,\n CardHeader,\n CardRow,\n LineChartSize,\n Price,\n Truncate,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { CardWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst CardWithData = ({\n isLoading,\n record,\n target,\n activeColumns,\n index,\n division,\n isLast,\n}: CardWithDataProps) => {\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n const { lang } = useLocale();\n\n const checkLoading = (id: string) =>\n isLoading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={\n <Truncate\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n }\n >\n {activeColumns.includes(ColumnsNames.CHART) && (\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n padding={4}\n record={updatedRecord}\n size={LineChartSize.xs}\n />\n )}\n </CardHeader>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <CardRow\n key={ColumnsNames.SELL}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n label={lang('sell_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <CardRow\n key={ColumnsNames.BUY}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n label={lang('buy_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <CardRow\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n label={lang('daily_percent_change')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <CardRow\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n label={lang('spread')}\n >\n <span>{updatedRecord.spread}</span>\n </CardRow>\n );\n }\n return null;\n })}\n </Card>\n );\n};\n\nexport { CardWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import { Card, ChartError } from '@oanda/labs-widget-common';
2
+ import React from 'react';
3
3
  import { CardWithData } from '../CardWithData/CardWithData';
4
4
  const Cards = _ref => {
5
5
  let {
@@ -16,14 +16,14 @@ const Cards = _ref => {
16
16
  }, React.createElement(ChartError, null))) : React.createElement(React.Fragment, null, records.map((record, index) => React.createElement("div", {
17
17
  key: `card_${startIndex + index}`
18
18
  }, React.createElement(CardWithData, {
19
- index: startIndex + index + 1,
20
- division: division,
21
- record: record,
22
- target: target,
23
19
  activeColumns: columns,
20
+ division: division,
21
+ index: startIndex + index + 1,
24
22
  isError: isError,
23
+ isLast: index + 1 === records.length,
25
24
  isLoading: isLoading,
26
- isLast: index + 1 === records.length
25
+ record: record,
26
+ target: target
27
27
  })))));
28
28
  };
29
29
  export { Cards };
@@ -1 +1 @@
1
- {"version":3,"file":"Cards.js","names":["React","Card","ChartError","CardWithData","Cards","_ref","records","target","columns","isError","isLoading","division","startIndex","createElement","Fragment","className","map","record","index","key","activeColumns","isLast","length"],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/Cards.tsx"],"sourcesContent":["import React from 'react';\nimport { Card, ChartError } from '@oanda/labs-widget-common';\nimport { CardWithData } from '../CardWithData/CardWithData';\nimport { CardsProps } from './types';\n\nconst Cards = ({\n records, target, columns, isError, isLoading, division, startIndex = 0,\n}: CardsProps) => (\n <>\n {isError ? (\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 {records.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n <CardWithData\n index={startIndex + index + 1}\n division={division}\n record={record}\n target={target}\n activeColumns={columns}\n isError={isError}\n isLoading={isLoading}\n isLast={index + 1 === records.length}\n />\n </div>\n ))}\n </>\n )}\n </>\n);\n\nexport { Cards };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AAC5D,SAASC,YAAY,QAAQ,8BAA8B;AAG3D,MAAMC,KAAK,GAAGC,IAAA;EAAA,IAAC;IACbC,OAAO;IAAEC,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,UAAU,GAAG;EAC3D,CAAC,GAAAP,IAAA;EAAA,OACXL,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAc,QAAA,QACGL,OAAO,GACNT,KAAA,CAAAa,aAAA,CAACZ,IAAI,QACHD,KAAA,CAAAa,aAAA;IAAKE,SAAS,EAAC;EAAkE,GAC/Ef,KAAA,CAAAa,aAAA,CAACX,UAAU,MAAE,CACV,CACD,CAAC,GAEPF,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAc,QAAA,QACGR,OAAO,CAACU,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACzBlB,KAAA,CAAAa,aAAA;IAAKM,GAAG,EAAE,QAAQP,UAAU,GAAGM,KAAK;EAAG,GACrClB,KAAA,CAAAa,aAAA,CAACV,YAAY;IACXe,KAAK,EAAEN,UAAU,GAAGM,KAAK,GAAG,CAAE;IAC9BP,QAAQ,EAAEA,QAAS;IACnBM,MAAM,EAAEA,MAAO;IACfV,MAAM,EAAEA,MAAO;IACfa,aAAa,EAAEZ,OAAQ;IACvBC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBW,MAAM,EAAEH,KAAK,GAAG,CAAC,KAAKZ,OAAO,CAACgB;EAAO,CACtC,CACE,CACN,CACD,CAEJ,CAAC;AAAA,CACJ;AAED,SAASlB,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"Cards.js","names":["Card","ChartError","React","CardWithData","Cards","_ref","records","target","columns","isError","isLoading","division","startIndex","createElement","Fragment","className","map","record","index","key","activeColumns","isLast","length"],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { CardWithData } from '../CardWithData/CardWithData';\nimport type { CardsProps } from './types';\n\nconst Cards = ({\n records,\n target,\n columns,\n isError,\n isLoading,\n division,\n startIndex = 0,\n}: CardsProps) => (\n <>\n {isError ? (\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 {records.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n <CardWithData\n activeColumns={columns}\n division={division}\n index={startIndex + index + 1}\n isError={isError}\n isLast={index + 1 === records.length}\n isLoading={isLoading}\n record={record}\n target={target}\n />\n </div>\n ))}\n </>\n )}\n </>\n);\n\nexport { Cards };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AAC5D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,8BAA8B;AAG3D,MAAMC,KAAK,GAAGC,IAAA;EAAA,IAAC;IACbC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACH,CAAC,GAAAP,IAAA;EAAA,OACXH,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,QACGL,OAAO,GACNP,KAAA,CAAAW,aAAA,CAACb,IAAI,QACHE,KAAA,CAAAW,aAAA;IAAKE,SAAS,EAAC;EAAkE,GAC/Eb,KAAA,CAAAW,aAAA,CAACZ,UAAU,MAAE,CACV,CACD,CAAC,GAEPC,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,QACGR,OAAO,CAACU,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACzBhB,KAAA,CAAAW,aAAA;IAAKM,GAAG,EAAE,QAAQP,UAAU,GAAGM,KAAK;EAAG,GACrChB,KAAA,CAAAW,aAAA,CAACV,YAAY;IACXiB,aAAa,EAAEZ,OAAQ;IACvBG,QAAQ,EAAEA,QAAS;IACnBO,KAAK,EAAEN,UAAU,GAAGM,KAAK,GAAG,CAAE;IAC9BT,OAAO,EAAEA,OAAQ;IACjBY,MAAM,EAAEH,KAAK,GAAG,CAAC,KAAKZ,OAAO,CAACgB,MAAO;IACrCZ,SAAS,EAAEA,SAAU;IACrBO,MAAM,EAAEA,MAAO;IACfV,MAAM,EAAEA;EAAO,CAChB,CACE,CACN,CACD,CAEJ,CAAC;AAAA,CACJ;AAED,SAASH,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/types.tsx"],"sourcesContent":["import { Division } from '../../../gql/types/graphql';\nimport { ColumnsNames, DataRecord } from '../../types';\n\nexport interface CardsProps {\n startIndex?: number;\n emptyCardsCount?: number;\n isLoading?: boolean;\n isError?: boolean;\n records: DataRecord[];\n target: EventTarget | null;\n columns: ColumnsNames[];\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/types.tsx"],"sourcesContent":["import type { Division } from '../../../gql/types/graphql';\nimport type { ColumnsNames, DataRecord } from '../../types';\n\nexport interface CardsProps {\n startIndex?: number;\n emptyCardsCount?: number;\n isLoading?: boolean;\n isError?: boolean;\n records: DataRecord[];\n target: EventTarget | null;\n columns: ColumnsNames[];\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
1
  import { useQuery } from '@apollo/client';
3
2
  import { LineChart, Loader, LoaderSize } from '@oanda/labs-widget-common';
3
+ import React from 'react';
4
4
  import { getInstrumentsChart } from '../../../gql/getInstrumentsChart';
5
5
  import { getChartColor } from './utils';
6
6
  const LineChartWithData = _ref => {
@@ -29,10 +29,10 @@ const LineChartWithData = _ref => {
29
29
  return React.createElement(React.Fragment, null, showLoader && React.createElement(Loader, {
30
30
  size: LoaderSize.md
31
31
  }), !showLoader && React.createElement(LineChart, {
32
- padding: padding,
33
- size: size,
34
32
  color: chartColor,
35
- data: chart
33
+ data: chart,
34
+ padding: padding,
35
+ size: size
36
36
  }));
37
37
  };
38
38
  export { LineChartWithData };
@@ -1 +1 @@
1
- {"version":3,"file":"LineChartWithData.js","names":["React","useQuery","LineChart","Loader","LoaderSize","getInstrumentsChart","getChartColor","LineChartWithData","_ref","padding","record","size","isLoading","division","isDarkMode","loading","data","variables","instruments","instrument","fetchPolicy","skip","showLoader","chart","topicalInstrumentsCharts","chartColor","dailyPercentChange","createElement","Fragment","md","color"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport {\n LineChart, Loader, LoaderSize,\n} from '@oanda/labs-widget-common';\nimport { LineChartWithDataProps } from './types';\nimport { getInstrumentsChart } from '../../../gql/getInstrumentsChart';\nimport { GetInstrumentsChartQuery, GetInstrumentsChartQueryVariables } from '../../../gql/types/graphql';\nimport { getChartColor } from './utils';\n\nconst LineChartWithData = ({\n padding,\n record,\n size,\n isLoading,\n division,\n isDarkMode = false,\n}: LineChartWithDataProps) => {\n const { loading, data } = useQuery<\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables\n >(getInstrumentsChart, {\n variables: {\n instruments: [record.instrument],\n division,\n },\n fetchPolicy: 'network-only',\n skip: !record.instrument,\n });\n\n const showLoader = isLoading || loading;\n const chart = data?.topicalInstrumentsCharts?.[0].chart || [];\n\n const chartColor = getChartColor(record.dailyPercentChange, isDarkMode);\n\n return (\n <>\n {showLoader && <Loader size={LoaderSize.md} />}\n {!showLoader && (\n <LineChart\n padding={padding}\n size={size}\n color={chartColor}\n data={chart}\n />\n )}\n </>\n );\n};\n\nexport { LineChartWithData };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,SAAS,EAAEC,MAAM,EAAEC,UAAU,QACxB,2BAA2B;AAElC,SAASC,mBAAmB,QAAQ,kCAAkC;AAEtE,SAASC,aAAa,QAAQ,SAAS;AAEvC,MAAMC,iBAAiB,GAAGC,IAAA,IAOI;EAAA,IAPH;IACzBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACS,CAAC,GAAAN,IAAA;EACvB,MAAM;IAAEO,OAAO;IAAEC;EAAK,CAAC,GAAGf,QAAQ,CAGhCI,mBAAmB,EAAE;IACrBY,SAAS,EAAE;MACTC,WAAW,EAAE,CAACR,MAAM,CAACS,UAAU,CAAC;MAChCN;IACF,CAAC;IACDO,WAAW,EAAE,cAAc;IAC3BC,IAAI,EAAE,CAACX,MAAM,CAACS;EAChB,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGV,SAAS,IAAIG,OAAO;EACvC,MAAMQ,KAAK,GAAGP,IAAI,EAAEQ,wBAAwB,GAAG,CAAC,CAAC,CAACD,KAAK,IAAI,EAAE;EAE7D,MAAME,UAAU,GAAGnB,aAAa,CAACI,MAAM,CAACgB,kBAAkB,EAAEZ,UAAU,CAAC;EAEvE,OACEd,KAAA,CAAA2B,aAAA,CAAA3B,KAAA,CAAA4B,QAAA,QACGN,UAAU,IAAItB,KAAA,CAAA2B,aAAA,CAACxB,MAAM;IAACQ,IAAI,EAAEP,UAAU,CAACyB;EAAG,CAAE,CAAC,EAC7C,CAACP,UAAU,IACVtB,KAAA,CAAA2B,aAAA,CAACzB,SAAS;IACRO,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA,IAAK;IACXmB,KAAK,EAAEL,UAAW;IAClBT,IAAI,EAAEO;EAAM,CACb,CAEH,CAAC;AAEP,CAAC;AAED,SAAShB,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"LineChartWithData.js","names":["useQuery","LineChart","Loader","LoaderSize","React","getInstrumentsChart","getChartColor","LineChartWithData","_ref","padding","record","size","isLoading","division","isDarkMode","loading","data","variables","instruments","instrument","fetchPolicy","skip","showLoader","chart","topicalInstrumentsCharts","chartColor","dailyPercentChange","createElement","Fragment","md","color"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { LineChart, Loader, LoaderSize } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { getInstrumentsChart } from '../../../gql/getInstrumentsChart';\nimport type {\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n} from '../../../gql/types/graphql';\nimport type { LineChartWithDataProps } from './types';\nimport { getChartColor } from './utils';\n\nconst LineChartWithData = ({\n padding,\n record,\n size,\n isLoading,\n division,\n isDarkMode = false,\n}: LineChartWithDataProps) => {\n const { loading, data } = useQuery<\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables\n >(getInstrumentsChart, {\n variables: {\n instruments: [record.instrument],\n division,\n },\n fetchPolicy: 'network-only',\n skip: !record.instrument,\n });\n\n const showLoader = isLoading || loading;\n const chart = data?.topicalInstrumentsCharts?.[0].chart || [];\n\n const chartColor = getChartColor(record.dailyPercentChange, isDarkMode);\n\n return (\n <>\n {showLoader && <Loader size={LoaderSize.md} />}\n {!showLoader && (\n <LineChart\n color={chartColor}\n data={chart}\n padding={padding}\n size={size}\n />\n )}\n </>\n );\n};\n\nexport { LineChartWithData };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,SAAS,EAAEC,MAAM,EAAEC,UAAU,QAAQ,2BAA2B;AACzE,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,mBAAmB,QAAQ,kCAAkC;AAMtE,SAASC,aAAa,QAAQ,SAAS;AAEvC,MAAMC,iBAAiB,GAAGC,IAAA,IAOI;EAAA,IAPH;IACzBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACS,CAAC,GAAAN,IAAA;EACvB,MAAM;IAAEO,OAAO;IAAEC;EAAK,CAAC,GAAGhB,QAAQ,CAGhCK,mBAAmB,EAAE;IACrBY,SAAS,EAAE;MACTC,WAAW,EAAE,CAACR,MAAM,CAACS,UAAU,CAAC;MAChCN;IACF,CAAC;IACDO,WAAW,EAAE,cAAc;IAC3BC,IAAI,EAAE,CAACX,MAAM,CAACS;EAChB,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGV,SAAS,IAAIG,OAAO;EACvC,MAAMQ,KAAK,GAAGP,IAAI,EAAEQ,wBAAwB,GAAG,CAAC,CAAC,CAACD,KAAK,IAAI,EAAE;EAE7D,MAAME,UAAU,GAAGnB,aAAa,CAACI,MAAM,CAACgB,kBAAkB,EAAEZ,UAAU,CAAC;EAEvE,OACEV,KAAA,CAAAuB,aAAA,CAAAvB,KAAA,CAAAwB,QAAA,QACGN,UAAU,IAAIlB,KAAA,CAAAuB,aAAA,CAACzB,MAAM;IAACS,IAAI,EAAER,UAAU,CAAC0B;EAAG,CAAE,CAAC,EAC7C,CAACP,UAAU,IACVlB,KAAA,CAAAuB,aAAA,CAAC1B,SAAS;IACR6B,KAAK,EAAEL,UAAW;IAClBT,IAAI,EAAEO,KAAM;IACZd,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA;EAAK,CACZ,CAEH,CAAC;AAEP,CAAC;AAED,SAASJ,iBAAiB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/types.tsx"],"sourcesContent":["import { LineChartSize } from '@oanda/labs-widget-common';\nimport { DataRecord } from '../../types';\nimport { Division } from '../../../gql/types/graphql';\n\nexport interface LineChartWithDataProps {\n padding?: number;\n record: DataRecord;\n size?: LineChartSize;\n isLoading: boolean;\n division: Division;\n isDarkMode?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/types.tsx"],"sourcesContent":["import type { LineChartSize } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../../../gql/types/graphql';\nimport type { DataRecord } from '../../types';\n\nexport interface LineChartWithDataProps {\n padding?: number;\n record: DataRecord;\n size?: LineChartSize;\n isLoading: boolean;\n division: Division;\n isDarkMode?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { lightTheme, darkTheme } from '@oanda/labs-widget-common';
1
+ import { darkTheme, lightTheme } from '@oanda/labs-widget-common';
2
2
  export const getChartColor = (dailyChange, isDarkMode) => {
3
3
  const theme = isDarkMode ? darkTheme : lightTheme;
4
4
  switch (dailyChange?.charAt(0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["lightTheme","darkTheme","getChartColor","dailyChange","isDarkMode","theme","charAt","ok","danger","borderDisabled"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/utils.ts"],"sourcesContent":["import { lightTheme, darkTheme } from '@oanda/labs-widget-common';\n\nexport const getChartColor = (dailyChange?: string, isDarkMode?: boolean) => {\n const theme = isDarkMode ? darkTheme : lightTheme;\n\n switch (dailyChange?.charAt(0)) {\n case '+':\n return theme.ok;\n case '-':\n return theme.danger;\n default:\n return theme.borderDisabled;\n }\n};\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,2BAA2B;AAEjE,OAAO,MAAMC,aAAa,GAAGA,CAACC,WAAoB,EAAEC,UAAoB,KAAK;EAC3E,MAAMC,KAAK,GAAGD,UAAU,GAAGH,SAAS,GAAGD,UAAU;EAEjD,QAAQG,WAAW,EAAEG,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG;MACN,OAAOD,KAAK,CAACE,EAAE;IACjB,KAAK,GAAG;MACN,OAAOF,KAAK,CAACG,MAAM;IACrB;MACE,OAAOH,KAAK,CAACI,cAAc;EAC/B;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["darkTheme","lightTheme","getChartColor","dailyChange","isDarkMode","theme","charAt","ok","danger","borderDisabled"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/utils.ts"],"sourcesContent":["import { darkTheme, lightTheme } from '@oanda/labs-widget-common';\n\nexport const getChartColor = (dailyChange?: string, isDarkMode?: boolean) => {\n const theme = isDarkMode ? darkTheme : lightTheme;\n\n switch (dailyChange?.charAt(0)) {\n case '+':\n return theme.ok;\n case '-':\n return theme.danger;\n default:\n return theme.borderDisabled;\n }\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,2BAA2B;AAEjE,OAAO,MAAMC,aAAa,GAAGA,CAACC,WAAoB,EAAEC,UAAoB,KAAK;EAC3E,MAAMC,KAAK,GAAGD,UAAU,GAAGJ,SAAS,GAAGC,UAAU;EAEjD,QAAQE,WAAW,EAAEG,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG;MACN,OAAOD,KAAK,CAACE,EAAE;IACjB,KAAK,GAAG;MACN,OAAOF,KAAK,CAACG,MAAM;IACrB;MACE,OAAOH,KAAK,CAACI,cAAc;EAC/B;AACF,CAAC","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import React from 'react';
1
+ import { LoaderSize, Price, TableCell, TableRow, Truncate, useLayoutProvider } from '@oanda/labs-widget-common';
2
2
  import classnames from 'classnames';
3
- import { TableCell, TableRow, Price, LoaderSize, Truncate, useLayoutProvider } from '@oanda/labs-widget-common';
3
+ import React from 'react';
4
+ import { INSTRUMENT_TOOLTIP_ID } from '../../constant';
4
5
  import { ColumnsNames } from '../../types';
5
- import { LineChartWithData } from '../LineChartWithData';
6
6
  import { useRecords } from '../../utils';
7
- import { INSTRUMENT_TOOLTIP_ID } from '../../constant';
7
+ import { LineChartWithData } from '../LineChartWithData';
8
8
  const RowWithData = _ref => {
9
9
  let {
10
10
  loading,
@@ -26,15 +26,15 @@ const RowWithData = _ref => {
26
26
  const checkLoading = id => loading || !error && updatedRecord?.[id] === undefined;
27
27
  return React.createElement(TableRow, {
28
28
  ref: ref,
29
- isScrolled: isScrolled,
30
- hasBackgroundColor: hasBackgroundColor
29
+ hasBackgroundColor: hasBackgroundColor,
30
+ isScrolled: isScrolled
31
31
  }, React.createElement(React.Fragment, null, React.createElement(TableCell, {
32
- type: "text",
32
+ key: ColumnsNames.INSTRUMENT,
33
33
  classNames: classnames('lw-font-bold', {
34
34
  '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary': isDark && isScrolled
35
35
  }),
36
- key: ColumnsNames.INSTRUMENT,
37
- isLoading: checkLoading(ColumnsNames.INSTRUMENT)
36
+ isLoading: checkLoading(ColumnsNames.INSTRUMENT),
37
+ type: "text"
38
38
  }, React.createElement(Truncate, {
39
39
  maxWidth: 130,
40
40
  text: record.displayName,
@@ -43,50 +43,50 @@ const RowWithData = _ref => {
43
43
  if (item === ColumnsNames.SELL) {
44
44
  return React.createElement(TableCell, {
45
45
  key: ColumnsNames.SELL,
46
- isLoading: checkLoading(ColumnsNames.SELL),
46
+ additionalPaddingRight: true,
47
47
  isError: !!error,
48
- additionalPaddingRight: true
48
+ isLoading: checkLoading(ColumnsNames.SELL)
49
49
  }, React.createElement(Price, {
50
- priceMovement: updatedRecord.sellPriceMovement,
51
- movementIndicator: "arrow"
50
+ movementIndicator: "arrow",
51
+ priceMovement: updatedRecord.sellPriceMovement
52
52
  }, React.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
53
53
  }
54
54
  if (item === ColumnsNames.BUY) {
55
55
  return React.createElement(TableCell, {
56
56
  key: ColumnsNames.BUY,
57
- isLoading: checkLoading(ColumnsNames.BUY),
57
+ additionalPaddingRight: true,
58
58
  isError: !!error,
59
- additionalPaddingRight: true
59
+ isLoading: checkLoading(ColumnsNames.BUY)
60
60
  }, React.createElement(Price, {
61
- priceMovement: updatedRecord.buyPriceMovement,
62
- movementIndicator: "arrow"
61
+ movementIndicator: "arrow",
62
+ priceMovement: updatedRecord.buyPriceMovement
63
63
  }, React.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
64
64
  }
65
65
  if (item === ColumnsNames.DAILY_CHANGE) {
66
66
  return React.createElement(TableCell, {
67
67
  key: ColumnsNames.DAILY_CHANGE,
68
- isLoading: checkLoading('dailyPercentChange'),
69
- isError: !!error
68
+ isError: !!error,
69
+ isLoading: checkLoading('dailyPercentChange')
70
70
  }, React.createElement("span", null, updatedRecord.dailyPercentChange));
71
71
  }
72
72
  if (item === ColumnsNames.CHART) {
73
73
  return React.createElement("td", {
74
- "data-testid": "chart-table-cell",
74
+ key: ColumnsNames.CHART,
75
75
  className: "lw-relative lw-px-3 lw-py-0 lw-text-right",
76
- key: ColumnsNames.CHART
76
+ "data-testid": "chart-table-cell"
77
77
  }, React.createElement("div", {
78
78
  className: "lw-flex lw-justify-center"
79
79
  }, React.createElement(LineChartWithData, {
80
- record: updatedRecord,
80
+ division: division,
81
81
  isLoading: checkLoading('instrument'),
82
- division: division
82
+ record: updatedRecord
83
83
  })));
84
84
  }
85
85
  if (item === ColumnsNames.SPREAD) {
86
86
  return React.createElement(TableCell, {
87
87
  key: ColumnsNames.SPREAD,
88
- isLoading: checkLoading(ColumnsNames.SPREAD),
89
88
  isError: !!error,
89
+ isLoading: checkLoading(ColumnsNames.SPREAD),
90
90
  loaderSize: LoaderSize.sm
91
91
  }, React.createElement("span", null, updatedRecord.spread));
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowWithData.js","names":["React","classnames","TableCell","TableRow","Price","LoaderSize","Truncate","useLayoutProvider","ColumnsNames","LineChartWithData","useRecords","INSTRUMENT_TOOLTIP_ID","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","updatedRecord","error","ref","instrument","checkLoading","id","undefined","createElement","Fragment","type","classNames","key","INSTRUMENT","isLoading","maxWidth","text","displayName","tooltipId","map","item","SELL","isError","additionalPaddingRight","priceMovement","sellPriceMovement","movementIndicator","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","SPREAD","loaderSize","sm","spread"],"sources":["../../../../../src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n TableCell, TableRow, Price, LoaderSize, Truncate, useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { ColumnsNames, RowWithDataProps } from '../../types';\nimport { LineChartWithData } from '../LineChartWithData';\nimport { useRecords } from '../../utils';\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\n\nconst RowWithData = ({\n loading,\n record,\n hasBackgroundColor,\n target,\n activeColumns,\n division,\n isScrolled,\n}: RowWithDataProps) => {\n const { isDark } = useLayoutProvider();\n const { updatedRecord, error, ref } = useRecords(record, record.instrument ? target : null);\n\n const checkLoading = (id: string) => loading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <TableRow ref={ref} isScrolled={isScrolled} hasBackgroundColor={hasBackgroundColor}>\n <>\n <TableCell\n type=\"text\"\n classNames={classnames(\n 'lw-font-bold',\n {\n '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary': isDark && isScrolled,\n },\n )}\n key={ColumnsNames.INSTRUMENT}\n isLoading={checkLoading(ColumnsNames.INSTRUMENT)}\n >\n <Truncate maxWidth={130} text={record.displayName} tooltipId={INSTRUMENT_TOOLTIP_ID} />\n </TableCell>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <TableCell\n key={ColumnsNames.SELL}\n isLoading={checkLoading(ColumnsNames.SELL)}\n isError={!!error}\n additionalPaddingRight\n >\n <Price priceMovement={updatedRecord.sellPriceMovement} movementIndicator=\"arrow\">\n <span>{updatedRecord.sell?.toFixed(updatedRecord.displayPrecision)}</span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <TableCell\n key={ColumnsNames.BUY}\n isLoading={checkLoading(ColumnsNames.BUY)}\n isError={!!error}\n additionalPaddingRight\n >\n <Price priceMovement={updatedRecord.buyPriceMovement} movementIndicator=\"arrow\">\n <span>{updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}</span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <TableCell\n key={ColumnsNames.DAILY_CHANGE}\n isLoading={checkLoading('dailyPercentChange')}\n isError={!!error}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.CHART) {\n return (\n <td data-testid=\"chart-table-cell\" className=\"lw-relative lw-px-3 lw-py-0 lw-text-right\" key={ColumnsNames.CHART}>\n <div className=\"lw-flex lw-justify-center\">\n <LineChartWithData\n record={updatedRecord}\n isLoading={checkLoading('instrument')}\n division={division}\n />\n </div>\n </td>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <TableCell\n key={ColumnsNames.SPREAD}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n isError={!!error}\n loaderSize={LoaderSize.sm}\n >\n <span>{updatedRecord.spread}</span>\n </TableCell>\n );\n }\n return null;\n })}\n </>\n </TableRow>\n );\n};\n\nexport { RowWithData };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RowWithData.js","names":["LoaderSize","Price","TableCell","TableRow","Truncate","useLayoutProvider","classnames","React","INSTRUMENT_TOOLTIP_ID","ColumnsNames","useRecords","LineChartWithData","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","updatedRecord","error","ref","instrument","checkLoading","id","undefined","createElement","Fragment","key","INSTRUMENT","classNames","isLoading","type","maxWidth","text","displayName","tooltipId","map","item","SELL","additionalPaddingRight","isError","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","SPREAD","loaderSize","sm","spread"],"sources":["../../../../../src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx"],"sourcesContent":["import {\n LoaderSize,\n Price,\n TableCell,\n TableRow,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { RowWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst RowWithData = ({\n loading,\n record,\n hasBackgroundColor,\n target,\n activeColumns,\n division,\n isScrolled,\n}: RowWithDataProps) => {\n const { isDark } = useLayoutProvider();\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n\n const checkLoading = (id: string) =>\n loading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <TableRow\n ref={ref}\n hasBackgroundColor={hasBackgroundColor}\n isScrolled={isScrolled}\n >\n <>\n <TableCell\n key={ColumnsNames.INSTRUMENT}\n classNames={classnames('lw-font-bold', {\n '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary':\n isDark && isScrolled,\n })}\n isLoading={checkLoading(ColumnsNames.INSTRUMENT)}\n type=\"text\"\n >\n <Truncate\n maxWidth={130}\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n </TableCell>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <TableCell\n key={ColumnsNames.SELL}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(\n updatedRecord.displayPrecision\n )}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <TableCell\n key={ColumnsNames.BUY}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <TableCell\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.CHART) {\n return (\n <td\n key={ColumnsNames.CHART}\n className=\"lw-relative lw-px-3 lw-py-0 lw-text-right\"\n data-testid=\"chart-table-cell\"\n >\n <div className=\"lw-flex lw-justify-center\">\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n record={updatedRecord}\n />\n </div>\n </td>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <TableCell\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n loaderSize={LoaderSize.sm}\n >\n <span>{updatedRecord.spread}</span>\n </TableCell>\n );\n }\n return null;\n })}\n </>\n </TableRow>\n );\n};\n\nexport { RowWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
+ export * from './Cards';
1
2
  export * from './CardWithData';
2
- export * from './RowWithData';
3
3
  export * from './LineChartWithData';
4
- export * from './Cards';
4
+ export * from './RowWithData';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/LiveRatesTableWidget/components/index.ts"],"sourcesContent":["export * from './CardWithData';\nexport * from './RowWithData';\nexport * from './LineChartWithData';\nexport * from './Cards';\n"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/LiveRatesTableWidget/components/index.ts"],"sourcesContent":["export * from './Cards';\nexport * from './CardWithData';\nexport * from './LineChartWithData';\nexport * from './RowWithData';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAC9B,cAAc,qBAAqB;AACnC,cAAc,eAAe","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["Size","ColumnsNames","View","headerConfig","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","CARDS","MOBILE","TABLE","DESKTOP"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { Size } from '@oanda/labs-widget-common';\nimport { ColumnsNames, View } from './types';\n\nconst headerConfig = {\n [ColumnsNames.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: 'lw-text-left lw-min-w-[130px]',\n },\n [ColumnsNames.SELL]: {\n displayName: 'sell',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.BUY]: {\n displayName: 'buy',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [ColumnsNames.CHART]: {\n displayName: '24h_chart',\n additionalStyles: 'lw-text-center lw-min-w-[100px]',\n },\n [ColumnsNames.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n};\n\nconst sizeConfig = {\n [View.CARDS]: Size.MOBILE,\n [View.TABLE]: Size.DESKTOP,\n};\n\nexport {\n headerConfig,\n sizeConfig,\n};\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,2BAA2B;AAChD,SAASC,YAAY,EAAEC,IAAI,QAAQ,SAAS;AAE5C,MAAMC,YAAY,GAAG;EACnB,CAACF,YAAY,CAACG,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACM,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACO,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACQ,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACS,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACU,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,UAAU,GAAG;EACjB,CAACV,IAAI,CAACW,KAAK,GAAGb,IAAI,CAACc,MAAM;EACzB,CAACZ,IAAI,CAACa,KAAK,GAAGf,IAAI,CAACgB;AACrB,CAAC;AAED,SACEb,YAAY,EACZS,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["Size","ColumnsNames","View","headerConfig","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","CARDS","MOBILE","TABLE","DESKTOP"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { Size } from '@oanda/labs-widget-common';\n\nimport { ColumnsNames, View } from './types';\n\nconst headerConfig = {\n [ColumnsNames.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: 'lw-text-left lw-min-w-[130px]',\n },\n [ColumnsNames.SELL]: {\n displayName: 'sell',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.BUY]: {\n displayName: 'buy',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [ColumnsNames.CHART]: {\n displayName: '24h_chart',\n additionalStyles: 'lw-text-center lw-min-w-[100px]',\n },\n [ColumnsNames.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n};\n\nconst sizeConfig = {\n [View.CARDS]: Size.MOBILE,\n [View.TABLE]: Size.DESKTOP,\n};\n\nexport { headerConfig, sizeConfig };\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,YAAY,EAAEC,IAAI,QAAQ,SAAS;AAE5C,MAAMC,YAAY,GAAG;EACnB,CAACF,YAAY,CAACG,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACM,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACO,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACQ,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACS,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACU,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,UAAU,GAAG;EACjB,CAACV,IAAI,CAACW,KAAK,GAAGb,IAAI,CAACc,MAAM;EACzB,CAACZ,IAAI,CAACa,KAAK,GAAGf,IAAI,CAACgB;AACrB,CAAC;AAED,SAASb,YAAY,EAAES,UAAU","ignoreList":[]}
@@ -3,5 +3,5 @@ const DEFAULT_COUNT = 10;
3
3
  const DEFAULT_TOTAL_COUNT = 50;
4
4
  const DEFAULT_COLUMNS = [ColumnsNames.SELL, ColumnsNames.BUY, ColumnsNames.DAILY_CHANGE, ColumnsNames.CHART, ColumnsNames.SPREAD];
5
5
  const INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
6
- export { DEFAULT_COUNT, DEFAULT_COLUMNS, DEFAULT_TOTAL_COUNT, INSTRUMENT_TOOLTIP_ID };
6
+ export { DEFAULT_COLUMNS, DEFAULT_COUNT, DEFAULT_TOTAL_COUNT, INSTRUMENT_TOOLTIP_ID };
7
7
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","names":["ColumnsNames","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/LiveRatesTableWidget/constant.ts"],"sourcesContent":["import { ColumnsNames } from './types';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n ColumnsNames.SELL,\n ColumnsNames.BUY,\n ColumnsNames.DAILY_CHANGE,\n ColumnsNames.CHART,\n ColumnsNames.SPREAD,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COUNT, DEFAULT_COLUMNS, DEFAULT_TOTAL_COUNT, INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,SAAS;AAEtC,MAAMC,aAAa,GAAG,EAAE;AAExB,MAAMC,mBAAmB,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAG,CACtBH,YAAY,CAACI,IAAI,EACjBJ,YAAY,CAACK,GAAG,EAChBL,YAAY,CAACM,YAAY,EACzBN,YAAY,CAACO,KAAK,EAClBP,YAAY,CAACQ,MAAM,CACpB;AAED,MAAMC,qBAAqB,GAAG,uBAAuB;AAErD,SACER,aAAa,EAAEE,eAAe,EAAED,mBAAmB,EAAEO,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"constant.js","names":["ColumnsNames","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/LiveRatesTableWidget/constant.ts"],"sourcesContent":["import { ColumnsNames } from './types';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n ColumnsNames.SELL,\n ColumnsNames.BUY,\n ColumnsNames.DAILY_CHANGE,\n ColumnsNames.CHART,\n ColumnsNames.SPREAD,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,SAAS;AAEtC,MAAMC,aAAa,GAAG,EAAE;AAExB,MAAMC,mBAAmB,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAG,CACtBH,YAAY,CAACI,IAAI,EACjBJ,YAAY,CAACK,GAAG,EAChBL,YAAY,CAACM,YAAY,EACzBN,YAAY,CAACO,KAAK,EAClBP,YAAY,CAACQ,MAAM,CACpB;AAED,MAAMC,qBAAqB,GAAG,uBAAuB;AAErD,SACEN,eAAe,EACfF,aAAa,EACbC,mBAAmB,EACnBO,qBAAqB","ignoreList":[]}