{"version":3,"file":"static/js/472.5e1c0e3b.chunk.js","mappings":"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","sources":["common/ui/LastUpdated.tsx","common/ui/useInterval.ts","common/useQueryString.ts","external/features/bids/bidColumns.ts","external/features/bids/BidColumnRenderers.tsx","external/common/externalHttpClient.ts","external/features/bids/externalBidsService.ts","external/features/bids/BidsComponent.tsx","external/features/index.ts","external/features/bids/bids.module.ts","../node_modules/react-csv/index.js","../node_modules/react-csv/lib/components/Download.js","../node_modules/react-csv/lib/components/Link.js","../node_modules/react-csv/lib/core.js","../node_modules/react-csv/lib/index.js","../node_modules/react-csv/lib/metaProps.js"],"sourcesContent":["import React from \"react\";\nimport moment from \"moment\";\nimport { formatDate } from \"common/formatters\";\n\nexport interface LastUpdatedProps {\n lastUpdated: Date;\n label?: string;\n}\n\nfunction format(lastUpdated: Date): string {\n const isToday = moment(lastUpdated).isSame(moment(), 'd')\n return formatDate(lastUpdated, isToday ? 'hh:mm A': 'MM/DD/YY');\n}\n\nconst LastUpdated: React.FC = (props: LastUpdatedProps) => {\n const updatedTime = format(props.lastUpdated);\n\n return \n {props.lastUpdated && \n {props.label ?? \"Updated\"} {updatedTime}\n }\n \n}\n\nexport default LastUpdated;","import { useRef, useEffect } from \"react\";\n\n//Using setInterval directly causes flickers\n//https://overreacted.io/making-setinterval-declarative-with-react-hooks/\nexport default function useInterval(callback: any, delay: any) {\n const savedCallback: any = useRef();\n\n // Remember the latest function.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}","import { useLocation } from \"react-router-dom\";\n\n//Once we upgrade to react-router v6, we can use useSearchParams\nexport function useQueryString(): URLSearchParams {\n const { search } = useLocation();\n\n return new URLSearchParams(search);\n}","import BidRow from \"./bidRow\";\nimport { formatDecimalPlace, formatUTCDate, getShortMonthName } from 'common/formatters';\nimport { renderFuturesChange } from \"./BidColumnRenderers\";\n\nexport const ColumnIds = {\n Name: \"name\",\n Date: \"date\",\n Month: \"month\",\n Basis: \"basis\",\n Cash: \"cash\",\n Price: \"price\",\n Change: \"change\"\n}\n\nexport interface BidColumn {\n key: string;\n name: string;\n renderer: BidCellRenderer;\n}\n\nexport type BidCellRenderer = (m: BidRow) => React.ReactNode;\n\nfunction formatNumber(value: number): string {\n if (value == null) return \"--\";\n return formatDecimalPlace(value);\n}\n\n\nexport const bidColumns: { [name: string]: BidColumn} = { };\n\nbuildColumn(ColumnIds.Name, \"Delivery Name\", m => m.deliveryPeriodName ?? '--');\nbuildColumn(ColumnIds.Date, \"Dates\", m => `${formatUTCDate(m.start)}-${formatUTCDate(m.end)}`);\nbuildColumn(ColumnIds.Month, \"Fut Mo\", m => m.futuresMonth ? `${getShortMonthName(m.futuresMonth)} ${m.futuresYear - 2000}` : '--');\nbuildColumn(ColumnIds.Price, \"Futures\", m => m.futuresPrice ? `${formatDecimalPlace(m.futuresPrice)}${m.isSettled ? ' s' : ''}` : '--');\nbuildColumn(ColumnIds.Basis, \"Basis\", m => formatNumber(m.basis));\nbuildColumn(ColumnIds.Cash, \"Cash\", m => formatNumber(m.cash));\nbuildColumn(ColumnIds.Change, \"Fut Chg\", renderFuturesChange);\n\nfunction buildColumn(key: string, name: string, renderer: BidCellRenderer) {\n bidColumns[key] = {\n key: key,\n name: name,\n renderer: renderer\n };\n}\n\nexport const defaultColumns = [\n ColumnIds.Date,\n ColumnIds.Month,\n ColumnIds.Price,\n ColumnIds.Basis,\n ColumnIds.Cash,\n ColumnIds.Change\n];","import classNames from \"classnames\";\nimport { formatDecimalPlace } from \"common/formatters\";\nimport React from \"react\";\nimport BidRow from \"./bidRow\";\n\nexport function renderFuturesChange(bidRow: BidRow): React.ReactNode {\n return 0, negative: bidRow.futuresChange < 0})}>\n {bidRow.futuresChange != null ? formatDecimalPlace(bidRow.futuresChange) : '--'}\n \n}","import axios, { AxiosInstance } from \"axios\";\n\nexport interface IExternalHttpClient extends AxiosInstance {\n}\n\nexport default class ExternalHttpClient {\n \n static getClient(authenticationKey: string): IExternalHttpClient {\n return this.getClientInternal(authenticationKey, process.env.REACT_APP_PROXY_API_BASE_URL);\n }\n\n private static getClientInternal(authenticationKey: string, baseUrl: string): IExternalHttpClient {\n const defaultHeaders = {\n Authorization: `key ${authenticationKey}`\n };\n\n var client = axios.create({\n baseURL: baseUrl,\n headers: defaultHeaders\n });\n\n const httpClient = new ExternalHttpClient();\n return {...client, ...httpClient } as IExternalHttpClient;\n }\n}","import DeliveryPeriod from \"domain/deliveryPeriod\";\nimport ExternalHttpClient from \"../../common/externalHttpClient\";\n\nexport interface IExternalBidsService {\n listDeliveryPeriods(authKey: string, commodityIds: number[], locationIds: string[]): Promise;\n}\n\nclass ExternalBidsService implements IExternalBidsService {\n\n async listDeliveryPeriods(authKey: string, commodityIds: number[], locationIds: string[]): Promise {\n const response = await ExternalHttpClient.getClient(authKey)\n .get<{deliveryPeriods: DeliveryPeriod[]}>('/settings/v2/delivery-periods', {\n params: {\n commodityIds: commodityIds?.join(','),\n locationIds: locationIds?.join(',')\n }\n });\n return response.data.deliveryPeriods;\n }\n\n}\n\nconst externalBidsService: IExternalBidsService = new ExternalBidsService();\n\nexport default externalBidsService;","import React, { useContext, useEffect, useState } from 'react';\nimport _ from 'lodash';\nimport { AxiosError } from 'axios';\nimport Loading from 'common/ui/Loading';\nimport { useQueryString } from 'common/useQueryString';\nimport externalBidsService from './externalBidsService';\nimport loggingService from 'common/logging/loggingService';\nimport ErrorList from 'common/ui/ErrorList';\nimport useInterval from 'common/ui/useInterval';\nimport BidRow from './bidRow';\nimport { BidColumn, bidColumns, defaultColumns } from './bidColumns';\nimport BidsComponentParameters from './bidComponentParameters';\nimport PhysicalLocation from 'domain/physicalLocation';\nimport { Form } from 'react-bootstrap';\nimport Commodity from 'domain/commodity';\n\nimport './BidsComponent.scss';\nimport CmeLogo from './cme_logo.png';\nimport { CSVLink } from 'react-csv';\nimport { Headers } from 'react-csv/components/CommonPropTypes';\nimport { formatDate, formatUTCDate } from 'common/formatters/dates';\nimport LastUpdated from 'common/ui/LastUpdated';\nimport moment from 'moment';\n\nconst BidsContext = React.createContext({\n apiKey: null,\n columns: null,\n commodities: null,\n locations: null,\n byCommodity: false,\n hideRowsWithoutBasis: true,\n preview: false\n});\n\nfunction excludeEmptyString(val: string): string {\n return val?.length === 0 ? null : val;\n}\n\nexport const BidsComponentPage: React.FC = () => {\n \n const query = useQueryString();\n\n const bidsContext: BidsComponentParameters = {\n apiKey: query.get('key'),\n columns: excludeEmptyString(query.get('cols'))?.split(','),\n commodities: excludeEmptyString(query.get('comms'))?.split(',').map(m => Number.parseInt(m)),\n locations: excludeEmptyString(query.get('locs'))?.split(','),\n byCommodity: query.get('byComm') === \"true\",\n hideRowsWithoutBasis: query.get('hideRows') === \"true\",\n preview: query.get('preview') === \"true\"\n };\n\n return \n \n \n}\n\ntype BidRowAccessor = ((row: BidRow) => any);\n\ninterface BidsComponentProps {\n}\n\nconst BID_REFRESH_INTERVAL = 1000 * 60; //One minute\nconst REFRESH_EXPIRATION_TIME = 1000 * 60 * 60 * 8; //8 hours\n\ntype BidsState = {\n bidRows?: BidRow[],\n uniqueLocations?: PhysicalLocation[],\n uniqueCommodities?: Commodity[],\n filteredLocation?: PhysicalLocation,\n filteredCommodity?: Commodity,\n errors: string[],\n pollingTimeLimit?: number,\n showSessionTimeout: boolean,\n isVisible: boolean\n};\n\nconst BidsComponent: React.FC = props => {\n\n const [state, setState] = useState({\n errors: [],\n showSessionTimeout: false,\n isVisible: false\n })\n\n const context = useContext(BidsContext);\n\n useEffect(() => {\n resetTimeUntilExpiration();\n retrieveData();\n }, []);\n\n\n const cssUrl = `${process.env.REACT_APP_PROXY_API_BASE_URL}/settings/v1/files/styles/bid-component${context.preview ? \".preview\" : \"\"}.css?key=${context.apiKey}`;\n\n const sortOrder: BidRowAccessor[] = [\n m => context.locations == null ? m.location.name : context.locations.indexOf(m.location.id), \n m => context.commodities == null ? m.commodity.name : context.commodities.indexOf(m.commodity.id)\n ];\n\n async function retrieveData() {\n try {\n const response = await externalBidsService.listDeliveryPeriods(context.apiKey, context.commodities, context.locations);\n const dps = response.filter(dp => dp.bids.length > 0);\n const rows = dps.flatMap(dp => dp.bids\n .filter(b => (context.commodities == null || context.commodities.includes(dp.commodity.id) &&\n (context.locations == null || context.locations.includes(b.location.id))) &&\n (!context.hideRowsWithoutBasis || (b.basis != null && b.cash != null)))\n .map(b => ({\n deliveryPeriodId: dp.id,\n deliveryPeriodName: dp.name,\n start: dp.start,\n end: dp.end,\n futuresPrice: dp.contract?.price,\n futuresPriceUpdatedDate: dp.contract?.priceUpdated,\n futuresChange: dp.contract?.netChange,\n futuresMonth: dp.contract?.maturityMonth,\n futuresYear: dp.contract?.maturityYear,\n isSettled: dp.contract?.isSettled,\n commodity: dp.commodity,\n location: b.location,\n cash: b.cash,\n basis: b.basis,\n lastUpdatedDate: dp.lastUpdatedDateUtc,\n }))\n );\n setState(m => ({...m,\n bidRows: _.orderBy(rows, context.byCommodity ? sortOrder : sortOrder.reverse()),\n uniqueLocations: _.orderBy(_.uniqBy(rows.map(m => m.location), m => m.id), m => m.name),\n uniqueCommodities: _.orderBy(_.uniqBy(rows.map(m => m.commodity), m => m.id), m => m.name)\n }))\n }\n catch (err) {\n handleError(err);\n }\n }\n\n function resetTimeUntilExpiration() {\n setState(m => ({...m, pollingTimeLimit: Date.now() + REFRESH_EXPIRATION_TIME}))\n \n setTimeout(() => {\n setState(m => ({...m, showSessionTimeout: true}))\n }, REFRESH_EXPIRATION_TIME);\n }\n\n useInterval(() => {\n if (Date.now() < state.pollingTimeLimit) retrieveData();\n }, BID_REFRESH_INTERVAL);\n\n function handleRefresh() { \n setState(m => ({...m, showSessionTimeout: false}))\n resetTimeUntilExpiration();\n retrieveData();\n }\n\n function getUpdatedDate(bids: BidRow[]) {\n const filtered = bids.filter(x => x.commodity.isCashOnly === true || (x.commodity.isCashOnly === false && x.futuresPriceUpdatedDate != null));\n return moment.max(filtered.map(x => moment(x.commodity.isCashOnly ? x.lastUpdatedDate: x.futuresPriceUpdatedDate))).toDate();\n }\n\n function handleError(err: any) {\n let errorToShow = \"Unable to load component\";\n if (err.isAxiosError) {\n const axiosError = err as AxiosError;\n\n if (axiosError.response == null) {\n errorToShow = \"Unable to contact server\";\n }\n else {\n switch (axiosError.response?.status) {\n case 404:\n errorToShow = \"Unable to contact server (error code 404)\";\n break;\n case 401:\n errorToShow = \"Unable to authenticate with server. Please verify your authentication key is set correctly (error code 401)\";\n break;\n }\n }\n }\n setState(m => ({...m, errors: [errorToShow]}))\n loggingService.error(\"Unable to retrieve delivery periods\", err);\n }\n\n if (state.errors.length > 0) {\n return ;\n }\n\n if (!state.bidRows) return ;\n\n let groupingFuncs: BidRowAccessor[] = [m => m.location.name, m => m.commodity.name];\n\n if (context.byCommodity) groupingFuncs = groupingFuncs.reverse();\n\n const filteredBids = state.bidRows.filter(m => \n (state.filteredLocation == null || m.location.id === state.filteredLocation.id) &&\n (state.filteredCommodity == null || m.commodity.id === state.filteredCommodity.id));\n\n const groupedTopLevel = groupBids(filteredBids, groupingFuncs[0]);\n\n return \n setState(m => ({...m, isVisible: true})) }\n onError={() => setState(m => ({...m, isVisible: true})) } />\n\n {state.isVisible && <>\n {state.showSessionTimeout && }\n\n {!state.showSessionTimeout && <>\n \n {state.uniqueLocations?.length > 1 && \n setState(m => ({...m, filteredLocation: state.uniqueLocations.find(m => m.id === ev.target.value)}))}>\n \n {state.uniqueLocations.map(m => )}\n \n }\n {state.uniqueCommodities?.length > 1 && \n setState(m => ({...m, filteredCommodity: state.uniqueCommodities.find(m => m.id === Number.parseInt(ev.target.value))}))}>\n \n {state.uniqueCommodities.map(m => )}\n \n }\n\n \n download\n Download\n \n \n {groupedTopLevel.length === 0 &&
No matching bids found
}\n {groupedTopLevel.length > 0 && x.bids))} />}\n {groupedTopLevel.map(m => )}\n }\n\n
\n Data provided by StoneX. All prices delayed 10 minutes.\n \n
\n }\n
;\n}\n\nfunction groupBids(bids: BidRow[], by: BidRowAccessor): {title: string, bids: BidRow[]}[] {\n return _.map(\n _.groupBy(bids, by),\n (g, key) => ({title: key, bids: g})\n );\n}\n\nconst ComponentWrapper: React.FC = props =>
{props.children}
;\n\n\ninterface GroupedBidsProps {\n title: string;\n groups: {title: string, bids: BidRow[]}[];\n}\n\nconst GroupedBids: React.FC = props => {\n return
\n
{props.title}
\n\n {props.groups.map(m => )}\n
\n}\n\ninterface BidsTableProps {\n title: string;\n bids: BidRow[];\n}\n\nconst BidsTable: React.FC = props => {\n\n const [columns, setColumns] = useState(null);\n const context = useContext(BidsContext);\n\n useEffect(() => {\n setColumns((context.columns ?? defaultColumns)\n .map(m => bidColumns[m])\n .filter(m => m != null));\n }, [context.columns])\n\n if (columns == null) return null;\n \n return <>\n
\n
{props.title}
\n
\n {columns.map(m =>
{m.name}
)}\n
\n {props.bids.map(m =>
\n {columns.map(c =>
{c.renderer(m)}
)}\n
)}\n
\n ;\n}\n\ninterface SessionTimeoutProps {\n onRefresh(): void;\n}\n\nconst SessionTimeout: React.FC = props => {\n\n return
\n

Your session has timed out

\n\n

To continue viewing bids,

\n
\n}\n\nconst csvHeaders: Headers = [\n { label: \"Commodity\", key: \"commodity.name\" },\n { label: \"Location\", key: \"location.name\" },\n { label: \"Delivery Period Name\", key: \"deliveryPeriodName\" },\n { label: \"Start\", key: \"startString\" },\n { label: \"End\", key: \"endString\" },\n { label: \"Futures Month\", key: \"futuresMonth\" },\n { label: \"Futures Year\", key: \"futuresYear\" },\n { label: \"Futures\", key: \"futuresPrice\" },\n { label: \"Basis\", key: \"basis\" },\n { label: \"Cash\", key: \"cash\" },\n { label: \"Futures Change\", key: \"futuresChange\" }\n];\n\ninterface CsvExportRow extends BidRow {\n startString: string;\n endString: string;\n}\n\nfunction getCsvData(data: BidRow[]): CsvExportRow[] {\n return data.map(m => ({\n ...m,\n startString: formatUTCDate(m.start),\n endString: formatUTCDate(m.end),\n }));\n}\n\nexport default BidsComponent;","import { IModule } from \"app/IModule\";\nimport BidsModule from \"./bids/bids.module\";\n\nconst features: IModule[] = [\n new BidsModule()\n];\n\nexport default features;","import { IModule, IModuleBuilder } from \"app/IModule\";\nimport {BidsComponentPage} from \"./BidsComponent\";\n\nexport default class BidsModule implements IModule {\n build(builder: IModuleBuilder) {\n builder.addRoute(\"/component/bids\", BidsComponentPage);\n }\n}","module.exports = require('./lib/index.js');\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _core = require('../core');\n\nvar _metaProps = require('../metaProps');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultProps = {\n target: '_blank'\n};\n\nvar CSVDownload = function (_React$Component) {\n _inherits(CSVDownload, _React$Component);\n\n function CSVDownload(props) {\n _classCallCheck(this, CSVDownload);\n\n var _this = _possibleConstructorReturn(this, (CSVDownload.__proto__ || Object.getPrototypeOf(CSVDownload)).call(this, props));\n\n _this.state = {};\n return _this;\n }\n\n _createClass(CSVDownload, [{\n key: 'buildURI',\n value: function buildURI() {\n return _core.buildURI.apply(undefined, arguments);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n data = _props.data,\n headers = _props.headers,\n separator = _props.separator,\n enclosingCharacter = _props.enclosingCharacter,\n uFEFF = _props.uFEFF,\n target = _props.target,\n specs = _props.specs,\n replace = _props.replace;\n\n this.state.page = window.open(this.buildURI(data, uFEFF, headers, separator, enclosingCharacter), target, specs, replace);\n }\n }, {\n key: 'getWindow',\n value: function getWindow() {\n return this.state.page;\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return CSVDownload;\n}(_react2.default.Component);\n\nCSVDownload.defaultProps = Object.assign(_metaProps.defaultProps, defaultProps);\nCSVDownload.propTypes = _metaProps.propTypes;\nexports.default = CSVDownload;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _core = require('../core');\n\nvar _metaProps = require('../metaProps');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CSVLink = function (_React$Component) {\n _inherits(CSVLink, _React$Component);\n\n function CSVLink(props) {\n _classCallCheck(this, CSVLink);\n\n var _this = _possibleConstructorReturn(this, (CSVLink.__proto__ || Object.getPrototypeOf(CSVLink)).call(this, props));\n\n _this.buildURI = _this.buildURI.bind(_this);\n return _this;\n }\n\n _createClass(CSVLink, [{\n key: 'buildURI',\n value: function buildURI() {\n return _core.buildURI.apply(undefined, arguments);\n }\n }, {\n key: 'handleLegacy',\n value: function handleLegacy(event) {\n var isAsync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (window.navigator.msSaveOrOpenBlob) {\n event.preventDefault();\n\n var _props = this.props,\n data = _props.data,\n headers = _props.headers,\n separator = _props.separator,\n filename = _props.filename,\n enclosingCharacter = _props.enclosingCharacter,\n uFEFF = _props.uFEFF;\n\n\n var csvData = isAsync && typeof data === 'function' ? data() : data;\n\n var blob = new Blob([uFEFF ? '\\uFEFF' : '', (0, _core.toCSV)(csvData, headers, separator, enclosingCharacter)]);\n window.navigator.msSaveBlob(blob, filename);\n\n return false;\n }\n }\n }, {\n key: 'handleAsyncClick',\n value: function handleAsyncClick(event) {\n var _this2 = this;\n\n var done = function done(proceed) {\n if (proceed === false) {\n event.preventDefault();\n return;\n }\n _this2.handleLegacy(event, true);\n };\n\n this.props.onClick(event, done);\n }\n }, {\n key: 'handleSyncClick',\n value: function handleSyncClick(event) {\n var stopEvent = this.props.onClick(event) === false;\n if (stopEvent) {\n event.preventDefault();\n return;\n }\n this.handleLegacy(event);\n }\n }, {\n key: 'handleClick',\n value: function handleClick() {\n var _this3 = this;\n\n return function (event) {\n if (typeof _this3.props.onClick === 'function') {\n return _this3.props.asyncOnClick ? _this3.handleAsyncClick(event) : _this3.handleSyncClick(event);\n }\n _this3.handleLegacy(event);\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props2 = this.props,\n data = _props2.data,\n headers = _props2.headers,\n separator = _props2.separator,\n filename = _props2.filename,\n uFEFF = _props2.uFEFF,\n children = _props2.children,\n onClick = _props2.onClick,\n asyncOnClick = _props2.asyncOnClick,\n enclosingCharacter = _props2.enclosingCharacter,\n rest = _objectWithoutProperties(_props2, ['data', 'headers', 'separator', 'filename', 'uFEFF', 'children', 'onClick', 'asyncOnClick', 'enclosingCharacter']);\n\n var isNodeEnvironment = typeof window === 'undefined';\n var href = isNodeEnvironment ? '' : this.buildURI(data, uFEFF, headers, separator, enclosingCharacter);\n\n return _react2.default.createElement(\n 'a',\n _extends({\n download: filename\n }, rest, {\n ref: function ref(link) {\n return _this4.link = link;\n },\n target: '_self',\n href: href,\n onClick: this.handleClick()\n }),\n children\n );\n }\n }]);\n\n return CSVLink;\n}(_react2.default.Component);\n\nCSVLink.defaultProps = _metaProps.defaultProps;\nCSVLink.propTypes = _metaProps.propTypes;\nexports.default = CSVLink;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar isSafari = exports.isSafari = function isSafari() {\n return (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)\n );\n};\n\nvar isJsons = exports.isJsons = function isJsons(array) {\n return Array.isArray(array) && array.every(function (row) {\n return (typeof row === \"undefined\" ? \"undefined\" : _typeof(row)) === 'object' && !(row instanceof Array);\n });\n};\n\nvar isArrays = exports.isArrays = function isArrays(array) {\n return Array.isArray(array) && array.every(function (row) {\n return Array.isArray(row);\n });\n};\n\nvar jsonsHeaders = exports.jsonsHeaders = function jsonsHeaders(array) {\n return Array.from(array.map(function (json) {\n return Object.keys(json);\n }).reduce(function (a, b) {\n return new Set([].concat(_toConsumableArray(a), _toConsumableArray(b)));\n }, []));\n};\n\nvar jsons2arrays = exports.jsons2arrays = function jsons2arrays(jsons, headers) {\n headers = headers || jsonsHeaders(jsons);\n\n var headerLabels = headers;\n var headerKeys = headers;\n if (isJsons(headers)) {\n headerLabels = headers.map(function (header) {\n return header.label;\n });\n headerKeys = headers.map(function (header) {\n return header.key;\n });\n }\n\n var data = jsons.map(function (object) {\n return headerKeys.map(function (header) {\n return getHeaderValue(header, object);\n });\n });\n return [headerLabels].concat(_toConsumableArray(data));\n};\n\nvar getHeaderValue = exports.getHeaderValue = function getHeaderValue(property, obj) {\n var foundValue = property.replace(/\\[([^\\]]+)]/g, \".$1\").split(\".\").reduce(function (o, p, i, arr) {\n var value = o[p];\n if (value === undefined || value === null) {\n arr.splice(1);\n } else {\n return value;\n }\n }, obj);\n\n return foundValue === undefined ? property in obj ? obj[property] : '' : foundValue;\n};\n\nvar elementOrEmpty = exports.elementOrEmpty = function elementOrEmpty(element) {\n return typeof element === 'undefined' || element === null ? '' : element;\n};\n\nvar joiner = exports.joiner = function joiner(data) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n var enclosingCharacter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '\"';\n\n return data.filter(function (e) {\n return e;\n }).map(function (row) {\n return row.map(function (element) {\n return elementOrEmpty(element);\n }).map(function (column) {\n return \"\" + enclosingCharacter + column + enclosingCharacter;\n }).join(separator);\n }).join(\"\\n\");\n};\n\nvar arrays2csv = exports.arrays2csv = function arrays2csv(data, headers, separator, enclosingCharacter) {\n return joiner(headers ? [headers].concat(_toConsumableArray(data)) : data, separator, enclosingCharacter);\n};\n\nvar jsons2csv = exports.jsons2csv = function jsons2csv(data, headers, separator, enclosingCharacter) {\n return joiner(jsons2arrays(data, headers), separator, enclosingCharacter);\n};\n\nvar string2csv = exports.string2csv = function string2csv(data, headers, separator, enclosingCharacter) {\n return headers ? headers.join(separator) + \"\\n\" + data : data.replace(/\"/g, '\"\"');\n};\n\nvar toCSV = exports.toCSV = function toCSV(data, headers, separator, enclosingCharacter) {\n if (isJsons(data)) return jsons2csv(data, headers, separator, enclosingCharacter);\n if (isArrays(data)) return arrays2csv(data, headers, separator, enclosingCharacter);\n if (typeof data === 'string') return string2csv(data, headers, separator);\n throw new TypeError(\"Data should be a \\\"String\\\", \\\"Array of arrays\\\" OR \\\"Array of objects\\\" \");\n};\n\nvar buildURI = exports.buildURI = function buildURI(data, uFEFF, headers, separator, enclosingCharacter) {\n var csv = toCSV(data, headers, separator, enclosingCharacter);\n var type = isSafari() ? 'application/csv' : 'text/csv';\n var blob = new Blob([uFEFF ? \"\\uFEFF\" : '', csv], { type: type });\n var dataURI = \"data:\" + type + \";charset=utf-8,\" + (uFEFF ? \"\\uFEFF\" : '') + csv;\n\n var URL = window.URL || window.webkitURL;\n\n return typeof URL.createObjectURL === 'undefined' ? dataURI : URL.createObjectURL(blob);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CSVLink = exports.CSVDownload = undefined;\n\nvar _Download = require('./components/Download');\n\nvar _Download2 = _interopRequireDefault(_Download);\n\nvar _Link = require('./components/Link');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CSVDownload = exports.CSVDownload = _Download2.default;\nvar CSVLink = exports.CSVLink = _Link2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PropsNotForwarded = exports.defaultProps = exports.propTypes = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar propTypes = exports.propTypes = {\n data: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.array, _propTypes.func]).isRequired,\n headers: _propTypes.array,\n target: _propTypes.string,\n separator: _propTypes.string,\n filename: _propTypes.string,\n uFEFF: _propTypes.bool,\n onClick: _propTypes.func,\n asyncOnClick: _propTypes.bool,\n enclosingCharacter: _propTypes.string\n};\n\nvar defaultProps = exports.defaultProps = {\n separator: ',',\n filename: 'generatedBy_react-csv.csv',\n uFEFF: true,\n asyncOnClick: false,\n enclosingCharacter: '\"'\n};\n\nvar PropsNotForwarded = exports.PropsNotForwarded = ['data', 'headers'];"],"names":["props","_props$label","updatedTime","lastUpdated","isToday","moment","isSame","formatDate","format","_jsx","className","children","_jsxs","label","title","useInterval","callback","delay","savedCallback","useRef","useEffect","current","id","setInterval","clearInterval","useQueryString","search","useLocation","URLSearchParams","ColumnIds","formatNumber","value","formatDecimalPlace","bidColumns","buildColumn","key","name","renderer","m","_m$deliveryPeriodName","deliveryPeriodName","concat","formatUTCDate","start","end","futuresMonth","getShortMonthName","futuresYear","futuresPrice","isSettled","basis","cash","bidRow","classNames","positive","futuresChange","negative","defaultColumns","ExternalHttpClient","getClient","authenticationKey","this","getClientInternal","process","baseUrl","defaultHeaders","Authorization","axios","create","baseURL","headers","listDeliveryPeriods","authKey","commodityIds","locationIds","get","params","join","data","deliveryPeriods","BidsContext","React","apiKey","columns","commodities","locations","byCommodity","hideRowsWithoutBasis","preview","excludeEmptyString","val","length","BidsComponentPage","_excludeEmptyString","_excludeEmptyString2","_excludeEmptyString3","query","bidsContext","split","map","Number","parseInt","Provider","BidsComponent","REFRESH_EXPIRATION_TIME","_state$uniqueLocation","_state$filteredLocati","_state$filteredLocati2","_state$uniqueCommodit","_state$filteredCommod","_state$filteredCommod2","state","setState","useState","errors","showSessionTimeout","isVisible","context","useContext","resetTimeUntilExpiration","retrieveData","cssUrl","sortOrder","location","indexOf","commodity","async","response","externalBidsService","rows","filter","dp","bids","flatMap","b","includes","_dp$contract","_dp$contract2","_dp$contract3","_dp$contract4","_dp$contract5","_dp$contract6","deliveryPeriodId","contract","price","futuresPriceUpdatedDate","priceUpdated","netChange","maturityMonth","maturityYear","lastUpdatedDate","lastUpdatedDateUtc","bidRows","_","reverse","uniqueLocations","uniqueCommodities","err","errorToShow","isAxiosError","axiosError","_axiosError$response","status","loggingService","error","handleError","pollingTimeLimit","Date","now","setTimeout","ComponentWrapper","ErrorList","Loading","groupingFuncs","filteredBids","filteredLocation","filteredCommodity","groupedTopLevel","groupBids","rel","href","onLoad","onError","_Fragment","SessionTimeout","onRefresh","Form","Group","Control","as","onChange","ev","find","target","CSVLink","csvHeaders","startString","endString","filename","LastUpdated","filtered","x","isCashOnly","toDate","getUpdatedDate","GroupedBids","groups","src","by","g","BidsTable","setColumns","_context$columns","c","onClick","build","builder","addRoute","module","exports","Object","defineProperty","obj","_createClass","defineProperties","i","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","prototype","_react","require","_react2","__esModule","default","_core","_metaProps","CSVDownload","_React$Component","instance","TypeError","_classCallCheck","_this","self","call","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","subClass","superClass","constructor","setPrototypeOf","_inherits","buildURI","apply","undefined","arguments","_props","separator","enclosingCharacter","uFEFF","specs","replace","page","window","open","Component","defaultProps","assign","propTypes","_extends","source","hasOwnProperty","bind","event","isAsync","navigator","msSaveOrOpenBlob","preventDefault","csvData","blob","Blob","toCSV","msSaveBlob","_this2","proceed","handleLegacy","_this3","asyncOnClick","handleAsyncClick","handleSyncClick","_this4","_props2","rest","keys","_objectWithoutProperties","createElement","download","ref","link","handleClick","_typeof","Symbol","iterator","_toConsumableArray","arr","Array","isArray","arr2","from","isSafari","test","userAgent","isJsons","array","every","row","isArrays","jsonsHeaders","json","reduce","a","Set","jsons2arrays","jsons","headerLabels","headerKeys","header","object","getHeaderValue","property","foundValue","o","p","splice","elementOrEmpty","element","joiner","e","column","arrays2csv","jsons2csv","string2csv","csv","type","dataURI","URL","webkitURL","createObjectURL","_Download2","_interopRequireDefault","_Link2","PropsNotForwarded","_propTypes","oneOfType","string","func","isRequired","bool"],"sourceRoot":""}