@oanda/labs-widget-common 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/chart/BaseChart.js +10 -8
- package/dist/main/chart/BaseChart.js.map +1 -1
- package/dist/main/chart/formatters.js +4 -4
- package/dist/main/chart/formatters.js.map +1 -1
- package/dist/main/chart/getGridLines.js +12 -14
- package/dist/main/chart/getGridLines.js.map +1 -1
- package/dist/main/components/Button/Button.js +7 -4
- package/dist/main/components/Button/Button.js.map +1 -1
- package/dist/main/components/Card/Card.js +1 -2
- package/dist/main/components/Card/Card.js.map +1 -1
- package/dist/main/components/Card/rows/PriceCardRow.js +1 -1
- package/dist/main/components/Card/rows/PriceCardRow.js.map +1 -1
- package/dist/main/components/Disclaimer/Disclaimer.js +1 -2
- package/dist/main/components/Disclaimer/Disclaimer.js.map +1 -1
- package/dist/main/components/Input/NumberInput.js +13 -10
- package/dist/main/components/Input/NumberInput.js.map +1 -1
- package/dist/main/components/InstrumentRate/InstrumentRate.js +4 -3
- package/dist/main/components/InstrumentRate/InstrumentRate.js.map +1 -1
- package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
- package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
- package/dist/main/components/InstrumentRate/utils.js +1 -1
- package/dist/main/components/InstrumentRate/utils.js.map +1 -1
- package/dist/main/components/Label/Label.js +6 -3
- package/dist/main/components/Label/Label.js.map +1 -1
- package/dist/main/components/LastUpdated/LastUpdated.js +1 -1
- package/dist/main/components/LastUpdated/LastUpdated.js.map +1 -1
- package/dist/main/components/LineChart/LineChart.js +2 -2
- package/dist/main/components/LineChart/LineChart.js.map +1 -1
- package/dist/main/components/LineChart/utils.js +2 -2
- package/dist/main/components/LineChart/utils.js.map +1 -1
- package/dist/main/components/Pagination/Pagination.js +2 -2
- package/dist/main/components/Pagination/Pagination.js.map +1 -1
- package/dist/main/components/Price/Price.js +1 -2
- package/dist/main/components/Price/Price.js.map +1 -1
- package/dist/main/components/Select/Select.js +3 -4
- package/dist/main/components/Select/Select.js.map +1 -1
- package/dist/main/components/Sentiment/Sentiment.js +7 -7
- package/dist/main/components/Sentiment/Sentiment.js.map +1 -1
- package/dist/main/components/Sentiment/SentimentError.js +1 -1
- package/dist/main/components/Sentiment/SentimentError.js.map +1 -1
- package/dist/main/components/Sentiment/SentimentLoader.js +1 -1
- package/dist/main/components/Sentiment/SentimentLoader.js.map +1 -1
- package/dist/main/components/Sentiment/utils.js +3 -3
- package/dist/main/components/Sentiment/utils.js.map +1 -1
- package/dist/main/components/Switch/Switch.js +4 -5
- package/dist/main/components/Switch/Switch.js.map +1 -1
- package/dist/main/components/Switch/SwitchItem.js +1 -2
- package/dist/main/components/Switch/SwitchItem.js.map +1 -1
- package/dist/main/components/Table/Table.js +1 -2
- package/dist/main/components/Table/Table.js.map +1 -1
- package/dist/main/components/Table/TableCell.js +1 -1
- package/dist/main/components/Table/TableCell.js.map +1 -1
- package/dist/main/components/Table/TableHeader.js +1 -1
- package/dist/main/components/Table/TableHeader.js.map +1 -1
- package/dist/main/components/Table/TableRow.js +1 -2
- package/dist/main/components/Table/TableRow.js.map +1 -1
- package/dist/main/components/TableWidget/CardRecordRow.js +2 -1
- package/dist/main/components/TableWidget/CardRecordRow.js.map +1 -1
- package/dist/main/components/TableWidget/CardRenderer.js +6 -3
- package/dist/main/components/TableWidget/CardRenderer.js.map +1 -1
- package/dist/main/components/TableWidget/Cards.js +1 -1
- package/dist/main/components/TableWidget/Cards.js.map +1 -1
- package/dist/main/components/TableWidget/ColumnRenderer.js +7 -4
- package/dist/main/components/TableWidget/ColumnRenderer.js.map +1 -1
- package/dist/main/components/TableWidget/TableWidget.js +1 -1
- package/dist/main/components/TableWidget/TableWidget.js.map +1 -1
- package/dist/main/components/Tabs/Tabs.js +1 -1
- package/dist/main/components/Tabs/Tabs.js.map +1 -1
- package/dist/main/components/TextInput/TextInput.js +4 -4
- package/dist/main/components/TextInput/TextInput.js.map +1 -1
- package/dist/main/components/Truncate/Truncate.js +2 -3
- package/dist/main/components/Truncate/Truncate.js.map +1 -1
- package/dist/main/components/WidgetWrapper/WidgetWrapper.js +2 -2
- package/dist/main/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
- package/dist/main/hooks/useLiveRatesMessage.js +7 -7
- package/dist/main/hooks/useLiveRatesMessage.js.map +1 -1
- package/dist/main/hooks/useLiveRatesQuery.js +5 -3
- package/dist/main/hooks/useLiveRatesQuery.js.map +1 -1
- package/dist/main/hooks/useRecords.js +5 -5
- package/dist/main/hooks/useRecords.js.map +1 -1
- package/dist/main/hooks/useVisibleLiveDataRecord.js +10 -10
- package/dist/main/hooks/useVisibleLiveDataRecord.js.map +1 -1
- package/dist/main/providers/Layout/LayoutProvider.js +1 -2
- package/dist/main/providers/Layout/LayoutProvider.js.map +1 -1
- package/dist/main/providers/LiveRates/LiveRatesProvider.js +16 -13
- package/dist/main/providers/LiveRates/LiveRatesProvider.js.map +1 -1
- package/dist/main/providers/Widget/WidgetProvider.js +7 -6
- package/dist/main/providers/Widget/WidgetProvider.js.map +1 -1
- package/dist/main/tailwind/preset.js +7 -3
- package/dist/main/tailwind/preset.js.map +1 -1
- package/dist/main/tailwind/themes/themeColors.js +7 -5
- package/dist/main/tailwind/themes/themeColors.js.map +1 -1
- package/dist/main/tailwind/utils.js +7 -3
- package/dist/main/tailwind/utils.js.map +1 -1
- package/dist/main/testUtils/index.js +2 -2
- package/dist/main/testUtils/index.js.map +1 -1
- package/dist/main/utils/dateUtils.js +3 -3
- package/dist/main/utils/dateUtils.js.map +1 -1
- package/dist/main/utils/getLocale.js +1 -1
- package/dist/main/utils/getLocale.js.map +1 -1
- package/dist/main/utils/liveRates/buildUrl.js +11 -9
- package/dist/main/utils/liveRates/buildUrl.js.map +1 -1
- package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
- package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
- package/dist/module/chart/BaseChart.js +9 -6
- package/dist/module/chart/BaseChart.js.map +1 -1
- package/dist/module/chart/formatters.js +4 -4
- package/dist/module/chart/formatters.js.map +1 -1
- package/dist/module/chart/getGridLines.js +12 -14
- package/dist/module/chart/getGridLines.js.map +1 -1
- package/dist/module/components/Button/Button.js +7 -4
- package/dist/module/components/Button/Button.js.map +1 -1
- package/dist/module/components/Card/rows/PriceCardRow.js +1 -1
- package/dist/module/components/Card/rows/PriceCardRow.js.map +1 -1
- package/dist/module/components/Input/NumberInput.js +13 -10
- package/dist/module/components/Input/NumberInput.js.map +1 -1
- package/dist/module/components/InstrumentRate/InstrumentRate.js +4 -3
- package/dist/module/components/InstrumentRate/InstrumentRate.js.map +1 -1
- package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
- package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
- package/dist/module/components/InstrumentRate/utils.js +1 -1
- package/dist/module/components/InstrumentRate/utils.js.map +1 -1
- package/dist/module/components/Label/Label.js +6 -3
- package/dist/module/components/Label/Label.js.map +1 -1
- package/dist/module/components/LastUpdated/LastUpdated.js +1 -1
- package/dist/module/components/LastUpdated/LastUpdated.js.map +1 -1
- package/dist/module/components/LineChart/LineChart.js +2 -2
- package/dist/module/components/LineChart/LineChart.js.map +1 -1
- package/dist/module/components/LineChart/utils.js +2 -2
- package/dist/module/components/LineChart/utils.js.map +1 -1
- package/dist/module/components/Pagination/Pagination.js +2 -2
- package/dist/module/components/Pagination/Pagination.js.map +1 -1
- package/dist/module/components/Select/Select.js +2 -2
- package/dist/module/components/Select/Select.js.map +1 -1
- package/dist/module/components/Sentiment/Sentiment.js +7 -7
- package/dist/module/components/Sentiment/Sentiment.js.map +1 -1
- package/dist/module/components/Sentiment/SentimentError.js +1 -1
- package/dist/module/components/Sentiment/SentimentError.js.map +1 -1
- package/dist/module/components/Sentiment/SentimentLoader.js +1 -1
- package/dist/module/components/Sentiment/SentimentLoader.js.map +1 -1
- package/dist/module/components/Sentiment/utils.js +3 -3
- package/dist/module/components/Sentiment/utils.js.map +1 -1
- package/dist/module/components/Switch/Switch.js +3 -3
- package/dist/module/components/Switch/Switch.js.map +1 -1
- package/dist/module/components/Table/TableCell.js +1 -1
- package/dist/module/components/Table/TableCell.js.map +1 -1
- package/dist/module/components/Table/TableHeader.js +1 -1
- package/dist/module/components/Table/TableHeader.js.map +1 -1
- package/dist/module/components/TableWidget/CardRecordRow.js +2 -1
- package/dist/module/components/TableWidget/CardRecordRow.js.map +1 -1
- package/dist/module/components/TableWidget/CardRenderer.js +6 -3
- package/dist/module/components/TableWidget/CardRenderer.js.map +1 -1
- package/dist/module/components/TableWidget/Cards.js +1 -1
- package/dist/module/components/TableWidget/Cards.js.map +1 -1
- package/dist/module/components/TableWidget/ColumnRenderer.js +7 -4
- package/dist/module/components/TableWidget/ColumnRenderer.js.map +1 -1
- package/dist/module/components/TableWidget/TableWidget.js +1 -1
- package/dist/module/components/TableWidget/TableWidget.js.map +1 -1
- package/dist/module/components/Tabs/Tabs.js +1 -1
- package/dist/module/components/Tabs/Tabs.js.map +1 -1
- package/dist/module/components/TextInput/TextInput.js +3 -2
- package/dist/module/components/TextInput/TextInput.js.map +1 -1
- package/dist/module/components/Truncate/Truncate.js +1 -1
- package/dist/module/components/Truncate/Truncate.js.map +1 -1
- package/dist/module/components/WidgetWrapper/WidgetWrapper.js +2 -2
- package/dist/module/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
- package/dist/module/hooks/useLiveRatesMessage.js +7 -7
- package/dist/module/hooks/useLiveRatesMessage.js.map +1 -1
- package/dist/module/hooks/useLiveRatesQuery.js +5 -3
- package/dist/module/hooks/useLiveRatesQuery.js.map +1 -1
- package/dist/module/hooks/useRecords.js +5 -5
- package/dist/module/hooks/useRecords.js.map +1 -1
- package/dist/module/hooks/useVisibleLiveDataRecord.js +10 -10
- package/dist/module/hooks/useVisibleLiveDataRecord.js.map +1 -1
- package/dist/module/providers/LiveRates/LiveRatesProvider.js +15 -11
- package/dist/module/providers/LiveRates/LiveRatesProvider.js.map +1 -1
- package/dist/module/providers/Widget/WidgetProvider.js +6 -4
- package/dist/module/providers/Widget/WidgetProvider.js.map +1 -1
- package/dist/module/tailwind/preset.js +7 -3
- package/dist/module/tailwind/preset.js.map +1 -1
- package/dist/module/tailwind/themes/themeColors.js +7 -5
- package/dist/module/tailwind/themes/themeColors.js.map +1 -1
- package/dist/module/tailwind/utils.js +7 -3
- package/dist/module/tailwind/utils.js.map +1 -1
- package/dist/module/testUtils/index.js +2 -2
- package/dist/module/testUtils/index.js.map +1 -1
- package/dist/module/utils/dateUtils.js +3 -3
- package/dist/module/utils/dateUtils.js.map +1 -1
- package/dist/module/utils/getLocale.js +1 -1
- package/dist/module/utils/getLocale.js.map +1 -1
- package/dist/module/utils/liveRates/buildUrl.js +11 -9
- package/dist/module/utils/liveRates/buildUrl.js.map +1 -1
- package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
- package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","names":["_react","_interopRequireWildcard","require","_images","
|
|
1
|
+
{"version":3,"file":"TextInput.js","names":["_react","_interopRequireWildcard","require","_images","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TextInput","_ref","value","onChange","placeholder","label","inputRef","useRef","handleReset","_inputRef$current","current","focus","createElement","className","concat","ref","type","target","length","onClick","CloseIcon","exports"],"sources":["../../../../src/components/TextInput/TextInput.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { CloseIcon } from '../../images';\n\ninterface TextInputProps {\n value: string;\n onChange: (val: string) => void;\n placeholder?: string;\n label?: string;\n}\n\nconst TextInput: React.FC<TextInputProps> = ({\n value,\n onChange,\n placeholder = '',\n label,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleReset = () => {\n inputRef.current?.focus();\n onChange('');\n };\n return (\n <div className=\"lw-text-text-primary\">\n {label && (\n <div>\n <span className=\"lw-text-base lw-font-bold\">{`${label}:`}</span>\n </div>\n )}\n <div />\n <div className=\"lw-relative\">\n <input\n ref={inputRef}\n className=\"lw-flex lw-h-[50px] lw-w-full lw-items-center lw-justify-between lw-rounded lw-border lw-bg-transparent lw-stroke-text-primary lw-py-2 lw-pl-3 lw-pr-8 focus:lw-outline-primary\"\n data-testid=\"text-input\"\n placeholder={placeholder}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n />\n {value.length > 0 && (\n <button\n className=\"lw-absolute lw-right-1 lw-top-1 lw-h-[42px] lw-cursor-pointer lw-rounded focus:lw-outline-primary [&>svg]:lw-stroke-text-primary\"\n data-testid=\"text-input-clear-button\"\n onClick={handleReset}\n >\n <CloseIcon />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport { TextInput };\nexport type { TextInputProps };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,8 +7,7 @@ exports.Truncate = void 0;
|
|
|
7
7
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _usehooksTs = require("usehooks-ts");
|
|
10
|
-
function
|
|
11
|
-
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; }
|
|
10
|
+
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); }
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
const Truncate = exports.Truncate = (0, _react.memo)(_ref => {
|
|
14
13
|
let {
|
|
@@ -36,7 +35,7 @@ const Truncate = exports.Truncate = (0, _react.memo)(_ref => {
|
|
|
36
35
|
"data-tooltip-content": text,
|
|
37
36
|
"data-tooltip-id": isTruncated ? tooltipId : undefined,
|
|
38
37
|
style: {
|
|
39
|
-
maxWidth:
|
|
38
|
+
maxWidth: "".concat(maxWidth, "px")
|
|
40
39
|
}
|
|
41
40
|
}, text);
|
|
42
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Truncate.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_usehooksTs","
|
|
1
|
+
{"version":3,"file":"Truncate.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_usehooksTs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Truncate","exports","memo","_ref","maxWidth","text","tooltipId","className","isTruncated","setIsTruncated","useState","ref","useRef","onResize","useDebounceCallback","_ref2","width","useResizeObserver","createElement","classnames","undefined","style","concat","displayName"],"sources":["../../../../src/components/Truncate/Truncate.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { memo, useRef, useState } from 'react';\nimport { useDebounceCallback, useResizeObserver } from 'usehooks-ts';\n\nimport type { TruncateProps } from './types';\n\nconst Truncate = memo(\n ({ maxWidth = 150, text, tooltipId, className }: TruncateProps) => {\n const [isTruncated, setIsTruncated] = useState(false);\n const ref = useRef<HTMLAnchorElement>(null);\n\n const onResize = useDebounceCallback(({ width }) => {\n setIsTruncated(width >= maxWidth);\n }, 50);\n\n useResizeObserver({\n ref,\n onResize,\n });\n\n return (\n <span\n ref={ref}\n className={classnames('lw-block lw-w-max lw-truncate', className)}\n data-testid=\"truncate\"\n data-tooltip-content={text}\n data-tooltip-id={isTruncated ? tooltipId : undefined}\n style={{ maxWidth: `${maxWidth}px` }}\n >\n {text}\n </span>\n );\n }\n);\n\nTruncate.displayName = 'Truncate';\n\nexport { Truncate };\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAqE,SAAAE,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;AAAA,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAIrE,MAAMmB,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,WAAI,EACnBC,IAAA,IAAmE;EAAA,IAAlE;IAAEC,QAAQ,GAAG,GAAG;IAAEC,IAAI;IAAEC,SAAS;IAAEC;EAAyB,CAAC,GAAAJ,IAAA;EAC5D,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAoB,IAAI,CAAC;EAE3C,MAAMC,QAAQ,GAAG,IAAAC,+BAAmB,EAACC,KAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,KAAA;IAC7CN,cAAc,CAACO,KAAK,IAAIZ,QAAQ,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAa,6BAAiB,EAAC;IAChBN,GAAG;IACHE;EACF,CAAC,CAAC;EAEF,OACEnC,MAAA,CAAAa,OAAA,CAAA2B,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTJ,SAAS,EAAE,IAAAY,mBAAU,EAAC,+BAA+B,EAAEZ,SAAS,CAAE;IAClE,eAAY,UAAU;IACtB,wBAAsBF,IAAK;IAC3B,mBAAiBG,WAAW,GAAGF,SAAS,GAAGc,SAAU;IACrDC,KAAK,EAAE;MAAEjB,QAAQ,KAAAkB,MAAA,CAAKlB,QAAQ;IAAK;EAAE,GAEpCC,IACG,CAAC;AAEX,CACF,CAAC;AAEDL,QAAQ,CAACuB,WAAW,GAAG,UAAU","ignoreList":[]}
|
|
@@ -22,11 +22,11 @@ const WidgetWrapper = _ref => {
|
|
|
22
22
|
return _react.default.createElement(_Disclaimer.Disclaimer, {
|
|
23
23
|
brandingSpace: brandingSpace,
|
|
24
24
|
fitContent: fitContent,
|
|
25
|
-
infoButtonPosition: disclaimer
|
|
25
|
+
infoButtonPosition: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.position,
|
|
26
26
|
isSlim: isSlim,
|
|
27
27
|
linkArea: linkArea,
|
|
28
28
|
logoLink: logoLink,
|
|
29
|
-
text: disclaimer
|
|
29
|
+
text: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text
|
|
30
30
|
}, isParamError ? _react.default.createElement(_Error.WidgetError, null) : children);
|
|
31
31
|
};
|
|
32
32
|
exports.WidgetWrapper = WidgetWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetWrapper.js","names":["_react","_interopRequireDefault","require","_Disclaimer","_Error","e","__esModule","default","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","Disclaimer","infoButtonPosition","position","text","WidgetError","exports"],"sources":["../../../../src/components/WidgetWrapper/WidgetWrapper.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { WidgetLink, WidgetStyling } from '../../types';\nimport { Disclaimer } from '../Disclaimer';\nimport { WidgetError } from '../Error';\n\nexport type WidgetWrapperProps = PropsWithChildren &\n WidgetLink & {\n isParamError?: boolean | undefined;\n disclaimer?: {\n position?: 'left' | 'top';\n text?: string;\n };\n isSlim?: boolean;\n } & Pick<WidgetStyling, 'brandingSpace' | 'fitContent'>;\n\nexport const WidgetWrapper: FC<WidgetWrapperProps> = ({\n children,\n logoLink,\n linkArea,\n brandingSpace,\n fitContent,\n isParamError,\n disclaimer,\n isSlim,\n}) => (\n <Disclaimer\n brandingSpace={brandingSpace}\n fitContent={fitContent}\n infoButtonPosition={disclaimer?.position}\n isSlim={isSlim}\n linkArea={linkArea}\n logoLink={logoLink}\n text={disclaimer?.text}\n >\n {isParamError ? <WidgetError /> : children}\n </Disclaimer>\n);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYhC,MAAMG,aAAqC,GAAGC,IAAA;EAAA,IAAC;IACpDC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,aAAa;IACbC,UAAU;IACVC,YAAY;IACZC,UAAU;IACVC;EACF,CAAC,GAAAR,IAAA;EAAA,OACCT,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACf,WAAA,CAAAgB,UAAU;IACTN,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBM,kBAAkB,EAAEJ,UAAU,
|
|
1
|
+
{"version":3,"file":"WidgetWrapper.js","names":["_react","_interopRequireDefault","require","_Disclaimer","_Error","e","__esModule","default","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","Disclaimer","infoButtonPosition","position","text","WidgetError","exports"],"sources":["../../../../src/components/WidgetWrapper/WidgetWrapper.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport type { WidgetLink, WidgetStyling } from '../../types';\nimport { Disclaimer } from '../Disclaimer';\nimport { WidgetError } from '../Error';\n\nexport type WidgetWrapperProps = PropsWithChildren &\n WidgetLink & {\n isParamError?: boolean | undefined;\n disclaimer?: {\n position?: 'left' | 'top';\n text?: string;\n };\n isSlim?: boolean;\n } & Pick<WidgetStyling, 'brandingSpace' | 'fitContent'>;\n\nexport const WidgetWrapper: FC<WidgetWrapperProps> = ({\n children,\n logoLink,\n linkArea,\n brandingSpace,\n fitContent,\n isParamError,\n disclaimer,\n isSlim,\n}) => (\n <Disclaimer\n brandingSpace={brandingSpace}\n fitContent={fitContent}\n infoButtonPosition={disclaimer?.position}\n isSlim={isSlim}\n linkArea={linkArea}\n logoLink={logoLink}\n text={disclaimer?.text}\n >\n {isParamError ? <WidgetError /> : children}\n </Disclaimer>\n);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAuC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYhC,MAAMG,aAAqC,GAAGC,IAAA;EAAA,IAAC;IACpDC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,aAAa;IACbC,UAAU;IACVC,YAAY;IACZC,UAAU;IACVC;EACF,CAAC,GAAAR,IAAA;EAAA,OACCT,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACf,WAAA,CAAAgB,UAAU;IACTN,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBM,kBAAkB,EAAEJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,QAAS;IACzCJ,MAAM,EAAEA,MAAO;IACfL,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBW,IAAI,EAAEN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM;EAAK,GAEtBP,YAAY,GAAGf,MAAA,CAAAO,OAAA,CAAAW,aAAA,CAACd,MAAA,CAAAmB,WAAW,MAAE,CAAC,GAAGb,QACxB,CAAC;AAAA,CACd;AAACc,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -53,8 +53,8 @@ const useLiveRatesMessage = (instruments, target) => {
|
|
|
53
53
|
extraPrecision,
|
|
54
54
|
currentAsk: ask,
|
|
55
55
|
currentBid: bid,
|
|
56
|
-
prevAsk: prev
|
|
57
|
-
prevBid: prev
|
|
56
|
+
prevAsk: prev === null || prev === void 0 ? void 0 : prev.ask,
|
|
57
|
+
prevBid: prev === null || prev === void 0 ? void 0 : prev.bid
|
|
58
58
|
});
|
|
59
59
|
return {
|
|
60
60
|
symbol,
|
|
@@ -97,7 +97,7 @@ const useLiveRatesMessage = (instruments, target) => {
|
|
|
97
97
|
let {
|
|
98
98
|
detail
|
|
99
99
|
} = _ref;
|
|
100
|
-
switch (detail
|
|
100
|
+
switch (detail === null || detail === void 0 ? void 0 : detail.messageType) {
|
|
101
101
|
case _constants.LIVE_RATES_EVENT_NAME:
|
|
102
102
|
{
|
|
103
103
|
processUpdateMessage(detail);
|
|
@@ -116,13 +116,13 @@ const useLiveRatesMessage = (instruments, target) => {
|
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
118
|
flatInstruments.forEach(instrument => {
|
|
119
|
-
target
|
|
120
|
-
target
|
|
119
|
+
target === null || target === void 0 || target.addEventListener(instrument, listener);
|
|
120
|
+
target === null || target === void 0 || target.addEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
|
|
121
121
|
});
|
|
122
122
|
return () => {
|
|
123
123
|
flatInstruments.forEach(instrument => {
|
|
124
|
-
target
|
|
125
|
-
target
|
|
124
|
+
target === null || target === void 0 || target.removeEventListener(instrument, listener);
|
|
125
|
+
target === null || target === void 0 || target.removeEventListener(_constants.LIVE_RATES_CONNECTION_ERROR, listener);
|
|
126
126
|
setUpdate(null);
|
|
127
127
|
setError(null);
|
|
128
128
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveRatesMessage.js","names":["_react","require","_constants","_liveRates","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","useState","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","calculateSpread","dailyChange","calculatePriceChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","calculatePriceChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","calculatePipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","useEffect","listener","_ref","messageType","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","LIVE_RATES_CONNECTION_ERROR","forEach","instrument","addEventListener","removeEventListener","exports"],"sources":["../../../src/hooks/useLiveRatesMessage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n LIVE_RATES_CONNECTION_ERROR,\n LIVE_RATES_EVENT_NAME,\n LIVE_RATES_RATE_ERROR,\n} from '../constants';\nimport type {\n LiveRatesConnectionErrorMessage,\n LiveRatesErrorMessage,\n LiveRatesHookMessage,\n LiveRatesMessageReturnObject,\n LiveRatesUpdateMessage,\n} from '../types';\nimport {\n calculatePipsChangeFromOpen,\n calculatePriceChange,\n calculatePriceChangeFromOpen,\n calculateSpread,\n} from '../utils/liveRates';\n\nexport const useLiveRatesMessage = (\n instruments: string | string[],\n target: EventTarget | null\n): LiveRatesMessageReturnObject => {\n const flatInstruments = ([] as string[]).concat(instruments);\n const [update, setUpdate] = useState<LiveRatesHookMessage | null>(null);\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const [connectionError, setConnectionError] = useState(false);\n\n const processUpdateMessage = (detail: LiveRatesUpdateMessage) => {\n const {\n symbol,\n ask,\n bid,\n closingAsk,\n closingBid,\n openingAsk,\n openingBid,\n pipLocation,\n extraPrecision,\n timestamp,\n low,\n high,\n } = detail;\n\n const spread = calculateSpread(ask, bid, pipLocation, extraPrecision);\n\n const dailyChange = calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: closingAsk,\n prevBid: closingBid,\n });\n const { percentChangeFromOpen: dailyPercentChangeFromOpen } =\n calculatePriceChangeFromOpen(ask, bid, openingAsk, openingBid);\n const { pipsChangeFromOpen: dailyPipsChangeFromOpen } =\n calculatePipsChangeFromOpen(\n ask,\n bid,\n pipLocation,\n extraPrecision,\n openingAsk,\n openingBid\n );\n\n const displayPrecision = Math.max(extraPrecision - pipLocation, 0);\n\n setUpdate((prev) => {\n const { priceMovement, askPriceMovement, bidPriceMovement } =\n calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: prev?.ask,\n prevBid: prev?.bid,\n });\n\n return {\n symbol,\n ask,\n bid,\n spread,\n pipLocation,\n displayPrecision,\n priceMovement,\n askPriceMovement,\n bidPriceMovement,\n dailyPriceMovement: dailyChange.priceMovement,\n dailyPipsChange: dailyChange.pipsChange,\n dailyPercentChange: dailyChange.percentChange,\n dailyPercentChangeFromOpen,\n dailyPipsChangeFromOpen,\n timestamp,\n high,\n low,\n };\n });\n };\n\n const processErrorMessage = (detail: LiveRatesErrorMessage) => {\n const { symbol, error: errorMessage, timestamp } = detail;\n\n setError({\n symbol,\n error: errorMessage,\n timestamp,\n });\n };\n\n const processConnectionErrorMessage = () => {\n setConnectionError(true);\n };\n\n useEffect(\n () => {\n const listener: EventListener = ({\n detail,\n }: CustomEventInit<\n | LiveRatesUpdateMessage\n | LiveRatesErrorMessage\n | LiveRatesConnectionErrorMessage\n >) => {\n switch (detail?.messageType) {\n case LIVE_RATES_EVENT_NAME: {\n processUpdateMessage(detail as LiveRatesUpdateMessage);\n\n break;\n }\n case LIVE_RATES_RATE_ERROR: {\n processErrorMessage(detail as LiveRatesErrorMessage);\n\n break;\n }\n case LIVE_RATES_CONNECTION_ERROR: {\n processConnectionErrorMessage();\n\n break;\n }\n // No default\n }\n };\n\n flatInstruments.forEach((instrument) => {\n target?.addEventListener(instrument, listener);\n target?.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n });\n\n return () => {\n flatInstruments.forEach((instrument) => {\n target?.removeEventListener(instrument, listener);\n target?.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n setUpdate(null);\n setError(null);\n });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [target]\n );\n\n useEffect(() => {\n if ((update || error) && connectionError) {\n setConnectionError(false);\n }\n }, [update, error, connectionError]);\n\n return { connectionError, error, update };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAYA,IAAAE,UAAA,GAAAF,OAAA;AAOO,MAAMG,mBAAmB,GAAGA,CACjCC,WAA8B,EAC9BC,MAA0B,KACO;EACjC,MAAMC,eAAe,GAAI,EAAE,CAAcC,MAAM,CAACH,WAAW,CAAC;EAC5D,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAA8B,IAAI,CAAC;EACvE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAM,CAACG,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAE7D,MAAMK,oBAAoB,GAAIC,MAA8B,IAAK;IAC/D,MAAM;MACJC,MAAM;MACNC,GAAG;MACHC,GAAG;MACHC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,WAAW;MACXC,cAAc;MACdC,SAAS;MACTC,GAAG;MACHC;IACF,CAAC,GAAGZ,MAAM;IAEV,MAAMa,MAAM,GAAG,IAAAC,0BAAe,EAACZ,GAAG,EAAEC,GAAG,EAAEK,WAAW,EAAEC,cAAc,CAAC;IAErE,MAAMM,WAAW,GAAG,IAAAC,+BAAoB,EAAC;MACvCR,WAAW;MACXC,cAAc;MACdQ,UAAU,EAAEf,GAAG;MACfgB,UAAU,EAAEf,GAAG;MACfgB,OAAO,EAAEf,UAAU;MACnBgB,OAAO,EAAEf;IACX,CAAC,CAAC;IACF,MAAM;MAAEgB,qBAAqB,EAAEC;IAA2B,CAAC,GACzD,IAAAC,uCAA4B,EAACrB,GAAG,EAAEC,GAAG,EAAEG,UAAU,EAAEC,UAAU,CAAC;IAChE,MAAM;MAAEiB,kBAAkB,EAAEC;IAAwB,CAAC,GACnD,IAAAC,sCAA2B,EACzBxB,GAAG,EACHC,GAAG,EACHK,WAAW,EACXC,cAAc,EACdH,UAAU,EACVC,UACF,CAAC;IAEH,MAAMoB,gBAAgB,GAAGC,IAAI,CAACC,GAAG,CAACpB,cAAc,GAAGD,WAAW,EAAE,CAAC,CAAC;IAElEf,SAAS,CAAEqC,IAAI,IAAK;MAClB,MAAM;QAAEC,aAAa;QAAEC,gBAAgB;QAAEC;MAAiB,CAAC,GACzD,IAAAjB,+BAAoB,EAAC;QACnBR,WAAW;QACXC,cAAc;QACdQ,UAAU,EAAEf,GAAG;QACfgB,UAAU,EAAEf,GAAG;QACfgB,OAAO,EAAEW,IAAI,
|
|
1
|
+
{"version":3,"file":"useLiveRatesMessage.js","names":["_react","require","_constants","_liveRates","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","useState","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","calculateSpread","dailyChange","calculatePriceChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","calculatePriceChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","calculatePipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","useEffect","listener","_ref","messageType","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","LIVE_RATES_CONNECTION_ERROR","forEach","instrument","addEventListener","removeEventListener","exports"],"sources":["../../../src/hooks/useLiveRatesMessage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport {\n LIVE_RATES_CONNECTION_ERROR,\n LIVE_RATES_EVENT_NAME,\n LIVE_RATES_RATE_ERROR,\n} from '../constants';\nimport type {\n LiveRatesConnectionErrorMessage,\n LiveRatesErrorMessage,\n LiveRatesHookMessage,\n LiveRatesMessageReturnObject,\n LiveRatesUpdateMessage,\n} from '../types';\nimport {\n calculatePipsChangeFromOpen,\n calculatePriceChange,\n calculatePriceChangeFromOpen,\n calculateSpread,\n} from '../utils/liveRates';\n\nexport const useLiveRatesMessage = (\n instruments: string | string[],\n target: EventTarget | null\n): LiveRatesMessageReturnObject => {\n const flatInstruments = ([] as string[]).concat(instruments);\n const [update, setUpdate] = useState<LiveRatesHookMessage | null>(null);\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const [connectionError, setConnectionError] = useState(false);\n\n const processUpdateMessage = (detail: LiveRatesUpdateMessage) => {\n const {\n symbol,\n ask,\n bid,\n closingAsk,\n closingBid,\n openingAsk,\n openingBid,\n pipLocation,\n extraPrecision,\n timestamp,\n low,\n high,\n } = detail;\n\n const spread = calculateSpread(ask, bid, pipLocation, extraPrecision);\n\n const dailyChange = calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: closingAsk,\n prevBid: closingBid,\n });\n const { percentChangeFromOpen: dailyPercentChangeFromOpen } =\n calculatePriceChangeFromOpen(ask, bid, openingAsk, openingBid);\n const { pipsChangeFromOpen: dailyPipsChangeFromOpen } =\n calculatePipsChangeFromOpen(\n ask,\n bid,\n pipLocation,\n extraPrecision,\n openingAsk,\n openingBid\n );\n\n const displayPrecision = Math.max(extraPrecision - pipLocation, 0);\n\n setUpdate((prev) => {\n const { priceMovement, askPriceMovement, bidPriceMovement } =\n calculatePriceChange({\n pipLocation,\n extraPrecision,\n currentAsk: ask,\n currentBid: bid,\n prevAsk: prev?.ask,\n prevBid: prev?.bid,\n });\n\n return {\n symbol,\n ask,\n bid,\n spread,\n pipLocation,\n displayPrecision,\n priceMovement,\n askPriceMovement,\n bidPriceMovement,\n dailyPriceMovement: dailyChange.priceMovement,\n dailyPipsChange: dailyChange.pipsChange,\n dailyPercentChange: dailyChange.percentChange,\n dailyPercentChangeFromOpen,\n dailyPipsChangeFromOpen,\n timestamp,\n high,\n low,\n };\n });\n };\n\n const processErrorMessage = (detail: LiveRatesErrorMessage) => {\n const { symbol, error: errorMessage, timestamp } = detail;\n\n setError({\n symbol,\n error: errorMessage,\n timestamp,\n });\n };\n\n const processConnectionErrorMessage = () => {\n setConnectionError(true);\n };\n\n useEffect(\n () => {\n const listener: EventListener = ({\n detail,\n }: CustomEventInit<\n | LiveRatesUpdateMessage\n | LiveRatesErrorMessage\n | LiveRatesConnectionErrorMessage\n >) => {\n switch (detail?.messageType) {\n case LIVE_RATES_EVENT_NAME: {\n processUpdateMessage(detail as LiveRatesUpdateMessage);\n\n break;\n }\n case LIVE_RATES_RATE_ERROR: {\n processErrorMessage(detail as LiveRatesErrorMessage);\n\n break;\n }\n case LIVE_RATES_CONNECTION_ERROR: {\n processConnectionErrorMessage();\n\n break;\n }\n // No default\n }\n };\n\n flatInstruments.forEach((instrument) => {\n target?.addEventListener(instrument, listener);\n target?.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n });\n\n return () => {\n flatInstruments.forEach((instrument) => {\n target?.removeEventListener(instrument, listener);\n target?.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);\n setUpdate(null);\n setError(null);\n });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [target]\n );\n\n useEffect(() => {\n if ((update || error) && connectionError) {\n setConnectionError(false);\n }\n }, [update, error, connectionError]);\n\n return { connectionError, error, update };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,15 +9,17 @@ var _providers = require("../providers");
|
|
|
9
9
|
const useLiveRatesQuery = skip => {
|
|
10
10
|
const liveRates = (0, _providers.useLiveRatesProvider)(skip);
|
|
11
11
|
const setQuery = query => {
|
|
12
|
-
|
|
12
|
+
var _liveRates$target;
|
|
13
|
+
liveRates === null || liveRates === void 0 || (_liveRates$target = liveRates.target) === null || _liveRates$target === void 0 || _liveRates$target.dispatchEvent(new CustomEvent(_constants.SET_QUERY_EVENT_NAME, {
|
|
13
14
|
detail: query
|
|
14
15
|
}));
|
|
15
16
|
};
|
|
16
17
|
const closeQuery = () => {
|
|
17
|
-
|
|
18
|
+
var _liveRates$source;
|
|
19
|
+
liveRates === null || liveRates === void 0 || (_liveRates$source = liveRates.source) === null || _liveRates$source === void 0 || _liveRates$source.close();
|
|
18
20
|
};
|
|
19
21
|
return {
|
|
20
|
-
target: liveRates
|
|
22
|
+
target: (liveRates === null || liveRates === void 0 ? void 0 : liveRates.target) || null,
|
|
21
23
|
setQuery,
|
|
22
24
|
closeQuery
|
|
23
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveRatesQuery.js","names":["_constants","require","_providers","useLiveRatesQuery","skip","liveRates","useLiveRatesProvider","setQuery","query","target","dispatchEvent","CustomEvent","SET_QUERY_EVENT_NAME","detail","closeQuery","source","close","exports"],"sources":["../../../src/hooks/useLiveRatesQuery.ts"],"sourcesContent":["import { SET_QUERY_EVENT_NAME } from '../constants';\nimport { useLiveRatesProvider } from '../providers';\nimport type {\n LiveRatesProviderQuery,\n LiveRatesTargetHookReturnObject,\n} from '../types';\n\nexport const useLiveRatesQuery = (\n skip?: boolean\n): LiveRatesTargetHookReturnObject => {\n const liveRates = useLiveRatesProvider(skip);\n\n const setQuery = (query: LiveRatesProviderQuery) => {\n liveRates?.target?.dispatchEvent(\n new CustomEvent(SET_QUERY_EVENT_NAME, { detail: query })\n );\n };\n\n const closeQuery = () => {\n liveRates?.source?.close();\n };\n\n return { target: liveRates?.target || null, setQuery, closeQuery };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAG,IAAAC,+BAAoB,EAACF,IAAI,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAA6B,IAAK;
|
|
1
|
+
{"version":3,"file":"useLiveRatesQuery.js","names":["_constants","require","_providers","useLiveRatesQuery","skip","liveRates","useLiveRatesProvider","setQuery","query","_liveRates$target","target","dispatchEvent","CustomEvent","SET_QUERY_EVENT_NAME","detail","closeQuery","_liveRates$source","source","close","exports"],"sources":["../../../src/hooks/useLiveRatesQuery.ts"],"sourcesContent":["import { SET_QUERY_EVENT_NAME } from '../constants';\nimport { useLiveRatesProvider } from '../providers';\nimport type {\n LiveRatesProviderQuery,\n LiveRatesTargetHookReturnObject,\n} from '../types';\n\nexport const useLiveRatesQuery = (\n skip?: boolean\n): LiveRatesTargetHookReturnObject => {\n const liveRates = useLiveRatesProvider(skip);\n\n const setQuery = (query: LiveRatesProviderQuery) => {\n liveRates?.target?.dispatchEvent(\n new CustomEvent(SET_QUERY_EVENT_NAME, { detail: query })\n );\n };\n\n const closeQuery = () => {\n liveRates?.source?.close();\n };\n\n return { target: liveRates?.target || null, setQuery, closeQuery };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAG,IAAAC,+BAAoB,EAACF,IAAI,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAA6B,IAAK;IAAA,IAAAC,iBAAA;IAClDJ,SAAS,aAATA,SAAS,gBAAAI,iBAAA,GAATJ,SAAS,CAAEK,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,aAAa,CAC9B,IAAIC,WAAW,CAACC,+BAAoB,EAAE;MAAEC,MAAM,EAAEN;IAAM,CAAC,CACzD,CAAC;EACH,CAAC;EAED,MAAMO,UAAU,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA;IACvBX,SAAS,aAATA,SAAS,gBAAAW,iBAAA,GAATX,SAAS,CAAEY,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO;IAAER,MAAM,EAAE,CAAAL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,MAAM,KAAI,IAAI;IAAEH,QAAQ;IAAEQ;EAAW,CAAC;AACpE,CAAC;AAACI,OAAA,CAAAhB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -21,11 +21,11 @@ const useRecords = (record, target) => {
|
|
|
21
21
|
setUpdatedRecord({
|
|
22
22
|
displayName: record.displayName,
|
|
23
23
|
instrument: record.instrument,
|
|
24
|
-
buy: update
|
|
25
|
-
buyPriceMovement: update
|
|
26
|
-
dailyPercentChange: update
|
|
27
|
-
dailyPipsChange: update
|
|
28
|
-
displayPrecision: update
|
|
24
|
+
buy: update === null || update === void 0 ? void 0 : update.ask,
|
|
25
|
+
buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
|
|
26
|
+
dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
|
|
27
|
+
dailyPipsChange: update === null || update === void 0 ? void 0 : update.dailyPipsChangeFromOpen,
|
|
28
|
+
displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision
|
|
29
29
|
});
|
|
30
30
|
setError(liveRatesError);
|
|
31
31
|
}, [update, record, liveRatesError]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecords.js","names":["_react","require","_useLiveRatesMessage","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","error","setError","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","dailyPipsChange","dailyPipsChangeFromOpen","displayPrecision","exports"],"sources":["../../../src/hooks/useRecords.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DataRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nconst useRecords = (record: DataRecord, target: EventTarget | null) => {\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\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n buy: update?.ask,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n dailyPipsChange: update?.dailyPipsChangeFromOpen,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }, [update, record, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n };\n};\n\nexport { useRecords };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAGA,CAACC,MAAkB,EAAEC,MAA0B,KAAK;EACrE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAA+B,IAAI,CAAC;EAEtE,MAAM;IAAEM,MAAM;IAAEF,KAAK,EAAEG;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DZ,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAY,gBAAS,EAAC,MAAM;IACdV,gBAAgB,CAAC;MACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;MAC7BQ,GAAG,EAAEJ,MAAM,
|
|
1
|
+
{"version":3,"file":"useRecords.js","names":["_react","require","_useLiveRatesMessage","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","error","setError","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","dailyPipsChange","dailyPipsChangeFromOpen","displayPrecision","exports"],"sources":["../../../src/hooks/useRecords.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DataRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nconst useRecords = (record: DataRecord, target: EventTarget | null) => {\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\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n buy: update?.ask,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n dailyPipsChange: update?.dailyPipsChangeFromOpen,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }, [update, record, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n };\n};\n\nexport { useRecords };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAGA,CAACC,MAAkB,EAAEC,MAA0B,KAAK;EACrE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAA+B,IAAI,CAAC;EAEtE,MAAM;IAAEM,MAAM;IAAEF,KAAK,EAAEG;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DZ,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAY,gBAAS,EAAC,MAAM;IACdV,gBAAgB,CAAC;MACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;MAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;MAC7BQ,GAAG,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG;MAChBC,gBAAgB,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,gBAAgB;MAC1CC,kBAAkB,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,0BAA0B;MACtDC,eAAe,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,uBAAuB;MAChDC,gBAAgB,EAAEZ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEY;IAC5B,CAAC,CAAC;IACFb,QAAQ,CAACE,cAAc,CAAC;EAC1B,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEW,cAAc,CAAC,CAAC;EAEpC,OAAO;IACLT,aAAa;IACbM;EACF,CAAC;AACH,CAAC;AAACe,OAAA,CAAAxB,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ const useVisibleLiveDataRecord = (record, target) => {
|
|
|
16
16
|
});
|
|
17
17
|
const [error, setError] = (0, _react.useState)(null);
|
|
18
18
|
const entry = (0, _usehooksTs.useIntersectionObserver)();
|
|
19
|
-
const isVisible = !!entry
|
|
19
|
+
const isVisible = !!(entry !== null && entry !== void 0 && entry.isIntersecting);
|
|
20
20
|
const {
|
|
21
21
|
update,
|
|
22
22
|
error: liveRatesError
|
|
@@ -28,15 +28,15 @@ const useVisibleLiveDataRecord = (record, target) => {
|
|
|
28
28
|
instrument: record.instrument,
|
|
29
29
|
sentiment: record.sentiment,
|
|
30
30
|
tradeMode: record.tradeMode,
|
|
31
|
-
buy: update
|
|
32
|
-
sell: update
|
|
33
|
-
buyPriceMovement: update
|
|
34
|
-
sellPriceMovement: update
|
|
35
|
-
dailyPercentChange: update
|
|
36
|
-
spread: update
|
|
37
|
-
displayPrecision: update
|
|
38
|
-
high: update
|
|
39
|
-
low: update
|
|
31
|
+
buy: update === null || update === void 0 ? void 0 : update.ask,
|
|
32
|
+
sell: update === null || update === void 0 ? void 0 : update.bid,
|
|
33
|
+
buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
|
|
34
|
+
sellPriceMovement: update === null || update === void 0 ? void 0 : update.bidPriceMovement,
|
|
35
|
+
dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
|
|
36
|
+
spread: update === null || update === void 0 ? void 0 : update.spread,
|
|
37
|
+
displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision,
|
|
38
|
+
high: update === null || update === void 0 ? void 0 : update.high,
|
|
39
|
+
low: update === null || update === void 0 ? void 0 : update.low
|
|
40
40
|
});
|
|
41
41
|
setError(liveRatesError);
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisibleLiveDataRecord.js","names":["_react","require","_usehooksTs","_useLiveRatesMessage","useVisibleLiveDataRecord","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","tradeMode","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","buyPriceMovement","askPriceMovement","sellPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","high","low","ref","exports"],"sources":["../../../src/hooks/useVisibleLiveDataRecord.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { DataRecord, EmptyRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nexport const useVisibleLiveDataRecord = (\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 tradeMode: record.tradeMode,\n });\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 tradeMode: record.tradeMode,\n buy: update?.ask,\n sell: update?.bid,\n buyPriceMovement: update?.askPriceMovement,\n sellPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n high: update?.high,\n low: update?.low,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,oBAAA,GAAAF,OAAA;AAEO,MAAMG,wBAAwB,GAAGA,CACtCC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;IAC3BC,SAAS,EAAER,MAAM,CAACQ;EACpB,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAN,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMO,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"useVisibleLiveDataRecord.js","names":["_react","require","_usehooksTs","_useLiveRatesMessage","useVisibleLiveDataRecord","record","target","updatedRecord","setUpdatedRecord","useState","displayName","instrument","sentiment","tradeMode","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","buyPriceMovement","askPriceMovement","sellPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","high","low","ref","exports"],"sources":["../../../src/hooks/useVisibleLiveDataRecord.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { DataRecord, EmptyRecord, LiveRatesErrorMessage } from '../types';\nimport { useLiveRatesMessage } from './useLiveRatesMessage';\n\nexport const useVisibleLiveDataRecord = (\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 tradeMode: record.tradeMode,\n });\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 tradeMode: record.tradeMode,\n buy: update?.ask,\n sell: update?.bid,\n buyPriceMovement: update?.askPriceMovement,\n sellPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n high: update?.high,\n low: update?.low,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,oBAAA,GAAAF,OAAA;AAEO,MAAMG,wBAAwB,GAAGA,CACtCC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DC,WAAW,EAAEL,MAAM,CAACK,WAAW;IAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;IAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;IAC3BC,SAAS,EAAER,MAAM,CAACQ;EACpB,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAN,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMO,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,EAACF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,wCAAmB,EAC3DjB,MAAM,CAACM,UAAU,EACjBL,MACF,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbV,gBAAgB,CAAC;QACfE,WAAW,EAAEL,MAAM,CAACK,WAAW;QAC/BC,UAAU,EAAEN,MAAM,CAACM,UAAU;QAC7BC,SAAS,EAAEP,MAAM,CAACO,SAAS;QAC3BC,SAAS,EAAER,MAAM,CAACQ,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,GAAG;QACjBC,gBAAgB,EAAER,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAES,gBAAgB;QAC1CC,iBAAiB,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEW,gBAAgB;QAC3CC,kBAAkB,EAAEZ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEe,gBAAgB;QAC1CC,IAAI,EAAEhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEgB,IAAI;QAClBC,GAAG,EAAEjB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiB;MACf,CAAC,CAAC;MACFtB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEf,MAAM,EAAEa,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLd,aAAa;IACbO,KAAK;IACLwB,GAAG,EAAEtB,KAAK,CAACsB;EACb,CAAC;AACH,CAAC;AAACC,OAAA,CAAAnC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -10,8 +10,7 @@ var _constants = require("../../constants");
|
|
|
10
10
|
var _tailwind = require("../../tailwind");
|
|
11
11
|
var _types = require("../../types");
|
|
12
12
|
var _LayoutContext = require("./LayoutContext");
|
|
13
|
-
function
|
|
14
|
-
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; }
|
|
13
|
+
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); }
|
|
15
14
|
const LayoutProvider = _ref => {
|
|
16
15
|
let {
|
|
17
16
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutProvider.js","names":["_react","_interopRequireWildcard","require","_usehooksTs","_constants","_tailwind","_types","_LayoutContext","
|
|
1
|
+
{"version":3,"file":"LayoutProvider.js","names":["_react","_interopRequireWildcard","require","_usehooksTs","_constants","_tailwind","_types","_LayoutContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LayoutProvider","_ref","children","theme","Theme","Light","size","fixedSize","shouldFitContent","shouldRemovePadding","isDark","Dark","setSize","useState","ref","useRef","onResize","useDebounceCallback","_ref2","width","MOBILE_MAX_WIDTH","Size","MOBILE","DESKTOP_MIN_WIDTH","TABLET","DESKTOP","leading","useResizeObserver","createElement","LayoutContext","Provider","value","className","cn","style","colorScheme","exports"],"sources":["../../../../src/providers/Layout/LayoutProvider.tsx"],"sourcesContent":["import type { CSSProperties, FC, PropsWithChildren } from 'react';\nimport React, { useRef, useState } from 'react';\nimport { useDebounceCallback, useResizeObserver } from 'usehooks-ts';\n\nimport { DESKTOP_MIN_WIDTH, MOBILE_MAX_WIDTH } from '../../constants';\nimport { cn } from '../../tailwind';\nimport { Size, Theme } from '../../types';\nimport { LayoutContext } from './LayoutContext';\n\nexport type LayoutWrapperProps = PropsWithChildren & {\n shouldRemovePadding?: boolean;\n size?: Size;\n shouldFitContent?: boolean;\n theme?: Theme;\n};\n\nexport const LayoutProvider: FC<LayoutWrapperProps> = ({\n children,\n theme = Theme.Light,\n size: fixedSize,\n shouldFitContent = false,\n shouldRemovePadding = false,\n}) => {\n const isDark = theme === Theme.Dark;\n const [size, setSize] = useState<null | Size>(null);\n\n const ref = useRef<HTMLDivElement>(null);\n const onResize = useDebounceCallback(\n ({ width }) => {\n if (fixedSize) return;\n\n if (width <= MOBILE_MAX_WIDTH) {\n setSize(Size.MOBILE);\n }\n if (width > MOBILE_MAX_WIDTH && width < DESKTOP_MIN_WIDTH) {\n setSize(Size.TABLET);\n }\n if (width >= DESKTOP_MIN_WIDTH) {\n setSize(Size.DESKTOP);\n }\n },\n 50,\n { leading: true }\n );\n\n useResizeObserver({\n ref,\n onResize,\n });\n\n return (\n <LayoutContext.Provider\n value={{\n size: fixedSize || size,\n isDark,\n theme,\n }}\n >\n <div\n ref={ref}\n className={cn(\n 'lw-scoped-preflight lw-isolate lw-overflow-hidden lw-bg-bg-primary lw-font-sans',\n {\n 'lw-p-[0.125rem]': !!size && !shouldRemovePadding,\n 'lw-w-fit': !!shouldFitContent,\n }\n )}\n data-testid=\"layout-provider\"\n data-theme={theme}\n style={\n {\n colorScheme: isDark ? 'dark' : 'light',\n } as CSSProperties\n }\n >\n {children}\n </div>\n </LayoutContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,8 +8,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _constants = require("../../constants");
|
|
9
9
|
var _liveRates = require("../../utils/liveRates");
|
|
10
10
|
var _LiveRatesContext = require("./LiveRatesContext");
|
|
11
|
-
function
|
|
12
|
-
function
|
|
11
|
+
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); }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
17
|
const LiveRatesProvider = _ref => {
|
|
14
18
|
let {
|
|
15
19
|
url,
|
|
@@ -36,21 +40,20 @@ const LiveRatesProvider = _ref => {
|
|
|
36
40
|
error: 'Connection error'
|
|
37
41
|
} : (0, _liveRates.decodeLiveRateMessage)(e.data);
|
|
38
42
|
target.dispatchEvent(new CustomEvent(message.symbol, {
|
|
39
|
-
detail: {
|
|
40
|
-
messageType
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
+
detail: _objectSpread({
|
|
44
|
+
messageType
|
|
45
|
+
}, message)
|
|
43
46
|
}));
|
|
44
47
|
};
|
|
45
|
-
source
|
|
46
|
-
source
|
|
47
|
-
source
|
|
48
|
+
source === null || source === void 0 || source.addEventListener(eventName, listener(eventName));
|
|
49
|
+
source === null || source === void 0 || source.addEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
|
|
50
|
+
source === null || source === void 0 || source.addEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
|
|
48
51
|
return () => {
|
|
49
52
|
target.removeEventListener(_constants.SET_QUERY_EVENT_NAME, setQueryListener);
|
|
50
|
-
source
|
|
51
|
-
source
|
|
52
|
-
source
|
|
53
|
-
source
|
|
53
|
+
source === null || source === void 0 || source.removeEventListener(eventName, listener(eventName));
|
|
54
|
+
source === null || source === void 0 || source.removeEventListener(_constants.LIVE_RATES_RATE_ERROR, listener(_constants.LIVE_RATES_RATE_ERROR));
|
|
55
|
+
source === null || source === void 0 || source.removeEventListener('error', listener(_constants.LIVE_RATES_CONNECTION_ERROR));
|
|
56
|
+
source === null || source === void 0 || source.close();
|
|
54
57
|
};
|
|
55
58
|
}, [source, target]);
|
|
56
59
|
return _react.default.createElement(_LiveRatesContext.LiveRatesContext.Provider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveRatesProvider.js","names":["_react","_interopRequireWildcard","require","_constants","_liveRates","_LiveRatesContext","
|
|
1
|
+
{"version":3,"file":"LiveRatesProvider.js","names":["_react","_interopRequireWildcard","require","_constants","_liveRates","_LiveRatesContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","LiveRatesProvider","_ref","url","query","options","children","eventSource","eventTarget","eventName","LIVE_RATES_EVENT_NAME","source","setSource","useState","EventSource","buildUrl","target","EventTarget","setQueryListener","_ref2","detail","addEventListener","SET_QUERY_EVENT_NAME","useEffect","listener","messageType","message","LIVE_RATES_CONNECTION_ERROR","symbol","error","decodeLiveRateMessage","data","dispatchEvent","CustomEvent","LIVE_RATES_RATE_ERROR","removeEventListener","close","createElement","LiveRatesContext","Provider","exports"],"sources":["../../../../src/providers/LiveRates/LiveRatesProvider.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactElement } from 'react';\nimport React, { useEffect, useState } from 'react';\n\nimport {\n LIVE_RATES_CONNECTION_ERROR,\n LIVE_RATES_EVENT_NAME,\n LIVE_RATES_RATE_ERROR,\n SET_QUERY_EVENT_NAME,\n} from '../../constants';\nimport type {\n LiveRatesConfig,\n LiveRatesConnectionErrorMessage,\n LiveRatesErrorMessage,\n LiveRatesUpdateMessage,\n} from '../../types';\nimport { buildUrl, decodeLiveRateMessage } from '../../utils/liveRates';\nimport { LiveRatesContext } from './LiveRatesContext';\n\ntype LiveRatesProviderProps = PropsWithChildren & LiveRatesConfig;\n\nexport const LiveRatesProvider: React.FC<LiveRatesProviderProps> = ({\n url,\n query,\n options,\n children,\n eventSource,\n eventTarget,\n eventName = LIVE_RATES_EVENT_NAME,\n}): ReactElement => {\n const [source, setSource] = useState(\n eventSource || (query && new EventSource(buildUrl(url, query, options)))\n );\n const target = eventTarget || new EventTarget();\n\n const setQueryListener: EventListener = ({ detail }: CustomEventInit) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n setSource(new EventSource(buildUrl(url, detail, options)));\n };\n\n target.addEventListener(SET_QUERY_EVENT_NAME, setQueryListener);\n\n useEffect(\n () => {\n const listener =\n (messageType: string) => (e: MessageEventInit<string>) => {\n const message =\n messageType === LIVE_RATES_CONNECTION_ERROR\n ? ({\n symbol: LIVE_RATES_CONNECTION_ERROR,\n error: 'Connection error',\n } as LiveRatesConnectionErrorMessage)\n : decodeLiveRateMessage(e.data as string);\n\n target.dispatchEvent(\n new CustomEvent<\n | LiveRatesUpdateMessage\n | LiveRatesErrorMessage\n | LiveRatesConnectionErrorMessage\n >(message.symbol, {\n detail: { messageType, ...message },\n })\n );\n };\n\n source?.addEventListener(eventName, listener(eventName));\n source?.addEventListener(\n LIVE_RATES_RATE_ERROR,\n listener(LIVE_RATES_RATE_ERROR)\n );\n source?.addEventListener('error', listener(LIVE_RATES_CONNECTION_ERROR));\n\n return () => {\n target.removeEventListener(SET_QUERY_EVENT_NAME, setQueryListener);\n source?.removeEventListener(eventName, listener(eventName));\n source?.removeEventListener(\n LIVE_RATES_RATE_ERROR,\n listener(LIVE_RATES_RATE_ERROR)\n );\n source?.removeEventListener(\n 'error',\n listener(LIVE_RATES_CONNECTION_ERROR)\n );\n source?.close();\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [source, target]\n );\n\n return (\n <LiveRatesContext.Provider\n value={{\n target,\n source,\n }}\n >\n {children}\n </LiveRatesContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,12 @@ var _utils = require("../../utils");
|
|
|
12
12
|
var _ConditionalProvider = require("../ConditionalProvider");
|
|
13
13
|
var _Layout = require("../Layout");
|
|
14
14
|
var _LiveRates = require("../LiveRates");
|
|
15
|
-
function
|
|
16
|
-
function
|
|
15
|
+
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
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
21
|
const defaultStyling = {
|
|
18
22
|
fitContent: false,
|
|
19
23
|
removePadding: false,
|
|
@@ -39,10 +43,7 @@ const WidgetProvider = _ref => {
|
|
|
39
43
|
fitContent,
|
|
40
44
|
removePadding,
|
|
41
45
|
size
|
|
42
|
-
} = {
|
|
43
|
-
...defaultStyling,
|
|
44
|
-
...styling
|
|
45
|
-
};
|
|
46
|
+
} = _objectSpread(_objectSpread({}, defaultStyling), styling);
|
|
46
47
|
return _react.default.createElement(_monoI18n.LocaleProvider, {
|
|
47
48
|
locale: (0, _utils.getLocale)(locale),
|
|
48
49
|
translations: translations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetProvider.js","names":["_client","require","_monoI18n","_react","_interopRequireWildcard","_types","_utils","_ConditionalProvider","_Layout","_LiveRates","
|
|
1
|
+
{"version":3,"file":"WidgetProvider.js","names":["_client","require","_monoI18n","_react","_interopRequireWildcard","_types","_utils","_ConditionalProvider","_Layout","_LiveRates","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultStyling","fitContent","removePadding","size","undefined","WidgetProvider","_ref","children","locale","translations","client","theme","Theme","Light","withSuspense","styling","liveRates","url","options","createElement","LocaleProvider","getLocale","ConditionalProvider","Provider","LiveRatesProvider","render","ApolloProvider","Suspense","LayoutProvider","shouldFitContent","shouldRemovePadding","exports"],"sources":["../../../../src/providers/Widget/WidgetProvider.tsx"],"sourcesContent":["import type { ApolloClient, NormalizedCacheObject } from '@apollo/client';\nimport { ApolloProvider } from '@apollo/client';\nimport type { Locale, Translations } from '@oanda/mono-i18n';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport type { PropsWithChildren } from 'react';\nimport React, { Suspense } from 'react';\n\nimport type { LiveRatesConfig, Size, WidgetStyling } from '../../types';\nimport { Theme } from '../../types';\nimport { getLocale } from '../../utils';\nimport { ConditionalProvider } from '../ConditionalProvider';\nimport { LayoutProvider } from '../Layout';\nimport { LiveRatesProvider } from '../LiveRates';\n\ninterface WidgetLayout {\n size?: Size;\n}\n\ntype WidgetProviderProps = PropsWithChildren & {\n locale: Locale;\n translations: Translations;\n client: ApolloClient<NormalizedCacheObject>;\n withSuspense?: boolean;\n theme?: Theme;\n styling?: Partial<WidgetStyling> & WidgetLayout;\n liveRates?: LiveRatesConfig;\n};\n\nconst defaultStyling: WidgetStyling & WidgetLayout = {\n fitContent: false,\n removePadding: false,\n size: undefined,\n};\n\nexport const WidgetProvider: React.FC<WidgetProviderProps> = ({\n children,\n locale,\n translations,\n client,\n theme = Theme.Light,\n withSuspense = false,\n styling,\n liveRates: { url, options } = { url: '' },\n}) => {\n const { fitContent, removePadding, size } = {\n ...defaultStyling,\n ...styling,\n };\n\n return (\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ConditionalProvider\n Provider={<LiveRatesProvider options={options} url={url} />}\n render={!!url}\n >\n <ApolloProvider client={client}>\n <ConditionalProvider Provider={<Suspense />} render={withSuspense}>\n <LayoutProvider\n shouldFitContent={fitContent}\n shouldRemovePadding={removePadding}\n size={size}\n theme={theme}\n >\n {children}\n </LayoutProvider>\n </ConditionalProvider>\n </ApolloProvider>\n </ConditionalProvider>\n </LocaleProvider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,13 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.sharedPreset = void 0;
|
|
7
7
|
var _colors = require("./colors");
|
|
8
8
|
var _themes = require("./themes");
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
14
|
const sharedPreset = exports.sharedPreset = {
|
|
10
15
|
prefix: 'lw-',
|
|
11
16
|
plugins: [_themes.themes],
|
|
12
17
|
theme: {
|
|
13
18
|
extend: {
|
|
14
|
-
colors: {
|
|
15
|
-
..._colors.twColorPallete,
|
|
19
|
+
colors: _objectSpread(_objectSpread({}, _colors.twColorPallete), {}, {
|
|
16
20
|
heatmap: {
|
|
17
21
|
empty: '#D7D8D9',
|
|
18
22
|
'strong-negative': '#DA6325',
|
|
@@ -23,7 +27,7 @@ const sharedPreset = exports.sharedPreset = {
|
|
|
23
27
|
positive: '#70D2AF',
|
|
24
28
|
'strong-positive': '#008573'
|
|
25
29
|
}
|
|
26
|
-
},
|
|
30
|
+
}),
|
|
27
31
|
backgroundImage: {
|
|
28
32
|
loader: 'linear-gradient(90deg, hsl(var(--twc-border-primary))0%, hsl(var(--twc-border-secondary)) 50%, hsl(var(--twc-border-primary)) 100%);',
|
|
29
33
|
whiteWithShadow: 'linear-gradient(270deg, transparent 0, rgba(215,217,221,0.5) 10px, #ffffff 10px)',
|