{"version":3,"file":"js/controllers-35e55be1526868d61741.js","mappings":"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","sources":["webpack://app/./app/javascript/highchart_options.ts","webpack://app/./app/javascript/controllers/application.ts","webpack://app/./app/javascript/controllers/button_controller.ts","webpack://app/./app/javascript/controllers/checkbox_controller.ts","webpack://app/./app/javascript/controllers/downloads_controller.ts","webpack://app/./app/javascript/controllers/dropdown_controller.ts","webpack://app/./app/javascript/controllers/element_download_controller.ts","webpack://app/./app/javascript/controllers/enable_action_button_controller.ts","webpack://app/./app/javascript/controllers/form_controller.ts","webpack://app/./app/javascript/controllers/hide_element_controller.ts","webpack://app/./app/javascript/controllers/tables/key_decision_maker_module.js","webpack://app/./app/javascript/controllers/key_decision_makers_controller.ts","webpack://app/./app/javascript/controllers/key_decision_makers_download_controller.ts","webpack://app/./app/javascript/controllers/loading_overlay_controller.ts","webpack://app/./app/javascript/controllers/modal_controller.ts","webpack://app/./app/javascript/controllers/modal_reveal_controller.ts","webpack://app/./app/javascript/controllers/notifications_controller.ts","webpack://app/./app/javascript/controllers/popover_controller.ts","webpack://app/./app/javascript/controllers/popup_controller.ts","webpack://app/./app/javascript/controllers/reveal_content_controller.ts","webpack://app/./app/javascript/controllers/semi_circle_donut_chart_controller.ts","webpack://app/./app/javascript/ui/textarea.jsx","webpack://app/./app/assets/images/icons/envelope.svg","webpack://app/./app/assets/images/icons/link.svg","webpack://app/./app/javascript/share_notice/index.jsx","webpack://app/./app/javascript/controllers/share_notice_modal_controller.ts","webpack://app/./app/javascript/controllers/tables/data_table.js","webpack://app/./app/javascript/controllers/charts/area_chart.js","webpack://app/./app/javascript/controllers/trend_by_buyer_chart_controller.ts","webpack://app/./app/javascript/controllers/charts/value_volume_chart.js","webpack://app/./app/javascript/controllers/trend_over_time_chart_controller.ts","webpack://app/./app/javascript/controllers/index.ts","webpack://app/./app/javascript/ui/button.jsx"],"sourcesContent":["import type { Options } from 'highcharts';\nimport * as Highcharts from 'highcharts';\nimport { merge as deepMerge } from 'lodash';\n// @ts-expect-error chartFontFamily is an array of strings\nimport { chartFontFamily } from './constants';\nimport exporting from 'highcharts/modules/exporting';\nimport offlineExporting from 'highcharts/modules/offline-exporting';\nimport accessibility from 'highcharts/modules/accessibility';\n\n// Create a type alias for Highcharts to avoid circular reference issues\ntype HighchartsType = typeof Highcharts;\n\nexport const highchartsOptionsWithExporting = function(Highcharts: HighchartsType, overrides: Options = {}): Options {\n exporting(Highcharts);\n offlineExporting(Highcharts);\n accessibility(Highcharts);\n\n const options = highchartsOptions(Highcharts, {\n // See https://api.highcharts.com/highcharts/exporting\n exporting: {\n chartOptions: {\n chart: {\n backgroundColor: 'white',\n },\n plotOptions: {\n column: {\n pointPadding: 0.2,\n pointWidth: undefined, // Ensure this value is not defined.\n }\n }\n },\n scale: 1.25,\n sourceWidth: 1280,\n sourceHeight: 540,\n buttons: {\n contextButton: {\n enabled: false \n },\n // Frustratingly, this is undocumented in the Highcharts API.\n exportButton: {\n // See https://api.highcharts.com/highcharts/exporting.buttons.contextButton.menuItems\n menuItems: [\n 'downloadPNG',\n 'downloadPDF'\n ],\n theme: {\n fill: 'transparent',\n // See https://api.highcharts.com/highcharts/plotOptions.series.states\n states: {\n hover: {\n fill: 'transparent'\n },\n select: {\n fill: 'transparent'\n }\n }\n },\n useHTML: true,\n text: `\n \n Export\n
\n \n \n \n \n
\n \n `\n }\n },\n // See https://api.highcharts.com/highcharts/exporting.menuItemDefinitions\n menuItemDefinitions: {\n // viewFullscreen: {},\n // printChart: {},\n // separator: {},\n downloadPNG: {\n onclick: onDownload({ exportFormat: 'PNG' }),\n text: 'Download chart as a PNG image'\n },\n // downloadJPEG: {},\n // downloadSVG: {},\n downloadPDF: {\n onclick: onDownload({ exportFormat: 'PDF' }),\n text: 'Download chart as a PDF'\n }\n }\n },\n navigation: {\n buttonOptions: {\n align: 'left',\n verticalAlign: 'bottom'\n },\n menuItemStyle: {\n fontFamily: chartFontFamily.join(','),\n fontSize: '14px',\n letterSpacing: '0',\n lineHeight: '18px',\n padding: '0.5em'\n },\n menuStyle: {\n padding: '0',\n backgroundColor: 'rgb(249 250 251)',\n border: '1px solid rgb(249 250 251)',\n color: 'rgb(75 85 99)',\n boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)'\n },\n menuItemHoverStyle: {\n backgroundColor: 'rgb(229 231 235)',\n color: 'rgb(17 24 39)'\n }\n }\n });\n\n return deepMerge(options, overrides);\n};\n\nexport const highchartsOptions = function(Highcharts: HighchartsType, overrides: Options = {}): Options {\n // Set default options for Highcharts.\n const options: Options = {\n // Tussell green\n colors: ['#0e9c1b'],\n chart: { backgroundColor: 'none' },\n lang: { numericSymbols: ['K', 'M', 'B', 'T', 'Q', 'Qi'] },\n tooltip: {\n backgroundColor: '#000000',\n borderColor: '#000000',\n formatter: function() {\n const date = Highcharts.dateFormat('%Y', new Date(this.x).getTime());\n return '

' + date + ': £' + toHumanNumber(typeof this.y === 'number' ? this.y : 0) + '

';\n }\n },\n // Removes highcharts.com credit link\n credits: { enabled: false }\n };\n\n return deepMerge(options, overrides);\n};\n\n// Convert a number to a human-readable format with abbreviated units (K, M, B)\nexport const toHumanNumber = (number: number): string => {\n const units = ['B', 'M', 'K'];\n const divisors = [1e9, 1e6, 1e3];\n\n for (let i = 0; i < divisors.length; i++) {\n if (number >= divisors[i]) {\n return (number / divisors[i]).toFixed(1).replace(/\\.0$/, '') + units[i];\n }\n }\n\n return number.toString();\n};\n\n// Map the export format to the MIME type\nconst formatMapper = (exportFormat: string): string => {\n switch (exportFormat) {\n case 'PNG':\n return 'image/png';\n case 'PDF':\n return 'application/pdf';\n default:\n // @ts-expect-error Rollbar is a global object.\n if (typeof window.Rollbar !== 'undefined') {\n // @ts-expect-error as above.\n window.Rollbar.error(`Unknown export format: ${exportFormat}`);\n }\n return 'image/png';\n }\n};\n\n\n// Download the chart as a file\nconst onDownload = (options: { exportFormat: string }) => function() {\n this.exportChart(\n {\n type: formatMapper(options.exportFormat),\n filename: 'chart'\n }\n );\n const csrfToken = document.querySelector('meta[name=\"csrf-token\"]')?.getAttribute('content');\n\n fetch('/charts/downloads', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-TOKEN': typeof csrfToken === 'string' ? csrfToken : ''\n },\n body: JSON.stringify({\n export_format: options.exportFormat\n })\n })\n .then(response => {\n if (!response.ok) {\n throw new Error('Failed to log chart download event');\n }\n })\n .catch(error => {\n console.error(error.message);\n // @ts-expect-error Rollbar is a global object.\n if (typeof window.Rollbar !== 'undefined') {\n // @ts-expect-error Rollbar as above.\n window.Rollbar.error(error.message);\n }\n });\n};\n\nexport default {\n highchartsOptions,\n highchartsOptionsWithExporting,\n toHumanNumber\n};\n","import { Application } from '@hotwired/stimulus';\n\ndeclare global {\n interface Window {\n Stimulus: Application;\n }\n}\n\nconst application = Application.start();\n\n// Configure Stimulus development experience\napplication.debug = false;\nwindow.Stimulus = application;\n\nexport { application };\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class ButtonController extends Controller{\n static targets = ['button'];\n static values = { text: String };\n\n declare buttonTarget: HTMLButtonElement;\n declare textValue: string;\n\n disable(): void {\n this.buttonTarget.disabled = true;\n this.buttonTarget.innerText = this.textValue;\n }\n}\n","// This controller is for changing the opacity of the svg we use for our\n// personalised checkboxes.\nimport { Controller } from '@hotwired/stimulus';\n\nexport default class CheckboxController extends Controller {\n static targets = ['checkbox', 'svg'];\n\n declare checkboxTarget: HTMLInputElement;\n declare svgTarget: HTMLImageElement;\n\n // Upon connection, this displays the checkbox correctly if checked\n connect(): void {\n if (this.checkboxTarget.checked) {\n this.svgTarget.style.opacity = '1';\n }\n }\n\n changeCheckbox(): void {\n if (this.checkboxTarget.checked) {\n this.svgTarget.style.opacity = '1';\n } else {\n this.svgTarget.style.opacity = '0';\n }\n }\n}\n","import { Controller } from '@hotwired/stimulus';\nimport type NotificationsController from './notifications_controller';\nimport Rails from '@rails/ujs';\n\n// This controller is used to create a download, update the notifications pane,\n// and open then pane.\nexport default class DownloadsController extends Controller {\n BUTTON_TIMEOUT = 3000;\n static targets = ['button'];\n declare buttonTarget: HTMLButtonElement;\n static outlets = [ 'notifications' ];\n declare notificationsOutlet: NotificationsController;\n\n // This function submits the form, updates the notifications pane content,\n // and opens the pane.\n async submitAndRender(): Promise {\n const form = this.element;\n // First, disable the button so we don't submit the form twice.\n this.buttonTarget.disabled = true;\n try {\n const response = await fetch(form.action, {\n method: form.method,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-TOKEN': Rails.csrfToken(),\n },\n // This as any is a hack to get around the fact that FormData might\n // contain a File object. In that case, FormData cannot be turned\n // into a URLSearchParams. We know that this form doesn't contain\n // a File object, but Typescript doesn't.\n // See: https://github.com/microsoft/TypeScript/issues/30584\n body: new URLSearchParams(new FormData(form) as any)\n });\n const parsedResponse = await response.json();\n // update the DOM first so we don't see a random flash of the new content\n this.notificationsOutlet.updateDOM(parsedResponse);\n } catch (error) {\n // This isn't such a big issue as we open the notifications pane anyway.\n // And it starts polling the server for updates.\n console.log(error);\n }\n // Finally open the pane\n void this.notificationsOutlet.open();\n // Re-enable the button after 3 seconds\n setTimeout(() => { this.buttonTarget.disabled = false; }, this.BUTTON_TIMEOUT);\n }\n}","import { Controller } from '@hotwired/stimulus';\nimport {\n computePosition, offset, flip, shift, type Placement, type Middleware\n} from '@floating-ui/dom';\n\n// This is the type of the CustomEvent that is dispatched when a dropdown\n// is opened. It contains a reference to the dropdown controller that is\n// opening the dropdown and the groupKey of the dropdown group that the\n// dropdown belongs to.\ntype DropdownCustomEvent = CustomEvent<{\n openingDropdownController: DropdownController,\n groupKey: string\n}>;\n\n// StimulusJS controller to handle the dropdown component.\nexport default class DropdownController extends Controller {\n // There is a slight delay between hovering over the button and the dropdown\n // opening. This is to prevent the dropdown from opening when the user is\n // just passing over the button on their way to something else.\n OPEN_DELAY = 50;\n // There is a slight delay between hovering out of the dropdown and the\n // dropdown closing. This is to prevent the dropdown from closing when the\n // user is moving their mouse from the button to the dropdown.\n CLOSE_DELAY = 250;\n // The options passed to the computePosition function.\n POSITION_OPTIONS: {\n placement: Placement,\n middleware: Middleware[]\n } = {\n placement: 'bottom-start', // Default to bottom-start\n middleware: [offset(6), flip(), shift({ padding: 5 })]\n };\n\n // Holding a reference to the timer allows us to cancel clear it if the user\n // hovers back over the button before the dropdown has closed.\n timer: NodeJS.Timeout | undefined;\n\n static targets = [ \"button\", \"dropdown\" ];\n declare dropdownTarget: HTMLDivElement;\n declare buttonTarget: HTMLLinkElement;\n\n static classes = [ \"hover\" ];\n declare hoverClasses: string[];\n\n static values = { position: String, groupKey: String };\n declare positionValue: Placement;\n declare groupKeyValue: string;\n\n // The #update method is calculates the correct position for the dropdown\n // and is called when the dropdown is opened.\n async update(): Promise {\n const options = this.POSITION_OPTIONS;\n options.placement = this.positionValue;\n const button = this.buttonTarget;\n const dropdown = this.dropdownTarget;\n \n try {\n const { x, y } = await computePosition(button, dropdown, options);\n Object.assign(dropdown.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n } catch (error) {\n console.error('Error computing position:', { cause: error });\n }\n }\n \n\n // Open the dropdown when the user hovers over the button.\n open(): void {\n clearTimeout(this.timer);\n setTimeout(\n () => {\n // Transition the button's styling to the hover state\n this.buttonTarget.classList.add(...this.hoverClasses);\n // Reveal the dropdown\n this.dropdownTarget.style.display = 'block';\n // Position the dropdown\n void this.update();\n },\n this.OPEN_DELAY\n );\n // Close any other dropdowns in the same group\n this.dispatch('open', {\n target: window,\n detail: { openingDropdownController: this, groupKey: this.groupKeyValue }\n });\n }\n\n // This is the CustomEvent handler that is called when another dropdown\n // is opened. If the other dropdown is in the same group, then we close\n // this dropdown.\n onGroupOpen(e: DropdownCustomEvent): void {\n const isCorrectGroup = e.detail.groupKey === this.groupKeyValue;\n const isNotThisDropdown = e.detail.openingDropdownController !== this;\n if (isCorrectGroup && isNotThisDropdown) {\n this.closeImmediately();\n }\n }\n\n // There is a slight delay between hovering out of the dropdown and\n // the dropdown closing. This is to prevent the dropdown from closing\n // when the user is moving their mouse from the button to the dropdown.\n close(): void {\n this.timer = setTimeout(\n this.closeImmediately.bind(this),\n this.CLOSE_DELAY\n );\n }\n\n // We also expose a way to close the dropdown immediately. This is used\n // when the user hovers on another dropdown button.\n closeImmediately(): void {\n // Transition the button's styling from the hover state\n this.buttonTarget.classList.remove(...this.hoverClasses);\n // Remove the dropdown\n this.dropdownTarget.style.display = 'none';\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { toPng } from \"html-to-image\";\n\nconst CANVAS_MARGIN = 16;\nexport default class ElementDownloadController extends Controller {\n static targets = [\"button\"];\n static values = { filename: String };\n\n declare buttonTarget: HTMLButtonElement;\n declare filenameValue: string;\n\n connect(): void {\n this.buttonTarget.addEventListener(\"click\", this.onButtonClick.bind(this));\n }\n\n onButtonClick(): void {\n this.buttonTarget.disabled = true; // Disable the button.\n setTimeout(() => {\n this.downloadImage()\n .then(() => {\n console.log(`Downloaded \"${this.filenameValue}.png\" successfully`);\n \n const csrfToken = document.querySelector('meta[name=\"csrf-token\"]')?.getAttribute('content');\n \n fetch('/charts/downloads', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-TOKEN': typeof csrfToken === 'string' ? csrfToken : ''\n },\n body: JSON.stringify({\n export_format: 'PNG'\n })\n })\n .then(response => {\n if (!response.ok) {\n throw new Error('Failed to log chart download event');\n }\n })\n .catch(error => {\n console.error(error.message);\n // @ts-expect-error Rollbar is a global object.\n if (typeof window.Rollbar !== 'undefined') {\n // @ts-expect-error Rollbar as above.\n window.Rollbar.error(error.message);\n }\n });\n })\n .catch(error => {\n console.error(\"Error in onButtonClick:\", error);\n // @ts-expect-error Rollbar is a global object.\n if (typeof window.Rollbar !== \"undefined\") {\n // @ts-expect-error Rollbar is a global object as above.\n window.Rollbar.error(error);\n }\n })\n .finally(() => {\n setTimeout(() => {\n this.buttonTarget.disabled = false; // Re-enable the button after a short delay.\n }, 250);\n });\n }, 0);\n }\n\n duplicateElement(element: HTMLElement): HTMLElement {\n const duplicate = element.cloneNode(true) as HTMLElement;\n duplicate.style.width = `${element.offsetWidth}px`;\n document.body.appendChild(duplicate);\n return duplicate;\n }\n\n async downloadImage(): Promise {\n let element: HTMLElement | null = document.getElementById(\"element_download_wrapper_target\");\n if (element === null) {\n throw new Error(\"Element element_download_wrapper_target not found\");\n }\n element = this.duplicateElement(element);\n this.addLogoIcon(element);\n try {\n await this.withHiddenNoPrintElements(element, async () => {\n // See: https://www.npmjs.com/package/html-to-image#topng\n const dataUrl = await toPng(element, {\n cacheBust: true,\n backgroundColor: \"white\",\n width: element.offsetWidth + (CANVAS_MARGIN * 2),\n height: element.offsetHeight + (CANVAS_MARGIN * 5),\n style: {\n margin: `${CANVAS_MARGIN}px`,\n marginTop: `${CANVAS_MARGIN * 3}px`,\n width: `${element.offsetWidth}px`,\n height: `${element.offsetHeight}px`\n }\n });\n const link = document.createElement(\"a\");\n link.href = dataUrl;\n link.download = typeof this.filenameValue === \"string\" ? this.filenameValue : \"data.png\";\n link.click();\n });\n } finally {\n element.remove();\n }\n }\n\n async withHiddenNoPrintElements(element, callback: () => Promise): Promise {\n const noPrintElements = element.querySelectorAll(\".no-print\");\n noPrintElements.forEach(element => {\n (element as HTMLElement).style.display = \"none\";\n });\n\n await callback().finally(() => {\n noPrintElements.forEach(element => {\n (element as HTMLElement).style.removeProperty(\"display\");\n });\n });\n }\n\n addLogoIcon(element: HTMLElement): void {\n const svgElement = document.getElementById(\"site-logo\")?.cloneNode(true) as HTMLElement;\n if (svgElement === null) {\n console.error(\"Site logo not found\");\n // @ts-expect-error Rollbar is a global object.\n if (typeof window.Rollbar !== \"undefined\") {\n // @ts-expect-error Rollbar is a global object as above.\n window.Rollbar.error(\"Site logo not found for chart download\");\n }\n return;\n }\n svgElement.style.position = 'absolute';\n svgElement.style.top = `-${CANVAS_MARGIN * 2.5}px`;\n svgElement.style.right = `0`;\n svgElement.style.height = `${CANVAS_MARGIN * 2}px`;\n\n element.style.position = 'relative';\n element.appendChild(svgElement);\n }\n}\n","// This controller is used to enable a button once something has been selected.\n// This will be used in SavedContracts and SavedSearches\n\nimport { Controller } from \"@hotwired/stimulus\";\nexport default class EnableActionButtonController extends Controller {\n static targets = ['allCheckbox', 'checkbox', 'button', 'svg'];\n declare checkboxTargets: HTMLInputElement[];\n declare buttonTargets: HTMLButtonElement[];\n declare allCheckboxTarget: HTMLInputElement;\n declare svgTargets: HTMLElement[];\n\n select(): void {\n const someChecked = this.checkboxTargets.some(c => c.checked);\n \n if (someChecked) {\n this.buttonTargets.forEach(button => {\n button.disabled = false;\n this.svgClass('fill-grey-50');\n });\n } else {\n this.buttonTargets.forEach(button => {\n button.disabled = true;\n this.svgClass('fill-grey-500');\n });\n }\n }\n\n selectAll(): void {\n if (this.allCheckboxTarget.checked) {\n this.buttonTargets.forEach(button => {\n button.disabled = false;\n this.svgClass('fill-grey-50');\n });\n } else {\n this.buttonTargets.forEach(button => {\n button.disabled = true;\n this.svgClass('fill-grey-500');\n });\n }\n }\n\n svgClass(className: string): void {\n this.svgTargets.forEach(svg => {\n const orginalClass = svg.classList.value;\n svg.classList.remove(orginalClass);\n svg.classList.add(className);\n });\n }\n}\n","import { Controller } from '@hotwired/stimulus';\n\n// Controller to auto-submit a form on specific actions\nexport default class FormController extends Controller{\n static values = { action: String, method: String };\n declare readonly actionValue: string;\n declare readonly methodValue: string;\n declare readonly hasActionValue: boolean;\n declare readonly hasMethodValue: boolean;\n\n // Submit the form.\n // NOTE: You should use the Stimulus :prevent modifier to prevent the default\n // action of the element.\n // ie