@oanda/labs-order-book-widget 1.0.222 → 1.0.224
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 +1764 -0
- package/dist/main/OrderBookWidget/ChartWithData.js +3 -2
- package/dist/main/OrderBookWidget/ChartWithData.js.map +1 -1
- package/dist/main/OrderBookWidget/Main.js +1 -2
- package/dist/main/OrderBookWidget/Main.js.map +1 -1
- package/dist/main/OrderBookWidget/components/Chart/Chart.js +1 -2
- package/dist/main/OrderBookWidget/components/Chart/Chart.js.map +1 -1
- package/dist/main/OrderBookWidget/components/Chart/formatters.js +3 -3
- package/dist/main/OrderBookWidget/components/Chart/formatters.js.map +1 -1
- package/dist/main/OrderBookWidget/components/Chart/getOption.js +8 -7
- package/dist/main/OrderBookWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/gql/getOrderPositionBooks.js +3 -22
- package/dist/main/gql/getOrderPositionBooks.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js +3 -2
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +3 -3
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/module/OrderBookWidget/ChartWithData.js +3 -2
- package/dist/module/OrderBookWidget/ChartWithData.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/formatters.js +3 -3
- package/dist/module/OrderBookWidget/components/Chart/formatters.js.map +1 -1
- package/dist/module/OrderBookWidget/components/Chart/getOption.js +8 -7
- package/dist/module/OrderBookWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/gql/getOrderPositionBooks.js +3 -22
- package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +3 -2
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +2 -1
- package/dist/module/gql/types/gql.js.map +1 -1
- package/package.json +4 -4
|
@@ -15,6 +15,7 @@ var _Chart = require("./components/Chart/Chart");
|
|
|
15
15
|
var _config = require("./config");
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
const ChartWithData = _ref => {
|
|
18
|
+
var _data$orderPositionBo, _data$orderPositionBo2;
|
|
18
19
|
let {
|
|
19
20
|
instrument,
|
|
20
21
|
bookType
|
|
@@ -38,8 +39,8 @@ const ChartWithData = _ref => {
|
|
|
38
39
|
},
|
|
39
40
|
fetchPolicy: 'network-only'
|
|
40
41
|
});
|
|
41
|
-
const isError = !loading && !data
|
|
42
|
-
const updatedAt = data
|
|
42
|
+
const isError = !loading && !(data !== null && data !== void 0 && (_data$orderPositionBo = data.orderPositionBooks[0]) !== null && _data$orderPositionBo !== void 0 && _data$orderPositionBo.price) || !!error;
|
|
43
|
+
const updatedAt = data === null || data === void 0 || (_data$orderPositionBo2 = data.orderPositionBooks[0]) === null || _data$orderPositionBo2 === void 0 ? void 0 : _data$orderPositionBo2.time;
|
|
43
44
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
|
|
44
45
|
className: (0, _classnames.default)('lw-relative lw-w-full', {
|
|
45
46
|
'lw-h-[450px]': isDesktop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getOrderPositionBooks","_graphql","_Chart","_config","e","__esModule","default","ChartWithData","_ref","instrument","bookType","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","loading","data","error","useQuery","getOrderPositionBooks","variables","recentHours","fetchPolicy","isError","orderPositionBooks","price","updatedAt","time","createElement","Fragment","className","classnames","ChartError","Spinner","SpinnerSize","lg","Chart","isOrderBook","BookType","Order","precision","instrumentPrecisionConfig","LastUpdated","labelCallback","timestamp","exports"],"sources":["../../../src/OrderBookWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n LastUpdated,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getOrderPositionBooks } from '../gql/getOrderPositionBooks';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n} from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { Chart } from './components/Chart/Chart';\nimport { instrumentPrecisionConfig } from './config';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({ instrument, bookType }: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n >(getOrderPositionBooks, {\n variables: {\n instrument,\n bookType,\n recentHours: 1,\n },\n fetchPolicy: 'network-only',\n });\n\n const isError = (!loading && !data?.orderPositionBooks[0]?.price) || !!error;\n const updatedAt = data?.orderPositionBooks[0]?.time;\n\n return (\n <>\n <div\n className={classnames('lw-relative lw-w-full', {\n 'lw-h-[450px]': isDesktop,\n 'lw-h-[390px]': !isDesktop,\n })}\n >\n {isError && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <ChartError />\n </div>\n )}\n {loading && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!isError && data && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n data={data}\n isOrderBook={bookType === BookType.Order}\n precision={instrumentPrecisionConfig[instrument]}\n />\n </div>\n )}\n </div>\n <div className=\"lw-mt-2 lw-h-8\">\n {!loading && !isError && (\n <LastUpdated labelCallback={lang} timestamp={updatedAt} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAQA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AAKA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAAqD,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGrD,MAAMG,aAAa,GAAGC,IAAA,IAAkD;EAAA,IAAjD;IAAEC,UAAU;IAAEC;EAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getOrderPositionBooks","_graphql","_Chart","_config","e","__esModule","default","ChartWithData","_ref","_data$orderPositionBo","_data$orderPositionBo2","instrument","bookType","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","loading","data","error","useQuery","getOrderPositionBooks","variables","recentHours","fetchPolicy","isError","orderPositionBooks","price","updatedAt","time","createElement","Fragment","className","classnames","ChartError","Spinner","SpinnerSize","lg","Chart","isOrderBook","BookType","Order","precision","instrumentPrecisionConfig","LastUpdated","labelCallback","timestamp","exports"],"sources":["../../../src/OrderBookWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n LastUpdated,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getOrderPositionBooks } from '../gql/getOrderPositionBooks';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n} from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { Chart } from './components/Chart/Chart';\nimport { instrumentPrecisionConfig } from './config';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({ instrument, bookType }: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n >(getOrderPositionBooks, {\n variables: {\n instrument,\n bookType,\n recentHours: 1,\n },\n fetchPolicy: 'network-only',\n });\n\n const isError = (!loading && !data?.orderPositionBooks[0]?.price) || !!error;\n const updatedAt = data?.orderPositionBooks[0]?.time;\n\n return (\n <>\n <div\n className={classnames('lw-relative lw-w-full', {\n 'lw-h-[450px]': isDesktop,\n 'lw-h-[390px]': !isDesktop,\n })}\n >\n {isError && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <ChartError />\n </div>\n )}\n {loading && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!isError && data && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n data={data}\n isOrderBook={bookType === BookType.Order}\n precision={instrumentPrecisionConfig[instrument]}\n />\n </div>\n )}\n </div>\n <div className=\"lw-mt-2 lw-h-8\">\n {!loading && !isError && (\n <LastUpdated labelCallback={lang} timestamp={updatedAt} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAQA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AAKA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAAqD,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGrD,MAAMG,aAAa,GAAGC,IAAA,IAAkD;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAAA,IAAjD;IAAEC,UAAU;IAAEC;EAA6B,CAAC,GAAAJ,IAAA;EACjE,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,4CAAqB,EAAE;IACvBC,SAAS,EAAE;MACTd,UAAU;MACVC,QAAQ;MACRc,WAAW,EAAE;IACf,CAAC;IACDC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAI,CAACR,OAAO,IAAI,EAACC,IAAI,aAAJA,IAAI,gBAAAZ,qBAAA,GAAJY,IAAI,CAAEQ,kBAAkB,CAAC,CAAC,CAAC,cAAApB,qBAAA,eAA3BA,qBAAA,CAA6BqB,KAAK,KAAK,CAAC,CAACR,KAAK;EAC5E,MAAMS,SAAS,GAAGV,IAAI,aAAJA,IAAI,gBAAAX,sBAAA,GAAJW,IAAI,CAAEQ,kBAAkB,CAAC,CAAC,CAAC,cAAAnB,sBAAA,uBAA3BA,sBAAA,CAA6BsB,IAAI;EAEnD,OACEjC,MAAA,CAAAO,OAAA,CAAA2B,aAAA,CAAAlC,MAAA,CAAAO,OAAA,CAAA4B,QAAA,QACEnC,MAAA,CAAAO,OAAA,CAAA2B,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EAAC,uBAAuB,EAAE;MAC7C,cAAc,EAAEnB,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CAAC;EAAE,GAEFW,OAAO,IACN7B,MAAA,CAAAO,OAAA,CAAA2B,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EACnB,uIAAuI,EACvI;MACE,WAAW,EAAEnB,SAAS;MACtB,wBAAwB,EAAE,CAACA;IAC7B,CACF;EAAE,GAEFlB,MAAA,CAAAO,OAAA,CAAA2B,aAAA,CAACtC,iBAAA,CAAA0C,UAAU,MAAE,CACV,CACN,EACAjB,OAAO,IACNrB,MAAA,CAAAO,OAAA,CAAA2B,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EACnB,uIAAuI,EACvI;MACE,WAAW,EAAEnB,SAAS;MACtB,wBAAwB,EAAE,CAACA;IAC7B,CACF;EAAE,GAEFlB,MAAA,CAAAO,OAAA,CAAA2B,aAAA,CAACtC,iBAAA,CAAA2C,OAAO;IAACvB,IAAI,EAAEwB,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACZ,OAAO,IAAIP,IAAI,IACftB,MAAA,CAAAO,OAAA,CAAA2B,aAAA;IAAKE,SAAS,EAAC;EAA4D,GACzEpC,MAAA,CAAAO,OAAA,CAAA2B,aAAA,CAAC/B,MAAA,CAAAuC,KAAK;IACJpB,IAAI,EAAEA,IAAK;IACXqB,WAAW,EAAE9B,QAAQ,KAAK+B,iBAAQ,CAACC,KAAM;IACzCC,SAAS,EAAEC,iCAAyB,CAACnC,UAAU;EAAE,CAClD,CACE,CAEJ,CAAC,EACNZ,MAAA,CAAAO,OAAA,CAAA2B,aAAA;IAAKE,SAAS,EAAC;EAAgB,GAC5B,CAACf,OAAO,IAAI,CAACQ,OAAO,IACnB7B,MAAA,CAAAO,OAAA,CAAA2B,aAAA,CAACtC,iBAAA,CAAAoD,WAAW;IAACC,aAAa,EAAEnC,IAAK;IAACoC,SAAS,EAAElB;EAAU,CAAE,CAExD,CACL,CAAC;AAEP,CAAC;AAACmB,OAAA,CAAA3C,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _graphql = require("../gql/types/graphql");
|
|
12
12
|
var _ChartWithData = require("./ChartWithData");
|
|
13
13
|
var _config = require("./config");
|
|
14
|
-
function
|
|
15
|
-
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; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
16
|
const Main = _ref => {
|
|
18
17
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_graphql","_ChartWithData","_config","
|
|
1
|
+
{"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_graphql","_ChartWithData","_config","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","instrument","division","selectConfig","Division","Oc","instrumentSelectConfigOC","instrumentSelectConfig","size","useLayoutProvider","isDesktop","Size","DESKTOP","bookType","setBookType","useState","BookType","Order","toolInstrument","setToolInstrument","lang","useLocale","createElement","Fragment","className","Tabs","mobileFullWidth","activeTab","handleClick","currentTarget","value","items","navigationConfig","labelCallback","classnames","Select","options","searchPlaceholder","selectLabel","selectedOption","setSelectedOption","val","ChartWithData","id","exports"],"sources":["../../../src/OrderBookWidget/Main.tsx"],"sourcesContent":["import {\n Select,\n Size,\n Tabs,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { BookType, Division } from '../gql/types/graphql';\nimport { ChartWithData } from './ChartWithData';\nimport {\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n} from './config';\nimport type { InstrumentId, MainProps } from './types';\n\nconst Main = ({ instrument, division }: MainProps) => {\n const selectConfig =\n division === Division.Oc\n ? instrumentSelectConfigOC\n : instrumentSelectConfig;\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [bookType, setBookType] = useState(BookType.Order);\n const [toolInstrument, setToolInstrument] = useState(selectConfig[0]);\n const { lang } = useLocale();\n\n return (\n <>\n {size && (\n <div\n className=\"lw-text-sm lw-tracking-normal\"\n data-testid=\"order-book-widget\"\n >\n <Tabs\n mobileFullWidth\n activeTab={bookType}\n handleClick={(e) => setBookType(e.currentTarget.value as BookType)}\n items={navigationConfig}\n labelCallback={lang}\n />\n {!instrument && (\n <div\n className={classnames('lw-mb-6 lw-mt-12 ', {\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={selectConfig}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={toolInstrument}\n setSelectedOption={(val) =>\n setToolInstrument(val as { id: InstrumentId; label: string })\n }\n />\n </div>\n )}\n <ChartWithData\n bookType={bookType}\n instrument={instrument || toolInstrument.id}\n />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,7 @@ var _renderers = require("echarts/renderers");
|
|
|
13
13
|
var _react = _interopRequireDefault(require("react"));
|
|
14
14
|
var _getOption = require("./getOption");
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function
|
|
17
|
-
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; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
17
|
echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TooltipComponent, _components.TitleComponent, _renderers.CanvasRenderer, _charts.CustomChart, _components.MarkLineComponent, _components.ToolboxComponent, _components.DataZoomInsideComponent, _components.DatasetComponent]);
|
|
19
18
|
echarts.registerTheme('dark_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Dark));
|
|
20
19
|
echarts.registerTheme('light_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Light));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_getOption","e","__esModule","default","
|
|
1
|
+
{"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_getOption","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","use","GridSimpleComponent","GraphicComponent","TooltipComponent","TitleComponent","CanvasRenderer","CustomChart","MarkLineComponent","ToolboxComponent","DataZoomInsideComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","data","isOrderBook","precision","lang","useLocale","isDark","size","useLayoutProvider","isDesktop","Size","DESKTOP","createElement","className","BaseChart","chartHeight","option","getOption","onEvents","highlight","_params","instance","setOption","color","colorPalette","bottleGreenLight70","orange70","raspberryDark70","globalout","bottleGreenLight","orange","raspberryDark","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n colorPalette,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CustomChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TitleComponent,\n ToolboxComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n CanvasRenderer,\n CustomChart,\n MarkLineComponent,\n ToolboxComponent,\n DataZoomInsideComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nexport const Chart = ({ data, isOrderBook, precision }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div className=\"lw-relative lw-w-full\" data-testid=\"order-book-chart\">\n <div>\n {data && (\n <BaseChart\n chartHeight={isDesktop ? 450 : 390}\n echarts={echarts}\n isDark={isDark}\n option={getOption({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n })}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight70,\n isDark\n ? colorPalette.orange70\n : colorPalette.raspberryDark70,\n ],\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n });\n },\n }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,9 +11,9 @@ const tooltipFormatter = _ref => {
|
|
|
11
11
|
isOrderBook,
|
|
12
12
|
lang
|
|
13
13
|
} = _ref;
|
|
14
|
-
const priceText =
|
|
15
|
-
const buyText = data[1] ?
|
|
16
|
-
const sellText = data[2] ?
|
|
14
|
+
const priceText = "".concat(lang('price'), ": ").concat(data[0].toFixed(precision));
|
|
15
|
+
const buyText = data[1] ? "<br />".concat(lang(isOrderBook ? 'buy' : 'long_positions'), ": ").concat(data[1], "%") : '';
|
|
16
|
+
const sellText = data[2] ? "<br />".concat(lang(isOrderBook ? 'sell' : 'short_positions'), ": ").concat(data[2] * -1, "%") : '';
|
|
17
17
|
return priceText + buyText + sellText;
|
|
18
18
|
};
|
|
19
19
|
exports.tooltipFormatter = tooltipFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","names":["tooltipFormatter","_ref","data","precision","isOrderBook","lang","priceText","toFixed","buyText","sellText","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/formatters.ts"],"sourcesContent":["import type { TooltipFormatterType } from './types';\n\nconst tooltipFormatter: TooltipFormatterType = ({\n data,\n precision,\n isOrderBook,\n lang,\n}) => {\n const priceText = `${lang('price')}: ${data[0].toFixed(precision)}`;\n const buyText = data[1]\n ? `<br />${lang(isOrderBook ? 'buy' : 'long_positions')}: ${data[1]}%`\n : '';\n const sellText = data[2]\n ? `<br />${lang(isOrderBook ? 'sell' : 'short_positions')}: ${data[2] * -1}%`\n : '';\n\n return priceText + buyText + sellText;\n};\n\nexport { tooltipFormatter };\n"],"mappings":";;;;;;AAEA,MAAMA,gBAAsC,GAAGC,IAAA,IAKzC;EAAA,IAL0C;IAC9CC,IAAI;IACJC,SAAS;IACTC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,SAAS,
|
|
1
|
+
{"version":3,"file":"formatters.js","names":["tooltipFormatter","_ref","data","precision","isOrderBook","lang","priceText","concat","toFixed","buyText","sellText","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/formatters.ts"],"sourcesContent":["import type { TooltipFormatterType } from './types';\n\nconst tooltipFormatter: TooltipFormatterType = ({\n data,\n precision,\n isOrderBook,\n lang,\n}) => {\n const priceText = `${lang('price')}: ${data[0].toFixed(precision)}`;\n const buyText = data[1]\n ? `<br />${lang(isOrderBook ? 'buy' : 'long_positions')}: ${data[1]}%`\n : '';\n const sellText = data[2]\n ? `<br />${lang(isOrderBook ? 'sell' : 'short_positions')}: ${data[2] * -1}%`\n : '';\n\n return priceText + buyText + sellText;\n};\n\nexport { tooltipFormatter };\n"],"mappings":";;;;;;AAEA,MAAMA,gBAAsC,GAAGC,IAAA,IAKzC;EAAA,IAL0C;IAC9CC,IAAI;IACJC,SAAS;IACTC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,SAAS,MAAAC,MAAA,CAAMF,IAAI,CAAC,OAAO,CAAC,QAAAE,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,CAACM,OAAO,CAACL,SAAS,CAAC,CAAE;EACnE,MAAMM,OAAO,GAAGP,IAAI,CAAC,CAAC,CAAC,YAAAK,MAAA,CACVF,IAAI,CAACD,WAAW,GAAG,KAAK,GAAG,gBAAgB,CAAC,QAAAG,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,SACjE,EAAE;EACN,MAAMQ,QAAQ,GAAGR,IAAI,CAAC,CAAC,CAAC,YAAAK,MAAA,CACXF,IAAI,CAACD,WAAW,GAAG,MAAM,GAAG,iBAAiB,CAAC,QAAAG,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SACxE,EAAE;EAEN,OAAOI,SAAS,GAAGG,OAAO,GAAGC,QAAQ;AACvC,CAAC;AAACC,OAAA,CAAAX,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
|
8
8
|
var _constants = require("./constants");
|
|
9
9
|
var _formatters = require("./formatters");
|
|
10
10
|
const getOption = _ref => {
|
|
11
|
+
var _data$orderPositionBo, _data$orderPositionBo2, _data$orderPositionBo3;
|
|
11
12
|
let {
|
|
12
13
|
data,
|
|
13
14
|
precision,
|
|
@@ -16,9 +17,9 @@ const getOption = _ref => {
|
|
|
16
17
|
isDesktop,
|
|
17
18
|
lang
|
|
18
19
|
} = _ref;
|
|
19
|
-
const buckets = data.orderPositionBooks[0]
|
|
20
|
-
const bucketWidth = data.orderPositionBooks[0]
|
|
21
|
-
const price = data.orderPositionBooks[0]
|
|
20
|
+
const buckets = ((_data$orderPositionBo = data.orderPositionBooks[0]) === null || _data$orderPositionBo === void 0 ? void 0 : _data$orderPositionBo.buckets) || [];
|
|
21
|
+
const bucketWidth = (_data$orderPositionBo2 = data.orderPositionBooks[0]) === null || _data$orderPositionBo2 === void 0 ? void 0 : _data$orderPositionBo2.bucketWidth;
|
|
22
|
+
const price = (_data$orderPositionBo3 = data.orderPositionBooks[0]) === null || _data$orderPositionBo3 === void 0 ? void 0 : _data$orderPositionBo3.price;
|
|
22
23
|
const bucketPrecision = bucketWidth.toString().split('.')[1].length || 0;
|
|
23
24
|
const dataset = buckets.map(item => [item.price, Number(item.longCountPercent), Number(item.shortCountPercent) * -1]);
|
|
24
25
|
const zoomInitialStartValue = price - bucketWidth * _constants.INITIAL_BARS * 0.5;
|
|
@@ -80,8 +81,8 @@ const getOption = _ref => {
|
|
|
80
81
|
name: 'main-grid',
|
|
81
82
|
top: '48px',
|
|
82
83
|
left: '0px',
|
|
83
|
-
right:
|
|
84
|
-
bottom:
|
|
84
|
+
right: "".concat(isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE, "px"),
|
|
85
|
+
bottom: "".concat(isDesktop ? _constants.X_LABEL_SIZE : _constants.X_LABEL_SIZE + _constants.ZOOM_CONTROL_HEIGHT, "px")
|
|
85
86
|
}],
|
|
86
87
|
xAxis: {
|
|
87
88
|
type: 'value',
|
|
@@ -95,7 +96,7 @@ const getOption = _ref => {
|
|
|
95
96
|
},
|
|
96
97
|
axisLabel: {
|
|
97
98
|
padding: [7, 12, 0, 12],
|
|
98
|
-
formatter: value => value === 0 ? '%' :
|
|
99
|
+
formatter: value => value === 0 ? '%' : "".concat(Math.abs(value), "%"),
|
|
99
100
|
hideOverlap: true,
|
|
100
101
|
alignMaxLabel: 'right',
|
|
101
102
|
alignMinLabel: 'left'
|
|
@@ -258,7 +259,7 @@ const getOption = _ref => {
|
|
|
258
259
|
}]
|
|
259
260
|
}, {
|
|
260
261
|
type: 'group',
|
|
261
|
-
right:
|
|
262
|
+
right: "".concat((isDesktop ? _constants.Y_LABEL_SIZE_DESKTOP : _constants.Y_LABEL_SIZE_MOBILE) + 8, "px'"),
|
|
262
263
|
top: '56px',
|
|
263
264
|
silent: true,
|
|
264
265
|
children: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_formatters","getOption","_ref","data","precision","isDark","isOrderBook","isDesktop","lang","buckets","orderPositionBooks","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","INITIAL_BARS","zoomInitialEndValue","max","Math","min","abs","range","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","xLabelsSize","X_LABEL_SIZE","ZOOM_CONTROL_HEIGHT","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","bottomLeftBox","marginBottom","animation","color","colorPalette","bottleGreenLight","orange","raspberryDark","title","text","toUpperCase","padding","top","left","textStyle","fontSize","toolbox","bottom","right","feature","getZoomControls","resetStartValue","resetEndValue","dataZoom","type","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","tooltipFormatter","extraCssText","grid","name","xAxis","floor","ceil","axisTick","show","axisLine","axisLabel","value","hideOverlap","alignMaxLabel","alignMinLabel","yAxis","position","overflow","width","margin","showMaxLabel","showMinLabel","toFixed","source","series","id","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","height","rectShape","shape","emphasis","style","fill","visual","markLine","silent","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","label","distance","undefined","black","white","backgroundColor","graphic","children","z","darkGray","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBooks[0]?.buckets || [];\n const bucketWidth = data.orderPositionBooks[0]?.bucketWidth!;\n const price = data.orderPositionBooks[0]?.price!;\n const bucketPrecision = bucketWidth.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n top: 0,\n left: 0,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n bottom: -4,\n right: -4,\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n graphic: [\n ...gridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_formatters","getOption","_ref","_data$orderPositionBo","_data$orderPositionBo2","_data$orderPositionBo3","data","precision","isDark","isOrderBook","isDesktop","lang","buckets","orderPositionBooks","bucketWidth","price","bucketPrecision","toString","split","length","dataset","map","item","Number","longCountPercent","shortCountPercent","zoomInitialStartValue","INITIAL_BARS","zoomInitialEndValue","max","Math","min","abs","range","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT_DESKTOP","CHART_HEIGHT_MOBILE","xLabelsSize","X_LABEL_SIZE","ZOOM_CONTROL_HEIGHT","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","bottomLeftBox","marginBottom","animation","color","colorPalette","bottleGreenLight","orange","raspberryDark","title","text","toUpperCase","padding","top","left","textStyle","fontSize","toolbox","bottom","right","feature","getZoomControls","resetStartValue","resetEndValue","dataZoom","type","realtime","startValue","endValue","yAxisIndex","minValueSpan","tooltip","trigger","axisPointer","axis","formatter","val","tooltipFormatter","extraCssText","grid","name","concat","xAxis","floor","ceil","axisTick","show","axisLine","axisLabel","value","hideOverlap","alignMaxLabel","alignMinLabel","yAxis","position","overflow","width","margin","showMaxLabel","showMinLabel","toFixed","source","series","id","clip","encode","x","y","renderItem","params","api","yValue","xStart","coord","xEnd","bucketWidthHeight","size","height","rectShape","shape","emphasis","style","fill","visual","markLine","silent","symbol","symbolOffset","symbolRotate","symbolSize","lineStyle","bottleGreenDark","label","distance","undefined","black","white","backgroundColor","graphic","children","z","darkGray","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","exports"],"sources":["../../../../../src/OrderBookWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n getGridLines,\n getZoomControls,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT_DESKTOP,\n CHART_HEIGHT_MOBILE,\n CHART_WIDTH,\n INITIAL_BARS,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n ZOOM_CONTROL_HEIGHT,\n} from './constants';\nimport { tooltipFormatter } from './formatters';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = ({\n data,\n precision,\n isDark,\n isOrderBook,\n isDesktop,\n lang,\n}) => {\n const buckets = data.orderPositionBooks[0]?.buckets || [];\n const bucketWidth = data.orderPositionBooks[0]?.bucketWidth!;\n const price = data.orderPositionBooks[0]?.price!;\n const bucketPrecision = bucketWidth.toString().split('.')[1].length || 0;\n\n const dataset = buckets.map((item) => [\n item!.price,\n Number(item!.longCountPercent),\n Number(item!.shortCountPercent) * -1,\n ]);\n\n const zoomInitialStartValue = price - bucketWidth * INITIAL_BARS * 0.5;\n const zoomInitialEndValue = price + bucketWidth * INITIAL_BARS * 0.5;\n\n const max = Math.max(...dataset.map((item) => item[1]));\n const min = Math.abs(Math.min(...dataset.map((item) => item[2])));\n\n const range = max > min ? max : min;\n\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: isDesktop ? CHART_HEIGHT_DESKTOP : CHART_HEIGHT_MOBILE,\n xLabelsSize: isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: isDesktop,\n marginBottom: isDesktop ? 0 : ZOOM_CONTROL_HEIGHT,\n });\n\n return {\n animation: false,\n color: [\n colorPalette.bottleGreenLight,\n isDark ? colorPalette.orange : colorPalette.raspberryDark,\n ],\n title: {\n text: lang(isOrderBook ? 'open_orders' : 'open_positions').toUpperCase(),\n padding: 20,\n top: 0,\n left: 0,\n textStyle: {\n fontSize: 14,\n },\n },\n toolbox: {\n bottom: -4,\n right: -4,\n feature: getZoomControls({\n resetStartValue: zoomInitialStartValue,\n resetEndValue: zoomInitialEndValue,\n }),\n },\n dataZoom: [\n {\n type: 'inside',\n realtime: true,\n startValue: zoomInitialStartValue,\n endValue: zoomInitialEndValue,\n\n yAxisIndex: 0,\n minValueSpan: 10 * bucketWidth,\n },\n ],\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'y',\n },\n formatter: (val) =>\n tooltipFormatter({\n data: (val as { data: number[] }[])[0].data,\n precision: bucketPrecision,\n isOrderBook,\n lang,\n }),\n extraCssText: 'z-index: 1',\n },\n grid: [\n {\n name: 'main-grid',\n top: '48px',\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${isDesktop ? X_LABEL_SIZE : X_LABEL_SIZE + ZOOM_CONTROL_HEIGHT}px`,\n },\n ],\n xAxis: {\n type: 'value',\n min: Math.floor(range * -1.1),\n max: Math.ceil(range * 1.1),\n axisTick: { show: false },\n axisLine: { show: false },\n axisLabel: {\n padding: [7, 12, 0, 12],\n formatter: (value) => (value === 0 ? '%' : `${Math.abs(value)}%`),\n hideOverlap: true,\n alignMaxLabel: 'right',\n alignMinLabel: 'left',\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n overflow: 'truncate',\n width: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 10,\n margin: isDesktop ? 10 : 0,\n showMaxLabel: false,\n showMinLabel: false,\n padding: [0, 0, 0, 10],\n formatter: (value) => value.toFixed(bucketPrecision),\n },\n },\n dataset: {\n source: dataset,\n },\n series: [\n {\n type: 'custom',\n name: 'sell-short',\n id: 'sell-short',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 1,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(1), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] + 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: colorPalette.bottleGreenLight,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'buy-long',\n id: 'buy-long',\n clip: true,\n encode: {\n x: 1,\n y: 0,\n tooltip: 2,\n },\n renderItem: (params, api) => {\n const yValue = api.value(0);\n const xStart = api.coord([api.value(2), yValue]);\n const xEnd = api.coord([0, yValue]);\n const bucketWidthHeight = api.size\n ? (api.size([0, bucketWidth]) as number[])[1]\n : 0;\n const height =\n bucketWidthHeight > 4 ? bucketWidthHeight * 0.8 : bucketWidthHeight;\n\n const rectShape = {\n x: xStart[0] - 0.5,\n y: xStart[1] - height / 2,\n width: xEnd[0] - xStart[0],\n height,\n };\n\n return {\n type: 'rect',\n shape: rectShape,\n emphasis: {\n style: {\n fill: isDark ? colorPalette.orange : colorPalette.raspberryDark,\n },\n },\n style: {\n fill: api.visual('color'),\n },\n };\n },\n },\n {\n type: 'custom',\n name: 'current-price',\n id: 'current-price',\n markLine: {\n animation: false,\n silent: true,\n precision,\n symbol: ['none', 'triangle'],\n symbolOffset: [0, [0, isDesktop ? 0 : -10]] as unknown as number,\n symbolRotate: 90,\n symbolSize: [20, 10],\n lineStyle: {\n color: isDark ? colorPalette.orange : colorPalette.bottleGreenDark,\n width: 1,\n },\n label: {\n distance: isDesktop ? 5 : -5,\n overflow: 'truncate',\n width: isDesktop ? undefined : Y_LABEL_SIZE_MOBILE,\n color: isDark ? colorPalette.black : colorPalette.white,\n backgroundColor: isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenDark,\n padding: isDesktop ? [5, 15, 5, 15] : [5, 12, 5, 5],\n },\n data: [\n {\n yAxis: price,\n },\n ],\n },\n renderItem: () => null,\n },\n ],\n graphic: [\n ...gridLines,\n {\n type: 'group',\n left: '8px',\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n left: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n left: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'sell' : 'short'),\n },\n },\n ],\n },\n {\n type: 'group',\n right: `${(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) + 8}px'`,\n top: '56px',\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 70,\n height: 30,\n },\n style: {\n fill: isDark ? colorPalette.darkGray : colorPalette.white,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: 'rgba(0,0,0,0.1)',\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fill: isDark ? colorPalette.white : colorPalette.black,\n width: 70,\n height: 30,\n text: lang(isOrderBook ? 'buy' : 'long'),\n },\n },\n ],\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,26 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getOrderPositionBooks = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
$instrument: String
|
|
11
|
-
$bookType: BookType!
|
|
12
|
-
$recentHours: Int
|
|
13
|
-
) {
|
|
14
|
-
orderPositionBooks(
|
|
15
|
-
instrument: $instrument
|
|
16
|
-
bookType: $bookType
|
|
17
|
-
recentHours: $recentHours
|
|
18
|
-
) {
|
|
19
|
-
bucketWidth
|
|
20
|
-
price
|
|
21
|
-
time
|
|
22
|
-
buckets {
|
|
23
|
-
price
|
|
24
|
-
longCountPercent
|
|
25
|
-
shortCountPercent
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
8
|
+
var _templateObject;
|
|
9
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
10
|
+
const getOrderPositionBooks = exports.getOrderPositionBooks = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n"])));
|
|
30
11
|
//# sourceMappingURL=getOrderPositionBooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderPositionBooks.js","names":["_client","require","getOrderPositionBooks","exports","gql"],"sources":["../../../src/gql/getOrderPositionBooks.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getOrderPositionBooks = gql`\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n`;\n\nexport { getOrderPositionBooks };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"getOrderPositionBooks.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getOrderPositionBooks","exports","gql"],"sources":["../../../src/gql/getOrderPositionBooks.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getOrderPositionBooks = gql`\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n`;\n\nexport { getOrderPositionBooks };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,+YAqBhC","ignoreList":[]}
|
|
@@ -13,10 +13,11 @@ function makeFragmentData(data, _fragment) {
|
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
15
|
function isFragmentReady(queryNode, fragmentNode, data) {
|
|
16
|
-
|
|
16
|
+
var _meta__, _fragDef$name;
|
|
17
|
+
const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
|
|
17
18
|
if (!deferredFields) return true;
|
|
18
19
|
const fragDef = fragmentNode.definitions[0];
|
|
19
|
-
const fragName = fragDef
|
|
20
|
+
const fragName = fragDef === null || fragDef === void 0 || (_fragDef$name = fragDef.name) === null || _fragDef$name === void 0 ? void 0 : _fragDef$name.value;
|
|
20
21
|
const fields = fragName && deferredFields[fragName] || [];
|
|
21
22
|
return fields.length > 0 && fields.every(field => data && field in data);
|
|
22
23
|
}
|
|
@@ -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 {\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":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAC3C,
|
|
1
|
+
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","_meta__","_fragDef$name","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAAA,IAAAK,OAAA,EAAAC,aAAA;EAC3C,MAAMC,cAAc,IAAAF,OAAA,GAClBF,SAAS,CAGTK,QAAQ,cAAAH,OAAA,uBAJaA,OAAA,CAIXE,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGL,YAAY,CAACM,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,aAAPA,OAAO,gBAAAH,aAAA,GAAPG,OAAO,CAAEG,IAAI,cAAAN,aAAA,uBAAbA,aAAA,CAAeO,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKjB,IAAI,IAAIiB,KAAK,IAAIjB,IAAI,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.graphql = graphql;
|
|
7
7
|
var types = _interopRequireWildcard(require("./graphql"));
|
|
8
|
-
function
|
|
9
|
-
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; }
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
9
|
const documents = {
|
|
11
10
|
'\n query GetOrderPositionBooks($instrument: String!, $bookType: BookType!, $recentHours: Int) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n': types.GetOrderPositionBooksDocument
|
|
12
11
|
};
|
|
13
12
|
function graphql(source) {
|
|
14
|
-
|
|
13
|
+
var _source;
|
|
14
|
+
return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=gql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetOrderPositionBooksDocument","graphql","source","_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 GetOrderPositionBooks($instrument: String!, $bookType: BookType!, $recentHours: Int) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n recentHours: $recentHours\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n longCountPercent\\n shortCountPercent\\n }\\n }\\n }\\n':\n types.GetOrderPositionBooksDocument,\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 GetOrderPositionBooks($instrument: String!, $bookType: BookType!, $recentHours: Int) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n recentHours: $recentHours\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n longCountPercent\\n shortCountPercent\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetOrderPositionBooks($instrument: String!, $bookType: BookType!, $recentHours: Int) {\\n orderPositionBooks(\\n instrument: $instrument\\n bookType: $bookType\\n recentHours: $recentHours\\n ) {\\n bucketWidth\\n price\\n time\\n buckets {\\n price\\n longCountPercent\\n shortCountPercent\\n }\\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,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,uXAAuX,EACrXtB,KAAK,CAACuB;AACV,CAAC;AAuBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQJ,SAAS,CAASG,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ import { BookType } from '../gql/types/graphql';
|
|
|
8
8
|
import { Chart } from './components/Chart/Chart';
|
|
9
9
|
import { instrumentPrecisionConfig } from './config';
|
|
10
10
|
const ChartWithData = _ref => {
|
|
11
|
+
var _data$orderPositionBo, _data$orderPositionBo2;
|
|
11
12
|
let {
|
|
12
13
|
instrument,
|
|
13
14
|
bookType
|
|
@@ -31,8 +32,8 @@ const ChartWithData = _ref => {
|
|
|
31
32
|
},
|
|
32
33
|
fetchPolicy: 'network-only'
|
|
33
34
|
});
|
|
34
|
-
const isError = !loading && !data
|
|
35
|
-
const updatedAt = data
|
|
35
|
+
const isError = !loading && !(data !== null && data !== void 0 && (_data$orderPositionBo = data.orderPositionBooks[0]) !== null && _data$orderPositionBo !== void 0 && _data$orderPositionBo.price) || !!error;
|
|
36
|
+
const updatedAt = data === null || data === void 0 || (_data$orderPositionBo2 = data.orderPositionBooks[0]) === null || _data$orderPositionBo2 === void 0 ? void 0 : _data$orderPositionBo2.time;
|
|
36
37
|
return React.createElement(React.Fragment, null, React.createElement("div", {
|
|
37
38
|
className: classnames('lw-relative lw-w-full', {
|
|
38
39
|
'lw-h-[450px]': isDesktop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","LastUpdated","Size","Spinner","SpinnerSize","useLayoutProvider","useLocale","classnames","React","getOrderPositionBooks","BookType","Chart","instrumentPrecisionConfig","ChartWithData","_ref","instrument","bookType","lang","size","isDesktop","DESKTOP","loading","data","error","variables","recentHours","fetchPolicy","isError","orderPositionBooks","price","updatedAt","time","createElement","Fragment","className","lg","isOrderBook","Order","precision","labelCallback","timestamp"],"sources":["../../../src/OrderBookWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n LastUpdated,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getOrderPositionBooks } from '../gql/getOrderPositionBooks';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n} from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { Chart } from './components/Chart/Chart';\nimport { instrumentPrecisionConfig } from './config';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({ instrument, bookType }: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n >(getOrderPositionBooks, {\n variables: {\n instrument,\n bookType,\n recentHours: 1,\n },\n fetchPolicy: 'network-only',\n });\n\n const isError = (!loading && !data?.orderPositionBooks[0]?.price) || !!error;\n const updatedAt = data?.orderPositionBooks[0]?.time;\n\n return (\n <>\n <div\n className={classnames('lw-relative lw-w-full', {\n 'lw-h-[450px]': isDesktop,\n 'lw-h-[390px]': !isDesktop,\n })}\n >\n {isError && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <ChartError />\n </div>\n )}\n {loading && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!isError && data && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n data={data}\n isOrderBook={bookType === BookType.Order}\n precision={instrumentPrecisionConfig[instrument]}\n />\n </div>\n )}\n </div>\n <div className=\"lw-mt-2 lw-h-8\">\n {!loading && !isError && (\n <LastUpdated labelCallback={lang} timestamp={updatedAt} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,UAAU,EACVC,WAAW,EACXC,IAAI,EACJC,OAAO,EACPC,WAAW,EACXC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,8BAA8B;AAKpE,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,yBAAyB,QAAQ,UAAU;AAGpD,MAAMC,aAAa,GAAGC,IAAA,IAAkD;EAAA,IAAjD;IAAEC,UAAU;IAAEC;EAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","LastUpdated","Size","Spinner","SpinnerSize","useLayoutProvider","useLocale","classnames","React","getOrderPositionBooks","BookType","Chart","instrumentPrecisionConfig","ChartWithData","_ref","_data$orderPositionBo","_data$orderPositionBo2","instrument","bookType","lang","size","isDesktop","DESKTOP","loading","data","error","variables","recentHours","fetchPolicy","isError","orderPositionBooks","price","updatedAt","time","createElement","Fragment","className","lg","isOrderBook","Order","precision","labelCallback","timestamp"],"sources":["../../../src/OrderBookWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n LastUpdated,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getOrderPositionBooks } from '../gql/getOrderPositionBooks';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n} from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { Chart } from './components/Chart/Chart';\nimport { instrumentPrecisionConfig } from './config';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({ instrument, bookType }: ChartWithDataProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables\n >(getOrderPositionBooks, {\n variables: {\n instrument,\n bookType,\n recentHours: 1,\n },\n fetchPolicy: 'network-only',\n });\n\n const isError = (!loading && !data?.orderPositionBooks[0]?.price) || !!error;\n const updatedAt = data?.orderPositionBooks[0]?.time;\n\n return (\n <>\n <div\n className={classnames('lw-relative lw-w-full', {\n 'lw-h-[450px]': isDesktop,\n 'lw-h-[390px]': !isDesktop,\n })}\n >\n {isError && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <ChartError />\n </div>\n )}\n {loading && (\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-flex lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-full': isDesktop,\n 'lw-h-[calc(100%-40px)]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!isError && data && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n data={data}\n isOrderBook={bookType === BookType.Order}\n precision={instrumentPrecisionConfig[instrument]}\n />\n </div>\n )}\n </div>\n <div className=\"lw-mt-2 lw-h-8\">\n {!loading && !isError && (\n <LastUpdated labelCallback={lang} timestamp={updatedAt} />\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,9 +5,9 @@ const tooltipFormatter = _ref => {
|
|
|
5
5
|
isOrderBook,
|
|
6
6
|
lang
|
|
7
7
|
} = _ref;
|
|
8
|
-
const priceText =
|
|
9
|
-
const buyText = data[1] ?
|
|
10
|
-
const sellText = data[2] ?
|
|
8
|
+
const priceText = "".concat(lang('price'), ": ").concat(data[0].toFixed(precision));
|
|
9
|
+
const buyText = data[1] ? "<br />".concat(lang(isOrderBook ? 'buy' : 'long_positions'), ": ").concat(data[1], "%") : '';
|
|
10
|
+
const sellText = data[2] ? "<br />".concat(lang(isOrderBook ? 'sell' : 'short_positions'), ": ").concat(data[2] * -1, "%") : '';
|
|
11
11
|
return priceText + buyText + sellText;
|
|
12
12
|
};
|
|
13
13
|
export { tooltipFormatter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","names":["tooltipFormatter","_ref","data","precision","isOrderBook","lang","priceText","toFixed","buyText","sellText"],"sources":["../../../../../src/OrderBookWidget/components/Chart/formatters.ts"],"sourcesContent":["import type { TooltipFormatterType } from './types';\n\nconst tooltipFormatter: TooltipFormatterType = ({\n data,\n precision,\n isOrderBook,\n lang,\n}) => {\n const priceText = `${lang('price')}: ${data[0].toFixed(precision)}`;\n const buyText = data[1]\n ? `<br />${lang(isOrderBook ? 'buy' : 'long_positions')}: ${data[1]}%`\n : '';\n const sellText = data[2]\n ? `<br />${lang(isOrderBook ? 'sell' : 'short_positions')}: ${data[2] * -1}%`\n : '';\n\n return priceText + buyText + sellText;\n};\n\nexport { tooltipFormatter };\n"],"mappings":"AAEA,MAAMA,gBAAsC,GAAGC,IAAA,IAKzC;EAAA,IAL0C;IAC9CC,IAAI;IACJC,SAAS;IACTC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,SAAS,
|
|
1
|
+
{"version":3,"file":"formatters.js","names":["tooltipFormatter","_ref","data","precision","isOrderBook","lang","priceText","concat","toFixed","buyText","sellText"],"sources":["../../../../../src/OrderBookWidget/components/Chart/formatters.ts"],"sourcesContent":["import type { TooltipFormatterType } from './types';\n\nconst tooltipFormatter: TooltipFormatterType = ({\n data,\n precision,\n isOrderBook,\n lang,\n}) => {\n const priceText = `${lang('price')}: ${data[0].toFixed(precision)}`;\n const buyText = data[1]\n ? `<br />${lang(isOrderBook ? 'buy' : 'long_positions')}: ${data[1]}%`\n : '';\n const sellText = data[2]\n ? `<br />${lang(isOrderBook ? 'sell' : 'short_positions')}: ${data[2] * -1}%`\n : '';\n\n return priceText + buyText + sellText;\n};\n\nexport { tooltipFormatter };\n"],"mappings":"AAEA,MAAMA,gBAAsC,GAAGC,IAAA,IAKzC;EAAA,IAL0C;IAC9CC,IAAI;IACJC,SAAS;IACTC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,SAAS,MAAAC,MAAA,CAAMF,IAAI,CAAC,OAAO,CAAC,QAAAE,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,CAACM,OAAO,CAACL,SAAS,CAAC,CAAE;EACnE,MAAMM,OAAO,GAAGP,IAAI,CAAC,CAAC,CAAC,YAAAK,MAAA,CACVF,IAAI,CAACD,WAAW,GAAG,KAAK,GAAG,gBAAgB,CAAC,QAAAG,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,SACjE,EAAE;EACN,MAAMQ,QAAQ,GAAGR,IAAI,CAAC,CAAC,CAAC,YAAAK,MAAA,CACXF,IAAI,CAACD,WAAW,GAAG,MAAM,GAAG,iBAAiB,CAAC,QAAAG,MAAA,CAAKL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SACxE,EAAE;EAEN,OAAOI,SAAS,GAAGG,OAAO,GAAGC,QAAQ;AACvC,CAAC;AAED,SAASV,gBAAgB","ignoreList":[]}
|