{"version":3,"file":"dividends.112f8ef0.js","mappings":"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","sources":["webpack://@finviz/website/./js/main/components/SubMenu/SubMenu.tsx","webpack://@finviz/website/./js/main/components/SubMenu/SubMenuTabs.tsx","webpack://@finviz/website/./js/main/components/chart/Label.tsx","webpack://@finviz/website/./js/main/components/chart/LineDot.tsx","webpack://@finviz/website/./js/main/components/chart/ManualGrid.tsx","webpack://@finviz/website/./js/main/modules/dividends/DividendsHeader.tsx","webpack://@finviz/website/./js/main/modules/dividends/constants.ts","webpack://@finviz/website/./js/main/modules/dividends/DividendsPayoutHistory.tsx","webpack://@finviz/website/./js/main/modules/dividends/types.ts","webpack://@finviz/website/./js/main/modules/dividends/WidgetSettingsSection.tsx","webpack://@finviz/website/./js/main/modules/dividends/utils.ts","webpack://@finviz/website/./js/main/modules/dividends/charts/DividendsChart.tsx","webpack://@finviz/website/./js/main/modules/dividends/useTableColumns.tsx","webpack://@finviz/website/./js/main/modules/dividends/index.tsx","webpack://@finviz/website/./js/main/modules/earnings-common/WidgetHeader.tsx","webpack://@finviz/website/./js/main/modules/quote/components/QuoteFinancialsTabMenu.tsx","webpack://@finviz/website/./js/main/modules/quote/components/QuoteStickySubMenu.tsx","webpack://@finviz/website/../node_modules/react-error-boundary/dist/react-error-boundary.esm.js"],"sourcesContent":["import classNames from 'classnames'\r\nimport { isRedesignEnabled } from 'finviz-charts/app/utils'\r\nimport * as React from 'react'\r\n\r\ninterface Props extends React.HTMLProps {\r\n leftContent?: React.ReactNode\r\n middleContent?: React.ReactNode\r\n rightContent?: React.ReactNode\r\n}\r\n\r\nexport function SubMenu({ leftContent, middleContent, rightContent, ...props }: Props) {\r\n return (\r\n
\r\n
\r\n \r\n {leftContent}\r\n
\r\n {middleContent &&
{middleContent}
}\r\n
{rightContent}
\r\n
\r\n \r\n )\r\n}\r\n","import { Link } from 'react-router-dom'\r\n\r\nimport { Button, ButtonSizeType } from '../button'\r\n\r\ninterface Props {\r\n items: Array<{ label: string; href: string; isActive: boolean; reloadDocument?: boolean }>\r\n size?: ButtonSizeType\r\n}\r\n\r\nexport function SubMenuTabs({ items, size = 'medium' }: Props) {\r\n return (\r\n
\r\n {items.map(({ label, href, isActive, reloadDocument }) => (\r\n \r\n {label}\r\n \r\n ))}\r\n
\r\n )\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\nimport { Label as RechartsLabel } from 'recharts'\r\n\r\nimport { CHART_ITEM_COLORS, ChartItemColorType } from './constants'\r\n\r\ninterface LabelInnerProps extends LabelProps {\r\n dx?: number\r\n dy?: number\r\n viewBox?: { x: number; y: number; width: number; height: number }\r\n color?: ChartItemColorType\r\n}\r\n\r\nfunction LabelInner({\r\n color,\r\n viewBox,\r\n dx = 0,\r\n dy = 0,\r\n angle = -90,\r\n children,\r\n ...props\r\n}: React.PropsWithChildren) {\r\n if (!viewBox) return\r\n\r\n const x = viewBox.x + viewBox.width / 2 + dx\r\n const y = viewBox.y + viewBox.height / 2 + dy\r\n\r\n return (\r\n \r\n {color && }\r\n {children}\r\n \r\n )\r\n}\r\n\r\ninterface LabelProps extends React.PropsWithoutRef> {\r\n color?: ChartItemColorType\r\n}\r\n\r\nexport function Label({ children, color, ...props }: LabelProps) {\r\n return } {...props} />\r\n}\r\n\r\nLabel.displayName = RechartsLabel.displayName\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\nimport { Dot, DotProps } from 'recharts'\r\n\r\nimport { ChartWrapperContext } from './ChartWrapper'\r\nimport { CHART_ITEM_COLORS, ChartItemColorType } from './constants'\r\n\r\ninterface LineDotProps extends DotProps {\r\n dataKey?: string\r\n value?: unknown\r\n color?: ChartItemColorType\r\n isActive?: boolean\r\n}\r\n\r\nexport function LineDot({ cx, cy, r = 4, dataKey, color, className, isActive, value }: LineDotProps) {\r\n const { setActiveKey } = React.useContext(ChartWrapperContext)\r\n const lineColor = color ? CHART_ITEM_COLORS[color] : undefined\r\n\r\n if (value === null) return null\r\n\r\n return (\r\n setActiveKey(dataKey ?? null)}\r\n onMouseLeave={() => setActiveKey(null)}\r\n />\r\n )\r\n}\r\n\r\nexport function RedGreenDot({ cx, cy, value, isActive }: LineDotProps) {\r\n if (typeof value !== 'number') return null\r\n\r\n return (\r\n 0 ? 'green' : 'red'}\r\n className=\"stroke-bg-primary stroke-1\"\r\n />\r\n )\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\n\r\ninterface ManualGridProps extends React.HTMLProps {\r\n numberOfLines?: number\r\n visibleLeftAxes?: number\r\n estimateAreaWidth?: number\r\n rightOffset?: number\r\n}\r\n\r\nfunction ManualGridComponent(\r\n {\r\n numberOfLines = 5,\r\n visibleLeftAxes = 0,\r\n rightOffset = 32,\r\n estimateAreaWidth,\r\n children,\r\n ...props\r\n }: React.PropsWithChildren,\r\n ref: React.ForwardedRef\r\n) {\r\n const lines = Array.from({ length: numberOfLines })\r\n\r\n return (\r\n
\r\n \r\n {lines.map((_, index) => (\r\n
\r\n ))}\r\n {!!estimateAreaWidth && (\r\n \r\n )}\r\n
\r\n\r\n {children}\r\n
\r\n )\r\n}\r\n\r\nexport const ManualGrid = React.forwardRef(ManualGridComponent)\r\n","import * as dateFns from 'date-fns'\r\nimport React from 'react'\r\n\r\nimport { chartEventUtils } from '../../../app/charts-lib'\r\nimport { Heading } from '../../components/typography'\r\nimport { FINANCIALS_SECTION_LABELS } from '../quote/components/QuoteFinancialsTabMenu'\r\nimport { QuoteSubview } from '../quote/types'\r\nimport { DividendData } from './types'\r\n\r\ntype WidgetHeaderProps = Pick<\r\n DividendData,\r\n 'dividendExDate' | 'lastClose' | 'dividendTTM' | 'dividendEstimate' | 'dividendsData'\r\n>\r\n\r\nexport default function DividendsHeader({\r\n dividendExDate,\r\n dividendTTM,\r\n dividendEstimate,\r\n lastClose,\r\n dividendsData,\r\n}: WidgetHeaderProps) {\r\n const lastDividendData = dividendsData[0]\r\n\r\n return (\r\n
\r\n \r\n {FINANCIALS_SECTION_LABELS[QuoteSubview.Dividends]}\r\n \r\n\r\n
\r\n
\r\n Ex-Date\r\n \r\n {dividendExDate ? dateFns.format(dateFns.parseISO(dividendExDate), 'MMM dd, yyy') : '-'}\r\n \r\n
\r\n
\r\n Dividend amount\r\n {chartEventUtils.getFormattedValue({ value: lastDividendData.Ordinary })}\r\n
\r\n
\r\n Special\r\n \r\n {lastDividendData.Special !== null\r\n ? chartEventUtils.getFormattedValue({ value: lastDividendData.Special })\r\n : '-'}\r\n \r\n
\r\n
\r\n Dividend TTM\r\n \r\n {typeof dividendTTM === 'number' && typeof lastClose === 'number' ? (\r\n <>\r\n {chartEventUtils.getFormattedValue({ value: dividendTTM })} (\r\n {chartEventUtils.getFormattedValue({ value: (dividendTTM / lastClose) * 100 })}%)\r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n
\r\n
\r\n Dividend Est.\r\n \r\n {typeof dividendEstimate === 'number' && typeof lastClose === 'number' ? (\r\n <>\r\n {chartEventUtils.getFormattedValue({ value: dividendEstimate })} (\r\n {chartEventUtils.getFormattedValue({ value: (dividendEstimate / lastClose) * 100 })}%)\r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { TableAlign } from '../../components/Table'\r\n\r\n// These values match keys which come from BE so don't change them\r\nexport enum DividendValueProperty {\r\n Amount = 'Amount',\r\n Yield = 'Yield',\r\n Payout = 'Payout',\r\n}\r\n\r\nexport const HISTORY_COLUMNS = [\r\n {\r\n id: 'Exdate' as const,\r\n name: 'Ex-date',\r\n align: TableAlign.Left,\r\n },\r\n {\r\n id: 'Ordinary' as const,\r\n name: 'Amount',\r\n align: TableAlign.Right,\r\n },\r\n {\r\n id: 'Special' as const,\r\n name: 'Special',\r\n align: TableAlign.Right,\r\n },\r\n]\r\n\r\nexport const BAR_WIDTH = 72\r\nexport const CHART_HEIGHT = 250\r\nexport const LABELS_WIDTH = 28\r\nexport const LABELS_MARGIN = 22\r\nexport const BAR_WIDTH_NARROW = 52\r\nexport const BAR_GAP = 16\r\nexport const EXTRA_WIDTH = 44\r\nexport const CHART_MARGINS = { top: 0, right: 0, bottom: 0, left: 0 }\r\n","import classNames from 'classnames'\r\nimport * as dateFns from 'date-fns'\r\nimport React from 'react'\r\n\r\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../../components/Table'\r\nimport { shortFormatNumber } from '../../util'\r\nimport { WidgetHeader } from '../earnings-common/WidgetHeader'\r\nimport { HISTORY_COLUMNS } from './constants'\r\nimport { Dividend } from './types'\r\n\r\ninterface Props {\r\n dividends: Dividend[]\r\n}\r\n\r\nexport function DividendsPayoutHistory({ dividends }: Props) {\r\n return (\r\n
\r\n Dividend payout history\r\n \r\n \r\n {HISTORY_COLUMNS.map((column) => (\r\n \r\n {column.name}\r\n \r\n ))}\r\n {/* Spacer header col */}\r\n \r\n \r\n \r\n {dividends.map((dividend, index, arr) => (\r\n \r\n {HISTORY_COLUMNS.map((column) => (\r\n \r\n {column.id === 'Exdate'\r\n ? dateFns.format(dateFns.parseISO(dividend[column.id]), 'MMM dd, yyy')\r\n : shortFormatNumber(dividend[column.id], { fractions: 2 })}\r\n \r\n ))}\r\n\r\n {/* Spacer col */}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import {\r\n FinancialsColumnDefinition,\r\n FinancialsRowDataType,\r\n FinancialsSubRowDataType,\r\n} from '../../components/financials-table/types'\r\nimport type { DividendValueProperty } from './constants'\r\n\r\nexport interface DividendAnnual {\r\n Amount: number\r\n Estimate: boolean\r\n FiscalPeriod: string\r\n Payout: number\r\n Ticker: string\r\n Yield: number\r\n}\r\n\r\nexport interface DividendsDataType extends Omit {\r\n id: DividendValueProperty\r\n values: Array<{ year: string; value: number | null; isEstimate: boolean }>\r\n}\r\n\r\nexport interface Dividend {\r\n Exdate: string\r\n Ordinary: number\r\n Special: number\r\n Ticker: string\r\n}\r\n\r\nexport interface DividendData {\r\n lastClose: number | null\r\n dividendExDate: string | null\r\n dividendEstimate: number | null\r\n dividendTTM: number | null\r\n dividendsAnnualData: DividendAnnual[]\r\n dividendsData: Dividend[]\r\n}\r\n\r\nexport enum DividendDataEnum {\r\n yoyChange = 'yoyChange',\r\n yoyChangePct = 'yoyChangePct',\r\n}\r\n\r\nexport type DividendSettings = {\r\n [DividendDataEnum.yoyChange]: boolean\r\n [DividendDataEnum.yoyChangePct]: boolean\r\n}\r\n\r\nexport type DividendsColumnsType = {\r\n columns: FinancialsColumnDefinition[]\r\n subColumns: Record[]>\r\n}\r\n","import { ChipSwitch, ChipSwitchButton } from '../../components/ChipSwitch'\r\nimport { useFinancialsTableContext } from '../../components/financials-table'\r\nimport { DividendDataEnum, DividendSettings } from './types'\r\n\r\nexport default function WidgetSettingsSection() {\r\n const { settings, setSettings } = useFinancialsTableContext()\r\n\r\n const toggleSetting = (key: keyof DividendSettings, value: DividendSettings[keyof DividendSettings]) => {\r\n setSettings({\r\n ...settings,\r\n [key]: value,\r\n })\r\n }\r\n\r\n return (\r\n \r\n {\r\n toggleSetting(DividendDataEnum.yoyChange, !settings[DividendDataEnum.yoyChange])\r\n }}\r\n >\r\n YoY Growth\r\n \r\n {\r\n toggleSetting(DividendDataEnum.yoyChangePct, !settings[DividendDataEnum.yoyChangePct])\r\n }}\r\n >\r\n YoY Growth %\r\n \r\n \r\n )\r\n}\r\n","import { shortFormatNumber } from '../../util'\r\n\r\nexport function tickFormatter(value: any) {\r\n return shortFormatNumber(value, { fractions: Math.abs(value) >= 1_000 ? 0 : 2 })\r\n}\r\n","import React from 'react'\r\nimport { ComposedChart } from 'recharts'\r\n\r\nimport { Bar } from '../../../components/chart/Bar'\r\nimport { ChartContext } from '../../../components/chart/ChartWrapper'\r\nimport { CursorBar } from '../../../components/chart/Cursor'\r\nimport { Label } from '../../../components/chart/Label'\r\nimport { Line } from '../../../components/chart/Line'\r\nimport { LineDot } from '../../../components/chart/LineDot'\r\nimport { ManualGrid } from '../../../components/chart/ManualGrid'\r\nimport { Tooltip, TooltipRow } from '../../../components/chart/Tooltip'\r\nimport { YAxis } from '../../../components/chart/YAxis'\r\nimport { ChartItemColorType } from '../../../components/chart/constants'\r\nimport { shortFormatNumber } from '../../../util'\r\nimport {\r\n BAR_GAP,\r\n BAR_WIDTH,\r\n BAR_WIDTH_NARROW,\r\n CHART_HEIGHT,\r\n CHART_MARGINS,\r\n DividendValueProperty,\r\n EXTRA_WIDTH,\r\n LABELS_MARGIN,\r\n LABELS_WIDTH,\r\n} from '../constants'\r\nimport { DividendsDataType } from '../types'\r\nimport { tickFormatter } from '../utils'\r\n\r\nexport type Props = {\r\n annualData: DividendsDataType[]\r\n isCompact: boolean\r\n}\r\n\r\ntype ChartYearData = { year: string; isEstimate: boolean } & Record\r\n\r\nexport function DividendsChart({ annualData, isCompact }: Props) {\r\n const columnsCount = annualData[0].values.length\r\n const barWidth = isCompact ? BAR_WIDTH_NARROW : BAR_WIDTH\r\n const { estimateColumnsCount, hasBarChart } = React.useMemo(\r\n () => ({\r\n estimateColumnsCount: annualData[0].values.filter(({ isEstimate }) => isEstimate).length,\r\n hasBarChart: annualData.some(({ id, isSelected }) => id === DividendValueProperty.Amount && isSelected),\r\n }),\r\n [annualData]\r\n )\r\n const chartData = React.useMemo(() => {\r\n const data: Record = {}\r\n annualData.forEach(({ id, values }) => {\r\n values.forEach(({ value, year, isEstimate }) => {\r\n data[year] = { ...data[year], year, isEstimate, [id]: value }\r\n })\r\n })\r\n return Object.values(data)\r\n }, [annualData])\r\n\r\n const visibleLeftAxes = React.useMemo(() => annualData.slice(1).filter((group) => group.isSelected), [annualData])\r\n\r\n const chartWidth =\r\n columnsCount * barWidth + (columnsCount - 1) * BAR_GAP + EXTRA_WIDTH + LABELS_WIDTH * 2 * visibleLeftAxes.length\r\n const estimateAreaWidth = estimateColumnsCount * barWidth + estimateColumnsCount * BAR_GAP\r\n const barLessChartYMargin = barWidth / 2 + BAR_GAP / 2\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {annualData.map((row, index) => {\r\n const axisId = index > 0 ? `left${index}` : 'right'\r\n const orientation = index > 0 ? 'left' : 'right'\r\n const tickMargin = index > 0 ? (hasBarChart ? 0 : barLessChartYMargin) : LABELS_MARGIN\r\n const axisWidth = index > 0 ? LABELS_WIDTH * 2 : LABELS_WIDTH\r\n\r\n // Hide unselected axes but always keep the right axis\r\n if (!row.isSelected && index > 0) return null\r\n\r\n return (\r\n \r\n {index === 0 ? null : (\r\n \r\n )}\r\n \r\n )\r\n })}\r\n }\r\n formatValue={(value: number) => shortFormatNumber(value)}\r\n >\r\n {annualData.map(({ id, label, color, isSelected }) =>\r\n isSelected ? (\r\n \r\n ) : null\r\n )}\r\n \r\n {annualData.map(({ id, isSelected, color }, rowIndex) => {\r\n if (!isSelected) return null\r\n\r\n const axisId = rowIndex > 0 ? `left${rowIndex}` : 'right'\r\n\r\n if (id === DividendValueProperty.Amount) {\r\n return (\r\n (payload.isEstimate ? 'gray' : (color as ChartItemColorType))}\r\n yAxisId={axisId}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n }\r\n activeDot={}\r\n />\r\n )\r\n })}\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { RedGreenText } from '../../components/RedGreenText'\r\nimport { TableAlign } from '../../components/Table'\r\nimport { shortFormatNumber } from '../../util'\r\nimport { DividendDataEnum, DividendsColumnsType } from './types'\r\n\r\nconst getColumns = (yearKeys: string[], isCompact: boolean) => {\r\n const commonClassName = classNames('px-4 last:pr-11', {\r\n 'w-22 last:w-29.5': !isCompact,\r\n 'w-17 last:w-24.5': isCompact,\r\n })\r\n\r\n const columns: DividendsColumnsType['columns'] = yearKeys.map((year) => ({\r\n id: year,\r\n name: year,\r\n align: TableAlign.Right,\r\n className: commonClassName,\r\n renderColumn: (data) => {\r\n const annualDividend = data.values.find((annualDividend) => annualDividend.year === year)\r\n const annualDividendValue = annualDividend?.value ?? null\r\n if (typeof annualDividendValue !== 'number') return \r\n const value = shortFormatNumber(annualDividendValue, { fractions: 2 })\r\n return {value}\r\n },\r\n }))\r\n\r\n const subColumns: DividendsColumnsType['subColumns'] = {\r\n [DividendDataEnum.yoyChange]: yearKeys.map((year) => ({\r\n id: year,\r\n name: year,\r\n align: TableAlign.Right,\r\n className: commonClassName,\r\n renderColumn: (data) => {\r\n const annualDividend = data.values.find((annualDividend) => annualDividend.year === year)\r\n const annualDividendValue = annualDividend?.value ?? null\r\n return (\r\n \r\n {shortFormatNumber(annualDividendValue, { defaultValue: '—' })}\r\n \r\n )\r\n },\r\n })),\r\n [DividendDataEnum.yoyChangePct]: yearKeys.map((year) => ({\r\n id: year,\r\n name: year,\r\n align: TableAlign.Right,\r\n className: commonClassName,\r\n renderColumn: (data) => {\r\n const annualDividend = data.values.find((annualDividend) => annualDividend.year === year)\r\n const annualDividendValue = annualDividend?.value ?? null\r\n return (\r\n \r\n {annualDividendValue?.toFixed(2) ?? '—'}\r\n \r\n )\r\n },\r\n })),\r\n }\r\n return { columns, subColumns }\r\n}\r\n\r\nexport function useTableColumns(yearKeys: string[], isCompact: boolean) {\r\n return React.useMemo(() => getColumns(yearKeys, isCompact), [yearKeys, isCompact])\r\n}\r\n","import throttle from 'lodash.throttle'\r\nimport React from 'react'\r\n\r\nimport { ColorVariant } from '../../components'\r\nimport { TableAlign, TableHead, TableHeader } from '../../components/Table'\r\nimport {\r\n FinancialsTableContextProvider,\r\n FinancialsWidget,\r\n getIsCompact,\r\n getYoYData,\r\n useFinancialsTableContext,\r\n} from '../../components/financials-table'\r\nimport { useCachedLoaderData } from '../../hooks/useCachedLoaderData'\r\nimport { QuoteFinancialsTabMenu } from '../quote/components/QuoteFinancialsTabMenu'\r\nimport { QuoteStickySubMenu } from '../quote/components/QuoteStickySubMenu'\r\nimport DividendsHeader from './DividendsHeader'\r\nimport { DividendsPayoutHistory } from './DividendsPayoutHistory'\r\nimport WidgetSettingsSection from './WidgetSettingsSection'\r\nimport { DividendsChart } from './charts/DividendsChart'\r\nimport { BAR_WIDTH, DividendValueProperty } from './constants'\r\nimport { DividendData, DividendDataEnum, DividendSettings, DividendsDataType } from './types'\r\nimport { useTableColumns } from './useTableColumns'\r\n\r\nconst dividendsAnnualDataTemplate: Array> = [\r\n { label: 'Dividends per share (FY)', id: DividendValueProperty.Amount, color: ColorVariant.teal, isSelected: true },\r\n { label: 'Dividend yield (FY) %', id: DividendValueProperty.Yield, color: ColorVariant.green, isSelected: true },\r\n { label: 'Payout ratio (FY) %', id: DividendValueProperty.Payout, color: ColorVariant.purple, isSelected: false },\r\n]\r\n\r\nfunction mapData(data: DividendData) {\r\n const dividendsArray = dividendsAnnualDataTemplate.map((dividendCategory) => ({\r\n ...dividendCategory,\r\n values: data.dividendsAnnualData.map((annualData) => ({\r\n year: annualData.FiscalPeriod.substring(0, 4),\r\n value: annualData[dividendCategory.id],\r\n isEstimate: annualData.Estimate,\r\n })),\r\n }))\r\n\r\n return dividendsArray.map((dividendCategory) => {\r\n const yoyData = getYoYData(dividendCategory.values)\r\n\r\n return {\r\n ...dividendCategory,\r\n subData: [\r\n {\r\n id: DividendDataEnum.yoyChange,\r\n label: 'YoY Growth',\r\n values: dividendCategory.values.map((anualDividend) => ({\r\n ...anualDividend,\r\n value: yoyData.change[anualDividend.year] ?? null,\r\n })),\r\n },\r\n {\r\n id: DividendDataEnum.yoyChangePct,\r\n label: 'YoY Growth %',\r\n values: dividendCategory.values.map((anualDividend) => ({\r\n ...anualDividend,\r\n value: yoyData.changePct[anualDividend.year] ?? null,\r\n })),\r\n },\r\n ].filter(Boolean),\r\n }\r\n })\r\n}\r\n\r\nfunction DividendsComponent() {\r\n const { data } = useCachedLoaderData()\r\n const { settings } = useFinancialsTableContext()\r\n const [annualData, setAnnualData] = React.useState(() => (data ? mapData(data) : []))\r\n const yearKeys = React.useMemo(\r\n () =>\r\n annualData\r\n .flatMap(({ values }) => values.map(({ year }) => year))\r\n .filter((year, index, arr) => arr.indexOf(year) === index),\r\n [annualData]\r\n )\r\n const [isCompact, setIsCompact] = React.useState(getIsCompact(yearKeys.length, BAR_WIDTH))\r\n const { columns, subColumns } = useTableColumns(yearKeys, isCompact)\r\n\r\n React.useEffect(() => {\r\n // Remove min-height from react root element which is set on BE because of CLS\r\n document.getElementById('root')?.style.removeProperty('min-height')\r\n\r\n const onResize = throttle(() => {\r\n setIsCompact(getIsCompact(yearKeys.length, BAR_WIDTH))\r\n }, 100)\r\n\r\n onResize()\r\n\r\n window.addEventListener('resize', onResize)\r\n\r\n return () => {\r\n window.removeEventListener('resize', onResize)\r\n }\r\n }, [yearKeys])\r\n\r\n const onVisibilityChange = (id: string, isSelected: boolean) => {\r\n setAnnualData(\r\n annualData.map((item) =>\r\n item.id === id\r\n ? {\r\n ...item,\r\n isSelected,\r\n }\r\n : item\r\n )\r\n )\r\n }\r\n\r\n const hasData = !!data && (data?.dividendsAnnualData?.length ?? 0) > 0 && (data?.dividendsData?.length ?? 0) > 0\r\n\r\n return (\r\n <>\r\n }\r\n rightContent={hasData ? : undefined}\r\n />\r\n\r\n {hasData ? (\r\n \r\n \r\n\r\n ({\r\n ...revenue,\r\n subData: revenue.subData.filter(({ id }) => settings[id]),\r\n }))}\r\n tableHead={\r\n \r\n \r\n\r\n {columns.map((column) => (\r\n \r\n {column.name}\r\n \r\n ))}\r\n \r\n }\r\n columns={columns}\r\n subColumns={subColumns}\r\n onVisibilityChange={onVisibilityChange}\r\n >\r\n \r\n \r\n\r\n \r\n \r\n ) : (\r\n
\r\n Dividends are not available for this stock.\r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst COOKIE_KEY = 'dividendsSettings'\r\nconst DEFAULT_SETTINGS: DividendSettings = {\r\n [DividendDataEnum.yoyChange]: false,\r\n [DividendDataEnum.yoyChangePct]: false,\r\n}\r\n\r\nexport default function Dividends() {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import classnames from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { Heading } from '../../components/typography'\r\n\r\ninterface Props {\r\n children: React.ReactNode\r\n className?: string\r\n}\r\n\r\nexport function WidgetHeader({ children, className }: Props) {\r\n return (\r\n // m-0 & text-base are necessary to override default H* styles on old design\r\n \r\n {children}\r\n \r\n )\r\n}\r\n","import { decodeQueryString, encodeQueryString } from '../../../../app/queryString'\r\nimport { SubMenuTabs } from '../../../components/SubMenu/SubMenuTabs'\r\nimport { QuoteSubview } from '../types'\r\n\r\nexport const FINANCIALS_SECTION_LABELS = {\r\n [QuoteSubview.Revenue]: 'Revenue',\r\n [QuoteSubview.Dividends]: 'Dividends',\r\n [QuoteSubview.Earnings]: 'Earnings',\r\n [QuoteSubview.Forecast]: 'Forecast',\r\n}\r\n\r\nconst FINANCIAL_MENU_TABS: Array = [\r\n QuoteSubview.Dividends,\r\n QuoteSubview.Earnings,\r\n QuoteSubview.Revenue,\r\n QuoteSubview.Forecast,\r\n]\r\n\r\nfunction getFinancialMenuTabs() {\r\n const searchParams = decodeQueryString()\r\n\r\n return FINANCIAL_MENU_TABS.map((value) => ({\r\n label: FINANCIALS_SECTION_LABELS[value],\r\n href: `/quote.ashx?${encodeQueryString({ ...searchParams, ty: value })}`,\r\n isActive: searchParams.ty === value,\r\n reloadDocument: true,\r\n }))\r\n}\r\n\r\nexport function QuoteFinancialsTabMenu() {\r\n return \r\n}\r\n","import * as React from 'react'\r\n\r\nimport { SubMenu } from '../../../components/SubMenu/SubMenu'\r\n\r\ninterface Props {\r\n leftContent?: React.ReactNode\r\n rightContent?: React.ReactNode\r\n}\r\n\r\nexport function QuoteStickySubMenu({ leftContent, rightContent }: Props) {\r\n return \r\n}\r\n","'use client';\nimport { createContext, Component, createElement, isValidElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback === null || isValidElement(fallback)) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n"],"names":["SubMenu","_ref","leftContent","middleContent","rightContent","props","_jsx","className","classNames","children","_jsxs","isRedesignEnabled","SubMenuTabs","items","size","map","_ref2","label","href","isActive","reloadDocument","Button","as","Link","to","theme","rounding","active","LabelInner","color","viewBox","dx","dy","angle","x","width","y","height","fontSize","fontWeight","textAnchor","dominantBaseline","style","transform","CHART_ITEM_COLORS","Label","RechartsLabel","content","displayName","LineDot","cx","cy","r","dataKey","value","setActiveKey","React","ChartWrapperContext","lineColor","undefined","Dot","onMouseEnter","onMouseLeave","RedGreenDot","ManualGridComponent","ref","numberOfLines","visibleLeftAxes","rightOffset","estimateAreaWidth","lines","Array","from","length","right","_","index","ManualGrid","DividendsHeader","dividendExDate","dividendTTM","dividendEstimate","lastClose","dividendsData","lastDividendData","Heading","level","FINANCIALS_SECTION_LABELS","QuoteSubview","Dividends","dateFns","chartEventUtils","Ordinary","Special","_Fragment","DividendValueProperty","HISTORY_COLUMNS","id","name","align","TableAlign","Left","Right","BAR_WIDTH","CHART_HEIGHT","LABELS_WIDTH","LABELS_MARGIN","BAR_WIDTH_NARROW","BAR_GAP","EXTRA_WIDTH","CHART_MARGINS","top","bottom","left","DividendsPayoutHistory","dividends","WidgetHeader","Table","TableHead","column","TableHeader","TableCell","TableBody","dividend","arr","TableRow","hasLeading","shortFormatNumber","fractions","Exdate","DividendDataEnum","WidgetSettingsSection","settings","setSettings","useFinancialsTableContext","toggleSetting","key","ChipSwitch","ChipSwitchButton","yoyChange","onClick","yoyChangePct","tickFormatter","Math","abs","DividendsChart","annualData","isCompact","columnsCount","values","barWidth","estimateColumnsCount","hasBarChart","filter","isEstimate","some","_ref3","isSelected","Amount","chartData","data","forEach","_ref4","_ref5","year","Object","slice","group","chartWidth","barLessChartYMargin","ChartContext","ComposedChart","margin","stackOffset","row","axisId","orientation","tickMargin","axisWidth","YAxis","yAxisId","interval","Tooltip","showLabel","cursor","CursorBar","numberOfDatapoints","formatValue","_ref6","TooltipRow","indicator","_ref7","rowIndex","Bar","payload","Line","dot","activeDot","getColumns","yearKeys","commonClassName","columns","renderColumn","_annualDividend$value","annualDividend","find","annualDividendValue","subColumns","_annualDividend$value2","RedGreenText","defaultValue","_annualDividend$value3","_annualDividendValue$","toFixed","dividendsAnnualDataTemplate","ColorVariant","teal","Yield","green","Payout","purple","DividendsComponent","_data$dividendsAnnual","_data$dividendsAnnual2","_data$dividendsData$l","_data$dividendsData","useCachedLoaderData","setAnnualData","dividendCategory","dividendsAnnualData","FiscalPeriod","substring","Estimate","yoyData","getYoYData","subData","anualDividend","_yoyData$change$anual","change","_yoyData$changePct$an","changePct","Boolean","mapData","flatMap","indexOf","setIsCompact","getIsCompact","useTableColumns","_document$getElementB","document","getElementById","removeProperty","onResize","throttle","window","addEventListener","removeEventListener","hasData","QuoteStickySubMenu","QuoteFinancialsTabMenu","minWidth","FinancialsWidget","revenue","tableHead","onVisibilityChange","item","COOKIE_KEY","DEFAULT_SETTINGS","FinancialsTableContextProvider","defaultSettings","cookieKey","classnames","Revenue","Earnings","Forecast","FINANCIAL_MENU_TABS","getFinancialMenuTabs","searchParams","decodeQueryString","encodeQueryString","ty","ErrorBoundaryContext","createContext","initialState","didCatch","error","ErrorBoundary","Component","constructor","super","this","resetErrorBoundary","bind","state","getDerivedStateFromError","_this$props$onReset","_this$props","_len","arguments","args","_key","onReset","call","reason","setState","componentDidCatch","info","_this$props$onError","_this$props2","onError","componentDidUpdate","prevProps","prevState","resetKeys","_this$props$onReset2","_this$props3","a","b","is","hasArrayChanged","next","prev","render","fallbackRender","FallbackComponent","fallback","childToRender","createElement","isValidElement","Provider"],"sourceRoot":""}