@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":"RowWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"RowWithData.js","names":["LoaderSize","Price","TableCell","TableRow","Truncate","useLayoutProvider","classnames","React","INSTRUMENT_TOOLTIP_ID","ColumnsNames","useRecords","LineChartWithData","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","updatedRecord","error","ref","instrument","checkLoading","id","undefined","createElement","Fragment","key","INSTRUMENT","classNames","isLoading","type","maxWidth","text","displayName","tooltipId","map","item","SELL","additionalPaddingRight","isError","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","SPREAD","loaderSize","sm","spread"],"sources":["../../../../../src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx"],"sourcesContent":["import {\n LoaderSize,\n Price,\n TableCell,\n TableRow,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { RowWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst RowWithData = ({\n loading,\n record,\n hasBackgroundColor,\n target,\n activeColumns,\n division,\n isScrolled,\n}: RowWithDataProps) => {\n const { isDark } = useLayoutProvider();\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n\n const checkLoading = (id: string) =>\n loading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <TableRow\n ref={ref}\n hasBackgroundColor={hasBackgroundColor}\n isScrolled={isScrolled}\n >\n <>\n <TableCell\n key={ColumnsNames.INSTRUMENT}\n classNames={classnames('lw-font-bold', {\n '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary':\n isDark && isScrolled,\n })}\n isLoading={checkLoading(ColumnsNames.INSTRUMENT)}\n type=\"text\"\n >\n <Truncate\n maxWidth={130}\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n </TableCell>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <TableCell\n key={ColumnsNames.SELL}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(\n updatedRecord.displayPrecision\n )}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <TableCell\n key={ColumnsNames.BUY}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <TableCell\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.CHART) {\n return (\n <td\n key={ColumnsNames.CHART}\n className=\"lw-relative lw-px-3 lw-py-0 lw-text-right\"\n data-testid=\"chart-table-cell\"\n >\n <div className=\"lw-flex lw-justify-center\">\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n record={updatedRecord}\n />\n </div>\n </td>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <TableCell\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n loaderSize={LoaderSize.sm}\n >\n <span>{updatedRecord.spread}</span>\n </TableCell>\n );\n }\n return null;\n })}\n </>\n </TableRow>\n );\n};\n\nexport { RowWithData };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/LiveRatesTableWidget/components/index.ts"],"sourcesContent":["export * from './
|
|
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 {
|
|
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 {
|
|
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
|
|
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
|
-
|
|
48
|
-
liveRatesUrl: liveRatesUrl,
|
|
47
|
+
columns: columns,
|
|
49
48
|
division: division,
|
|
49
|
+
graphqlUrl: graphqlUrl,
|
|
50
50
|
instruments: instruments,
|
|
51
|
-
|
|
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":["
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["
|
|
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,8 +1,8 @@
|
|
|
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';
|
|
5
|
+
import { ColumnsNames } from './types';
|
|
6
6
|
const getRecords = data => data?.mapInstrumentNames?.map(item => ({
|
|
7
7
|
instrument: item?.name || '',
|
|
8
8
|
displayName: item?.displayName || ''
|
|
@@ -44,5 +44,5 @@ const useRecords = (record, target) => {
|
|
|
44
44
|
ref: entry.ref
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
|
-
export {
|
|
47
|
+
export { getHeaderConfig, getRecords, useRecords };
|
|
48
48
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["
|
|
1
|
+
{"version":3,"file":"utils.js","names":["useLiveRatesMessage","useEffect","useState","useIntersectionObserver","headerConfig","ColumnsNames","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 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,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;AAEL,MAAMC,eAAe,GAAIC,aAA6B,IACpD,CAACV,YAAY,CAACW,UAAU,EAAE,GAAGD,aAAa,CAAC,CAACN,GAAG,CAAEC,IAAI,IAAKN,YAAY,CAACM,IAAI,CAAC,CAAC;AAE/E,MAAMO,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGnB,QAAQ,CAAa;IAC7DW,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,GAAGtB,QAAQ,CAA+B,IAAI,CAAC;EACtE,MAAMuB,KAAK,GAAGtB,uBAAuB,CAAC,CAAC;EACvC,MAAMuB,SAAS,GAAG,CAAC,CAACD,KAAK,EAAEE,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEL,KAAK,EAAEM;EAAe,CAAC,GAAG7B,mBAAmB,CAC3DkB,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,SAAS5B,eAAe,EAAER,UAAU,EAAEW,UAAU","ignoreList":[]}
|
|
@@ -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 {
|
|
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 {\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;EAC3C,MAAMK,cAAc,GAClBF,SAAS,CAGTG,QAAQ,EAAED,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAE7B;EACb,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,CAAEC,KAAK,IAAKf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as types from './graphql';
|
|
2
2
|
const documents = {
|
|
3
|
-
|
|
4
|
-
|
|
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
7
|
return documents[source] ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","documents","GetInstrumentsChartDocument","ValidateInstrumentsDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","documents","GetInstrumentsChartDocument","ValidateInstrumentsDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\\n name\\n chart\\n }\\n }\\n':\n types.GetInstrumentsChartDocument,\n '\\n query validateInstruments($instruments: [String]!, $division: Division) {\\n mapInstrumentNames(instruments: $instruments, division: $division) {\\n name\\n displayName\\n }\\n }\\n':\n types.ValidateInstrumentsDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\\n name\\n chart\\n }\\n }\\n'\n): (typeof documents)['\\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\\n name\\n chart\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query validateInstruments($instruments: [String]!, $division: Division) {\\n mapInstrumentNames(instruments: $instruments, division: $division) {\\n name\\n displayName\\n }\\n }\\n'\n): (typeof documents)['\\n query validateInstruments($instruments: [String]!, $division: Division) {\\n mapInstrumentNames(instruments: $instruments, division: $division) {\\n name\\n displayName\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,WAAW;AAalC,MAAMC,SAAS,GAAG;EAChB,sMAAsM,EACpMD,KAAK,CAACE,2BAA2B;EACnC,sMAAsM,EACpMF,KAAK,CAACG;AACV,CAAC;AA6BD,OAAO,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQJ,SAAS,CAASI,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|