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

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 (133) hide show
  1. package/CHANGELOG.md +332 -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 +22 -20
  7. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  8. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +7 -7
  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 +6 -5
  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 +1 -1
  15. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  16. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +29 -27
  17. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  18. package/dist/main/LiveRatesTableWidget/components/index.js +12 -12
  19. package/dist/main/LiveRatesTableWidget/components/index.js.map +1 -1
  20. package/dist/main/LiveRatesTableWidget/config.js.map +1 -1
  21. package/dist/main/LiveRatesTableWidget/constant.js.map +1 -1
  22. package/dist/main/LiveRatesTableWidget/render.js +6 -6
  23. package/dist/main/LiveRatesTableWidget/render.js.map +1 -1
  24. package/dist/main/LiveRatesTableWidget/types.js +1 -1
  25. package/dist/main/LiveRatesTableWidget/types.js.map +1 -1
  26. package/dist/main/LiveRatesTableWidget/utils.js +17 -14
  27. package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
  28. package/dist/main/gql/getInstrumentsChart.js +3 -8
  29. package/dist/main/gql/getInstrumentsChart.js.map +1 -1
  30. package/dist/main/gql/types/fragment-masking.js +3 -2
  31. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  32. package/dist/main/gql/types/gql.js +4 -3
  33. package/dist/main/gql/types/gql.js.map +1 -1
  34. package/dist/main/gql/types/graphql.js +142 -142
  35. package/dist/main/gql/types/graphql.js.map +1 -1
  36. package/dist/main/gql/types/index.js.map +1 -1
  37. package/dist/main/gql/validateInstruments.js +3 -8
  38. package/dist/main/gql/validateInstruments.js.map +1 -1
  39. package/dist/main/index.js +8 -8
  40. package/dist/main/index.js.map +1 -1
  41. package/dist/main/translations/index.js +1 -1
  42. package/dist/main/translations/index.js.map +1 -1
  43. package/dist/main/translations/translations.js.map +1 -1
  44. package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js +14 -14
  45. package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js.map +1 -1
  46. package/dist/module/LiveRatesTableWidget/Main.js +17 -17
  47. package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
  48. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +23 -21
  49. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  50. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +7 -7
  51. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
  52. package/dist/module/LiveRatesTableWidget/components/Cards/types.js.map +1 -1
  53. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +6 -5
  54. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
  55. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js.map +1 -1
  56. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +2 -2
  57. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  58. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +29 -27
  59. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  60. package/dist/module/LiveRatesTableWidget/components/index.js +2 -2
  61. package/dist/module/LiveRatesTableWidget/components/index.js.map +1 -1
  62. package/dist/module/LiveRatesTableWidget/config.js.map +1 -1
  63. package/dist/module/LiveRatesTableWidget/constant.js +1 -1
  64. package/dist/module/LiveRatesTableWidget/constant.js.map +1 -1
  65. package/dist/module/LiveRatesTableWidget/render.js +6 -6
  66. package/dist/module/LiveRatesTableWidget/render.js.map +1 -1
  67. package/dist/module/LiveRatesTableWidget/types.js +1 -1
  68. package/dist/module/LiveRatesTableWidget/types.js.map +1 -1
  69. package/dist/module/LiveRatesTableWidget/utils.js +18 -15
  70. package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
  71. package/dist/module/gql/getInstrumentsChart.js +3 -8
  72. package/dist/module/gql/getInstrumentsChart.js.map +1 -1
  73. package/dist/module/gql/types/fragment-masking.js +3 -2
  74. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  75. package/dist/module/gql/types/gql.js +4 -3
  76. package/dist/module/gql/types/gql.js.map +1 -1
  77. package/dist/module/gql/types/graphql.js +142 -142
  78. package/dist/module/gql/types/graphql.js.map +1 -1
  79. package/dist/module/gql/types/index.js +2 -2
  80. package/dist/module/gql/types/index.js.map +1 -1
  81. package/dist/module/gql/validateInstruments.js +3 -8
  82. package/dist/module/gql/validateInstruments.js.map +1 -1
  83. package/dist/module/index.js +1 -1
  84. package/dist/module/index.js.map +1 -1
  85. package/dist/module/translations/index.js +1 -1
  86. package/dist/module/translations/index.js.map +1 -1
  87. package/dist/module/translations/translations.js.map +1 -1
  88. package/dist/types/LiveRatesTableWidget/LiveRatesTableWidget.d.ts +1 -1
  89. package/dist/types/LiveRatesTableWidget/Main.d.ts +1 -1
  90. package/dist/types/LiveRatesTableWidget/components/CardWithData/CardWithData.d.ts +1 -1
  91. package/dist/types/LiveRatesTableWidget/components/Cards/Cards.d.ts +1 -1
  92. package/dist/types/LiveRatesTableWidget/components/Cards/types.d.ts +2 -2
  93. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.d.ts +1 -1
  94. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/types.d.ts +3 -3
  95. package/dist/types/LiveRatesTableWidget/components/RowWithData/RowWithData.d.ts +1 -1
  96. package/dist/types/LiveRatesTableWidget/components/index.d.ts +2 -2
  97. package/dist/types/LiveRatesTableWidget/config.d.ts +1 -1
  98. package/dist/types/LiveRatesTableWidget/constant.d.ts +1 -1
  99. package/dist/types/LiveRatesTableWidget/types.d.ts +4 -4
  100. package/dist/types/LiveRatesTableWidget/utils.d.ts +5 -4
  101. package/dist/types/gql/types/gql.d.ts +4 -4
  102. package/dist/types/gql/types/index.d.ts +2 -2
  103. package/dist/types/index.d.ts +1 -1
  104. package/dist/types/translations/index.d.ts +2 -2
  105. package/package.json +3 -3
  106. package/src/LiveRatesTableWidget/LiveRatesTableWidget.tsx +14 -17
  107. package/src/LiveRatesTableWidget/Main.tsx +49 -43
  108. package/src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx +43 -28
  109. package/src/LiveRatesTableWidget/components/Cards/Cards.tsx +15 -8
  110. package/src/LiveRatesTableWidget/components/Cards/types.tsx +2 -2
  111. package/src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx +12 -10
  112. package/src/LiveRatesTableWidget/components/LineChartWithData/types.tsx +4 -3
  113. package/src/LiveRatesTableWidget/components/LineChartWithData/utils.ts +1 -1
  114. package/src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx +63 -30
  115. package/src/LiveRatesTableWidget/components/index.ts +2 -2
  116. package/src/LiveRatesTableWidget/config.ts +2 -4
  117. package/src/LiveRatesTableWidget/constant.ts +4 -1
  118. package/src/LiveRatesTableWidget/render.tsx +52 -34
  119. package/src/LiveRatesTableWidget/types.tsx +5 -4
  120. package/src/LiveRatesTableWidget/utils.ts +20 -17
  121. package/src/gql/types/fragment-masking.ts +41 -21
  122. package/src/gql/types/gql.ts +12 -5
  123. package/src/gql/types/graphql.ts +214 -49
  124. package/src/gql/types/index.ts +2 -2
  125. package/src/index.ts +1 -1
  126. package/src/translations/index.ts +4 -4
  127. package/src/translations/translations.ts +2 -1
  128. package/test/CardWithData.test.tsx +8 -7
  129. package/test/Cards.test.tsx +32 -29
  130. package/test/LineChartWithData.test.tsx +77 -32
  131. package/test/Main.test.tsx +10 -9
  132. package/test/RowWithData.test.tsx +9 -8
  133. package/test/mocks.ts +1 -3
@@ -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","concat","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,UAAAC,MAAA,CAAUR,UAAU,GAAGM,KAAK;EAAG,GACrChB,KAAA,CAAAW,aAAA,CAACV,YAAY;IACXkB,aAAa,EAAEb,OAAQ;IACvBG,QAAQ,EAAEA,QAAS;IACnBO,KAAK,EAAEN,UAAU,GAAGM,KAAK,GAAG,CAAE;IAC9BT,OAAO,EAAEA,OAAQ;IACjBa,MAAM,EAAEJ,KAAK,GAAG,CAAC,KAAKZ,OAAO,CAACiB,MAAO;IACrCb,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,9 +1,10 @@
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 => {
7
+ var _data$topicalInstrume;
7
8
  let {
8
9
  padding,
9
10
  record,
@@ -24,15 +25,15 @@ const LineChartWithData = _ref => {
24
25
  skip: !record.instrument
25
26
  });
26
27
  const showLoader = isLoading || loading;
27
- const chart = data?.topicalInstrumentsCharts?.[0].chart || [];
28
+ const chart = (data === null || data === void 0 || (_data$topicalInstrume = data.topicalInstrumentsCharts) === null || _data$topicalInstrume === void 0 ? void 0 : _data$topicalInstrume[0].chart) || [];
28
29
  const chartColor = getChartColor(record.dailyPercentChange, isDarkMode);
29
30
  return React.createElement(React.Fragment, null, showLoader && React.createElement(Loader, {
30
31
  size: LoaderSize.md
31
32
  }), !showLoader && React.createElement(LineChart, {
32
- padding: padding,
33
- size: size,
34
33
  color: chartColor,
35
- data: chart
34
+ data: chart,
35
+ padding: padding,
36
+ size: size
36
37
  }));
37
38
  };
38
39
  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","_data$topicalInstrume","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,IAAAC,qBAAA;EAAA,IAPH;IACzBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACS,CAAC,GAAAP,IAAA;EACvB,MAAM;IAAEQ,OAAO;IAAEC;EAAK,CAAC,GAAGjB,QAAQ,CAGhCK,mBAAmB,EAAE;IACrBa,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,GAAG,CAAAP,IAAI,aAAJA,IAAI,gBAAAR,qBAAA,GAAJQ,IAAI,CAAEQ,wBAAwB,cAAAhB,qBAAA,uBAA9BA,qBAAA,CAAiC,CAAC,CAAC,CAACe,KAAK,KAAI,EAAE;EAE7D,MAAME,UAAU,GAAGpB,aAAa,CAACK,MAAM,CAACgB,kBAAkB,EAAEZ,UAAU,CAAC;EAEvE,OACEX,KAAA,CAAAwB,aAAA,CAAAxB,KAAA,CAAAyB,QAAA,QACGN,UAAU,IAAInB,KAAA,CAAAwB,aAAA,CAAC1B,MAAM;IAACU,IAAI,EAAET,UAAU,CAAC2B;EAAG,CAAE,CAAC,EAC7C,CAACP,UAAU,IACVnB,KAAA,CAAAwB,aAAA,CAAC3B,SAAS;IACR8B,KAAK,EAAEL,UAAW;IAClBT,IAAI,EAAEO,KAAM;IACZd,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA;EAAK,CACZ,CAEH,CAAC;AAEP,CAAC;AAED,SAASL,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,7 +1,7 @@
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
- switch (dailyChange?.charAt(0)) {
4
+ switch (dailyChange === null || dailyChange === void 0 ? void 0 : dailyChange.charAt(0)) {
5
5
  case '+':
6
6
  return theme.ok;
7
7
  case '-':
@@ -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,aAAXA,WAAW,uBAAXA,WAAW,CAAEG,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,
@@ -23,70 +23,72 @@ const RowWithData = _ref => {
23
23
  error,
24
24
  ref
25
25
  } = useRecords(record, record.instrument ? target : null);
26
- const checkLoading = id => loading || !error && updatedRecord?.[id] === undefined;
26
+ const checkLoading = id => loading || !error && (updatedRecord === null || updatedRecord === void 0 ? void 0 : 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,
41
41
  tooltipId: INSTRUMENT_TOOLTIP_ID
42
42
  })), activeColumns.map(item => {
43
43
  if (item === ColumnsNames.SELL) {
44
+ var _updatedRecord$sell;
44
45
  return React.createElement(TableCell, {
45
46
  key: ColumnsNames.SELL,
46
- isLoading: checkLoading(ColumnsNames.SELL),
47
+ additionalPaddingRight: true,
47
48
  isError: !!error,
48
- additionalPaddingRight: true
49
+ isLoading: checkLoading(ColumnsNames.SELL)
49
50
  }, React.createElement(Price, {
50
- priceMovement: updatedRecord.sellPriceMovement,
51
- movementIndicator: "arrow"
52
- }, React.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
51
+ movementIndicator: "arrow",
52
+ priceMovement: updatedRecord.sellPriceMovement
53
+ }, React.createElement("span", null, (_updatedRecord$sell = updatedRecord.sell) === null || _updatedRecord$sell === void 0 ? void 0 : _updatedRecord$sell.toFixed(updatedRecord.displayPrecision))));
53
54
  }
54
55
  if (item === ColumnsNames.BUY) {
56
+ var _updatedRecord$buy;
55
57
  return React.createElement(TableCell, {
56
58
  key: ColumnsNames.BUY,
57
- isLoading: checkLoading(ColumnsNames.BUY),
59
+ additionalPaddingRight: true,
58
60
  isError: !!error,
59
- additionalPaddingRight: true
61
+ isLoading: checkLoading(ColumnsNames.BUY)
60
62
  }, React.createElement(Price, {
61
- priceMovement: updatedRecord.buyPriceMovement,
62
- movementIndicator: "arrow"
63
- }, React.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
63
+ movementIndicator: "arrow",
64
+ priceMovement: updatedRecord.buyPriceMovement
65
+ }, React.createElement("span", null, (_updatedRecord$buy = updatedRecord.buy) === null || _updatedRecord$buy === void 0 ? void 0 : _updatedRecord$buy.toFixed(updatedRecord.displayPrecision))));
64
66
  }
65
67
  if (item === ColumnsNames.DAILY_CHANGE) {
66
68
  return React.createElement(TableCell, {
67
69
  key: ColumnsNames.DAILY_CHANGE,
68
- isLoading: checkLoading('dailyPercentChange'),
69
- isError: !!error
70
+ isError: !!error,
71
+ isLoading: checkLoading('dailyPercentChange')
70
72
  }, React.createElement("span", null, updatedRecord.dailyPercentChange));
71
73
  }
72
74
  if (item === ColumnsNames.CHART) {
73
75
  return React.createElement("td", {
74
- "data-testid": "chart-table-cell",
76
+ key: ColumnsNames.CHART,
75
77
  className: "lw-relative lw-px-3 lw-py-0 lw-text-right",
76
- key: ColumnsNames.CHART
78
+ "data-testid": "chart-table-cell"
77
79
  }, React.createElement("div", {
78
80
  className: "lw-flex lw-justify-center"
79
81
  }, React.createElement(LineChartWithData, {
80
- record: updatedRecord,
82
+ division: division,
81
83
  isLoading: checkLoading('instrument'),
82
- division: division
84
+ record: updatedRecord
83
85
  })));
84
86
  }
85
87
  if (item === ColumnsNames.SPREAD) {
86
88
  return React.createElement(TableCell, {
87
89
  key: ColumnsNames.SPREAD,
88
- isLoading: checkLoading(ColumnsNames.SPREAD),
89
90
  isError: !!error,
91
+ isLoading: checkLoading(ColumnsNames.SPREAD),
90
92
  loaderSize: LoaderSize.sm
91
93
  }, React.createElement("span", null, updatedRecord.spread));
92
94
  }
@@ -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","_updatedRecord$sell","additionalPaddingRight","isError","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","_updatedRecord$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":[]}
@@ -1,8 +1,8 @@
1
+ import { validateLocale, validateToolParams } from '@oanda/labs-widget-common';
1
2
  import React from 'react';
2
3
  import { createRoot } from 'react-dom/client';
3
- import { validateLocale, validateToolParams } from '@oanda/labs-widget-common';
4
- import { LiveRatesTableWidget } from './LiveRatesTableWidget';
5
4
  import { Division } from '../gql/types/graphql';
5
+ import { LiveRatesTableWidget } from './LiveRatesTableWidget';
6
6
  const {
7
7
  graphqlUrl,
8
8
  liveRatesUrl
@@ -44,14 +44,14 @@ liveRatesTableParamsElements.forEach(element => {
44
44
  name: 'liveRatesUrl'
45
45
  }]);
46
46
  root.render(React.createElement(LiveRatesTableWidget, {
47
- graphqlUrl: graphqlUrl,
48
- liveRatesUrl: liveRatesUrl,
47
+ columns: columns,
49
48
  division: division,
49
+ graphqlUrl: graphqlUrl,
50
50
  instruments: instruments,
51
- columns: columns,
51
+ isParamError: isParamError,
52
+ liveRatesUrl: liveRatesUrl,
52
53
  locale: locale,
53
54
  theme: mode,
54
- isParamError: isParamError,
55
55
  view: view
56
56
  }));
57
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["React","createRoot","validateLocale","validateToolParams","LiveRatesTableWidget","Division","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","instruments","columns","division","locale","view","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","length","render","createElement","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n liveRatesUrl,\n} = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll('div[data-live-rates-table-params]');\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const {\n instruments, columns, division, locale, view,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl, liveRatesUrl, instruments, columns,\n }, [{\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'instruments',\n valueCheck: (value) => (value as string[]).length > 0 && (value as string[]).length <= 10,\n }, {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n }, {\n name: 'graphqlUrl',\n }, {\n name: 'liveRatesUrl',\n }]);\n\n root.render(\n <LiveRatesTableWidget\n graphqlUrl={graphqlUrl}\n liveRatesUrl={liveRatesUrl}\n division={division}\n instruments={instruments}\n columns={columns}\n locale={locale}\n theme={mode as Theme}\n isParamError={isParamError}\n view={view}\n />,\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAAgBC,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,MAAM;EACJC,UAAU;EACVC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mCAAmC,CAAC;AAEnGF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAGd,UAAU,CAACa,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAC1C,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACT,MAAgB,CAAC;EAEhC,MAAMU,YAAY,GAAGvB,kBAAkB,CAAC;IACtCkB,QAAQ;IAAEC,MAAM;IAAEhB,UAAU;IAAEC,YAAY;IAAEY,WAAW;IAAEC;EAC3D,CAAC,EAAE,CAAC;IACFO,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK3B,cAAc,CAAC2B,KAAK;EAC7C,CAAC,EAAE;IACDF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAAC1B,QAAQ,CAAC,CAAC2B,QAAQ,CAACH,KAAK;EAC/D,CAAC,EAAE;IACDF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG,CAAC,IAAKJ,KAAK,CAAcI,MAAM,IAAI;EACzF,CAAC,EAAE;IACDN,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG;EACtD,CAAC,EAAE;IACDN,IAAI,EAAE;EACR,CAAC,EAAE;IACDA,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEHZ,IAAI,CAACmB,MAAM,CACTlC,KAAA,CAAAmC,aAAA,CAAC/B,oBAAoB;IACnBE,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3Bc,QAAQ,EAAEA,QAAS;IACnBF,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfc,KAAK,EAAElB,IAAc;IACrBQ,YAAY,EAAEA,YAAa;IAC3BH,IAAI,EAAEA;EAAK,CACZ,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["validateLocale","validateToolParams","React","createRoot","Division","LiveRatesTableWidget","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","instruments","columns","division","locale","view","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","length","render","createElement","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\n\nconst { graphqlUrl, liveRatesUrl } = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll(\n 'div[data-live-rates-table-params]'\n);\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const { instruments, columns, division, locale, view } = JSON.parse(\n params as string\n );\n\n const isParamError = validateToolParams(\n {\n division,\n locale,\n graphqlUrl,\n liveRatesUrl,\n instruments,\n columns,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'instruments',\n valueCheck: (value) =>\n (value as string[]).length > 0 && (value as string[]).length <= 10,\n },\n {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n },\n {\n name: 'graphqlUrl',\n },\n {\n name: 'liveRatesUrl',\n },\n ]\n );\n\n root.render(\n <LiveRatesTableWidget\n columns={columns}\n division={division}\n graphqlUrl={graphqlUrl}\n instruments={instruments}\n isParamError={isParamError}\n liveRatesUrl={liveRatesUrl}\n locale={locale}\n theme={mode as Theme}\n view={view}\n />\n );\n});\n"],"mappings":"AACA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,MAAM;EAAEC,UAAU;EAAEC;AAAa,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE/D,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAC5D,mCACF,CAAC;AAEDF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAGZ,UAAU,CAACW,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IAAEE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGC,IAAI,CAACC,KAAK,CACjET,MACF,CAAC;EAED,MAAMU,YAAY,GAAGzB,kBAAkB,CACrC;IACEoB,QAAQ;IACRC,MAAM;IACNhB,UAAU;IACVC,YAAY;IACZY,WAAW;IACXC;EACF,CAAC,EACD,CACE;IACEO,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK7B,cAAc,CAAC6B,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAC1BC,MAAM,CAACC,MAAM,CAAC3B,QAAQ,CAAC,CAAC4B,QAAQ,CAACH,KAAK;EAC1C,CAAC,EACD;IACEF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IACfA,KAAK,CAAcI,MAAM,GAAG,CAAC,IAAKJ,KAAK,CAAcI,MAAM,IAAI;EACpE,CAAC,EACD;IACEN,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG;EACtD,CAAC,EACD;IACEN,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,CAEL,CAAC;EAEDZ,IAAI,CAACmB,MAAM,CACThC,KAAA,CAAAiC,aAAA,CAAC9B,oBAAoB;IACnBe,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBf,UAAU,EAAEA,UAAW;IACvBa,WAAW,EAAEA,WAAY;IACzBO,YAAY,EAAEA,YAAa;IAC3BnB,YAAY,EAAEA,YAAa;IAC3Be,MAAM,EAAEA,MAAO;IACfc,KAAK,EAAElB,IAAc;IACrBK,IAAI,EAAEA;EAAK,CACZ,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- export { Locale } from '@oanda/mono-i18n';
2
1
  export { Division } from '../gql/types/graphql';
2
+ export { Locale } from '@oanda/mono-i18n';
3
3
  export let View = function (View) {
4
4
  View["TABLE"] = "table";
5
5
  View["CARDS"] = "cards";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["Locale","Division","View","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import { WidgetConfig } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport { Locale } from '@oanda/mono-i18n';\nexport { Division } from '../gql/types/graphql';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface LiveRatesTableConfig extends WidgetConfig {\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n removePadding?: boolean;\n view?: View;\n}\n\nexport enum ColumnsNames {\n INSTRUMENT = 'instrument',\n SELL = 'sell',\n BUY = 'buy',\n DAILY_CHANGE = 'dailyChange',\n CHART = 'chart',\n SPREAD = 'spread',\n}\n\nexport interface MainProps {\n instruments: string[];\n division: Division;\n columns?: ColumnsNames[];\n}\n\nexport interface Sentiment {\n shortPercent: number;\n longPercent: number;\n}\n\nexport type EmptyRecord = Record<any, never>;\n\nexport interface DataRecord {\n [key: string]: string | number | undefined;\n instrument: string;\n displayName: string;\n buy?: number;\n sell?: number;\n spread?: number;\n sellPriceMovement?: number;\n buyPriceMovement?: number;\n dailyPercentChange?: string;\n displayPrecision?: number;\n}\n\nexport interface RowWithDataProps {\n loading: boolean;\n record: DataRecord;\n hasBackgroundColor: boolean;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isScrolled?: boolean;\n}\n\nexport interface CardWithDataProps {\n index: number;\n isLoading?: boolean;\n isError?: boolean;\n record: DataRecord;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isLast?: boolean;\n}\n"],"mappings":"AAGA,SAASA,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,WAAYC,IAAI,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAchB,WAAYC,YAAY,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["Division","Locale","View","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\n\nexport { Division } from '../gql/types/graphql';\nexport { Locale } from '@oanda/mono-i18n';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface LiveRatesTableConfig extends WidgetConfig {\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n removePadding?: boolean;\n view?: View;\n}\n\nexport enum ColumnsNames {\n INSTRUMENT = 'instrument',\n SELL = 'sell',\n BUY = 'buy',\n DAILY_CHANGE = 'dailyChange',\n CHART = 'chart',\n SPREAD = 'spread',\n}\n\nexport interface MainProps {\n instruments: string[];\n division: Division;\n columns?: ColumnsNames[];\n}\n\nexport interface Sentiment {\n shortPercent: number;\n longPercent: number;\n}\n\nexport type EmptyRecord = Record<string, never>;\n\nexport interface DataRecord {\n [key: string]: string | number | undefined;\n instrument: string;\n displayName: string;\n buy?: number;\n sell?: number;\n spread?: number;\n sellPriceMovement?: number;\n buyPriceMovement?: number;\n dailyPercentChange?: string;\n displayPrecision?: number;\n}\n\nexport interface RowWithDataProps {\n loading: boolean;\n record: DataRecord;\n hasBackgroundColor: boolean;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isScrolled?: boolean;\n}\n\nexport interface CardWithDataProps {\n index: number;\n isLoading?: boolean;\n isError?: boolean;\n record: DataRecord;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isLast?: boolean;\n}\n"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,WAAYC,IAAI,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAchB,WAAYC,YAAY,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -1,12 +1,15 @@
1
- import { useState, useEffect } from 'react';
2
1
  import { useLiveRatesMessage } from '@oanda/labs-widget-common';
2
+ import { useEffect, useState } from 'react';
3
3
  import { useIntersectionObserver } from 'usehooks-ts';
4
- import { ColumnsNames } from './types';
5
4
  import { headerConfig } from './config';
6
- const getRecords = data => data?.mapInstrumentNames?.map(item => ({
7
- instrument: item?.name || '',
8
- displayName: item?.displayName || ''
9
- }));
5
+ import { ColumnsNames } from './types';
6
+ const getRecords = data => {
7
+ var _data$mapInstrumentNa;
8
+ return data === null || data === void 0 || (_data$mapInstrumentNa = data.mapInstrumentNames) === null || _data$mapInstrumentNa === void 0 ? void 0 : _data$mapInstrumentNa.map(item => ({
9
+ instrument: (item === null || item === void 0 ? void 0 : item.name) || '',
10
+ displayName: (item === null || item === void 0 ? void 0 : item.displayName) || ''
11
+ }));
12
+ };
10
13
  const getHeaderConfig = activeColumns => [ColumnsNames.INSTRUMENT, ...activeColumns].map(item => headerConfig[item]);
11
14
  const useRecords = (record, target) => {
12
15
  const [updatedRecord, setUpdatedRecord] = useState({
@@ -16,7 +19,7 @@ const useRecords = (record, target) => {
16
19
  });
17
20
  const [error, setError] = useState(null);
18
21
  const entry = useIntersectionObserver();
19
- const isVisible = !!entry?.isIntersecting;
22
+ const isVisible = !!(entry !== null && entry !== void 0 && entry.isIntersecting);
20
23
  const {
21
24
  update,
22
25
  error: liveRatesError
@@ -27,13 +30,13 @@ const useRecords = (record, target) => {
27
30
  displayName: record.displayName,
28
31
  instrument: record.instrument,
29
32
  sentiment: record.sentiment,
30
- buy: update?.ask,
31
- sell: update?.bid,
32
- sellPriceMovement: update?.bidPriceMovement,
33
- buyPriceMovement: update?.askPriceMovement,
34
- dailyPercentChange: update?.dailyPercentChangeFromOpen,
35
- spread: update?.spread,
36
- displayPrecision: update?.displayPrecision
33
+ buy: update === null || update === void 0 ? void 0 : update.ask,
34
+ sell: update === null || update === void 0 ? void 0 : update.bid,
35
+ sellPriceMovement: update === null || update === void 0 ? void 0 : update.bidPriceMovement,
36
+ buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
37
+ dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
38
+ spread: update === null || update === void 0 ? void 0 : update.spread,
39
+ displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision
37
40
  });
38
41
  setError(liveRatesError);
39
42
  }
@@ -44,5 +47,5 @@ const useRecords = (record, target) => {
44
47
  ref: entry.ref
45
48
  };
46
49
  };
47
- export { getRecords, getHeaderConfig, useRecords };
50
+ export { getHeaderConfig, getRecords, useRecords };
48
51
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["useState","useEffect","useLiveRatesMessage","useIntersectionObserver","ColumnsNames","headerConfig","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","getHeaderConfig","activeColumns","INSTRUMENT","useRecords","record","target","updatedRecord","setUpdatedRecord","sentiment","error","setError","entry","isVisible","isIntersecting","update","liveRatesError","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { HeaderColumns, LiveRatesErrorMessage, useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { ColumnsNames, DataRecord, EmptyRecord } from './types';\nimport { headerConfig } from './config';\nimport { ValidateInstrumentsQuery } from '../gql/types/graphql';\n\nconst getRecords = (data: ValidateInstrumentsQuery) => data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n}));\n\n// eslint-disable-next-line max-len\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] => [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null,\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target,\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport {\n getRecords,\n getHeaderConfig,\n useRecords,\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAA+CC,mBAAmB,QAAQ,2BAA2B;AACrG,SAASC,uBAAuB,QAAQ,aAAa;AACrD,SAASC,YAAY,QAAiC,SAAS;AAC/D,SAASC,YAAY,QAAQ,UAAU;AAGvC,MAAMC,UAAU,GAAIC,IAA8B,IAAKA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EAC9FC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAGH,MAAMC,eAAe,GAAIC,aAA6B,IAAsB,CAACX,YAAY,CAACY,UAAU,EAAE,GAAGD,aAAa,CAAC,CAACN,GAAG,CAAEC,IAAI,IAAKL,YAAY,CAACK,IAAI,CAAC,CAAC;AAEzJ,MAAMO,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGrB,QAAQ,CAAa;IAC7Da,WAAW,EAAEK,MAAM,CAACL,WAAW;IAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;IAC7BW,SAAS,EAAEJ,MAAM,CAACI;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGxB,QAAQ,CAA+B,IAAI,CAAC;EACtE,MAAMyB,KAAK,GAAGtB,uBAAuB,CAAC,CAAC;EACvC,MAAMuB,SAAS,GAAG,CAAC,CAACD,KAAK,EAAEE,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEL,KAAK,EAAEM;EAAe,CAAC,GAAG3B,mBAAmB,CAC3DgB,MAAM,CAACP,UAAU,EACjBQ,MACF,CAAC;EAEDlB,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,EAAE;MACbL,gBAAgB,CAAC;QACfR,WAAW,EAAEK,MAAM,CAACL,WAAW;QAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;QAC7BW,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BQ,GAAG,EAAEF,MAAM,EAAEG,GAAG;QAChBC,IAAI,EAAEJ,MAAM,EAAEK,GAAG;QACjBC,iBAAiB,EAAEN,MAAM,EAAEO,gBAAgB;QAC3CC,gBAAgB,EAAER,MAAM,EAAES,gBAAgB;QAC1CC,kBAAkB,EAAEV,MAAM,EAAEW,0BAA0B;QACtDC,MAAM,EAAEZ,MAAM,EAAEY,MAAM;QACtBC,gBAAgB,EAAEb,MAAM,EAAEa;MAC5B,CAAC,CAAC;MACFjB,QAAQ,CAACK,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEQ,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLT,aAAa;IACbG,KAAK;IACLmB,GAAG,EAAEjB,KAAK,CAACiB;EACb,CAAC;AACH,CAAC;AAED,SACEpC,UAAU,EACVQ,eAAe,EACfG,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["useLiveRatesMessage","useEffect","useState","useIntersectionObserver","headerConfig","ColumnsNames","getRecords","data","_data$mapInstrumentNa","mapInstrumentNames","map","item","instrument","name","displayName","getHeaderConfig","activeColumns","INSTRUMENT","useRecords","record","target","updatedRecord","setUpdatedRecord","sentiment","error","setError","entry","isVisible","isIntersecting","update","liveRatesError","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import type {\n HeaderColumns,\n LiveRatesErrorMessage,\n} from '@oanda/labs-widget-common';\nimport { useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { ValidateInstrumentsQuery } from '../gql/types/graphql';\nimport { headerConfig } from './config';\nimport type { DataRecord, EmptyRecord } from './types';\nimport { ColumnsNames } from './types';\n\nconst getRecords = (data: ValidateInstrumentsQuery) =>\n data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n }));\n\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] =>\n [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport { getHeaderConfig, getRecords, useRecords };\n"],"mappings":"AAIA,SAASA,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,uBAAuB,QAAQ,aAAa;AAGrD,SAASC,YAAY,QAAQ,UAAU;AAEvC,SAASC,YAAY,QAAQ,SAAS;AAEtC,MAAMC,UAAU,GAAIC,IAA8B;EAAA,IAAAC,qBAAA;EAAA,OAChDD,IAAI,aAAJA,IAAI,gBAAAC,qBAAA,GAAJD,IAAI,CAAEE,kBAAkB,cAAAD,qBAAA,uBAAxBA,qBAAA,CAA0BE,GAAG,CAAEC,IAAI,KAAM;IACvCC,UAAU,EAAE,CAAAD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,IAAI,KAAI,EAAE;IAC5BC,WAAW,EAAE,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,KAAI;EACpC,CAAC,CAAC,CAAC;AAAA;AAEL,MAAMC,eAAe,GAAIC,aAA6B,IACpD,CAACX,YAAY,CAACY,UAAU,EAAE,GAAGD,aAAa,CAAC,CAACN,GAAG,CAAEC,IAAI,IAAKP,YAAY,CAACO,IAAI,CAAC,CAAC;AAE/E,MAAMO,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGpB,QAAQ,CAAa;IAC7DY,WAAW,EAAEK,MAAM,CAACL,WAAW;IAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;IAC7BW,SAAS,EAAEJ,MAAM,CAACI;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGvB,QAAQ,CAA+B,IAAI,CAAC;EACtE,MAAMwB,KAAK,GAAGvB,uBAAuB,CAAC,CAAC;EACvC,MAAMwB,SAAS,GAAG,CAAC,EAACD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEL,KAAK,EAAEM;EAAe,CAAC,GAAG9B,mBAAmB,CAC3DmB,MAAM,CAACP,UAAU,EACjBQ,MACF,CAAC;EAEDnB,SAAS,CAAC,MAAM;IACd,IAAI0B,SAAS,EAAE;MACbL,gBAAgB,CAAC;QACfR,WAAW,EAAEK,MAAM,CAACL,WAAW;QAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;QAC7BW,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BQ,GAAG,EAAEF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,GAAG;QAChBC,IAAI,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG;QACjBC,iBAAiB,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,gBAAgB;QAC3CC,gBAAgB,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,gBAAgB;QAC1CC,kBAAkB,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,0BAA0B;QACtDC,MAAM,EAAEZ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEY,MAAM;QACtBC,gBAAgB,EAAEb,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEa;MAC5B,CAAC,CAAC;MACFjB,QAAQ,CAACK,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEQ,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLT,aAAa;IACbG,KAAK;IACLmB,GAAG,EAAEjB,KAAK,CAACiB;EACb,CAAC;AACH,CAAC;AAED,SAAS5B,eAAe,EAAET,UAAU,EAAEY,UAAU","ignoreList":[]}
@@ -1,10 +1,5 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
1
3
  import { gql } from '@apollo/client';
2
- export const getInstrumentsChart = gql`
3
- query GetInstrumentsChart($instruments: [String!], $division: Division) {
4
- topicalInstrumentsCharts(instruments: $instruments, division: $division) {
5
- name
6
- chart
7
- }
8
- }
9
- `;
4
+ export const getInstrumentsChart = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n"])));
10
5
  //# sourceMappingURL=getInstrumentsChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getInstrumentsChart.js","names":["gql","getInstrumentsChart"],"sources":["../../../src/gql/getInstrumentsChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getInstrumentsChart = gql`\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n`;\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,mBAAmB,GAAGD,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getInstrumentsChart.js","names":["gql","getInstrumentsChart","_templateObject","_taggedTemplateLiteral"],"sources":["../../../src/gql/getInstrumentsChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getInstrumentsChart = gql`\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n`;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,mBAAmB,GAAGD,GAAG,CAAAE,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4MAOrC","ignoreList":[]}
@@ -5,10 +5,11 @@ export function makeFragmentData(data, _fragment) {
5
5
  return data;
6
6
  }
7
7
  export function isFragmentReady(queryNode, fragmentNode, data) {
8
- const deferredFields = queryNode.__meta__?.deferredFields;
8
+ var _meta__, _fragDef$name;
9
+ const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
9
10
  if (!deferredFields) return true;
10
11
  const fragDef = fragmentNode.definitions[0];
11
- const fragName = fragDef?.name?.value;
12
+ const fragName = fragDef === null || fragDef === void 0 || (_fragDef$name = fragDef.name) === null || _fragDef$name === void 0 ? void 0 : _fragDef$name.value;
12
13
  const fields = fragName && deferredFields[fragName] || [];
13
14
  return fields.length > 0 && fields.every(field => data && field in data);
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import { ResultOf, DocumentTypeDecoration, TypedDocumentNode } from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\n\nexport type FragmentType<TDocumentType extends DocumentTypeDecoration<any, any>> = TDocumentType extends DocumentTypeDecoration<\n infer TType,\n any\n>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>> | null | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>> | null | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data: FragmentType<TypedDocumentNode<Incremental<TFrag>, any>> | null | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (queryNode as { __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> } }).__meta__\n ?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as FragmentDefinitionNode | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every(field => data && field in data);\n}\n"],"mappings":"AAoCA,OAAO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAAmJ,EAClG;EACjD,OAAOA,YAAY;AACrB;AAGA,OAAO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACA,OAAO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAAiF,EACtC;EAC3C,MAAMK,cAAc,GAAIF,SAAS,CAAwEG,QAAQ,EAC7GD,cAAc;EAElB,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAAuC;EACjF,MAAMC,QAAQ,GAAGF,OAAO,EAAEG,IAAI,EAAEC,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAACC,KAAK,IAAIf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC1E","ignoreList":[]}
1
+ {"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","_meta__","_fragDef$name","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":"AA6CA,OAAO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEA,OAAO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACA,OAAO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAAA,IAAAK,OAAA,EAAAC,aAAA;EAC3C,MAAMC,cAAc,IAAAF,OAAA,GAClBF,SAAS,CAGTK,QAAQ,cAAAH,OAAA,uBAJaA,OAAA,CAIXE,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGL,YAAY,CAACM,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,aAAPA,OAAO,gBAAAH,aAAA,GAAPG,OAAO,CAAEG,IAAI,cAAAN,aAAA,uBAAbA,aAAA,CAAeO,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKjB,IAAI,IAAIiB,KAAK,IAAIjB,IAAI,CAAC;AAC5E","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  import * as types from './graphql';
2
2
  const documents = {
3
- "\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n": types.GetInstrumentsChartDocument,
4
- "\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n": types.ValidateInstrumentsDocument
3
+ '\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n': types.GetInstrumentsChartDocument,
4
+ '\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n': types.ValidateInstrumentsDocument
5
5
  };
6
6
  export function graphql(source) {
7
- return documents[source] ?? {};
7
+ var _source;
8
+ return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
8
9
  }
9
10
  //# sourceMappingURL=gql.js.map