@oanda/labs-live-rates-table-widget 1.0.38 → 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.
- package/CHANGELOG.md +324 -0
- package/dist/main/LiveRatesTableWidget/LiveRatesTableWidget.js +25 -27
- package/dist/main/LiveRatesTableWidget/LiveRatesTableWidget.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/Main.js +16 -16
- package/dist/main/LiveRatesTableWidget/Main.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js +17 -17
- package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +6 -6
- package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/Cards/types.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +4 -4
- package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +25 -27
- package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/components/index.js +12 -12
- package/dist/main/LiveRatesTableWidget/components/index.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/config.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/constant.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/render.js +6 -6
- package/dist/main/LiveRatesTableWidget/render.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/types.js +1 -1
- package/dist/main/LiveRatesTableWidget/types.js.map +1 -1
- package/dist/main/LiveRatesTableWidget/utils.js +2 -2
- package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +2 -2
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/main/gql/types/graphql.js +142 -142
- package/dist/main/gql/types/graphql.js.map +1 -1
- package/dist/main/gql/types/index.js.map +1 -1
- package/dist/main/index.js +8 -8
- package/dist/main/index.js.map +1 -1
- package/dist/main/translations/index.js +1 -1
- package/dist/main/translations/index.js.map +1 -1
- package/dist/main/translations/translations.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js +26 -28
- package/dist/module/LiveRatesTableWidget/LiveRatesTableWidget.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/Main.js +18 -18
- package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +18 -18
- package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +6 -6
- package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/Cards/types.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +4 -4
- package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +1 -1
- package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +25 -25
- package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/components/index.js +2 -2
- package/dist/module/LiveRatesTableWidget/components/index.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/config.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/constant.js +1 -1
- package/dist/module/LiveRatesTableWidget/constant.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/render.js +6 -6
- package/dist/module/LiveRatesTableWidget/render.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/types.js +1 -1
- package/dist/module/LiveRatesTableWidget/types.js.map +1 -1
- package/dist/module/LiveRatesTableWidget/utils.js +3 -3
- package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +2 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +142 -142
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/gql/types/index.js +2 -2
- package/dist/module/gql/types/index.js.map +1 -1
- package/dist/module/index.js +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/translations/index.js +1 -1
- package/dist/module/translations/index.js.map +1 -1
- package/dist/module/translations/translations.js.map +1 -1
- package/dist/types/LiveRatesTableWidget/LiveRatesTableWidget.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/Main.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/components/CardWithData/CardWithData.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/components/Cards/Cards.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/components/Cards/types.d.ts +2 -2
- package/dist/types/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/components/LineChartWithData/types.d.ts +3 -3
- package/dist/types/LiveRatesTableWidget/components/RowWithData/RowWithData.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/components/index.d.ts +2 -2
- package/dist/types/LiveRatesTableWidget/config.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/constant.d.ts +1 -1
- package/dist/types/LiveRatesTableWidget/types.d.ts +4 -4
- package/dist/types/LiveRatesTableWidget/utils.d.ts +5 -4
- package/dist/types/gql/types/gql.d.ts +4 -4
- package/dist/types/gql/types/index.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/translations/index.d.ts +2 -2
- package/package.json +3 -3
- package/src/LiveRatesTableWidget/LiveRatesTableWidget.tsx +28 -35
- package/src/LiveRatesTableWidget/Main.tsx +50 -44
- package/src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx +43 -28
- package/src/LiveRatesTableWidget/components/Cards/Cards.tsx +15 -8
- package/src/LiveRatesTableWidget/components/Cards/types.tsx +2 -2
- package/src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx +12 -10
- package/src/LiveRatesTableWidget/components/LineChartWithData/types.tsx +4 -3
- package/src/LiveRatesTableWidget/components/LineChartWithData/utils.ts +1 -1
- package/src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx +64 -31
- package/src/LiveRatesTableWidget/components/index.ts +2 -2
- package/src/LiveRatesTableWidget/config.ts +2 -4
- package/src/LiveRatesTableWidget/constant.ts +4 -1
- package/src/LiveRatesTableWidget/render.tsx +52 -34
- package/src/LiveRatesTableWidget/types.tsx +5 -4
- package/src/LiveRatesTableWidget/utils.ts +20 -17
- package/src/gql/types/fragment-masking.ts +41 -21
- package/src/gql/types/gql.ts +12 -5
- package/src/gql/types/graphql.ts +214 -49
- package/src/gql/types/index.ts +2 -2
- package/src/index.ts +1 -1
- package/src/translations/index.ts +4 -4
- package/src/translations/translations.ts +2 -1
- package/test/CardWithData.test.tsx +16 -12
- package/test/Cards.test.tsx +48 -40
- package/test/LineChartWithData.test.tsx +77 -32
- package/test/Main.test.tsx +14 -11
- package/test/RowWithData.test.tsx +21 -17
- package/test/mocks.ts +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"CardWithData.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","CardWithData","_ref","isLoading","record","target","activeColumns","index","division","isLast","updatedRecord","error","ref","useRecords","instrument","lang","useLocale","checkLoading","id","undefined","createElement","Card","withoutBottomBorder","CardHeader","number","title","Truncate","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","includes","ColumnsNames","CHART","LineChartWithData","padding","size","LineChartSize","xs","map","item","SELL","CardRow","key","isError","label","Price","arrowPosition","ArrowPosition","left","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","SPREAD","spread","exports"],"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":[]}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Cards = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _CardWithData = require("../CardWithData/CardWithData");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const Cards = _ref => {
|
|
@@ -23,14 +23,14 @@ const Cards = _ref => {
|
|
|
23
23
|
}, _react.default.createElement(_labsWidgetCommon.ChartError, null))) : _react.default.createElement(_react.default.Fragment, null, records.map((record, index) => _react.default.createElement("div", {
|
|
24
24
|
key: `card_${startIndex + index}`
|
|
25
25
|
}, _react.default.createElement(_CardWithData.CardWithData, {
|
|
26
|
-
index: startIndex + index + 1,
|
|
27
|
-
division: division,
|
|
28
|
-
record: record,
|
|
29
|
-
target: target,
|
|
30
26
|
activeColumns: columns,
|
|
27
|
+
division: division,
|
|
28
|
+
index: startIndex + index + 1,
|
|
31
29
|
isError: isError,
|
|
30
|
+
isLast: index + 1 === records.length,
|
|
32
31
|
isLoading: isLoading,
|
|
33
|
-
|
|
32
|
+
record: record,
|
|
33
|
+
target: target
|
|
34
34
|
})))));
|
|
35
35
|
};
|
|
36
36
|
exports.Cards = Cards;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cards.js","names":["
|
|
1
|
+
{"version":3,"file":"Cards.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_CardWithData","e","__esModule","default","Cards","_ref","records","target","columns","isError","isLoading","division","startIndex","createElement","Fragment","Card","className","ChartError","map","record","index","key","CardWithData","activeColumns","isLast","length","exports"],"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,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAA4D,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5D,MAAMG,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,OACXP,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGL,OAAO,GACNX,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAmB,IAAI,QACHjB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKG,SAAS,EAAC;EAAkE,GAC/ElB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAqB,UAAU,MAAE,CACV,CACD,CAAC,GAEPnB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGR,OAAO,CAACY,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACzBtB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKQ,GAAG,EAAE,QAAQT,UAAU,GAAGQ,KAAK;EAAG,GACrCtB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACb,aAAA,CAAAsB,YAAY;IACXC,aAAa,EAAEf,OAAQ;IACvBG,QAAQ,EAAEA,QAAS;IACnBS,KAAK,EAAER,UAAU,GAAGQ,KAAK,GAAG,CAAE;IAC9BX,OAAO,EAAEA,OAAQ;IACjBe,MAAM,EAAEJ,KAAK,GAAG,CAAC,KAAKd,OAAO,CAACmB,MAAO;IACrCf,SAAS,EAAEA,SAAU;IACrBS,MAAM,EAAEA,MAAO;IACfZ,MAAM,EAAEA;EAAO,CAChB,CACE,CACN,CACD,CAEJ,CAAC;AAAA,CACJ;AAACmB,OAAA,CAAAtB,KAAA,GAAAA,KAAA","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":[]}
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.LineChartWithData = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _client = require("@apollo/client");
|
|
9
8
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _getInstrumentsChart = require("../../../gql/getInstrumentsChart");
|
|
11
11
|
var _utils = require("./utils");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -36,10 +36,10 @@ const LineChartWithData = _ref => {
|
|
|
36
36
|
return _react.default.createElement(_react.default.Fragment, null, showLoader && _react.default.createElement(_labsWidgetCommon.Loader, {
|
|
37
37
|
size: _labsWidgetCommon.LoaderSize.md
|
|
38
38
|
}), !showLoader && _react.default.createElement(_labsWidgetCommon.LineChart, {
|
|
39
|
-
padding: padding,
|
|
40
|
-
size: size,
|
|
41
39
|
color: chartColor,
|
|
42
|
-
data: chart
|
|
40
|
+
data: chart,
|
|
41
|
+
padding: padding,
|
|
42
|
+
size: size
|
|
43
43
|
}));
|
|
44
44
|
};
|
|
45
45
|
exports.LineChartWithData = LineChartWithData;
|
package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChartWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"LineChartWithData.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_getInstrumentsChart","_utils","e","__esModule","default","LineChartWithData","_ref","padding","record","size","isLoading","division","isDarkMode","loading","data","useQuery","getInstrumentsChart","variables","instruments","instrument","fetchPolicy","skip","showLoader","chart","topicalInstrumentsCharts","chartColor","getChartColor","dailyPercentChange","createElement","Fragment","Loader","LoaderSize","md","LineChart","color","exports"],"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,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AAMA,IAAAK,MAAA,GAAAL,OAAA;AAAwC,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,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,GAAG,IAAAC,gBAAQ,EAGhCC,wCAAmB,EAAE;IACrBC,SAAS,EAAE;MACTC,WAAW,EAAE,CAACV,MAAM,CAACW,UAAU,CAAC;MAChCR;IACF,CAAC;IACDS,WAAW,EAAE,cAAc;IAC3BC,IAAI,EAAE,CAACb,MAAM,CAACW;EAChB,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGZ,SAAS,IAAIG,OAAO;EACvC,MAAMU,KAAK,GAAGT,IAAI,EAAEU,wBAAwB,GAAG,CAAC,CAAC,CAACD,KAAK,IAAI,EAAE;EAE7D,MAAME,UAAU,GAAG,IAAAC,oBAAa,EAAClB,MAAM,CAACmB,kBAAkB,EAAEf,UAAU,CAAC;EAEvE,OACEd,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAA9B,MAAA,CAAAM,OAAA,CAAAyB,QAAA,QACGP,UAAU,IAAIxB,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAC/B,iBAAA,CAAAiC,MAAM;IAACrB,IAAI,EAAEsB,4BAAU,CAACC;EAAG,CAAE,CAAC,EAC7C,CAACV,UAAU,IACVxB,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAC/B,iBAAA,CAAAoC,SAAS;IACRC,KAAK,EAAET,UAAW;IAClBX,IAAI,EAAES,KAAM;IACZhB,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA;EAAK,CACZ,CAEH,CAAC;AAEP,CAAC;AAAC0B,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","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 {
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","getChartColor","dailyChange","isDarkMode","theme","darkTheme","lightTheme","charAt","ok","danger","borderDisabled","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/utils.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","getChartColor","dailyChange","isDarkMode","theme","darkTheme","lightTheme","charAt","ok","danger","borderDisabled","exports"],"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,IAAAA,iBAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAACC,WAAoB,EAAEC,UAAoB,KAAK;EAC3E,MAAMC,KAAK,GAAGD,UAAU,GAAGE,2BAAS,GAAGC,4BAAU;EAEjD,QAAQJ,WAAW,EAAEK,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG;MACN,OAAOH,KAAK,CAACI,EAAE;IACjB,KAAK,GAAG;MACN,OAAOJ,KAAK,CAACK,MAAM;IACrB;MACE,OAAOL,KAAK,CAACM,cAAc;EAC/B;AACF,CAAC;AAACC,OAAA,CAAAV,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -4,16 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RowWithData = void 0;
|
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _constant = require("../../constant");
|
|
10
11
|
var _types = require("../../types");
|
|
11
|
-
var _LineChartWithData = require("../LineChartWithData");
|
|
12
12
|
var _utils = require("../../utils");
|
|
13
|
-
var
|
|
13
|
+
var _LineChartWithData = require("../LineChartWithData");
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
15
|
const RowWithData = _ref => {
|
|
18
16
|
let {
|
|
19
17
|
loading,
|
|
@@ -26,7 +24,7 @@ const RowWithData = _ref => {
|
|
|
26
24
|
} = _ref;
|
|
27
25
|
const {
|
|
28
26
|
isDark
|
|
29
|
-
} = (0,
|
|
27
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
30
28
|
const {
|
|
31
29
|
updatedRecord,
|
|
32
30
|
error,
|
|
@@ -35,15 +33,15 @@ const RowWithData = _ref => {
|
|
|
35
33
|
const checkLoading = id => loading || !error && updatedRecord?.[id] === undefined;
|
|
36
34
|
return _react.default.createElement(_labsWidgetCommon.TableRow, {
|
|
37
35
|
ref: ref,
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
hasBackgroundColor: hasBackgroundColor,
|
|
37
|
+
isScrolled: isScrolled
|
|
40
38
|
}, _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_labsWidgetCommon.TableCell, {
|
|
41
|
-
|
|
39
|
+
key: _types.ColumnsNames.INSTRUMENT,
|
|
42
40
|
classNames: (0, _classnames.default)('lw-font-bold', {
|
|
43
41
|
'[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary': isDark && isScrolled
|
|
44
42
|
}),
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
isLoading: checkLoading(_types.ColumnsNames.INSTRUMENT),
|
|
44
|
+
type: "text"
|
|
47
45
|
}, _react.default.createElement(_labsWidgetCommon.Truncate, {
|
|
48
46
|
maxWidth: 130,
|
|
49
47
|
text: record.displayName,
|
|
@@ -52,50 +50,50 @@ const RowWithData = _ref => {
|
|
|
52
50
|
if (item === _types.ColumnsNames.SELL) {
|
|
53
51
|
return _react.default.createElement(_labsWidgetCommon.TableCell, {
|
|
54
52
|
key: _types.ColumnsNames.SELL,
|
|
55
|
-
|
|
53
|
+
additionalPaddingRight: true,
|
|
56
54
|
isError: !!error,
|
|
57
|
-
|
|
55
|
+
isLoading: checkLoading(_types.ColumnsNames.SELL)
|
|
58
56
|
}, _react.default.createElement(_labsWidgetCommon.Price, {
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
movementIndicator: "arrow",
|
|
58
|
+
priceMovement: updatedRecord.sellPriceMovement
|
|
61
59
|
}, _react.default.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
|
|
62
60
|
}
|
|
63
61
|
if (item === _types.ColumnsNames.BUY) {
|
|
64
62
|
return _react.default.createElement(_labsWidgetCommon.TableCell, {
|
|
65
63
|
key: _types.ColumnsNames.BUY,
|
|
66
|
-
|
|
64
|
+
additionalPaddingRight: true,
|
|
67
65
|
isError: !!error,
|
|
68
|
-
|
|
66
|
+
isLoading: checkLoading(_types.ColumnsNames.BUY)
|
|
69
67
|
}, _react.default.createElement(_labsWidgetCommon.Price, {
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
movementIndicator: "arrow",
|
|
69
|
+
priceMovement: updatedRecord.buyPriceMovement
|
|
72
70
|
}, _react.default.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
|
|
73
71
|
}
|
|
74
72
|
if (item === _types.ColumnsNames.DAILY_CHANGE) {
|
|
75
73
|
return _react.default.createElement(_labsWidgetCommon.TableCell, {
|
|
76
74
|
key: _types.ColumnsNames.DAILY_CHANGE,
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
isError: !!error,
|
|
76
|
+
isLoading: checkLoading('dailyPercentChange')
|
|
79
77
|
}, _react.default.createElement("span", null, updatedRecord.dailyPercentChange));
|
|
80
78
|
}
|
|
81
79
|
if (item === _types.ColumnsNames.CHART) {
|
|
82
80
|
return _react.default.createElement("td", {
|
|
83
|
-
|
|
81
|
+
key: _types.ColumnsNames.CHART,
|
|
84
82
|
className: "lw-relative lw-px-3 lw-py-0 lw-text-right",
|
|
85
|
-
|
|
83
|
+
"data-testid": "chart-table-cell"
|
|
86
84
|
}, _react.default.createElement("div", {
|
|
87
85
|
className: "lw-flex lw-justify-center"
|
|
88
86
|
}, _react.default.createElement(_LineChartWithData.LineChartWithData, {
|
|
89
|
-
|
|
87
|
+
division: division,
|
|
90
88
|
isLoading: checkLoading('instrument'),
|
|
91
|
-
|
|
89
|
+
record: updatedRecord
|
|
92
90
|
})));
|
|
93
91
|
}
|
|
94
92
|
if (item === _types.ColumnsNames.SPREAD) {
|
|
95
93
|
return _react.default.createElement(_labsWidgetCommon.TableCell, {
|
|
96
94
|
key: _types.ColumnsNames.SPREAD,
|
|
97
|
-
isLoading: checkLoading(_types.ColumnsNames.SPREAD),
|
|
98
95
|
isError: !!error,
|
|
96
|
+
isLoading: checkLoading(_types.ColumnsNames.SPREAD),
|
|
99
97
|
loaderSize: _labsWidgetCommon.LoaderSize.sm
|
|
100
98
|
}, _react.default.createElement("span", null, updatedRecord.spread));
|
|
101
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"RowWithData.js","names":["_labsWidgetCommon","require","_classnames","_interopRequireDefault","_react","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","useLayoutProvider","updatedRecord","error","ref","useRecords","instrument","checkLoading","id","undefined","createElement","TableRow","Fragment","TableCell","key","ColumnsNames","INSTRUMENT","classNames","classnames","isLoading","type","Truncate","maxWidth","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","map","item","SELL","additionalPaddingRight","isError","Price","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","LineChartWithData","SPREAD","loaderSize","LoaderSize","sm","spread","exports"],"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":[]}
|
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var
|
|
7
|
-
Object.keys(
|
|
6
|
+
var _Cards = require("./Cards");
|
|
7
|
+
Object.keys(_Cards).forEach(function (key) {
|
|
8
8
|
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] ===
|
|
9
|
+
if (key in exports && exports[key] === _Cards[key]) return;
|
|
10
10
|
Object.defineProperty(exports, key, {
|
|
11
11
|
enumerable: true,
|
|
12
12
|
get: function () {
|
|
13
|
-
return
|
|
13
|
+
return _Cards[key];
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var
|
|
18
|
-
Object.keys(
|
|
17
|
+
var _CardWithData = require("./CardWithData");
|
|
18
|
+
Object.keys(_CardWithData).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] ===
|
|
20
|
+
if (key in exports && exports[key] === _CardWithData[key]) return;
|
|
21
21
|
Object.defineProperty(exports, key, {
|
|
22
22
|
enumerable: true,
|
|
23
23
|
get: function () {
|
|
24
|
-
return
|
|
24
|
+
return _CardWithData[key];
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
@@ -36,14 +36,14 @@ Object.keys(_LineChartWithData).forEach(function (key) {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
var
|
|
40
|
-
Object.keys(
|
|
39
|
+
var _RowWithData = require("./RowWithData");
|
|
40
|
+
Object.keys(_RowWithData).forEach(function (key) {
|
|
41
41
|
if (key === "default" || key === "__esModule") return;
|
|
42
|
-
if (key in exports && exports[key] ===
|
|
42
|
+
if (key in exports && exports[key] === _RowWithData[key]) return;
|
|
43
43
|
Object.defineProperty(exports, key, {
|
|
44
44
|
enumerable: true,
|
|
45
45
|
get: function () {
|
|
46
|
-
return
|
|
46
|
+
return _RowWithData[key];
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Cards","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CardWithData","_LineChartWithData","_RowWithData"],"sources":["../../../../src/LiveRatesTableWidget/components/index.ts"],"sourcesContent":["export * from './Cards';\nexport * from './CardWithData';\nexport * from './LineChartWithData';\nexport * from './RowWithData';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,kBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,YAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,YAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,YAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,YAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_types","headerConfig","exports","ColumnsNames","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","View","CARDS","Size","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 {
|
|
1
|
+
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_types","headerConfig","exports","ColumnsNames","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","View","CARDS","Size","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,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACnB,CAACE,mBAAY,CAACC,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACI,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACK,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACM,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACO,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACQ,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAAG;EACjB,CAACC,WAAI,CAACC,KAAK,GAAGC,sBAAI,CAACC,MAAM;EACzB,CAACH,WAAI,CAACI,KAAK,GAAGF,sBAAI,CAACG;AACrB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["_types","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","ColumnsNames","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
|
|
1
|
+
{"version":3,"file":"constant.js","names":["_types","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","ColumnsNames","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,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,EAAE;AAExB,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,CACtBC,mBAAY,CAACC,IAAI,EACjBD,mBAAY,CAACE,GAAG,EAChBF,mBAAY,CAACG,YAAY,EACzBH,mBAAY,CAACI,KAAK,EAClBJ,mBAAY,CAACK,MAAM,CACpB;AAED,MAAMC,qBAAqB,GAAAT,OAAA,CAAAS,qBAAA,GAAG,uBAAuB","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
3
4
|
var _react = _interopRequireDefault(require("react"));
|
|
4
5
|
var _client = require("react-dom/client");
|
|
5
|
-
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
6
|
-
var _LiveRatesTableWidget = require("./LiveRatesTableWidget");
|
|
7
6
|
var _graphql = require("../gql/types/graphql");
|
|
7
|
+
var _LiveRatesTableWidget = require("./LiveRatesTableWidget");
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const {
|
|
10
10
|
graphqlUrl,
|
|
@@ -47,14 +47,14 @@ liveRatesTableParamsElements.forEach(element => {
|
|
|
47
47
|
name: 'liveRatesUrl'
|
|
48
48
|
}]);
|
|
49
49
|
root.render(_react.default.createElement(_LiveRatesTableWidget.LiveRatesTableWidget, {
|
|
50
|
-
|
|
51
|
-
liveRatesUrl: liveRatesUrl,
|
|
50
|
+
columns: columns,
|
|
52
51
|
division: division,
|
|
52
|
+
graphqlUrl: graphqlUrl,
|
|
53
53
|
instruments: instruments,
|
|
54
|
-
|
|
54
|
+
isParamError: isParamError,
|
|
55
|
+
liveRatesUrl: liveRatesUrl,
|
|
55
56
|
locale: locale,
|
|
56
57
|
theme: mode,
|
|
57
|
-
isParamError: isParamError,
|
|
58
58
|
view: view
|
|
59
59
|
}));
|
|
60
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["
|
|
1
|
+
{"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_LiveRatesTableWidget","e","__esModule","default","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","instruments","columns","division","locale","view","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","length","render","createElement","LiveRatesTableWidget","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,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAA8D,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9D,MAAM;EAAEG,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,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGL,OAAO,CAACI,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,GAAG,IAAAC,oCAAkB,EACrC;IACEN,QAAQ;IACRC,MAAM;IACNjB,UAAU;IACVC,YAAY;IACZa,WAAW;IACXC;EACF,CAAC,EACD,CACE;IACEQ,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EAC1C,CAAC,EACD;IACEF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IACfA,KAAK,CAAcM,MAAM,GAAG,CAAC,IAAKN,KAAK,CAAcM,MAAM,IAAI;EACpE,CAAC,EACD;IACER,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcM,MAAM,GAAG;EACtD,CAAC,EACD;IACER,IAAI,EAAE;EACR,CAAC,EACD;IACEA,IAAI,EAAE;EACR,CAAC,CAEL,CAAC;EAEDd,IAAI,CAACuB,MAAM,CACTxC,MAAA,CAAAO,OAAA,CAAAkC,aAAA,CAACrC,qBAAA,CAAAsC,oBAAoB;IACnBnB,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBhB,UAAU,EAAEA,UAAW;IACvBc,WAAW,EAAEA,WAAY;IACzBO,YAAY,EAAEA,YAAa;IAC3BpB,YAAY,EAAEA,YAAa;IAC3BgB,MAAM,EAAEA,MAAO;IACfkB,KAAK,EAAEtB,IAAc;IACrBK,IAAI,EAAEA;EAAK,CACZ,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "Locale", {
|
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
exports.View = void 0;
|
|
20
|
-
var _monoI18n = require("@oanda/mono-i18n");
|
|
21
20
|
var _graphql = require("../gql/types/graphql");
|
|
21
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
22
22
|
let View = exports.View = function (View) {
|
|
23
23
|
View["TABLE"] = "table";
|
|
24
24
|
View["CARDS"] = "cards";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["
|
|
1
|
+
{"version":3,"file":"types.js","names":["_graphql","require","_monoI18n","View","exports","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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA0C,IAE9BE,IAAI,GAAAC,OAAA,CAAAD,IAAA,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAAA,IAcJE,YAAY,GAAAD,OAAA,CAAAC,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useRecords = exports.getRecords = exports.getHeaderConfig = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
var _usehooksTs = require("usehooks-ts");
|
|
10
|
-
var _types = require("./types");
|
|
11
10
|
var _config = require("./config");
|
|
11
|
+
var _types = require("./types");
|
|
12
12
|
const getRecords = data => data?.mapInstrumentNames?.map(item => ({
|
|
13
13
|
instrument: item?.name || '',
|
|
14
14
|
displayName: item?.displayName || ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","_react","_usehooksTs","_config","_types","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","exports","getHeaderConfig","activeColumns","ColumnsNames","INSTRUMENT","headerConfig","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","sentiment","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","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,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAGA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAIC,IAA8B,IAChDA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EACvCC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA;AAEN,MAAMS,eAAe,GAAIC,aAA6B,IACpD,CAACC,mBAAY,CAACC,UAAU,EAAE,GAAGF,aAAa,CAAC,CAACP,GAAG,CAAEC,IAAI,IAAKS,oBAAY,CAACT,IAAI,CAAC,CAAC;AAACI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEhF,MAAMK,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DZ,WAAW,EAAEQ,MAAM,CAACR,WAAW;IAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;IAC7Be,SAAS,EAAEL,MAAM,CAACK;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMI,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,CAACF,KAAK,EAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,qCAAmB,EAC3Dd,MAAM,CAACV,UAAU,EACjBW,MACF,CAAC;EAED,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbP,gBAAgB,CAAC;QACfX,WAAW,EAAEQ,MAAM,CAACR,WAAW;QAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;QAC7Be,SAAS,EAAEL,MAAM,CAACK,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,EAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,EAAEO,GAAG;QACjBC,iBAAiB,EAAER,MAAM,EAAES,gBAAgB;QAC3CC,gBAAgB,EAAEV,MAAM,EAAEW,gBAAgB;QAC1CC,kBAAkB,EAAEZ,MAAM,EAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,EAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,EAAEe;MAC5B,CAAC,CAAC;MACFpB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEZ,MAAM,EAAEU,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLX,aAAa;IACbI,KAAK;IACLsB,GAAG,EAAEpB,KAAK,CAACoB;EACb,CAAC;AACH,CAAC;AAACnC,OAAA,CAAAM,UAAA,GAAAA,UAAA","ignoreList":[]}
|