@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.
Files changed (196) hide show
  1. package/CHANGELOG.md +1764 -0
  2. package/dist/main/chart/BaseChart.js +10 -8
  3. package/dist/main/chart/BaseChart.js.map +1 -1
  4. package/dist/main/chart/formatters.js +4 -4
  5. package/dist/main/chart/formatters.js.map +1 -1
  6. package/dist/main/chart/getGridLines.js +12 -14
  7. package/dist/main/chart/getGridLines.js.map +1 -1
  8. package/dist/main/components/Button/Button.js +7 -4
  9. package/dist/main/components/Button/Button.js.map +1 -1
  10. package/dist/main/components/Card/Card.js +1 -2
  11. package/dist/main/components/Card/Card.js.map +1 -1
  12. package/dist/main/components/Card/rows/PriceCardRow.js +1 -1
  13. package/dist/main/components/Card/rows/PriceCardRow.js.map +1 -1
  14. package/dist/main/components/Disclaimer/Disclaimer.js +1 -2
  15. package/dist/main/components/Disclaimer/Disclaimer.js.map +1 -1
  16. package/dist/main/components/Input/NumberInput.js +13 -10
  17. package/dist/main/components/Input/NumberInput.js.map +1 -1
  18. package/dist/main/components/InstrumentRate/InstrumentRate.js +4 -3
  19. package/dist/main/components/InstrumentRate/InstrumentRate.js.map +1 -1
  20. package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
  21. package/dist/main/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
  22. package/dist/main/components/InstrumentRate/utils.js +1 -1
  23. package/dist/main/components/InstrumentRate/utils.js.map +1 -1
  24. package/dist/main/components/Label/Label.js +6 -3
  25. package/dist/main/components/Label/Label.js.map +1 -1
  26. package/dist/main/components/LastUpdated/LastUpdated.js +1 -1
  27. package/dist/main/components/LastUpdated/LastUpdated.js.map +1 -1
  28. package/dist/main/components/LineChart/LineChart.js +2 -2
  29. package/dist/main/components/LineChart/LineChart.js.map +1 -1
  30. package/dist/main/components/LineChart/utils.js +2 -2
  31. package/dist/main/components/LineChart/utils.js.map +1 -1
  32. package/dist/main/components/Pagination/Pagination.js +2 -2
  33. package/dist/main/components/Pagination/Pagination.js.map +1 -1
  34. package/dist/main/components/Price/Price.js +1 -2
  35. package/dist/main/components/Price/Price.js.map +1 -1
  36. package/dist/main/components/Select/Select.js +3 -4
  37. package/dist/main/components/Select/Select.js.map +1 -1
  38. package/dist/main/components/Sentiment/Sentiment.js +7 -7
  39. package/dist/main/components/Sentiment/Sentiment.js.map +1 -1
  40. package/dist/main/components/Sentiment/SentimentError.js +1 -1
  41. package/dist/main/components/Sentiment/SentimentError.js.map +1 -1
  42. package/dist/main/components/Sentiment/SentimentLoader.js +1 -1
  43. package/dist/main/components/Sentiment/SentimentLoader.js.map +1 -1
  44. package/dist/main/components/Sentiment/utils.js +3 -3
  45. package/dist/main/components/Sentiment/utils.js.map +1 -1
  46. package/dist/main/components/Switch/Switch.js +4 -5
  47. package/dist/main/components/Switch/Switch.js.map +1 -1
  48. package/dist/main/components/Switch/SwitchItem.js +1 -2
  49. package/dist/main/components/Switch/SwitchItem.js.map +1 -1
  50. package/dist/main/components/Table/Table.js +1 -2
  51. package/dist/main/components/Table/Table.js.map +1 -1
  52. package/dist/main/components/Table/TableCell.js +1 -1
  53. package/dist/main/components/Table/TableCell.js.map +1 -1
  54. package/dist/main/components/Table/TableHeader.js +1 -1
  55. package/dist/main/components/Table/TableHeader.js.map +1 -1
  56. package/dist/main/components/Table/TableRow.js +1 -2
  57. package/dist/main/components/Table/TableRow.js.map +1 -1
  58. package/dist/main/components/TableWidget/CardRecordRow.js +2 -1
  59. package/dist/main/components/TableWidget/CardRecordRow.js.map +1 -1
  60. package/dist/main/components/TableWidget/CardRenderer.js +6 -3
  61. package/dist/main/components/TableWidget/CardRenderer.js.map +1 -1
  62. package/dist/main/components/TableWidget/Cards.js +1 -1
  63. package/dist/main/components/TableWidget/Cards.js.map +1 -1
  64. package/dist/main/components/TableWidget/ColumnRenderer.js +7 -4
  65. package/dist/main/components/TableWidget/ColumnRenderer.js.map +1 -1
  66. package/dist/main/components/TableWidget/TableWidget.js +1 -1
  67. package/dist/main/components/TableWidget/TableWidget.js.map +1 -1
  68. package/dist/main/components/Tabs/Tabs.js +1 -1
  69. package/dist/main/components/Tabs/Tabs.js.map +1 -1
  70. package/dist/main/components/TextInput/TextInput.js +4 -4
  71. package/dist/main/components/TextInput/TextInput.js.map +1 -1
  72. package/dist/main/components/Truncate/Truncate.js +2 -3
  73. package/dist/main/components/Truncate/Truncate.js.map +1 -1
  74. package/dist/main/components/WidgetWrapper/WidgetWrapper.js +2 -2
  75. package/dist/main/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
  76. package/dist/main/hooks/useLiveRatesMessage.js +7 -7
  77. package/dist/main/hooks/useLiveRatesMessage.js.map +1 -1
  78. package/dist/main/hooks/useLiveRatesQuery.js +5 -3
  79. package/dist/main/hooks/useLiveRatesQuery.js.map +1 -1
  80. package/dist/main/hooks/useRecords.js +5 -5
  81. package/dist/main/hooks/useRecords.js.map +1 -1
  82. package/dist/main/hooks/useVisibleLiveDataRecord.js +10 -10
  83. package/dist/main/hooks/useVisibleLiveDataRecord.js.map +1 -1
  84. package/dist/main/providers/Layout/LayoutProvider.js +1 -2
  85. package/dist/main/providers/Layout/LayoutProvider.js.map +1 -1
  86. package/dist/main/providers/LiveRates/LiveRatesProvider.js +16 -13
  87. package/dist/main/providers/LiveRates/LiveRatesProvider.js.map +1 -1
  88. package/dist/main/providers/Widget/WidgetProvider.js +7 -6
  89. package/dist/main/providers/Widget/WidgetProvider.js.map +1 -1
  90. package/dist/main/tailwind/preset.js +7 -3
  91. package/dist/main/tailwind/preset.js.map +1 -1
  92. package/dist/main/tailwind/themes/themeColors.js +7 -5
  93. package/dist/main/tailwind/themes/themeColors.js.map +1 -1
  94. package/dist/main/tailwind/utils.js +7 -3
  95. package/dist/main/tailwind/utils.js.map +1 -1
  96. package/dist/main/testUtils/index.js +2 -2
  97. package/dist/main/testUtils/index.js.map +1 -1
  98. package/dist/main/utils/dateUtils.js +3 -3
  99. package/dist/main/utils/dateUtils.js.map +1 -1
  100. package/dist/main/utils/getLocale.js +1 -1
  101. package/dist/main/utils/getLocale.js.map +1 -1
  102. package/dist/main/utils/liveRates/buildUrl.js +11 -9
  103. package/dist/main/utils/liveRates/buildUrl.js.map +1 -1
  104. package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
  105. package/dist/main/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
  106. package/dist/module/chart/BaseChart.js +9 -6
  107. package/dist/module/chart/BaseChart.js.map +1 -1
  108. package/dist/module/chart/formatters.js +4 -4
  109. package/dist/module/chart/formatters.js.map +1 -1
  110. package/dist/module/chart/getGridLines.js +12 -14
  111. package/dist/module/chart/getGridLines.js.map +1 -1
  112. package/dist/module/components/Button/Button.js +7 -4
  113. package/dist/module/components/Button/Button.js.map +1 -1
  114. package/dist/module/components/Card/rows/PriceCardRow.js +1 -1
  115. package/dist/module/components/Card/rows/PriceCardRow.js.map +1 -1
  116. package/dist/module/components/Input/NumberInput.js +13 -10
  117. package/dist/module/components/Input/NumberInput.js.map +1 -1
  118. package/dist/module/components/InstrumentRate/InstrumentRate.js +4 -3
  119. package/dist/module/components/InstrumentRate/InstrumentRate.js.map +1 -1
  120. package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js +1 -1
  121. package/dist/module/components/InstrumentRate/InstrumentRateWithChart.js.map +1 -1
  122. package/dist/module/components/InstrumentRate/utils.js +1 -1
  123. package/dist/module/components/InstrumentRate/utils.js.map +1 -1
  124. package/dist/module/components/Label/Label.js +6 -3
  125. package/dist/module/components/Label/Label.js.map +1 -1
  126. package/dist/module/components/LastUpdated/LastUpdated.js +1 -1
  127. package/dist/module/components/LastUpdated/LastUpdated.js.map +1 -1
  128. package/dist/module/components/LineChart/LineChart.js +2 -2
  129. package/dist/module/components/LineChart/LineChart.js.map +1 -1
  130. package/dist/module/components/LineChart/utils.js +2 -2
  131. package/dist/module/components/LineChart/utils.js.map +1 -1
  132. package/dist/module/components/Pagination/Pagination.js +2 -2
  133. package/dist/module/components/Pagination/Pagination.js.map +1 -1
  134. package/dist/module/components/Select/Select.js +2 -2
  135. package/dist/module/components/Select/Select.js.map +1 -1
  136. package/dist/module/components/Sentiment/Sentiment.js +7 -7
  137. package/dist/module/components/Sentiment/Sentiment.js.map +1 -1
  138. package/dist/module/components/Sentiment/SentimentError.js +1 -1
  139. package/dist/module/components/Sentiment/SentimentError.js.map +1 -1
  140. package/dist/module/components/Sentiment/SentimentLoader.js +1 -1
  141. package/dist/module/components/Sentiment/SentimentLoader.js.map +1 -1
  142. package/dist/module/components/Sentiment/utils.js +3 -3
  143. package/dist/module/components/Sentiment/utils.js.map +1 -1
  144. package/dist/module/components/Switch/Switch.js +3 -3
  145. package/dist/module/components/Switch/Switch.js.map +1 -1
  146. package/dist/module/components/Table/TableCell.js +1 -1
  147. package/dist/module/components/Table/TableCell.js.map +1 -1
  148. package/dist/module/components/Table/TableHeader.js +1 -1
  149. package/dist/module/components/Table/TableHeader.js.map +1 -1
  150. package/dist/module/components/TableWidget/CardRecordRow.js +2 -1
  151. package/dist/module/components/TableWidget/CardRecordRow.js.map +1 -1
  152. package/dist/module/components/TableWidget/CardRenderer.js +6 -3
  153. package/dist/module/components/TableWidget/CardRenderer.js.map +1 -1
  154. package/dist/module/components/TableWidget/Cards.js +1 -1
  155. package/dist/module/components/TableWidget/Cards.js.map +1 -1
  156. package/dist/module/components/TableWidget/ColumnRenderer.js +7 -4
  157. package/dist/module/components/TableWidget/ColumnRenderer.js.map +1 -1
  158. package/dist/module/components/TableWidget/TableWidget.js +1 -1
  159. package/dist/module/components/TableWidget/TableWidget.js.map +1 -1
  160. package/dist/module/components/Tabs/Tabs.js +1 -1
  161. package/dist/module/components/Tabs/Tabs.js.map +1 -1
  162. package/dist/module/components/TextInput/TextInput.js +3 -2
  163. package/dist/module/components/TextInput/TextInput.js.map +1 -1
  164. package/dist/module/components/Truncate/Truncate.js +1 -1
  165. package/dist/module/components/Truncate/Truncate.js.map +1 -1
  166. package/dist/module/components/WidgetWrapper/WidgetWrapper.js +2 -2
  167. package/dist/module/components/WidgetWrapper/WidgetWrapper.js.map +1 -1
  168. package/dist/module/hooks/useLiveRatesMessage.js +7 -7
  169. package/dist/module/hooks/useLiveRatesMessage.js.map +1 -1
  170. package/dist/module/hooks/useLiveRatesQuery.js +5 -3
  171. package/dist/module/hooks/useLiveRatesQuery.js.map +1 -1
  172. package/dist/module/hooks/useRecords.js +5 -5
  173. package/dist/module/hooks/useRecords.js.map +1 -1
  174. package/dist/module/hooks/useVisibleLiveDataRecord.js +10 -10
  175. package/dist/module/hooks/useVisibleLiveDataRecord.js.map +1 -1
  176. package/dist/module/providers/LiveRates/LiveRatesProvider.js +15 -11
  177. package/dist/module/providers/LiveRates/LiveRatesProvider.js.map +1 -1
  178. package/dist/module/providers/Widget/WidgetProvider.js +6 -4
  179. package/dist/module/providers/Widget/WidgetProvider.js.map +1 -1
  180. package/dist/module/tailwind/preset.js +7 -3
  181. package/dist/module/tailwind/preset.js.map +1 -1
  182. package/dist/module/tailwind/themes/themeColors.js +7 -5
  183. package/dist/module/tailwind/themes/themeColors.js.map +1 -1
  184. package/dist/module/tailwind/utils.js +7 -3
  185. package/dist/module/tailwind/utils.js.map +1 -1
  186. package/dist/module/testUtils/index.js +2 -2
  187. package/dist/module/testUtils/index.js.map +1 -1
  188. package/dist/module/utils/dateUtils.js +3 -3
  189. package/dist/module/utils/dateUtils.js.map +1 -1
  190. package/dist/module/utils/getLocale.js +1 -1
  191. package/dist/module/utils/getLocale.js.map +1 -1
  192. package/dist/module/utils/liveRates/buildUrl.js +11 -9
  193. package/dist/module/utils/liveRates/buildUrl.js.map +1 -1
  194. package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js +1 -1
  195. package/dist/module/utils/liveRates/calculatePriceChangeFromOpen.js.map +1 -1
  196. package/package.json +2 -2
@@ -48,14 +48,14 @@ const Switch = _ref => {
48
48
  'lw-transition-width lw-duration-300': isTransitionEnabled
49
49
  }),
50
50
  style: {
51
- transform: `translateX(${bgOffset}px)`,
52
- width: `${bgWidth}px`
51
+ transform: "translateX(".concat(bgOffset, "px)"),
52
+ width: "".concat(bgWidth, "px")
53
53
  }
54
54
  }), React.createElement("ul", {
55
55
  className: "lw-relative lw-mx-0 lw-flex lw-h-full lw-overflow-hidden lw-rounded lw-border lw-border-secondary",
56
56
  "data-testid": "switch"
57
57
  }, items.map(item => React.createElement(SwitchItem, {
58
- key: `${item.id}-item`,
58
+ key: "".concat(item.id, "-item"),
59
59
  equalSize: equalSize,
60
60
  handleClick: onClick,
61
61
  handleRender: onItemRender,
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["classnames","React","useRef","useState","BORDER_CORRECTION","SwitchItem","Switch","_ref","items","activeTab","equalSize","labelCallback","handleClick","parentRef","bgWidth","setBgWidth","isTransitionEnabled","setIsTransitionEnabled","bgOffset","setBgOffset","onClick","e","element","target","width","left","elementOffset","getBoundingClientRect","parentOffset","current","Math","ceil","onItemRender","_ref2","createElement","ref","className","style","transform","map","item","key","id","handleRender","isActive"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { useRef, useState } from 'react';\n\nimport { BORDER_CORRECTION } from './constants';\nimport { SwitchItem } from './SwitchItem';\nimport type { SwitchProps } from './types';\n\nconst Switch = ({\n items,\n activeTab,\n equalSize,\n labelCallback,\n handleClick,\n}: SwitchProps) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const [bgWidth, setBgWidth] = useState(0);\n const [isTransitionEnabled, setIsTransitionEnabled] = useState(false);\n const [bgOffset, setBgOffset] = useState(0);\n\n const onClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const element = e.target as Element;\n const { width, left: elementOffset } = element.getBoundingClientRect();\n const parentOffset = parentRef.current!.getBoundingClientRect().left;\n\n setBgOffset(Math.ceil(elementOffset - parentOffset - BORDER_CORRECTION));\n setBgWidth(Math.ceil(width + BORDER_CORRECTION));\n\n handleClick(e);\n\n if (!isTransitionEnabled) {\n setIsTransitionEnabled(true);\n }\n };\n\n const onItemRender = ({\n width,\n left: elementOffset,\n }: {\n width: number;\n left: number;\n }) => {\n const parentOffset = parentRef.current!.getBoundingClientRect().left;\n if (isTransitionEnabled) {\n setIsTransitionEnabled(false);\n }\n\n setBgOffset(Math.ceil(elementOffset - parentOffset - BORDER_CORRECTION));\n setBgWidth(Math.ceil(width + BORDER_CORRECTION));\n };\n\n return (\n <div\n ref={parentRef}\n className=\"lw-relative lw-mb-4 lw-h-full lw-overflow-hidden lw-rounded\"\n >\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-z-10 lw-h-full lw-bg-secondary',\n {\n 'lw-transition-width lw-duration-300': isTransitionEnabled,\n }\n )}\n style={{\n transform: `translateX(${bgOffset}px)`,\n width: `${bgWidth}px`,\n }}\n />\n <ul\n className=\"lw-relative lw-mx-0 lw-flex lw-h-full lw-overflow-hidden lw-rounded lw-border lw-border-secondary\"\n data-testid=\"switch\"\n >\n {items.map((item) => (\n <SwitchItem\n key={`${item.id}-item`}\n equalSize={equalSize}\n handleClick={onClick}\n handleRender={onItemRender}\n isActive={item.id === activeTab}\n item={item}\n labelCallback={labelCallback}\n />\n ))}\n </ul>\n </div>\n );\n};\n\nexport { Switch };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Switch.js","names":["classnames","React","useRef","useState","BORDER_CORRECTION","SwitchItem","Switch","_ref","items","activeTab","equalSize","labelCallback","handleClick","parentRef","bgWidth","setBgWidth","isTransitionEnabled","setIsTransitionEnabled","bgOffset","setBgOffset","onClick","e","element","target","width","left","elementOffset","getBoundingClientRect","parentOffset","current","Math","ceil","onItemRender","_ref2","createElement","ref","className","style","transform","concat","map","item","key","id","handleRender","isActive"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { useRef, useState } from 'react';\n\nimport { BORDER_CORRECTION } from './constants';\nimport { SwitchItem } from './SwitchItem';\nimport type { SwitchProps } from './types';\n\nconst Switch = ({\n items,\n activeTab,\n equalSize,\n labelCallback,\n handleClick,\n}: SwitchProps) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const [bgWidth, setBgWidth] = useState(0);\n const [isTransitionEnabled, setIsTransitionEnabled] = useState(false);\n const [bgOffset, setBgOffset] = useState(0);\n\n const onClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n const element = e.target as Element;\n const { width, left: elementOffset } = element.getBoundingClientRect();\n const parentOffset = parentRef.current!.getBoundingClientRect().left;\n\n setBgOffset(Math.ceil(elementOffset - parentOffset - BORDER_CORRECTION));\n setBgWidth(Math.ceil(width + BORDER_CORRECTION));\n\n handleClick(e);\n\n if (!isTransitionEnabled) {\n setIsTransitionEnabled(true);\n }\n };\n\n const onItemRender = ({\n width,\n left: elementOffset,\n }: {\n width: number;\n left: number;\n }) => {\n const parentOffset = parentRef.current!.getBoundingClientRect().left;\n if (isTransitionEnabled) {\n setIsTransitionEnabled(false);\n }\n\n setBgOffset(Math.ceil(elementOffset - parentOffset - BORDER_CORRECTION));\n setBgWidth(Math.ceil(width + BORDER_CORRECTION));\n };\n\n return (\n <div\n ref={parentRef}\n className=\"lw-relative lw-mb-4 lw-h-full lw-overflow-hidden lw-rounded\"\n >\n <div\n className={classnames(\n 'lw-absolute lw-left-0 lw-top-0 lw-z-10 lw-h-full lw-bg-secondary',\n {\n 'lw-transition-width lw-duration-300': isTransitionEnabled,\n }\n )}\n style={{\n transform: `translateX(${bgOffset}px)`,\n width: `${bgWidth}px`,\n }}\n />\n <ul\n className=\"lw-relative lw-mx-0 lw-flex lw-h-full lw-overflow-hidden lw-rounded lw-border lw-border-secondary\"\n data-testid=\"switch\"\n >\n {items.map((item) => (\n <SwitchItem\n key={`${item.id}-item`}\n equalSize={equalSize}\n handleClick={onClick}\n handleRender={onItemRender}\n isActive={item.id === activeTab}\n item={item}\n labelCallback={labelCallback}\n />\n ))}\n </ul>\n </div>\n );\n};\n\nexport { Switch };\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ const TableCell = _ref => {
13
13
  additionalPaddingRight = false
14
14
  } = _ref;
15
15
  return React.createElement("td", {
16
- className: classnames(`lw-h-[inherit] lw-p-0 lw-font-sans ${classNames}`, {
16
+ className: classnames("lw-h-[inherit] lw-p-0 lw-font-sans ".concat(classNames), {
17
17
  'lw-text-right': type === 'number',
18
18
  'lw-text-left': type === 'text',
19
19
  'lw-text-center': type === 'textCentered'
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","names":["classnames","React","CELL_EMPTY_VALUE","Loader","LoaderSize","TableCell","_ref","type","loaderSize","md","classNames","children","isError","isLoading","additionalPaddingRight","createElement","className","size"],"sources":["../../../../src/components/Table/TableCell.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\n\nimport { CELL_EMPTY_VALUE } from '../constant';\nimport { Loader, LoaderSize } from '../Loader';\nimport type { TableCellProps } from './types';\n\nconst TableCell = ({\n type = 'number',\n loaderSize = LoaderSize.md,\n classNames = '',\n children,\n isError,\n isLoading,\n additionalPaddingRight = false,\n}: TableCellProps) => (\n <td\n className={classnames(`lw-h-[inherit] lw-p-0 lw-font-sans ${classNames}`, {\n 'lw-text-right': type === 'number',\n 'lw-text-left': type === 'text',\n 'lw-text-center': type === 'textCentered',\n })}\n data-testid=\"table-cell\"\n >\n <div\n className={classnames(\n 'lw-flex lw-h-[inherit] lw-items-center lw-px-3 lw-py-0',\n {\n 'lw-justify-end': type === 'number',\n 'lw-justify-start': type === 'text',\n 'lw-justify-center': type === 'textCentered',\n 'lw-pr-7': additionalPaddingRight && !isLoading,\n 'lw-pr-3': !additionalPaddingRight || isLoading,\n }\n )}\n >\n {isLoading && <Loader size={loaderSize} />}\n {!isLoading && !isError && children}\n {!isLoading && isError && <span>{CELL_EMPTY_VALUE}</span>}\n </div>\n </td>\n);\n\nexport { TableCell };\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,MAAM,EAAEC,UAAU,QAAQ,WAAW;AAG9C,MAAMC,SAAS,GAAGC,IAAA;EAAA,IAAC;IACjBC,IAAI,GAAG,QAAQ;IACfC,UAAU,GAAGJ,UAAU,CAACK,EAAE;IAC1BC,UAAU,GAAG,EAAE;IACfC,QAAQ;IACRC,OAAO;IACPC,SAAS;IACTC,sBAAsB,GAAG;EACX,CAAC,GAAAR,IAAA;EAAA,OACfL,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEhB,UAAU,CAAC,sCAAsCU,UAAU,EAAE,EAAE;MACxE,eAAe,EAAEH,IAAI,KAAK,QAAQ;MAClC,cAAc,EAAEA,IAAI,KAAK,MAAM;MAC/B,gBAAgB,EAAEA,IAAI,KAAK;IAC7B,CAAC,CAAE;IACH,eAAY;EAAY,GAExBN,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEhB,UAAU,CACnB,wDAAwD,EACxD;MACE,gBAAgB,EAAEO,IAAI,KAAK,QAAQ;MACnC,kBAAkB,EAAEA,IAAI,KAAK,MAAM;MACnC,mBAAmB,EAAEA,IAAI,KAAK,cAAc;MAC5C,SAAS,EAAEO,sBAAsB,IAAI,CAACD,SAAS;MAC/C,SAAS,EAAE,CAACC,sBAAsB,IAAID;IACxC,CACF;EAAE,GAEDA,SAAS,IAAIZ,KAAA,CAAAc,aAAA,CAACZ,MAAM;IAACc,IAAI,EAAET;EAAW,CAAE,CAAC,EACzC,CAACK,SAAS,IAAI,CAACD,OAAO,IAAID,QAAQ,EAClC,CAACE,SAAS,IAAID,OAAO,IAAIX,KAAA,CAAAc,aAAA,eAAOb,gBAAuB,CACrD,CACH,CAAC;AAAA,CACN;AAED,SAASG,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"TableCell.js","names":["classnames","React","CELL_EMPTY_VALUE","Loader","LoaderSize","TableCell","_ref","type","loaderSize","md","classNames","children","isError","isLoading","additionalPaddingRight","createElement","className","concat","size"],"sources":["../../../../src/components/Table/TableCell.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\n\nimport { CELL_EMPTY_VALUE } from '../constant';\nimport { Loader, LoaderSize } from '../Loader';\nimport type { TableCellProps } from './types';\n\nconst TableCell = ({\n type = 'number',\n loaderSize = LoaderSize.md,\n classNames = '',\n children,\n isError,\n isLoading,\n additionalPaddingRight = false,\n}: TableCellProps) => (\n <td\n className={classnames(`lw-h-[inherit] lw-p-0 lw-font-sans ${classNames}`, {\n 'lw-text-right': type === 'number',\n 'lw-text-left': type === 'text',\n 'lw-text-center': type === 'textCentered',\n })}\n data-testid=\"table-cell\"\n >\n <div\n className={classnames(\n 'lw-flex lw-h-[inherit] lw-items-center lw-px-3 lw-py-0',\n {\n 'lw-justify-end': type === 'number',\n 'lw-justify-start': type === 'text',\n 'lw-justify-center': type === 'textCentered',\n 'lw-pr-7': additionalPaddingRight && !isLoading,\n 'lw-pr-3': !additionalPaddingRight || isLoading,\n }\n )}\n >\n {isLoading && <Loader size={loaderSize} />}\n {!isLoading && !isError && children}\n {!isLoading && isError && <span>{CELL_EMPTY_VALUE}</span>}\n </div>\n </td>\n);\n\nexport { TableCell };\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,MAAM,EAAEC,UAAU,QAAQ,WAAW;AAG9C,MAAMC,SAAS,GAAGC,IAAA;EAAA,IAAC;IACjBC,IAAI,GAAG,QAAQ;IACfC,UAAU,GAAGJ,UAAU,CAACK,EAAE;IAC1BC,UAAU,GAAG,EAAE;IACfC,QAAQ;IACRC,OAAO;IACPC,SAAS;IACTC,sBAAsB,GAAG;EACX,CAAC,GAAAR,IAAA;EAAA,OACfL,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEhB,UAAU,uCAAAiB,MAAA,CAAuCP,UAAU,GAAI;MACxE,eAAe,EAAEH,IAAI,KAAK,QAAQ;MAClC,cAAc,EAAEA,IAAI,KAAK,MAAM;MAC/B,gBAAgB,EAAEA,IAAI,KAAK;IAC7B,CAAC,CAAE;IACH,eAAY;EAAY,GAExBN,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEhB,UAAU,CACnB,wDAAwD,EACxD;MACE,gBAAgB,EAAEO,IAAI,KAAK,QAAQ;MACnC,kBAAkB,EAAEA,IAAI,KAAK,MAAM;MACnC,mBAAmB,EAAEA,IAAI,KAAK,cAAc;MAC5C,SAAS,EAAEO,sBAAsB,IAAI,CAACD,SAAS;MAC/C,SAAS,EAAE,CAACC,sBAAsB,IAAID;IACxC,CACF;EAAE,GAEDA,SAAS,IAAIZ,KAAA,CAAAc,aAAA,CAACZ,MAAM;IAACe,IAAI,EAAEV;EAAW,CAAE,CAAC,EACzC,CAACK,SAAS,IAAI,CAACD,OAAO,IAAID,QAAQ,EAClC,CAACE,SAAS,IAAID,OAAO,IAAIX,KAAA,CAAAc,aAAA,eAAOb,gBAAuB,CACrD,CACH,CAAC;AAAA,CACN;AAED,SAASG,SAAS","ignoreList":[]}
@@ -28,7 +28,7 @@ const TableHeader = _ref => {
28
28
  }
29
29
  } = _ref2;
30
30
  return React.createElement("th", {
31
- key: `table-header-${displayName}`,
31
+ key: "table-header-".concat(displayName),
32
32
  className: cn('lw-px-3 lw-py-0 lw-font-sans lw-text-sm lw-tracking-normal lw-font-semibold', {
33
33
  'lw-sticky lw-left-0 lw-pr-3': !isError && index === 0,
34
34
  'lw-bg-whiteWithShadow': !isDark && !isError && isScrolled && index === 0,
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.js","names":["useLocale","React","useLayoutProvider","cn","TableHeader","_ref","columns","isScrolled","isError","isDark","lang","createElement","className","map","_ref2","index","displayName","additionalStyles","align","minWidth","paddingRight","key","style"],"sources":["../../../../src/components/Table/TableHeader.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { TableHeaderProps } from './types';\n\nconst TableHeader = ({ columns, isScrolled, isError }: TableHeaderProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <thead data-testid=\"table-header\">\n <tr className=\"lw-h-11 lw-bg-bg-primary lw-text-text-primary\">\n {columns.map(\n (\n {\n displayName,\n additionalStyles: { align, minWidth, paddingRight },\n },\n index\n ) => (\n <th\n key={`table-header-${displayName}`}\n className={cn(\n 'lw-px-3 lw-py-0 lw-font-sans lw-text-sm lw-tracking-normal lw-font-semibold',\n {\n 'lw-sticky lw-left-0 lw-pr-3': !isError && index === 0,\n 'lw-bg-whiteWithShadow':\n !isDark && !isError && isScrolled && index === 0,\n 'lw-bg-bg-primary':\n isDark && !isError && isScrolled && index === 0,\n }\n )}\n >\n <div\n className={cn(\n align === 'right' && 'lw-text-right',\n align === 'left' && 'lw-text-left',\n align === 'center' && 'lw-text-center',\n paddingRight && 'lw-pr-4'\n )}\n style={{ minWidth }}\n >\n {lang(displayName)}\n </div>\n </th>\n )\n )}\n </tr>\n </thead>\n );\n};\n\nexport { TableHeader };\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,iBAAiB,QAAQ,iBAAiB;AACnD,SAASC,EAAE,QAAQ,gBAAgB;AAGnC,MAAMC,WAAW,GAAGC,IAAA,IAAwD;EAAA,IAAvD;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAA0B,CAAC,GAAAH,IAAA;EACrE,MAAM;IAAEI;EAAO,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACtC,MAAM;IAAEQ;EAAK,CAAC,GAAGV,SAAS,CAAC,CAAC;EAE5B,OACEC,KAAA,CAAAU,aAAA;IAAO,eAAY;EAAc,GAC/BV,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC;EAA+C,GAC1DN,OAAO,CAACO,GAAG,CACV,CAAAC,KAAA,EAKEC,KAAK;IAAA,IAJL;MACEC,WAAW;MACXC,gBAAgB,EAAE;QAAEC,KAAK;QAAEC,QAAQ;QAAEC;MAAa;IACpD,CAAC,GAAAN,KAAA;IAAA,OAGDb,KAAA,CAAAU,aAAA;MACEU,GAAG,EAAE,gBAAgBL,WAAW,EAAG;MACnCJ,SAAS,EAAET,EAAE,CACX,6EAA6E,EAC7E;QACE,6BAA6B,EAAE,CAACK,OAAO,IAAIO,KAAK,KAAK,CAAC;QACtD,uBAAuB,EACrB,CAACN,MAAM,IAAI,CAACD,OAAO,IAAID,UAAU,IAAIQ,KAAK,KAAK,CAAC;QAClD,kBAAkB,EAChBN,MAAM,IAAI,CAACD,OAAO,IAAID,UAAU,IAAIQ,KAAK,KAAK;MAClD,CACF;IAAE,GAEFd,KAAA,CAAAU,aAAA;MACEC,SAAS,EAAET,EAAE,CACXe,KAAK,KAAK,OAAO,IAAI,eAAe,EACpCA,KAAK,KAAK,MAAM,IAAI,cAAc,EAClCA,KAAK,KAAK,QAAQ,IAAI,gBAAgB,EACtCE,YAAY,IAAI,SAClB,CAAE;MACFE,KAAK,EAAE;QAAEH;MAAS;IAAE,GAEnBT,IAAI,CAACM,WAAW,CACd,CACH,CAAC;EAAA,CAET,CACE,CACC,CAAC;AAEZ,CAAC;AAED,SAASZ,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"TableHeader.js","names":["useLocale","React","useLayoutProvider","cn","TableHeader","_ref","columns","isScrolled","isError","isDark","lang","createElement","className","map","_ref2","index","displayName","additionalStyles","align","minWidth","paddingRight","key","concat","style"],"sources":["../../../../src/components/Table/TableHeader.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { TableHeaderProps } from './types';\n\nconst TableHeader = ({ columns, isScrolled, isError }: TableHeaderProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <thead data-testid=\"table-header\">\n <tr className=\"lw-h-11 lw-bg-bg-primary lw-text-text-primary\">\n {columns.map(\n (\n {\n displayName,\n additionalStyles: { align, minWidth, paddingRight },\n },\n index\n ) => (\n <th\n key={`table-header-${displayName}`}\n className={cn(\n 'lw-px-3 lw-py-0 lw-font-sans lw-text-sm lw-tracking-normal lw-font-semibold',\n {\n 'lw-sticky lw-left-0 lw-pr-3': !isError && index === 0,\n 'lw-bg-whiteWithShadow':\n !isDark && !isError && isScrolled && index === 0,\n 'lw-bg-bg-primary':\n isDark && !isError && isScrolled && index === 0,\n }\n )}\n >\n <div\n className={cn(\n align === 'right' && 'lw-text-right',\n align === 'left' && 'lw-text-left',\n align === 'center' && 'lw-text-center',\n paddingRight && 'lw-pr-4'\n )}\n style={{ minWidth }}\n >\n {lang(displayName)}\n </div>\n </th>\n )\n )}\n </tr>\n </thead>\n );\n};\n\nexport { TableHeader };\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,iBAAiB,QAAQ,iBAAiB;AACnD,SAASC,EAAE,QAAQ,gBAAgB;AAGnC,MAAMC,WAAW,GAAGC,IAAA,IAAwD;EAAA,IAAvD;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAA0B,CAAC,GAAAH,IAAA;EACrE,MAAM;IAAEI;EAAO,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACtC,MAAM;IAAEQ;EAAK,CAAC,GAAGV,SAAS,CAAC,CAAC;EAE5B,OACEC,KAAA,CAAAU,aAAA;IAAO,eAAY;EAAc,GAC/BV,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC;EAA+C,GAC1DN,OAAO,CAACO,GAAG,CACV,CAAAC,KAAA,EAKEC,KAAK;IAAA,IAJL;MACEC,WAAW;MACXC,gBAAgB,EAAE;QAAEC,KAAK;QAAEC,QAAQ;QAAEC;MAAa;IACpD,CAAC,GAAAN,KAAA;IAAA,OAGDb,KAAA,CAAAU,aAAA;MACEU,GAAG,kBAAAC,MAAA,CAAkBN,WAAW,CAAG;MACnCJ,SAAS,EAAET,EAAE,CACX,6EAA6E,EAC7E;QACE,6BAA6B,EAAE,CAACK,OAAO,IAAIO,KAAK,KAAK,CAAC;QACtD,uBAAuB,EACrB,CAACN,MAAM,IAAI,CAACD,OAAO,IAAID,UAAU,IAAIQ,KAAK,KAAK,CAAC;QAClD,kBAAkB,EAChBN,MAAM,IAAI,CAACD,OAAO,IAAID,UAAU,IAAIQ,KAAK,KAAK;MAClD,CACF;IAAE,GAEFd,KAAA,CAAAU,aAAA;MACEC,SAAS,EAAET,EAAE,CACXe,KAAK,KAAK,OAAO,IAAI,eAAe,EACpCA,KAAK,KAAK,MAAM,IAAI,cAAc,EAClCA,KAAK,KAAK,QAAQ,IAAI,gBAAgB,EACtCE,YAAY,IAAI,SAClB,CAAE;MACFG,KAAK,EAAE;QAAEJ;MAAS;IAAE,GAEnBT,IAAI,CAACM,WAAW,CACd,CACH,CAAC;EAAA,CAET,CACE,CACC,CAAC;AAEZ,CAAC;AAED,SAASZ,WAAW","ignoreList":[]}
@@ -6,6 +6,7 @@ import { LineChartCardRow } from '../Card/rows';
6
6
  import { Truncate } from '../Truncate';
7
7
  import { CardRenderer } from './CardRenderer';
8
8
  export const CardRecordRow = _ref => {
9
+ var _record$chart;
9
10
  let {
10
11
  record,
11
12
  target,
@@ -33,7 +34,7 @@ export const CardRecordRow = _ref => {
33
34
  tooltipId: tooltipId
34
35
  })
35
36
  }, activeColumns.includes(DataRecordType.CHART) && React.createElement(LineChartCardRow, {
36
- chart: record.chart ?? [],
37
+ chart: (_record$chart = record.chart) !== null && _record$chart !== void 0 ? _record$chart : [],
37
38
  isLoading: !!isChartLoading,
38
39
  percentChange: updatedRecord.dailyPercentChange
39
40
  })), React.createElement(CardRenderer, {
@@ -1 +1 @@
1
- {"version":3,"file":"CardRecordRow.js","names":["React","useVisibleLiveDataRecord","DataRecordType","Card","CardHeader","LineChartCardRow","Truncate","CardRenderer","CardRecordRow","_ref","record","target","isLast","isLoading","isChartLoading","activeColumns","tooltipId","index","updatedRecord","error","ref","instrument","createElement","withoutBottomBorder","number","title","text","displayName","includes","CHART","chart","percentChange","dailyPercentChange","isError"],"sources":["../../../../src/components/TableWidget/CardRecordRow.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVisibleLiveDataRecord } from '../../hooks';\nimport type { DataRecord, EmptyRecord } from '../../types';\nimport { DataRecordType } from '../../types';\nimport { Card, CardHeader } from '../Card';\nimport { LineChartCardRow } from '../Card/rows';\nimport { Truncate } from '../Truncate';\nimport { CardRenderer } from './CardRenderer';\n\nexport interface DataRecordRowProps {\n record: DataRecord | EmptyRecord;\n target: EventTarget | null;\n activeColumns: DataRecordType[];\n isLast?: boolean;\n isLoading?: boolean;\n isChartLoading?: boolean;\n tooltipId: string;\n index: number;\n}\n\nexport const CardRecordRow = ({\n record,\n target,\n isLast,\n isLoading,\n isChartLoading,\n activeColumns,\n tooltipId,\n index,\n}: DataRecordRowProps) => {\n const { updatedRecord, error, ref } = useVisibleLiveDataRecord(\n record,\n record.instrument ? target : null\n );\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={<Truncate text={record.displayName} tooltipId={tooltipId} />}\n >\n {activeColumns.includes(DataRecordType.CHART) && (\n <LineChartCardRow\n chart={record.chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={updatedRecord.dailyPercentChange}\n />\n )}\n </CardHeader>\n <CardRenderer\n activeColumns={activeColumns}\n isError={!!error}\n isLoading={isLoading}\n record={updatedRecord}\n />\n </Card>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,wBAAwB,QAAQ,aAAa;AAEtD,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,IAAI,EAAEC,UAAU,QAAQ,SAAS;AAC1C,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,YAAY,QAAQ,gBAAgB;AAa7C,OAAO,MAAMC,aAAa,GAAGC,IAAA,IASH;EAAA,IATI;IAC5BC,MAAM;IACNC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,SAAS;IACTC;EACkB,CAAC,GAAAR,IAAA;EACnB,MAAM;IAAES,aAAa;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGnB,wBAAwB,CAC5DS,MAAM,EACNA,MAAM,CAACW,UAAU,GAAGV,MAAM,GAAG,IAC/B,CAAC;EAED,OACEX,KAAA,CAAAsB,aAAA,CAACnB,IAAI;IAACiB,GAAG,EAAEA,GAAI;IAAC,eAAY,MAAM;IAACG,mBAAmB,EAAE,CAACX;EAAO,GAC9DZ,KAAA,CAAAsB,aAAA,CAAClB,UAAU;IACTS,SAAS,EAAEA,SAAU;IACrBW,MAAM,EAAEP,KAAM;IACdQ,KAAK,EAAEzB,KAAA,CAAAsB,aAAA,CAAChB,QAAQ;MAACoB,IAAI,EAAEhB,MAAM,CAACiB,WAAY;MAACX,SAAS,EAAEA;IAAU,CAAE;EAAE,GAEnED,aAAa,CAACa,QAAQ,CAAC1B,cAAc,CAAC2B,KAAK,CAAC,IAC3C7B,KAAA,CAAAsB,aAAA,CAACjB,gBAAgB;IACfyB,KAAK,EAAEpB,MAAM,CAACoB,KAAK,IAAI,EAAG;IAC1BjB,SAAS,EAAE,CAAC,CAACC,cAAe;IAC5BiB,aAAa,EAAEb,aAAa,CAACc;EAAmB,CACjD,CAEO,CAAC,EACbhC,KAAA,CAAAsB,aAAA,CAACf,YAAY;IACXQ,aAAa,EAAEA,aAAc;IAC7BkB,OAAO,EAAE,CAAC,CAACd,KAAM;IACjBN,SAAS,EAAEA,SAAU;IACrBH,MAAM,EAAEQ;EAAc,CACvB,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CardRecordRow.js","names":["React","useVisibleLiveDataRecord","DataRecordType","Card","CardHeader","LineChartCardRow","Truncate","CardRenderer","CardRecordRow","_ref","_record$chart","record","target","isLast","isLoading","isChartLoading","activeColumns","tooltipId","index","updatedRecord","error","ref","instrument","createElement","withoutBottomBorder","number","title","text","displayName","includes","CHART","chart","percentChange","dailyPercentChange","isError"],"sources":["../../../../src/components/TableWidget/CardRecordRow.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useVisibleLiveDataRecord } from '../../hooks';\nimport type { DataRecord, EmptyRecord } from '../../types';\nimport { DataRecordType } from '../../types';\nimport { Card, CardHeader } from '../Card';\nimport { LineChartCardRow } from '../Card/rows';\nimport { Truncate } from '../Truncate';\nimport { CardRenderer } from './CardRenderer';\n\nexport interface DataRecordRowProps {\n record: DataRecord | EmptyRecord;\n target: EventTarget | null;\n activeColumns: DataRecordType[];\n isLast?: boolean;\n isLoading?: boolean;\n isChartLoading?: boolean;\n tooltipId: string;\n index: number;\n}\n\nexport const CardRecordRow = ({\n record,\n target,\n isLast,\n isLoading,\n isChartLoading,\n activeColumns,\n tooltipId,\n index,\n}: DataRecordRowProps) => {\n const { updatedRecord, error, ref } = useVisibleLiveDataRecord(\n record,\n record.instrument ? target : null\n );\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={<Truncate text={record.displayName} tooltipId={tooltipId} />}\n >\n {activeColumns.includes(DataRecordType.CHART) && (\n <LineChartCardRow\n chart={record.chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={updatedRecord.dailyPercentChange}\n />\n )}\n </CardHeader>\n <CardRenderer\n activeColumns={activeColumns}\n isError={!!error}\n isLoading={isLoading}\n record={updatedRecord}\n />\n </Card>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,wBAAwB,QAAQ,aAAa;AAEtD,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,IAAI,EAAEC,UAAU,QAAQ,SAAS;AAC1C,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,YAAY,QAAQ,gBAAgB;AAa7C,OAAO,MAAMC,aAAa,GAAGC,IAAA,IASH;EAAA,IAAAC,aAAA;EAAA,IATI;IAC5BC,MAAM;IACNC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,SAAS;IACTC;EACkB,CAAC,GAAAT,IAAA;EACnB,MAAM;IAAEU,aAAa;IAAEC,KAAK;IAAEC;EAAI,CAAC,GAAGpB,wBAAwB,CAC5DU,MAAM,EACNA,MAAM,CAACW,UAAU,GAAGV,MAAM,GAAG,IAC/B,CAAC;EAED,OACEZ,KAAA,CAAAuB,aAAA,CAACpB,IAAI;IAACkB,GAAG,EAAEA,GAAI;IAAC,eAAY,MAAM;IAACG,mBAAmB,EAAE,CAACX;EAAO,GAC9Db,KAAA,CAAAuB,aAAA,CAACnB,UAAU;IACTU,SAAS,EAAEA,SAAU;IACrBW,MAAM,EAAEP,KAAM;IACdQ,KAAK,EAAE1B,KAAA,CAAAuB,aAAA,CAACjB,QAAQ;MAACqB,IAAI,EAAEhB,MAAM,CAACiB,WAAY;MAACX,SAAS,EAAEA;IAAU,CAAE;EAAE,GAEnED,aAAa,CAACa,QAAQ,CAAC3B,cAAc,CAAC4B,KAAK,CAAC,IAC3C9B,KAAA,CAAAuB,aAAA,CAAClB,gBAAgB;IACf0B,KAAK,GAAArB,aAAA,GAAEC,MAAM,CAACoB,KAAK,cAAArB,aAAA,cAAAA,aAAA,GAAI,EAAG;IAC1BI,SAAS,EAAE,CAAC,CAACC,cAAe;IAC5BiB,aAAa,EAAEb,aAAa,CAACc;EAAmB,CACjD,CAEO,CAAC,EACbjC,KAAA,CAAAuB,aAAA,CAAChB,YAAY;IACXS,aAAa,EAAEA,aAAc;IAC7BkB,OAAO,EAAE,CAAC,CAACd,KAAM;IACjBN,SAAS,EAAEA,SAAU;IACrBH,MAAM,EAAEQ;EAAc,CACvB,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -47,8 +47,11 @@ export const CardRenderer = _ref => {
47
47
  sentiment: record.sentiment
48
48
  })
49
49
  };
50
- return activeColumns.map(item => React.createElement(React.Fragment, {
51
- key: item
52
- }, allColumns[item]?.() ?? null));
50
+ return activeColumns.map(item => {
51
+ var _allColumns$item, _allColumns$item2;
52
+ return React.createElement(React.Fragment, {
53
+ key: item
54
+ }, (_allColumns$item = (_allColumns$item2 = allColumns[item]) === null || _allColumns$item2 === void 0 ? void 0 : _allColumns$item2.call(allColumns)) !== null && _allColumns$item !== void 0 ? _allColumns$item : null);
55
+ });
53
56
  };
54
57
  //# sourceMappingURL=CardRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardRenderer.js","names":["useLocale","React","DataRecordType","DailyChangeCardRow","PriceCardRow","SentimentCardRow","SpreadCardRow","CardRenderer","_ref","activeColumns","record","isError","isLoading","lang","allColumns","SELL","createElement","displayPrecision","label","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","dailyPercentChange","SPREAD","value","spread","SENTIMENT","sentiment","map","item","Fragment","key"],"sources":["../../../../src/components/TableWidget/CardRenderer.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\nimport { DataRecordType } from '../../types';\nimport {\n DailyChangeCardRow,\n PriceCardRow,\n SentimentCardRow,\n SpreadCardRow,\n} from '../Card/rows';\n\ninterface CardRendererProps {\n record: DataRecord | EmptyRecord;\n isLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const CardRenderer = ({\n activeColumns,\n record,\n isError,\n isLoading,\n}: CardRendererProps) => {\n const { lang } = useLocale();\n\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceCardRow\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n label={lang('sell_price')}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceCardRow\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n label={lang('buy_price')}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeCardRow\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n label={lang('daily_percent_change')}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadCardRow\n isError={isError}\n isLoading={isLoading}\n label={lang('spread')}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentCardRow\n isLoading={isLoading}\n label={lang('sentiment')}\n sentiment={record.sentiment}\n />\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,aAAa;AAC5C,SACEC,kBAAkB,EAClBC,YAAY,EACZC,gBAAgB,EAChBC,aAAa,QACR,cAAc;AASrB,OAAO,MAAMC,YAAY,GAAGC,IAAA,IAKH;EAAA,IALI;IAC3BC,aAAa;IACbC,MAAM;IACNC,OAAO;IACPC;EACiB,CAAC,GAAAJ,IAAA;EAClB,MAAM;IAAEK;EAAK,CAAC,GAAGb,SAAS,CAAC,CAAC;EAE5B,MAAMc,UAA8D,GAAG;IACrE,CAACZ,cAAc,CAACa,IAAI,GAAG,MACrBd,KAAA,CAAAe,aAAA,CAACZ,YAAY;MACXa,gBAAgB,EAAEP,MAAM,CAACO,gBAAiB;MAC1CN,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,YAAY,CAAE;MAC1BM,KAAK,EAAET,MAAM,CAACU,IAAK;MACnBC,aAAa,EAAEX,MAAM,CAACY;IAAkB,CACzC,CACF;IACD,CAACpB,cAAc,CAACqB,GAAG,GAAG,MACpBtB,KAAA,CAAAe,aAAA,CAACZ,YAAY;MACXa,gBAAgB,EAAEP,MAAM,CAACO,gBAAiB;MAC1CN,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,WAAW,CAAE;MACzBM,KAAK,EAAET,MAAM,CAACc,GAAI;MAClBH,aAAa,EAAEX,MAAM,CAACe;IAAiB,CACxC,CACF;IACD,CAACvB,cAAc,CAACwB,YAAY,GAAG,MAC7BzB,KAAA,CAAAe,aAAA,CAACb,kBAAkB;MACjBwB,kBAAkB,EAAEjB,MAAM,CAACiB,kBAAmB;MAC9ChB,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,sBAAsB;IAAE,CACrC,CACF;IACD,CAACX,cAAc,CAAC0B,MAAM,GAAG,MACvB3B,KAAA,CAAAe,aAAA,CAACV,aAAa;MACZK,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,QAAQ,CAAE;MACtBgB,KAAK,EAAEnB,MAAM,CAACoB;IAAO,CACtB,CACF;IACD,CAAC5B,cAAc,CAAC6B,SAAS,GAAG,MAC1B9B,KAAA,CAAAe,aAAA,CAACX,gBAAgB;MACfO,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,WAAW,CAAE;MACzBmB,SAAS,EAAEtB,MAAM,CAACsB;IAAU,CAC7B;EAEL,CAAC;EAED,OAAOvB,aAAa,CAACwB,GAAG,CAAEC,IAAI,IAC5BjC,KAAA,CAAAe,aAAA,CAACf,KAAK,CAACkC,QAAQ;IAACC,GAAG,EAAEF;EAAK,GAAEpB,UAAU,CAACoB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAqB,CAC1E,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CardRenderer.js","names":["useLocale","React","DataRecordType","DailyChangeCardRow","PriceCardRow","SentimentCardRow","SpreadCardRow","CardRenderer","_ref","activeColumns","record","isError","isLoading","lang","allColumns","SELL","createElement","displayPrecision","label","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","dailyPercentChange","SPREAD","value","spread","SENTIMENT","sentiment","map","item","_allColumns$item","_allColumns$item2","Fragment","key","call"],"sources":["../../../../src/components/TableWidget/CardRenderer.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\nimport { DataRecordType } from '../../types';\nimport {\n DailyChangeCardRow,\n PriceCardRow,\n SentimentCardRow,\n SpreadCardRow,\n} from '../Card/rows';\n\ninterface CardRendererProps {\n record: DataRecord | EmptyRecord;\n isLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const CardRenderer = ({\n activeColumns,\n record,\n isError,\n isLoading,\n}: CardRendererProps) => {\n const { lang } = useLocale();\n\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceCardRow\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n label={lang('sell_price')}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceCardRow\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n label={lang('buy_price')}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeCardRow\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n label={lang('daily_percent_change')}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadCardRow\n isError={isError}\n isLoading={isLoading}\n label={lang('spread')}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentCardRow\n isLoading={isLoading}\n label={lang('sentiment')}\n sentiment={record.sentiment}\n />\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAGzB,SAASC,cAAc,QAAQ,aAAa;AAC5C,SACEC,kBAAkB,EAClBC,YAAY,EACZC,gBAAgB,EAChBC,aAAa,QACR,cAAc;AASrB,OAAO,MAAMC,YAAY,GAAGC,IAAA,IAKH;EAAA,IALI;IAC3BC,aAAa;IACbC,MAAM;IACNC,OAAO;IACPC;EACiB,CAAC,GAAAJ,IAAA;EAClB,MAAM;IAAEK;EAAK,CAAC,GAAGb,SAAS,CAAC,CAAC;EAE5B,MAAMc,UAA8D,GAAG;IACrE,CAACZ,cAAc,CAACa,IAAI,GAAG,MACrBd,KAAA,CAAAe,aAAA,CAACZ,YAAY;MACXa,gBAAgB,EAAEP,MAAM,CAACO,gBAAiB;MAC1CN,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,YAAY,CAAE;MAC1BM,KAAK,EAAET,MAAM,CAACU,IAAK;MACnBC,aAAa,EAAEX,MAAM,CAACY;IAAkB,CACzC,CACF;IACD,CAACpB,cAAc,CAACqB,GAAG,GAAG,MACpBtB,KAAA,CAAAe,aAAA,CAACZ,YAAY;MACXa,gBAAgB,EAAEP,MAAM,CAACO,gBAAiB;MAC1CN,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,WAAW,CAAE;MACzBM,KAAK,EAAET,MAAM,CAACc,GAAI;MAClBH,aAAa,EAAEX,MAAM,CAACe;IAAiB,CACxC,CACF;IACD,CAACvB,cAAc,CAACwB,YAAY,GAAG,MAC7BzB,KAAA,CAAAe,aAAA,CAACb,kBAAkB;MACjBwB,kBAAkB,EAAEjB,MAAM,CAACiB,kBAAmB;MAC9ChB,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,sBAAsB;IAAE,CACrC,CACF;IACD,CAACX,cAAc,CAAC0B,MAAM,GAAG,MACvB3B,KAAA,CAAAe,aAAA,CAACV,aAAa;MACZK,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,QAAQ,CAAE;MACtBgB,KAAK,EAAEnB,MAAM,CAACoB;IAAO,CACtB,CACF;IACD,CAAC5B,cAAc,CAAC6B,SAAS,GAAG,MAC1B9B,KAAA,CAAAe,aAAA,CAACX,gBAAgB;MACfO,SAAS,EAAEA,SAAU;MACrBM,KAAK,EAAEL,IAAI,CAAC,WAAW,CAAE;MACzBmB,SAAS,EAAEtB,MAAM,CAACsB;IAAU,CAC7B;EAEL,CAAC;EAED,OAAOvB,aAAa,CAACwB,GAAG,CAAEC,IAAI;IAAA,IAAAC,gBAAA,EAAAC,iBAAA;IAAA,OAC5BnC,KAAA,CAAAe,aAAA,CAACf,KAAK,CAACoC,QAAQ;MAACC,GAAG,EAAEJ;IAAK,IAAAC,gBAAA,IAAAC,iBAAA,GAAEtB,UAAU,CAACoB,IAAI,CAAC,cAAAE,iBAAA,uBAAhBA,iBAAA,CAAAG,IAAA,CAAAzB,UAAmB,CAAC,cAAAqB,gBAAA,cAAAA,gBAAA,GAAI,IAAqB,CAAC;EAAA,CAC3E,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -15,7 +15,7 @@ export const Cards = _ref => {
15
15
  }, React.createElement(ChartError, null)));
16
16
  }
17
17
  return React.createElement(React.Fragment, null, recordsOrEmptyRecords.map((record, index) => React.createElement("div", {
18
- key: `card_${startIndex + index}`
18
+ key: "card_".concat(startIndex + index)
19
19
  }, renderCard({
20
20
  record,
21
21
  idx: startIndex + index + 1,
@@ -1 +1 @@
1
- {"version":3,"file":"Cards.js","names":["Card","ChartError","React","Cards","_ref","records","isError","emptyCardsCount","renderCard","startIndex","recordsOrEmptyRecords","length","Array","fill","createElement","className","Fragment","map","record","index","key","idx","isLast"],"sources":["../../../../src/components/TableWidget/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\n\ninterface CardsProps {\n records: DataRecord[];\n isError?: boolean;\n emptyCardsCount?: number;\n startIndex?: number;\n renderCard: ({\n record,\n idx,\n isLast,\n }: {\n record: DataRecord | EmptyRecord;\n idx: number;\n isLast: boolean;\n }) => React.ReactNode;\n}\n\nexport const Cards = ({\n records,\n isError,\n emptyCardsCount,\n renderCard,\n startIndex = 0,\n}: CardsProps) => {\n const recordsOrEmptyRecords: DataRecord[] | EmptyRecord[] =\n records.length > 0 ? records : new Array(emptyCardsCount).fill({});\n\n if (isError) {\n return (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n );\n }\n\n return (\n <>\n {recordsOrEmptyRecords.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n {renderCard({\n record,\n idx: startIndex + index + 1,\n isLast: index + 1 === recordsOrEmptyRecords.length,\n })}\n </div>\n ))}\n </>\n );\n};\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AAC5D,OAAOC,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,KAAK,GAAGC,IAAA,IAMH;EAAA,IANI;IACpBC,OAAO;IACPC,OAAO;IACPC,eAAe;IACfC,UAAU;IACVC,UAAU,GAAG;EACH,CAAC,GAAAL,IAAA;EACX,MAAMM,qBAAmD,GACvDL,OAAO,CAACM,MAAM,GAAG,CAAC,GAAGN,OAAO,GAAG,IAAIO,KAAK,CAACL,eAAe,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;EAEpE,IAAIP,OAAO,EAAE;IACX,OACEJ,KAAA,CAAAY,aAAA,CAACd,IAAI,QACHE,KAAA,CAAAY,aAAA;MAAKC,SAAS,EAAC;IAAkE,GAC/Eb,KAAA,CAAAY,aAAA,CAACb,UAAU,MAAE,CACV,CACD,CAAC;EAEX;EAEA,OACEC,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAc,QAAA,QACGN,qBAAqB,CAACO,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACvCjB,KAAA,CAAAY,aAAA;IAAKM,GAAG,EAAE,QAAQX,UAAU,GAAGU,KAAK;EAAG,GACpCX,UAAU,CAAC;IACVU,MAAM;IACNG,GAAG,EAAEZ,UAAU,GAAGU,KAAK,GAAG,CAAC;IAC3BG,MAAM,EAAEH,KAAK,GAAG,CAAC,KAAKT,qBAAqB,CAACC;EAC9C,CAAC,CACE,CACN,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Cards.js","names":["Card","ChartError","React","Cards","_ref","records","isError","emptyCardsCount","renderCard","startIndex","recordsOrEmptyRecords","length","Array","fill","createElement","className","Fragment","map","record","index","key","concat","idx","isLast"],"sources":["../../../../src/components/TableWidget/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport type { DataRecord, EmptyRecord } from '../../types';\n\ninterface CardsProps {\n records: DataRecord[];\n isError?: boolean;\n emptyCardsCount?: number;\n startIndex?: number;\n renderCard: ({\n record,\n idx,\n isLast,\n }: {\n record: DataRecord | EmptyRecord;\n idx: number;\n isLast: boolean;\n }) => React.ReactNode;\n}\n\nexport const Cards = ({\n records,\n isError,\n emptyCardsCount,\n renderCard,\n startIndex = 0,\n}: CardsProps) => {\n const recordsOrEmptyRecords: DataRecord[] | EmptyRecord[] =\n records.length > 0 ? records : new Array(emptyCardsCount).fill({});\n\n if (isError) {\n return (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n );\n }\n\n return (\n <>\n {recordsOrEmptyRecords.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n {renderCard({\n record,\n idx: startIndex + index + 1,\n isLast: index + 1 === recordsOrEmptyRecords.length,\n })}\n </div>\n ))}\n </>\n );\n};\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AAC5D,OAAOC,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,KAAK,GAAGC,IAAA,IAMH;EAAA,IANI;IACpBC,OAAO;IACPC,OAAO;IACPC,eAAe;IACfC,UAAU;IACVC,UAAU,GAAG;EACH,CAAC,GAAAL,IAAA;EACX,MAAMM,qBAAmD,GACvDL,OAAO,CAACM,MAAM,GAAG,CAAC,GAAGN,OAAO,GAAG,IAAIO,KAAK,CAACL,eAAe,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;EAEpE,IAAIP,OAAO,EAAE;IACX,OACEJ,KAAA,CAAAY,aAAA,CAACd,IAAI,QACHE,KAAA,CAAAY,aAAA;MAAKC,SAAS,EAAC;IAAkE,GAC/Eb,KAAA,CAAAY,aAAA,CAACb,UAAU,MAAE,CACV,CACD,CAAC;EAEX;EAEA,OACEC,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAc,QAAA,QACGN,qBAAqB,CAACO,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACvCjB,KAAA,CAAAY,aAAA;IAAKM,GAAG,UAAAC,MAAA,CAAUZ,UAAU,GAAGU,KAAK;EAAG,GACpCX,UAAU,CAAC;IACVU,MAAM;IACNI,GAAG,EAAEb,UAAU,GAAGU,KAAK,GAAG,CAAC;IAC3BI,MAAM,EAAEJ,KAAK,GAAG,CAAC,KAAKT,qBAAqB,CAACC;EAC9C,CAAC,CACE,CACN,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -34,7 +34,7 @@ export const ColumnRenderer = _ref => {
34
34
  isLoading: isLoading
35
35
  }),
36
36
  [DataRecordType.CHART]: () => React.createElement(ChartColumn, {
37
- chart: chart ?? [],
37
+ chart: chart !== null && chart !== void 0 ? chart : [],
38
38
  isLoading: !!isChartLoading,
39
39
  percentChange: record.dailyPercentChange
40
40
  }),
@@ -74,8 +74,11 @@ export const ColumnRenderer = _ref => {
74
74
  loaderSize: LoaderSize.sm
75
75
  }, React.createElement("span", null, record.tradeMode))
76
76
  };
77
- return activeColumns.map(item => React.createElement(React.Fragment, {
78
- key: item
79
- }, allColumns[item]?.() ?? null));
77
+ return activeColumns.map(item => {
78
+ var _allColumns$item, _allColumns$item2;
79
+ return React.createElement(React.Fragment, {
80
+ key: item
81
+ }, (_allColumns$item = (_allColumns$item2 = allColumns[item]) === null || _allColumns$item2 === void 0 ? void 0 : _allColumns$item2.call(allColumns)) !== null && _allColumns$item !== void 0 ? _allColumns$item : null);
82
+ });
80
83
  };
81
84
  //# sourceMappingURL=ColumnRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnRenderer.js","names":["React","DataRecordType","LoaderSize","ChartColumn","DailyChangeColumn","PriceColumn","SentimentColumn","SpreadColumn","TableCell","ColumnRenderer","_ref","record","isLoading","isChartLoading","isError","activeColumns","chart","allColumns","SELL","createElement","column","displayPrecision","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","dailyPercentChange","CHART","percentChange","SPREAD","value","spread","SENTIMENT","sentiment","HIGH","key","high","undefined","loaderSize","sm","LOW","low","SYMBOL","md","type","instrument","TRADE_MODE","additionalPaddingRight","tradeMode","map","item","Fragment"],"sources":["../../../../src/components/TableWidget/ColumnRenderer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { type DataRecord, DataRecordType } from '../../types';\nimport { LoaderSize } from '../Loader';\nimport {\n ChartColumn,\n DailyChangeColumn,\n PriceColumn,\n SentimentColumn,\n SpreadColumn,\n TableCell,\n} from '../Table';\n\ninterface ColumnRendererProps {\n record: DataRecord;\n chart?: number[];\n isLoading: boolean;\n isChartLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const ColumnRenderer = ({\n record,\n isLoading,\n isChartLoading,\n isError,\n activeColumns,\n chart,\n}: ColumnRendererProps) => {\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceColumn\n column={DataRecordType.SELL}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceColumn\n column={DataRecordType.BUY}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeColumn\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n />\n ),\n [DataRecordType.CHART]: () => (\n <ChartColumn\n chart={chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={record.dailyPercentChange}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadColumn\n isError={isError}\n isLoading={isLoading}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentColumn isLoading={isLoading} sentiment={record.sentiment} />\n ),\n [DataRecordType.HIGH]: () => (\n <TableCell\n key={DataRecordType.SPREAD}\n isError={isError}\n isLoading={isLoading || (record.high === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.high}</span>\n </TableCell>\n ),\n [DataRecordType.LOW]: () => (\n <TableCell\n key={DataRecordType.LOW}\n isError={isError}\n isLoading={isLoading || (record.low === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.low}</span>\n </TableCell>\n ),\n [DataRecordType.SYMBOL]: () => (\n <TableCell\n key={DataRecordType.SYMBOL}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.md}\n type=\"textCentered\"\n >\n <span>{record.instrument}</span>\n </TableCell>\n ),\n [DataRecordType.TRADE_MODE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n additionalPaddingRight={true}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.tradeMode}</span>\n </TableCell>\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ColumnRenderer.js","names":["React","DataRecordType","LoaderSize","ChartColumn","DailyChangeColumn","PriceColumn","SentimentColumn","SpreadColumn","TableCell","ColumnRenderer","_ref","record","isLoading","isChartLoading","isError","activeColumns","chart","allColumns","SELL","createElement","column","displayPrecision","price","sell","priceMovement","sellPriceMovement","BUY","buy","buyPriceMovement","DAILY_CHANGE","dailyPercentChange","CHART","percentChange","SPREAD","value","spread","SENTIMENT","sentiment","HIGH","key","high","undefined","loaderSize","sm","LOW","low","SYMBOL","md","type","instrument","TRADE_MODE","additionalPaddingRight","tradeMode","map","item","_allColumns$item","_allColumns$item2","Fragment","call"],"sources":["../../../../src/components/TableWidget/ColumnRenderer.tsx"],"sourcesContent":["import React from 'react';\n\nimport { type DataRecord, DataRecordType } from '../../types';\nimport { LoaderSize } from '../Loader';\nimport {\n ChartColumn,\n DailyChangeColumn,\n PriceColumn,\n SentimentColumn,\n SpreadColumn,\n TableCell,\n} from '../Table';\n\ninterface ColumnRendererProps {\n record: DataRecord;\n chart?: number[];\n isLoading: boolean;\n isChartLoading?: boolean;\n isError: boolean;\n activeColumns: DataRecordType[];\n}\n\nexport const ColumnRenderer = ({\n record,\n isLoading,\n isChartLoading,\n isError,\n activeColumns,\n chart,\n}: ColumnRendererProps) => {\n const allColumns: Partial<Record<DataRecordType, () => JSX.Element>> = {\n [DataRecordType.SELL]: () => (\n <PriceColumn\n column={DataRecordType.SELL}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.sell}\n priceMovement={record.sellPriceMovement}\n />\n ),\n [DataRecordType.BUY]: () => (\n <PriceColumn\n column={DataRecordType.BUY}\n displayPrecision={record.displayPrecision}\n isError={isError}\n isLoading={isLoading}\n price={record.buy}\n priceMovement={record.buyPriceMovement}\n />\n ),\n [DataRecordType.DAILY_CHANGE]: () => (\n <DailyChangeColumn\n dailyPercentChange={record.dailyPercentChange}\n isError={isError}\n isLoading={isLoading}\n />\n ),\n [DataRecordType.CHART]: () => (\n <ChartColumn\n chart={chart ?? []}\n isLoading={!!isChartLoading}\n percentChange={record.dailyPercentChange}\n />\n ),\n [DataRecordType.SPREAD]: () => (\n <SpreadColumn\n isError={isError}\n isLoading={isLoading}\n value={record.spread}\n />\n ),\n [DataRecordType.SENTIMENT]: () => (\n <SentimentColumn isLoading={isLoading} sentiment={record.sentiment} />\n ),\n [DataRecordType.HIGH]: () => (\n <TableCell\n key={DataRecordType.SPREAD}\n isError={isError}\n isLoading={isLoading || (record.high === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.high}</span>\n </TableCell>\n ),\n [DataRecordType.LOW]: () => (\n <TableCell\n key={DataRecordType.LOW}\n isError={isError}\n isLoading={isLoading || (record.low === undefined && !isError)}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.low}</span>\n </TableCell>\n ),\n [DataRecordType.SYMBOL]: () => (\n <TableCell\n key={DataRecordType.SYMBOL}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.md}\n type=\"textCentered\"\n >\n <span>{record.instrument}</span>\n </TableCell>\n ),\n [DataRecordType.TRADE_MODE]: () => (\n <TableCell\n key={DataRecordType.TRADE_MODE}\n additionalPaddingRight={true}\n isError={isError}\n isLoading={isLoading}\n loaderSize={LoaderSize.sm}\n >\n <span>{record.tradeMode}</span>\n </TableCell>\n ),\n };\n\n return activeColumns.map((item) => (\n <React.Fragment key={item}>{allColumns[item]?.() ?? null}</React.Fragment>\n ));\n};\n"],"mappings":"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","ignoreList":[]}
@@ -49,7 +49,7 @@ export const TableWidget = _ref => {
49
49
  isError: hasError,
50
50
  records: records,
51
51
  renderRow: (record, index, isScrolled) => React.createElement(DataRecordRow, {
52
- key: `row_${index}`,
52
+ key: "row_".concat(index),
53
53
  activeColumns: activeColumns,
54
54
  hasBackgroundColor: index % 2 === 0,
55
55
  instrumentColumnWidth: instrumentColumnWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"TableWidget.js","names":["useLocale","React","useLayoutProvider","cn","Size","LastUpdated","Table","Tooltip","CardRecordRow","Cards","DataRecordRow","TableWidget","_ref","testId","toolTipId","PaginationComponent","hasError","TabsComponent","headerColumns","records","target","isLoading","isChartLoading","activeColumns","timestamp","pageNumber","count","viewType","instrumentColumnWidth","lang","size","isDesktop","DESKTOP","isTable","createElement","className","headerConfig","isError","renderRow","record","index","isScrolled","key","hasBackgroundColor","renderCard","_ref2","idx","isLast","tooltipId","startIndex","id","labelCallback"],"sources":["../../../../src/components/TableWidget/TableWidget.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport type { ReactElement } from 'react';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { DataRecord, DataRecordType } from '../../types';\nimport { Size } from '../../types';\nimport { LastUpdated } from '../LastUpdated';\nimport type { Pagination, PaginationProps } from '../Pagination';\nimport type { HeaderColumns } from '../Table';\nimport { Table } from '../Table';\nimport type { Tabs } from '../Tabs';\nimport type { TabsProps } from '../Tabs/types';\nimport { Tooltip } from '../Tooltip';\nimport { CardRecordRow } from './CardRecordRow';\nimport { Cards } from './Cards';\nimport { DataRecordRow } from './DataRecordRow';\n\ninterface TableWidgetProps<TTabs> {\n testId: string;\n toolTipId: string;\n hasError?: boolean;\n TabsComponent?: ReactElement<TabsProps<TTabs>, typeof Tabs<TTabs>>;\n PaginationComponent?: ReactElement<PaginationProps, typeof Pagination>;\n headerColumns: HeaderColumns[];\n records: DataRecord[];\n target: EventTarget | null;\n isLoading: boolean;\n isChartLoading?: boolean;\n activeColumns: DataRecordType[];\n timestamp?: string;\n pageNumber: number;\n count: number;\n viewType?: 'table' | 'cards';\n instrumentColumnWidth?: string;\n}\n\nexport const TableWidget = <TTabs,>({\n testId,\n toolTipId,\n PaginationComponent,\n hasError,\n TabsComponent,\n headerColumns,\n records,\n target,\n isLoading,\n isChartLoading,\n activeColumns,\n timestamp,\n pageNumber,\n count,\n viewType,\n instrumentColumnWidth,\n}: TableWidgetProps<TTabs>) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTable = viewType ? viewType === 'table' : isDesktop;\n\n if (!size) {\n return null;\n }\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid={testId}\n >\n {TabsComponent}\n\n {isTable ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={headerColumns}\n isError={hasError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <DataRecordRow\n key={`row_${index}`}\n activeColumns={activeColumns}\n hasBackgroundColor={index % 2 === 0}\n instrumentColumnWidth={instrumentColumnWidth}\n isChartLoading={isChartLoading}\n isLoading={isLoading}\n isScrolled={isScrolled}\n record={record}\n target={target}\n toolTipId={toolTipId}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n isError={hasError}\n records={records}\n renderCard={({ record, idx, isLast }) => (\n <CardRecordRow\n activeColumns={activeColumns}\n index={idx}\n isChartLoading={isChartLoading}\n isLast={isLast}\n isLoading={isLoading}\n record={record}\n target={target}\n tooltipId={toolTipId}\n />\n )}\n startIndex={pageNumber * count}\n />\n )}\n\n {PaginationComponent && !hasError && (\n <div\n className={cn('lw-border-solid lw-border-border-primary', {\n 'lw-border-x lw-border-b': isDesktop,\n })}\n >\n {PaginationComponent}\n </div>\n )}\n\n <Tooltip id={toolTipId} />\n\n {!hasError && timestamp && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={timestamp} />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableWidget.js","names":["useLocale","React","useLayoutProvider","cn","Size","LastUpdated","Table","Tooltip","CardRecordRow","Cards","DataRecordRow","TableWidget","_ref","testId","toolTipId","PaginationComponent","hasError","TabsComponent","headerColumns","records","target","isLoading","isChartLoading","activeColumns","timestamp","pageNumber","count","viewType","instrumentColumnWidth","lang","size","isDesktop","DESKTOP","isTable","createElement","className","headerConfig","isError","renderRow","record","index","isScrolled","key","concat","hasBackgroundColor","renderCard","_ref2","idx","isLast","tooltipId","startIndex","id","labelCallback"],"sources":["../../../../src/components/TableWidget/TableWidget.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport type { ReactElement } from 'react';\nimport React from 'react';\n\nimport { useLayoutProvider } from '../../providers';\nimport { cn } from '../../tailwind';\nimport type { DataRecord, DataRecordType } from '../../types';\nimport { Size } from '../../types';\nimport { LastUpdated } from '../LastUpdated';\nimport type { Pagination, PaginationProps } from '../Pagination';\nimport type { HeaderColumns } from '../Table';\nimport { Table } from '../Table';\nimport type { Tabs } from '../Tabs';\nimport type { TabsProps } from '../Tabs/types';\nimport { Tooltip } from '../Tooltip';\nimport { CardRecordRow } from './CardRecordRow';\nimport { Cards } from './Cards';\nimport { DataRecordRow } from './DataRecordRow';\n\ninterface TableWidgetProps<TTabs> {\n testId: string;\n toolTipId: string;\n hasError?: boolean;\n TabsComponent?: ReactElement<TabsProps<TTabs>, typeof Tabs<TTabs>>;\n PaginationComponent?: ReactElement<PaginationProps, typeof Pagination>;\n headerColumns: HeaderColumns[];\n records: DataRecord[];\n target: EventTarget | null;\n isLoading: boolean;\n isChartLoading?: boolean;\n activeColumns: DataRecordType[];\n timestamp?: string;\n pageNumber: number;\n count: number;\n viewType?: 'table' | 'cards';\n instrumentColumnWidth?: string;\n}\n\nexport const TableWidget = <TTabs,>({\n testId,\n toolTipId,\n PaginationComponent,\n hasError,\n TabsComponent,\n headerColumns,\n records,\n target,\n isLoading,\n isChartLoading,\n activeColumns,\n timestamp,\n pageNumber,\n count,\n viewType,\n instrumentColumnWidth,\n}: TableWidgetProps<TTabs>) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTable = viewType ? viewType === 'table' : isDesktop;\n\n if (!size) {\n return null;\n }\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid={testId}\n >\n {TabsComponent}\n\n {isTable ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={headerColumns}\n isError={hasError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <DataRecordRow\n key={`row_${index}`}\n activeColumns={activeColumns}\n hasBackgroundColor={index % 2 === 0}\n instrumentColumnWidth={instrumentColumnWidth}\n isChartLoading={isChartLoading}\n isLoading={isLoading}\n isScrolled={isScrolled}\n record={record}\n target={target}\n toolTipId={toolTipId}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n isError={hasError}\n records={records}\n renderCard={({ record, idx, isLast }) => (\n <CardRecordRow\n activeColumns={activeColumns}\n index={idx}\n isChartLoading={isChartLoading}\n isLast={isLast}\n isLoading={isLoading}\n record={record}\n target={target}\n tooltipId={toolTipId}\n />\n )}\n startIndex={pageNumber * count}\n />\n )}\n\n {PaginationComponent && !hasError && (\n <div\n className={cn('lw-border-solid lw-border-border-primary', {\n 'lw-border-x lw-border-b': isDesktop,\n })}\n >\n {PaginationComponent}\n </div>\n )}\n\n <Tooltip id={toolTipId} />\n\n {!hasError && timestamp && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={timestamp} />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ function Tabs(_ref) {
17
17
  label
18
18
  } = _ref2;
19
19
  return React.createElement(Tab, {
20
- key: `${id}-item`,
20
+ key: "".concat(id, "-item"),
21
21
  handleClick: handleClick,
22
22
  id: id,
23
23
  isActive: id === activeTab,
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["React","Tab","Tabs","_ref","items","activeTab","labelCallback","handleClick","mobileFullWidth","createElement","className","map","_ref2","id","label","key","isActive"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Tab } from './Tab';\nimport type { TabsProps } from './types';\n\nfunction Tabs<T>({\n items,\n activeTab,\n labelCallback,\n handleClick,\n mobileFullWidth,\n}: TabsProps<T>) {\n return (\n <ul\n className=\"lw-mx-0 lw-mb-8 lw-flex lw-flex-wrap lw-justify-center lw-gap-4 lw-px-px\"\n data-testid=\"tabs\"\n >\n {items.map(({ id, label }) => (\n <Tab\n key={`${id}-item`}\n handleClick={handleClick}\n id={id}\n isActive={id === activeTab}\n label={labelCallback ? labelCallback(label) : label}\n mobileFullWidth={mobileFullWidth}\n />\n ))}\n </ul>\n );\n}\n\nexport { Tabs };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,GAAG,QAAQ,OAAO;AAG3B,SAASC,IAAIA,CAAAC,IAAA,EAMI;EAAA,IANA;IACfC,KAAK;IACLC,SAAS;IACTC,aAAa;IACbC,WAAW;IACXC;EACY,CAAC,GAAAL,IAAA;EACb,OACEH,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAC,0EAA0E;IACpF,eAAY;EAAM,GAEjBN,KAAK,CAACO,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,EAAE;MAAEC;IAAM,CAAC,GAAAF,KAAA;IAAA,OACvBZ,KAAA,CAAAS,aAAA,CAACR,GAAG;MACFc,GAAG,EAAE,GAAGF,EAAE,OAAQ;MAClBN,WAAW,EAAEA,WAAY;MACzBM,EAAE,EAAEA,EAAG;MACPG,QAAQ,EAAEH,EAAE,KAAKR,SAAU;MAC3BS,KAAK,EAAER,aAAa,GAAGA,aAAa,CAACQ,KAAK,CAAC,GAAGA,KAAM;MACpDN,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAAA,CACH,CACC,CAAC;AAET;AAEA,SAASN,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"Tabs.js","names":["React","Tab","Tabs","_ref","items","activeTab","labelCallback","handleClick","mobileFullWidth","createElement","className","map","_ref2","id","label","key","concat","isActive"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Tab } from './Tab';\nimport type { TabsProps } from './types';\n\nfunction Tabs<T>({\n items,\n activeTab,\n labelCallback,\n handleClick,\n mobileFullWidth,\n}: TabsProps<T>) {\n return (\n <ul\n className=\"lw-mx-0 lw-mb-8 lw-flex lw-flex-wrap lw-justify-center lw-gap-4 lw-px-px\"\n data-testid=\"tabs\"\n >\n {items.map(({ id, label }) => (\n <Tab\n key={`${id}-item`}\n handleClick={handleClick}\n id={id}\n isActive={id === activeTab}\n label={labelCallback ? labelCallback(label) : label}\n mobileFullWidth={mobileFullWidth}\n />\n ))}\n </ul>\n );\n}\n\nexport { Tabs };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,GAAG,QAAQ,OAAO;AAG3B,SAASC,IAAIA,CAAAC,IAAA,EAMI;EAAA,IANA;IACfC,KAAK;IACLC,SAAS;IACTC,aAAa;IACbC,WAAW;IACXC;EACY,CAAC,GAAAL,IAAA;EACb,OACEH,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAC,0EAA0E;IACpF,eAAY;EAAM,GAEjBN,KAAK,CAACO,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,EAAE;MAAEC;IAAM,CAAC,GAAAF,KAAA;IAAA,OACvBZ,KAAA,CAAAS,aAAA,CAACR,GAAG;MACFc,GAAG,KAAAC,MAAA,CAAKH,EAAE,UAAQ;MAClBN,WAAW,EAAEA,WAAY;MACzBM,EAAE,EAAEA,EAAG;MACPI,QAAQ,EAAEJ,EAAE,KAAKR,SAAU;MAC3BS,KAAK,EAAER,aAAa,GAAGA,aAAa,CAACQ,KAAK,CAAC,GAAGA,KAAM;MACpDN,eAAe,EAAEA;IAAgB,CAClC,CAAC;EAAA,CACH,CACC,CAAC;AAET;AAEA,SAASN,IAAI","ignoreList":[]}
@@ -9,14 +9,15 @@ const TextInput = _ref => {
9
9
  } = _ref;
10
10
  const inputRef = useRef(null);
11
11
  const handleReset = () => {
12
- inputRef.current?.focus();
12
+ var _inputRef$current;
13
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
13
14
  onChange('');
14
15
  };
15
16
  return React.createElement("div", {
16
17
  className: "lw-text-text-primary"
17
18
  }, label && React.createElement("div", null, React.createElement("span", {
18
19
  className: "lw-text-base lw-font-bold"
19
- }, `${label}:`)), React.createElement("div", null), React.createElement("div", {
20
+ }, "".concat(label, ":"))), React.createElement("div", null), React.createElement("div", {
20
21
  className: "lw-relative"
21
22
  }, React.createElement("input", {
22
23
  ref: inputRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.js","names":["React","useRef","CloseIcon","TextInput","_ref","value","onChange","placeholder","label","inputRef","handleReset","current","focus","createElement","className","ref","type","e","target","length","onClick"],"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":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,SAAS,QAAQ,cAAc;AASxC,MAAMC,SAAmC,GAAGC,IAAA,IAKtC;EAAA,IALuC;IAC3CC,KAAK;IACLC,QAAQ;IACRC,WAAW,GAAG,EAAE;IAChBC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,QAAQ,GAAGR,MAAM,CAAmB,IAAI,CAAC;EAE/C,MAAMS,WAAW,GAAGA,CAAA,KAAM;IACxBD,QAAQ,CAACE,OAAO,EAAEC,KAAK,CAAC,CAAC;IACzBN,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EACD,OACEN,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAClCN,KAAK,IACJR,KAAA,CAAAa,aAAA,cACEb,KAAA,CAAAa,aAAA;IAAMC,SAAS,EAAC;EAA2B,GAAE,GAAGN,KAAK,GAAU,CAC5D,CACN,EACDR,KAAA,CAAAa,aAAA,YAAM,CAAC,EACPb,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAC;EAAa,GAC1Bd,KAAA,CAAAa,aAAA;IACEE,GAAG,EAAEN,QAAS;IACdK,SAAS,EAAC,iLAAiL;IAC3L,eAAY,YAAY;IACxBP,WAAW,EAAEA,WAAY;IACzBS,IAAI,EAAC,MAAM;IACXX,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAGW,CAAC,IAAKX,QAAQ,CAACW,CAAC,CAACC,MAAM,CAACb,KAAK;EAAE,CAC3C,CAAC,EACDA,KAAK,CAACc,MAAM,GAAG,CAAC,IACfnB,KAAA,CAAAa,aAAA;IACEC,SAAS,EAAC,kIAAkI;IAC5I,eAAY,yBAAyB;IACrCM,OAAO,EAAEV;EAAY,GAErBV,KAAA,CAAAa,aAAA,CAACX,SAAS,MAAE,CACN,CAEP,CACF,CAAC;AAEV,CAAC;AAED,SAASC,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"TextInput.js","names":["React","useRef","CloseIcon","TextInput","_ref","value","onChange","placeholder","label","inputRef","handleReset","_inputRef$current","current","focus","createElement","className","concat","ref","type","e","target","length","onClick"],"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":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,SAAS,QAAQ,cAAc;AASxC,MAAMC,SAAmC,GAAGC,IAAA,IAKtC;EAAA,IALuC;IAC3CC,KAAK;IACLC,QAAQ;IACRC,WAAW,GAAG,EAAE;IAChBC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,QAAQ,GAAGR,MAAM,CAAmB,IAAI,CAAC;EAE/C,MAAMS,WAAW,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA;IACxB,CAAAA,iBAAA,GAAAF,QAAQ,CAACG,OAAO,cAAAD,iBAAA,eAAhBA,iBAAA,CAAkBE,KAAK,CAAC,CAAC;IACzBP,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC;EACD,OACEN,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAClCP,KAAK,IACJR,KAAA,CAAAc,aAAA,cACEd,KAAA,CAAAc,aAAA;IAAMC,SAAS,EAAC;EAA2B,MAAAC,MAAA,CAAKR,KAAK,MAAU,CAC5D,CACN,EACDR,KAAA,CAAAc,aAAA,YAAM,CAAC,EACPd,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAa,GAC1Bf,KAAA,CAAAc,aAAA;IACEG,GAAG,EAAER,QAAS;IACdM,SAAS,EAAC,iLAAiL;IAC3L,eAAY,YAAY;IACxBR,WAAW,EAAEA,WAAY;IACzBW,IAAI,EAAC,MAAM;IACXb,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAGa,CAAC,IAAKb,QAAQ,CAACa,CAAC,CAACC,MAAM,CAACf,KAAK;EAAE,CAC3C,CAAC,EACDA,KAAK,CAACgB,MAAM,GAAG,CAAC,IACfrB,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAC,kIAAkI;IAC5I,eAAY,yBAAyB;IACrCO,OAAO,EAAEZ;EAAY,GAErBV,KAAA,CAAAc,aAAA,CAACZ,SAAS,MAAE,CACN,CAEP,CACF,CAAC;AAEV,CAAC;AAED,SAASC,SAAS","ignoreList":[]}
@@ -27,7 +27,7 @@ const Truncate = memo(_ref => {
27
27
  "data-tooltip-content": text,
28
28
  "data-tooltip-id": isTruncated ? tooltipId : undefined,
29
29
  style: {
30
- maxWidth: `${maxWidth}px`
30
+ maxWidth: "".concat(maxWidth, "px")
31
31
  }
32
32
  }, text);
33
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","names":["classnames","React","memo","useRef","useState","useDebounceCallback","useResizeObserver","Truncate","_ref","maxWidth","text","tooltipId","className","isTruncated","setIsTruncated","ref","onResize","_ref2","width","createElement","undefined","style","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,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,aAAa;AAIpE,MAAMC,QAAQ,GAAGL,IAAI,CACnBM,IAAA,IAAmE;EAAA,IAAlE;IAAEC,QAAQ,GAAG,GAAG;IAAEC,IAAI;IAAEC,SAAS;IAAEC;EAAyB,CAAC,GAAAJ,IAAA;EAC5D,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMW,GAAG,GAAGZ,MAAM,CAAoB,IAAI,CAAC;EAE3C,MAAMa,QAAQ,GAAGX,mBAAmB,CAACY,KAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,KAAA;IAC7CH,cAAc,CAACI,KAAK,IAAIT,QAAQ,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAENH,iBAAiB,CAAC;IAChBS,GAAG;IACHC;EACF,CAAC,CAAC;EAEF,OACEf,KAAA,CAAAkB,aAAA;IACEJ,GAAG,EAAEA,GAAI;IACTH,SAAS,EAAEZ,UAAU,CAAC,+BAA+B,EAAEY,SAAS,CAAE;IAClE,eAAY,UAAU;IACtB,wBAAsBF,IAAK;IAC3B,mBAAiBG,WAAW,GAAGF,SAAS,GAAGS,SAAU;IACrDC,KAAK,EAAE;MAAEZ,QAAQ,EAAE,GAAGA,QAAQ;IAAK;EAAE,GAEpCC,IACG,CAAC;AAEX,CACF,CAAC;AAEDH,QAAQ,CAACe,WAAW,GAAG,UAAU;AAEjC,SAASf,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"Truncate.js","names":["classnames","React","memo","useRef","useState","useDebounceCallback","useResizeObserver","Truncate","_ref","maxWidth","text","tooltipId","className","isTruncated","setIsTruncated","ref","onResize","_ref2","width","createElement","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,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,aAAa;AAIpE,MAAMC,QAAQ,GAAGL,IAAI,CACnBM,IAAA,IAAmE;EAAA,IAAlE;IAAEC,QAAQ,GAAG,GAAG;IAAEC,IAAI;IAAEC,SAAS;IAAEC;EAAyB,CAAC,GAAAJ,IAAA;EAC5D,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMW,GAAG,GAAGZ,MAAM,CAAoB,IAAI,CAAC;EAE3C,MAAMa,QAAQ,GAAGX,mBAAmB,CAACY,KAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,KAAA;IAC7CH,cAAc,CAACI,KAAK,IAAIT,QAAQ,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAENH,iBAAiB,CAAC;IAChBS,GAAG;IACHC;EACF,CAAC,CAAC;EAEF,OACEf,KAAA,CAAAkB,aAAA;IACEJ,GAAG,EAAEA,GAAI;IACTH,SAAS,EAAEZ,UAAU,CAAC,+BAA+B,EAAEY,SAAS,CAAE;IAClE,eAAY,UAAU;IACtB,wBAAsBF,IAAK;IAC3B,mBAAiBG,WAAW,GAAGF,SAAS,GAAGS,SAAU;IACrDC,KAAK,EAAE;MAAEZ,QAAQ,KAAAa,MAAA,CAAKb,QAAQ;IAAK;EAAE,GAEpCC,IACG,CAAC;AAEX,CACF,CAAC;AAEDH,QAAQ,CAACgB,WAAW,GAAG,UAAU;AAEjC,SAAShB,QAAQ","ignoreList":[]}
@@ -15,11 +15,11 @@ export const WidgetWrapper = _ref => {
15
15
  return React.createElement(Disclaimer, {
16
16
  brandingSpace: brandingSpace,
17
17
  fitContent: fitContent,
18
- infoButtonPosition: disclaimer?.position,
18
+ infoButtonPosition: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.position,
19
19
  isSlim: isSlim,
20
20
  linkArea: linkArea,
21
21
  logoLink: logoLink,
22
- text: disclaimer?.text
22
+ text: disclaimer === null || disclaimer === void 0 ? void 0 : disclaimer.text
23
23
  }, isParamError ? React.createElement(WidgetError, null) : children);
24
24
  };
25
25
  //# sourceMappingURL=WidgetWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetWrapper.js","names":["React","Disclaimer","WidgetError","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","infoButtonPosition","position","text"],"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,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,WAAW,QAAQ,UAAU;AAYtC,OAAO,MAAMC,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,OACCJ,KAAA,CAAAa,aAAA,CAACZ,UAAU;IACTO,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBK,kBAAkB,EAAEH,UAAU,EAAEI,QAAS;IACzCH,MAAM,EAAEA,MAAO;IACfL,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBU,IAAI,EAAEL,UAAU,EAAEK;EAAK,GAEtBN,YAAY,GAAGV,KAAA,CAAAa,aAAA,CAACX,WAAW,MAAE,CAAC,GAAGG,QACxB,CAAC;AAAA,CACd","ignoreList":[]}
1
+ {"version":3,"file":"WidgetWrapper.js","names":["React","Disclaimer","WidgetError","WidgetWrapper","_ref","children","logoLink","linkArea","brandingSpace","fitContent","isParamError","disclaimer","isSlim","createElement","infoButtonPosition","position","text"],"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,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,WAAW,QAAQ,UAAU;AAYtC,OAAO,MAAMC,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,OACCJ,KAAA,CAAAa,aAAA,CAACZ,UAAU;IACTO,aAAa,EAAEA,aAAc;IAC7BC,UAAU,EAAEA,UAAW;IACvBK,kBAAkB,EAAEH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,QAAS;IACzCH,MAAM,EAAEA,MAAO;IACfL,QAAQ,EAAEA,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBU,IAAI,EAAEL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK;EAAK,GAEtBN,YAAY,GAAGV,KAAA,CAAAa,aAAA,CAACX,WAAW,MAAE,CAAC,GAAGG,QACxB,CAAC;AAAA,CACd","ignoreList":[]}
@@ -47,8 +47,8 @@ export const useLiveRatesMessage = (instruments, target) => {
47
47
  extraPrecision,
48
48
  currentAsk: ask,
49
49
  currentBid: bid,
50
- prevAsk: prev?.ask,
51
- prevBid: prev?.bid
50
+ prevAsk: prev === null || prev === void 0 ? void 0 : prev.ask,
51
+ prevBid: prev === null || prev === void 0 ? void 0 : prev.bid
52
52
  });
53
53
  return {
54
54
  symbol,
@@ -91,7 +91,7 @@ export const useLiveRatesMessage = (instruments, target) => {
91
91
  let {
92
92
  detail
93
93
  } = _ref;
94
- switch (detail?.messageType) {
94
+ switch (detail === null || detail === void 0 ? void 0 : detail.messageType) {
95
95
  case LIVE_RATES_EVENT_NAME:
96
96
  {
97
97
  processUpdateMessage(detail);
@@ -110,13 +110,13 @@ export const useLiveRatesMessage = (instruments, target) => {
110
110
  }
111
111
  };
112
112
  flatInstruments.forEach(instrument => {
113
- target?.addEventListener(instrument, listener);
114
- target?.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);
113
+ target === null || target === void 0 || target.addEventListener(instrument, listener);
114
+ target === null || target === void 0 || target.addEventListener(LIVE_RATES_CONNECTION_ERROR, listener);
115
115
  });
116
116
  return () => {
117
117
  flatInstruments.forEach(instrument => {
118
- target?.removeEventListener(instrument, listener);
119
- target?.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);
118
+ target === null || target === void 0 || target.removeEventListener(instrument, listener);
119
+ target === null || target === void 0 || target.removeEventListener(LIVE_RATES_CONNECTION_ERROR, listener);
120
120
  setUpdate(null);
121
121
  setError(null);
122
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveRatesMessage.js","names":["useEffect","useState","LIVE_RATES_CONNECTION_ERROR","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","calculatePipsChangeFromOpen","calculatePriceChange","calculatePriceChangeFromOpen","calculateSpread","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","dailyChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","listener","_ref","messageType","forEach","instrument","addEventListener","removeEventListener"],"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":[]}
1
+ {"version":3,"file":"useLiveRatesMessage.js","names":["useEffect","useState","LIVE_RATES_CONNECTION_ERROR","LIVE_RATES_EVENT_NAME","LIVE_RATES_RATE_ERROR","calculatePipsChangeFromOpen","calculatePriceChange","calculatePriceChangeFromOpen","calculateSpread","useLiveRatesMessage","instruments","target","flatInstruments","concat","update","setUpdate","error","setError","connectionError","setConnectionError","processUpdateMessage","detail","symbol","ask","bid","closingAsk","closingBid","openingAsk","openingBid","pipLocation","extraPrecision","timestamp","low","high","spread","dailyChange","currentAsk","currentBid","prevAsk","prevBid","percentChangeFromOpen","dailyPercentChangeFromOpen","pipsChangeFromOpen","dailyPipsChangeFromOpen","displayPrecision","Math","max","prev","priceMovement","askPriceMovement","bidPriceMovement","dailyPriceMovement","dailyPipsChange","pipsChange","dailyPercentChange","percentChange","processErrorMessage","errorMessage","processConnectionErrorMessage","listener","_ref","messageType","forEach","instrument","addEventListener","removeEventListener"],"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":[]}
@@ -3,15 +3,17 @@ import { useLiveRatesProvider } from '../providers';
3
3
  export const useLiveRatesQuery = skip => {
4
4
  const liveRates = useLiveRatesProvider(skip);
5
5
  const setQuery = query => {
6
- liveRates?.target?.dispatchEvent(new CustomEvent(SET_QUERY_EVENT_NAME, {
6
+ var _liveRates$target;
7
+ liveRates === null || liveRates === void 0 || (_liveRates$target = liveRates.target) === null || _liveRates$target === void 0 || _liveRates$target.dispatchEvent(new CustomEvent(SET_QUERY_EVENT_NAME, {
7
8
  detail: query
8
9
  }));
9
10
  };
10
11
  const closeQuery = () => {
11
- liveRates?.source?.close();
12
+ var _liveRates$source;
13
+ liveRates === null || liveRates === void 0 || (_liveRates$source = liveRates.source) === null || _liveRates$source === void 0 || _liveRates$source.close();
12
14
  };
13
15
  return {
14
- target: liveRates?.target || null,
16
+ target: (liveRates === null || liveRates === void 0 ? void 0 : liveRates.target) || null,
15
17
  setQuery,
16
18
  closeQuery
17
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useLiveRatesQuery.js","names":["SET_QUERY_EVENT_NAME","useLiveRatesProvider","useLiveRatesQuery","skip","liveRates","setQuery","query","target","dispatchEvent","CustomEvent","detail","closeQuery","source","close"],"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,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,oBAAoB,QAAQ,cAAc;AAMnD,OAAO,MAAMC,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAGH,oBAAoB,CAACE,IAAI,CAAC;EAE5C,MAAME,QAAQ,GAAIC,KAA6B,IAAK;IAClDF,SAAS,EAAEG,MAAM,EAAEC,aAAa,CAC9B,IAAIC,WAAW,CAACT,oBAAoB,EAAE;MAAEU,MAAM,EAAEJ;IAAM,CAAC,CACzD,CAAC;EACH,CAAC;EAED,MAAMK,UAAU,GAAGA,CAAA,KAAM;IACvBP,SAAS,EAAEQ,MAAM,EAAEC,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO;IAAEN,MAAM,EAAEH,SAAS,EAAEG,MAAM,IAAI,IAAI;IAAEF,QAAQ;IAAEM;EAAW,CAAC;AACpE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useLiveRatesQuery.js","names":["SET_QUERY_EVENT_NAME","useLiveRatesProvider","useLiveRatesQuery","skip","liveRates","setQuery","query","_liveRates$target","target","dispatchEvent","CustomEvent","detail","closeQuery","_liveRates$source","source","close"],"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,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,oBAAoB,QAAQ,cAAc;AAMnD,OAAO,MAAMC,iBAAiB,GAC5BC,IAAc,IACsB;EACpC,MAAMC,SAAS,GAAGH,oBAAoB,CAACE,IAAI,CAAC;EAE5C,MAAME,QAAQ,GAAIC,KAA6B,IAAK;IAAA,IAAAC,iBAAA;IAClDH,SAAS,aAATA,SAAS,gBAAAG,iBAAA,GAATH,SAAS,CAAEI,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,aAAa,CAC9B,IAAIC,WAAW,CAACV,oBAAoB,EAAE;MAAEW,MAAM,EAAEL;IAAM,CAAC,CACzD,CAAC;EACH,CAAC;EAED,MAAMM,UAAU,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA;IACvBT,SAAS,aAATA,SAAS,gBAAAS,iBAAA,GAATT,SAAS,CAAEU,MAAM,cAAAD,iBAAA,eAAjBA,iBAAA,CAAmBE,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO;IAAEP,MAAM,EAAE,CAAAJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,MAAM,KAAI,IAAI;IAAEH,QAAQ;IAAEO;EAAW,CAAC;AACpE,CAAC","ignoreList":[]}