{"version":3,"file":"422.ab4c1272.js","mappings":"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","sources":["webpack://@finviz/website/./js/app/shared/components/Boxover.tsx","webpack://@finviz/website/./js/app/shared/components/ChartBoxover.tsx","webpack://@finviz/website/./js/app/shared/components/HoverChart.tsx","webpack://@finviz/website/./js/app/shared/components/QueryClientContext.tsx","webpack://@finviz/website/./js/app/shared/hover-chart.ts","webpack://@finviz/website/./js/main/components/ChipSwitch.tsx","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/Bar.tsx","webpack://@finviz/website/./js/main/components/chart/CartesianGrid.tsx","webpack://@finviz/website/./js/main/components/chart/ChartWrapper.tsx","webpack://@finviz/website/./js/main/components/chart/Cursor.tsx","webpack://@finviz/website/./js/main/components/chart/Tooltip.tsx","webpack://@finviz/website/./js/main/components/chart/XAxis.tsx","webpack://@finviz/website/./js/main/components/chart/YAxis.tsx","webpack://@finviz/website/./js/main/components/chart/constants.ts","webpack://@finviz/website/./js/main/components/line-stacked-bar-chart/ChartTooltip.tsx","webpack://@finviz/website/./js/main/components/line-stacked-bar-chart/types.ts","webpack://@finviz/website/./js/main/modules/insider-trading/components/Charts/utils.ts","webpack://@finviz/website/./js/main/modules/insider-trading/components/Charts/StackedBarChart.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/AllocationsOverTime.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/Charts/constants.ts","webpack://@finviz/website/./js/main/modules/insider-trading/components/IndividualManagersSection.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/DetailsSummary.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/HoldingsHeatmap.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/Layout.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/ManagerDetailsLayout.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/Navigation.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/components/TickerButton.tsx","webpack://@finviz/website/./js/main/modules/insider-trading/utils.ts"],"sourcesContent":["import * as React from 'react'\r\nimport * as ReactDOMServer from 'react-dom/server'\r\n\r\nconst BOXOVER_THEME = {\r\n  default: { body: 'tooltip_bdy', header: 'tooltip_hdr' },\r\n  chart: { body: 'hoverchart', header: 'tabchrthdr' },\r\n}\r\n\r\ninterface BoxoverProps {\r\n  children: React.ReactNode\r\n\r\n  /**\r\n   * Which tooltip design to use\r\n   *\r\n   * @default default\r\n   */\r\n  theme?: keyof typeof BOXOVER_THEME\r\n\r\n  /**\r\n   * Tooltip header\r\n   */\r\n  header?: string\r\n\r\n  /**\r\n   * Tooltip body, can be any react node\r\n   */\r\n  body: React.ReactNode\r\n\r\n  /**\r\n   * Delay in ms to show the tooltip\r\n   *\r\n   * @default 300\r\n   */\r\n  delay?: number\r\n\r\n  offsetX?: number\r\n  offsetY?: number\r\n}\r\n\r\n/**\r\n * This component composes boxover and forwards `data-boxover` prop to children\r\n */\r\nexport function Boxover({\r\n  children,\r\n  theme = 'default',\r\n  header,\r\n  body,\r\n  delay = 300,\r\n  offsetX = 100,\r\n  offsetY = 100,\r\n}: BoxoverProps) {\r\n  const boxover = React.useMemo(\r\n    () =>\r\n      [\r\n        `cssbody=[${BOXOVER_THEME[theme].body}]`,\r\n        `cssheader=[${BOXOVER_THEME[theme].header}]`,\r\n        header && `header=[${header}]`,\r\n        `body=[${React.isValidElement(body) ? ReactDOMServer.renderToString(body) : body}]`,\r\n        `delay=[${delay}]`,\r\n        `offsetx=[${offsetX}]`,\r\n        `offsety=[${offsetY}]`,\r\n      ]\r\n        .filter(Boolean)\r\n        .join(' '),\r\n    [theme, header, body, delay, offsetX, offsetY]\r\n  )\r\n\r\n  return React.Children.map(children, (child) =>\r\n    React.isValidElement(child)\r\n      ? React.cloneElement(child as React.ReactElement<{ 'data-boxover': string }>, {\r\n          'data-boxover': boxover,\r\n        })\r\n      : child\r\n  ) as unknown as JSX.Element\r\n}\r\n","import * as React from 'react'\r\n\r\nimport { shortFormatNumber } from '../../../main/util'\r\nimport { Boxover } from './Boxover'\r\nimport { HoverChart } from './HoverChart'\r\n\r\nexport type ChartBoxoverEntry = {\r\n  isDelisted?: boolean\r\n  country: string\r\n  company: string\r\n  ticker: string\r\n  industry: string\r\n  marketCap?: number | null\r\n  aum?: number | null\r\n}\r\n\r\ninterface Props {\r\n  entry: ChartBoxoverEntry\r\n  rowIndex?: number\r\n  children: React.ReactElement\r\n  offsetX?: number\r\n  offsetY?: number\r\n}\r\n\r\nconst MOUSE_LEAVE_DEBOUNCE_MS = 250\r\n\r\n/**\r\n * Renders basic chart boxover for the stock ticker\r\n */\r\nexport function ChartBoxover({ entry, rowIndex = 0, children, offsetX, offsetY }: Props) {\r\n  const [isMouseOver, setIsMouseOver] = React.useState(false)\r\n  const mouseLeaveTimeoutRef = React.useRef<number | null>(null)\r\n  const clearMouseLeaveTimoutRef = React.useRef(() => {\r\n    if (mouseLeaveTimeoutRef.current) {\r\n      window.clearTimeout(mouseLeaveTimeoutRef.current)\r\n      mouseLeaveTimeoutRef.current = null\r\n    }\r\n  })\r\n  const mouseEventsRef = React.useRef({\r\n    onMouseEnter: () => {\r\n      clearMouseLeaveTimoutRef.current()\r\n      setIsMouseOver(true)\r\n    },\r\n    onMouseLeave: () => {\r\n      mouseLeaveTimeoutRef.current = window.setTimeout(() => {\r\n        setIsMouseOver(false)\r\n      }, MOUSE_LEAVE_DEBOUNCE_MS)\r\n    },\r\n  })\r\n\r\n  const value = React.useMemo(() => {\r\n    if (Number.isFinite(entry.aum)) {\r\n      return 'AUM: ' + shortFormatNumber(entry.aum! * 1_000_000)\r\n    }\r\n    return shortFormatNumber(entry.marketCap ? entry.marketCap * 1_000_000 : null)\r\n  }, [entry.marketCap, entry.aum])\r\n\r\n  React.useEffect(\r\n    () => () => {\r\n      clearMouseLeaveTimoutRef.current()\r\n    },\r\n    []\r\n  )\r\n\r\n  const child = React.cloneElement(children, mouseEventsRef.current)\r\n\r\n  if (!isMouseOver || entry.isDelisted) {\r\n    return child\r\n  }\r\n\r\n  return (\r\n    <Boxover\r\n      key={`${entry.ticker}-${entry.marketCap}-${rowIndex}`}\r\n      theme=\"chart\"\r\n      body={\r\n        <>\r\n          <HoverChart ticker={entry.ticker} />\r\n          <div>\r\n            <b>{entry.company}</b>\r\n            {entry.industry} <span>•</span> {entry.country} <span>•</span> {value}\r\n          </div>\r\n        </>\r\n      }\r\n      delay={0}\r\n      offsetX={offsetX ?? 50}\r\n      offsetY={offsetY ?? (rowIndex < 10 ? 0 : -260)}\r\n    >\r\n      {child}\r\n    </Boxover>\r\n  )\r\n}\r\n","import * as React from 'react'\r\n\r\nimport * as utils from '../hover-chart'\r\n\r\nexport interface ImageProps\r\n  extends React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> {\r\n  ticker: string\r\n}\r\n\r\nexport function HoverChart({ ticker, ...props }: ImageProps) {\r\n  const referrerPolicy = utils.getReferrerPolicy()\r\n  const dimensions = utils.getHoverChartDimensions()\r\n  const url = utils.getHoverChartUrl(ticker, true)\r\n  const srcSet = utils.getSrcSet(url)\r\n\r\n  return <img referrerPolicy={referrerPolicy} {...dimensions} src={url} srcSet={srcSet} {...props} />\r\n}\r\n","import { DefaultOptions, MutationCache, QueryCache, QueryClient, QueryClientProvider } from '@tanstack/react-query'\r\nimport * as React from 'react'\r\nimport { ErrorBoundary } from 'react-error-boundary'\r\n\r\nimport { DefaultErrorBoundary } from '../../../main/components/error-view'\r\n\r\ninterface QueryClientConfig {\r\n  queryCache?: QueryCache\r\n  mutationCache?: MutationCache\r\n  defaultOptions?: DefaultOptions\r\n}\r\n\r\ninterface QueryContextProps {\r\n  queryOptions?: QueryClientConfig\r\n}\r\n\r\nexport function getQueryClient(queryOptions?: QueryClientConfig) {\r\n  return new QueryClient({\r\n    defaultOptions: {\r\n      queries: {\r\n        useErrorBoundary: true,\r\n        refetchOnWindowFocus: false,\r\n        ...queryOptions?.defaultOptions?.queries,\r\n      },\r\n      ...queryOptions?.defaultOptions,\r\n    },\r\n    ...queryOptions,\r\n  })\r\n}\r\n\r\nexport function QueryClientContext({ children, queryOptions }: React.PropsWithChildren<QueryContextProps>) {\r\n  const client = React.useRef(getQueryClient(queryOptions))\r\n\r\n  return (\r\n    <QueryClientProvider client={client.current}>\r\n      <ErrorBoundary FallbackComponent={DefaultErrorBoundary}>{children}</ErrorBoundary>\r\n    </QueryClientProvider>\r\n  )\r\n}\r\n\r\nexport function withQueryClientContext<Props>(\r\n  Component: React.ComponentType<Props>,\r\n  config?: QueryClientConfig\r\n): React.ComponentType<Props> {\r\n  const hocComponent = (props: Props) => (\r\n    <QueryClientContext queryOptions={config}>\r\n      <Component {...(props as Props & React.Attributes)} />\r\n    </QueryClientContext>\r\n  )\r\n\r\n  hocComponent.displayName = `withQueryClientContext(${Component.displayName ?? 'Component'})`\r\n\r\n  return hocComponent\r\n}\r\n","import { HTMLAttributeReferrerPolicy } from 'react'\r\n\r\nimport { encodeQueryString } from '../queryString'\r\n\r\nconst DEFAULT_OVERLAYS =\r\n  '&o[0][ot]=sma&o[0][op]=50&o[0][oc]=FF8F33C6&o[1][ot]=sma&o[1][op]=200&o[1][oc]=DCB3326D&o[2][ot]=patterns&o[2][op]=&o[2][oc]=000'\r\n\r\nexport function getHoverChartUrl(\r\n  ticker: string,\r\n  escaped: boolean = false,\r\n  timeframe = FinvizSettings.hoverCharts?.stock?.timeframe,\r\n  dateRange = FinvizSettings.hoverCharts?.stock?.dateRange\r\n): string {\r\n  const theme = FinvizSettings.hasDarkTheme ? 'd' : undefined\r\n  const overlays = FinvizSettings.hasUserPremium && FinvizSettings.hoverCharts?.stock?.patterns ? DEFAULT_OVERLAYS : ''\r\n  const query = encodeQueryString({\r\n    cs: 'm',\r\n    t: ticker,\r\n    tf: timeframe ?? 'd',\r\n    ct: 'candle_stick',\r\n    r: dateRange,\r\n    tm: theme,\r\n  })\r\n\r\n  let imgUrl = `${FinvizSettings.nodeChartsDomain}/chart.ashx?${query}${overlays}`\r\n\r\n  if (escaped) {\r\n    // \"Escaping\" [ and ] because of how boxover.js works\r\n    imgUrl = imgUrl.replace(/\\[/g, '[[').replace(/]/g, ']]')\r\n  }\r\n  return imgUrl\r\n}\r\n\r\nexport function getHoverChartDimensions() {\r\n  switch (FinvizSettings.hoverCharts?.stock?.timeframe) {\r\n    case 'i3':\r\n    case 'i15':\r\n      return { width: 584, height: 180 }\r\n    case 'i5':\r\n      return { width: 376, height: 180 }\r\n    case 'd':\r\n      if (FinvizSettings.hoverCharts?.stock?.patterns) return { width: 464, height: 230 }\r\n      return { width: 324, height: 180 }\r\n    default:\r\n      return { width: 324, height: 180 }\r\n  }\r\n}\r\n\r\nexport function getReferrerPolicy(): HTMLAttributeReferrerPolicy {\r\n  return 'no-referrer-when-downgrade'\r\n}\r\n\r\nexport function getHoverChartImg(\r\n  ticker: string,\r\n  escaped: boolean = false,\r\n  timeframe = FinvizSettings.hoverCharts?.stock?.timeframe,\r\n  dateRange?: string\r\n) {\r\n  const chartSize = getHoverChartDimensions()\r\n  const referrerPolicy = getReferrerPolicy()\r\n  const url = getHoverChartUrl(ticker, escaped, timeframe, dateRange)\r\n  const srcSet = getSrcSet(url)\r\n  const srcsetString = srcSet?.length ? ` srcset='${srcSet}'` : ''\r\n\r\n  return {\r\n    img: `<img referrerPolicy='${referrerPolicy}'${srcsetString} src='${url}' width='${chartSize.width}' height='${chartSize.height}' />`,\r\n    ...chartSize,\r\n  }\r\n}\r\n\r\nexport function getSrcSet(url: string) {\r\n  // You must keep a space after , for refresh to work\r\n  return `${url} 1x, ${url}&sf=2 2x`\r\n}\r\n","import classnames from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { Button, ButtonComponentProps, ButtonProps } from './button'\r\nimport { Paragraph } from './typography'\r\n\r\ninterface Props {\r\n  children: (React.ReactElement | null)[]\r\n  label?: string\r\n  size?: ButtonProps['size']\r\n  rounding?: ButtonProps['rounding']\r\n}\r\n\r\nexport function ChipSwitch({ children, label, size, rounding }: Props) {\r\n  return (\r\n    <div className=\"flex items-center space-x-0.5\">\r\n      {label && (\r\n        <Paragraph size=\"small\" className=\"pr-1 text-disabled font-medium\">\r\n          {label}\r\n        </Paragraph>\r\n      )}\r\n\r\n      {React.Children.map(children, (child: React.ReactElement<ButtonComponentProps> | null) => {\r\n        if (React.isValidElement(child) && child.type === Button) {\r\n          return React.cloneElement(child, {\r\n            size,\r\n            rounding,\r\n            theme: child.props.theme ?? 'chipTransparent',\r\n            className: classnames(child.props.className, {\r\n              // @todo - these style should be applied globally onto all chipTransparent buttons\r\n              '!text-muted-2': !child.props.disabled && !child.props.active,\r\n              '!text-default': !child.props.disabled && child.props.active,\r\n              '!text-disabled ': child.props.disabled && !child.props.active,\r\n              '!text-disabled !bg-gray-200 !bg-opacity-30 !border-gray-100 dark:!bg-gray-600 dark:!border-gray-500':\r\n                child.props.disabled && child.props.active,\r\n            }),\r\n          })\r\n        }\r\n\r\n        return child\r\n      })}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport const ChipSwitchButton = Button\r\n","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<HTMLDivElement> {\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    <div {...props} className={classNames('border-b border-gray-100 bg-primary dark:border-gray-700', props.className)}>\r\n      <div className=\"fv-container has-responsive-padding flex items-center justify-between space-x-2.5\">\r\n        <div\r\n          className={classNames('-ml-2.5 flex items-center', {\r\n            '-ml-2.5 mr-2.5': isRedesignEnabled(),\r\n          })}\r\n        >\r\n          {leftContent}\r\n        </div>\r\n        {middleContent && <div className=\"flex items-center\">{middleContent}</div>}\r\n        <div className=\"flex items-center\">{rightContent}</div>\r\n      </div>\r\n    </div>\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    <div className=\"-mb-px flex w-full items-center\">\r\n      {items.map(({ label, href, isActive, reloadDocument }) => (\r\n        <Button\r\n          key={href}\r\n          as={Link}\r\n          to={href}\r\n          reloadDocument={reloadDocument}\r\n          theme=\"tab\"\r\n          rounding=\"none\"\r\n          active={isActive}\r\n          size={size}\r\n        >\r\n          {label}\r\n        </Button>\r\n      ))}\r\n    </div>\r\n  )\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\nimport { Bar as RechartsBar, BarProps as RechartsBarProps, Rectangle } from 'recharts'\r\nimport { BarRectangleItem } from 'recharts/types/cartesian/Bar'\r\nimport { ActiveShape } from 'recharts/types/util/types'\r\n\r\nimport { ChartWrapperContext } from './ChartWrapper'\r\nimport { CHART_ITEM_COLORS, ChartItemColorType } from './constants'\r\n\r\ninterface ColorProps<ValueType, PayloadType> {\r\n  color?: ChartItemColorType | ((value: ValueType | null, payload: PayloadType) => ChartItemColorType)\r\n}\r\n\r\ntype BarInnerProps<ValueType, PayloadType> = ColorProps<ValueType, PayloadType> &\r\n  Omit<BarRectangleItem, 'color'> & {\r\n    payload?: PayloadType\r\n  }\r\n\r\nexport function BarInner<ValueType, PayloadType>({ color = 'blue', ...props }: BarInnerProps<ValueType, PayloadType>) {\r\n  const colorResult = typeof color === 'function' ? color(props.value as ValueType, props.payload!) : color\r\n  const barColor = CHART_ITEM_COLORS[colorResult] ?? CHART_ITEM_COLORS.blue\r\n\r\n  return <Rectangle {...props} className={classNames(props.className, 'fill-current', barColor)} />\r\n}\r\n\r\ntype BarProps<ValueType, PayloadType> = ColorProps<ValueType, PayloadType> &\r\n  React.PropsWithoutRef<Omit<React.ComponentProps<typeof RechartsBar>, 'color'>>\r\n\r\nexport class Bar<ValueType extends number | number[], PayloadType = any> extends React.Component<\r\n  BarProps<ValueType, PayloadType>\r\n> {\r\n  static getComposedData = RechartsBar.getComposedData\r\n  static displayName = RechartsBar.displayName\r\n  static contextType = ChartWrapperContext\r\n  context!: React.ContextType<typeof ChartWrapperContext>\r\n\r\n  static defaultProps = {\r\n    ...RechartsBar.defaultProps,\r\n    radius: [2, 2, 0, 0],\r\n    activeBar: false,\r\n    isAnimationActive: false,\r\n  }\r\n\r\n  render() {\r\n    const { setActiveKey } = this.context\r\n    const { color, shape = BarInner, ...props } = this.props\r\n\r\n    return (\r\n      <RechartsBar\r\n        {...props}\r\n        fill={null as any}\r\n        shape={\r\n          shape\r\n            ? (React.createElement(shape as React.FC<BarInnerProps<ValueType, PayloadType>>, {\r\n                color,\r\n              }) as ActiveShape<RechartsBarProps, SVGPathElement>)\r\n            : undefined\r\n        }\r\n        onMouseEnter={() => {\r\n          setActiveKey(props.dataKey as string)\r\n        }}\r\n        onMouseLeave={() => {\r\n          setActiveKey(null)\r\n        }}\r\n      />\r\n    )\r\n  }\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\nimport { CartesianGrid as RechartsCartesianGrid } from 'recharts'\r\n\r\nimport { CARTESIAN_STROKE } from './constants'\r\n\r\nexport function CartesianGrid({\r\n  vertical = false,\r\n  ...props\r\n}: React.PropsWithoutRef<React.ComponentProps<typeof RechartsCartesianGrid>>) {\r\n  return (\r\n    <RechartsCartesianGrid\r\n      {...props}\r\n      vertical={vertical}\r\n      stroke={null as any} // Types don’t allow null\r\n      strokeDasharray=\"3 3\"\r\n      className={classNames(props.className, CARTESIAN_STROKE)}\r\n    />\r\n  )\r\n}\r\n\r\nCartesianGrid.displayName = RechartsCartesianGrid.displayName\r\n","import * as React from 'react'\r\nimport { ResponsiveContainer } from 'recharts'\r\n\r\nexport const ChartWrapperContext = React.createContext<{\r\n  isTooltipActive: boolean\r\n  activeKey: string | null\r\n  setActiveKey: (key: string | null) => void\r\n}>({\r\n  isTooltipActive: true,\r\n  activeKey: null,\r\n  setActiveKey: () => {},\r\n})\r\n\r\ninterface ChartContextProps extends React.HTMLProps<HTMLDivElement> {\r\n  isHoverHighlight?: boolean\r\n}\r\n\r\nexport function ChartContext({ isHoverHighlight = true, ...props }: React.PropsWithChildren<ChartContextProps>) {\r\n  const [isTooltipActive, setTooltipActive] = React.useState(false)\r\n  const [activeKey, setActiveKey] = React.useState<string | null>(null)\r\n\r\n  const contextValue = React.useMemo(\r\n    () => ({\r\n      isTooltipActive,\r\n      activeKey,\r\n      setActiveKey: isHoverHighlight ? setActiveKey : () => {},\r\n    }),\r\n    [activeKey, isHoverHighlight, isTooltipActive]\r\n  )\r\n\r\n  return (\r\n    <div\r\n      {...props}\r\n      /**\r\n       * Fix a problem with chart tooltip not hiding correctly on mouse leave\r\n       * See: https://github.com/recharts/recharts/issues/2726\r\n       */\r\n      onMouseEnter={() => setTooltipActive(true)}\r\n      onMouseLeave={() => setTooltipActive(false)}\r\n    >\r\n      <ChartWrapperContext.Provider value={contextValue}>{props.children}</ChartWrapperContext.Provider>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport function ChartWrapper({\r\n  isHoverHighlight,\r\n  ...props\r\n}: ChartContextProps & React.PropsWithChildren<React.ComponentProps<typeof ResponsiveContainer>>) {\r\n  return (\r\n    <ChartContext isHoverHighlight={isHoverHighlight}>\r\n      <ResponsiveContainer width=\"100%\" {...props} />\r\n    </ChartContext>\r\n  )\r\n}\r\n","import * as React from 'react'\r\nimport { Rectangle, RectangleProps } from 'recharts'\r\n\r\nimport { ChartWrapperContext } from './ChartWrapper'\r\n\r\ninterface CustomCursorProps extends Partial<Omit<RectangleProps, 'points'>> {\r\n  points?: [{ x: number; y: number }]\r\n}\r\n\r\nexport function CursorBar({\r\n  numberOfDatapoints,\r\n  points,\r\n  x: givenX,\r\n  y: givenY,\r\n  ...props\r\n}: CustomCursorProps & { numberOfDatapoints: number | null }) {\r\n  const { isTooltipActive } = React.useContext(ChartWrapperContext)\r\n\r\n  if (!isTooltipActive) return null\r\n\r\n  const cursorWidth = numberOfDatapoints ? props.width! / numberOfDatapoints : props.width!\r\n  const x = givenX ?? points![0].x - cursorWidth / 2\r\n  const y = givenY ?? points![0].y\r\n  return (\r\n    <Rectangle\r\n      {...props}\r\n      x={x}\r\n      y={y}\r\n      width={cursorWidth}\r\n      className=\"fill-gray-50/65 stroke-none dark:fill-gray-700/65\"\r\n    />\r\n  )\r\n}\r\n\r\nexport function CursorLine({ points, x: givenX, y: givenY, ...props }: CustomCursorProps) {\r\n  const { isTooltipActive } = React.useContext(ChartWrapperContext)\r\n\r\n  if (!isTooltipActive) return null\r\n\r\n  const x = givenX ?? points![0].x - 1\r\n  const y = givenY ?? points![0].y\r\n  return <Rectangle {...props} x={x} y={y} width={1} className=\"fill-gray-500 stroke-none dark:fill-gray-300\" />\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\nimport { Tooltip as RechartsTooltip } from 'recharts'\r\n\r\nimport { ChartWrapperContext } from './ChartWrapper'\r\nimport { CursorLine } from './Cursor'\r\nimport { CHART_ITEM_COLORS, ChartItemColorType } from './constants'\r\n\r\ntype TooltipPayload<PayloadType, ValueType> = {\r\n  color?: string\r\n  name?: string | number\r\n  value?: ValueType\r\n  unit?: React.ReactNode\r\n  dataKey?: string | number\r\n  payload?: PayloadType\r\n  chartType?: string\r\n  className?: string\r\n}\r\n\r\ntype TooltipValueFormatter<ValueType, PayloadType> = (\r\n  value: ValueType,\r\n  extra: {\r\n    dataKey: string\r\n    payload?: PayloadType & { dataKey: string }\r\n    fullTooltipPayload: Array<TooltipPayload<PayloadType, any>>\r\n  }\r\n) => React.ReactNode\r\n\r\ninterface TooltipRowProps<ValueType, PayloadType> {\r\n  /**\r\n   * When active the row is more prominent\r\n   */\r\n  isActive?: boolean\r\n\r\n  /**\r\n   * Value getter key\r\n   */\r\n  dataKey: string\r\n\r\n  /**\r\n   * Whether or not the `dataKey` prop represents data visible as series on the chart\r\n   * If false, the value will be parsed from the payload of the first series\r\n   *\r\n   * @default true\r\n   */\r\n  isChartSeriesDataKey?: boolean\r\n\r\n  label: React.ReactNode | TooltipValueFormatter<ValueType, PayloadType>\r\n  labelClass?: string\r\n\r\n  formatValue?: TooltipValueFormatter<ValueType, PayloadType>\r\n  valueClass?: string\r\n\r\n  /**\r\n   * Color or element\r\n   */\r\n  indicator?: ChartItemColorType | JSX.Element\r\n  /**\r\n   * Additional classes on indicator wrapper\r\n   */\r\n  indicatorClass?: string\r\n\r\n  /**\r\n   * Set by parent component do not set manually\r\n   */\r\n  dataKeyPayload?: any\r\n  fullTooltipPayload?: any\r\n}\r\n\r\nexport function TooltipRow<ValueType, PayloadType = unknown>({\r\n  isActive,\r\n  indicator,\r\n  label,\r\n  dataKey,\r\n  dataKeyPayload,\r\n  fullTooltipPayload,\r\n  formatValue,\r\n  indicatorClass,\r\n  labelClass,\r\n  valueClass,\r\n  isChartSeriesDataKey = true,\r\n}: TooltipRowProps<ValueType, PayloadType>) {\r\n  const valueToUse = isChartSeriesDataKey ? dataKeyPayload?.value : fullTooltipPayload?.[0]?.payload?.[dataKey]\r\n  const formatterPayload = isChartSeriesDataKey ? (dataKeyPayload ?? {}) : fullTooltipPayload?.[0]?.payload\r\n  const formatterExtraParams = { dataKey, payload: formatterPayload, fullTooltipPayload }\r\n\r\n  const formattedLabel = typeof label == 'function' ? label(valueToUse, formatterExtraParams) : label\r\n  const formattedValue = formatValue?.(valueToUse, formatterExtraParams) ?? valueToUse\r\n\r\n  return (\r\n    <>\r\n      <div className={classNames(indicatorClass, { 'mr-2': !!indicator })}>\r\n        {!indicator || React.isValidElement(indicator) ? (\r\n          indicator\r\n        ) : (\r\n          <div\r\n            className={classNames(\r\n              'relative -top-px h-1.5 w-1.5 rounded-full bg-current',\r\n              CHART_ITEM_COLORS[indicator as ChartItemColorType] ?? CHART_ITEM_COLORS.blue\r\n            )}\r\n          />\r\n        )}\r\n      </div>\r\n      <div\r\n        className={classNames('label-with-bold-weight', labelClass, { 'text-default font-medium': isActive })}\r\n        data-text={formattedLabel}\r\n      >\r\n        {formattedLabel}\r\n      </div>\r\n      <div className={classNames(valueClass, 'ml-2 text-right tabular-nums text-default')}>{formattedValue}</div>\r\n    </>\r\n  )\r\n}\r\n\r\ninterface TooltipInnerProps<ValueType, PayloadType> extends React.ComponentProps<typeof RechartsTooltip> {\r\n  className?: string\r\n  showLabel?: boolean\r\n  formatLabel?: (value: ValueType, payload?: Array<TooltipPayload<PayloadType, ValueType>>) => React.ReactNode\r\n  formatValue?: TooltipValueFormatter<ValueType, PayloadType>\r\n  translucent?: boolean\r\n}\r\n\r\nexport function TooltipInner<ValueType, PayloadType>({\r\n  payload,\r\n  label,\r\n  formatLabel,\r\n  formatValue,\r\n  showLabel = !!label,\r\n  translucent,\r\n  ...props\r\n}: React.PropsWithChildren<TooltipInnerProps<ValueType, PayloadType>>) {\r\n  const { isTooltipActive, activeKey } = React.useContext(ChartWrapperContext)\r\n\r\n  return (\r\n    <div\r\n      className={classNames(\r\n        props.className,\r\n        'rounded-md border border-secondary bg-primary px-3.5 pb-2.5 pt-3.5 text-left font-sans text-2xs leading-4 text-muted-2 shadow-md',\r\n        { 'opacity-0': !isTooltipActive, 'bg-opacity-70 backdrop-blur-sm': translucent }\r\n      )}\r\n    >\r\n      {showLabel && (\r\n        <div className=\"mb-1.5 text-sm text-default font-medium dark:text-gray-200\">\r\n          {formatLabel?.(label, payload as any) ?? label}\r\n        </div>\r\n      )}\r\n\r\n      <div className=\"grid grid-cols-[max-content,1fr,max-content] items-baseline gap-y-2\">\r\n        {React.Children.map(props.children, (child) => {\r\n          if (!React.isValidElement(child) || child.type !== TooltipRow) return child\r\n\r\n          const dataKeyPayload = payload?.find((payload) => payload.dataKey === child.props.dataKey)\r\n\r\n          return React.cloneElement(child, {\r\n            isActive: child.props.isActive ?? activeKey === child.props.dataKey,\r\n            dataKeyPayload,\r\n            fullTooltipPayload: payload,\r\n            formatValue: child.props.formatValue ?? formatValue,\r\n          } as TooltipRowProps<unknown, unknown>)\r\n        })}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport class Tooltip<ValueType, PayloadType> extends React.Component<\r\n  React.PropsWithChildren<TooltipInnerProps<ValueType, PayloadType>>\r\n> {\r\n  static displayName = RechartsTooltip.displayName\r\n\r\n  static defaultProps = {\r\n    ...RechartsTooltip.defaultProps,\r\n    offset: 40,\r\n    position: { y: 4 },\r\n    isAnimationActive: false,\r\n    wrapperStyle: { outline: 'none', zIndex: 10 },\r\n    className: 'min-w-70',\r\n    cursor: <CursorLine />,\r\n  }\r\n\r\n  render() {\r\n    const { className, showLabel, formatLabel: formatTitle, formatValue, translucent, children, ...props } = this.props\r\n\r\n    return (\r\n      <RechartsTooltip\r\n        content={\r\n          <TooltipInner<ValueType, PayloadType>\r\n            className={className}\r\n            formatLabel={formatTitle}\r\n            formatValue={formatValue}\r\n            showLabel={showLabel}\r\n            translucent={translucent}\r\n          >\r\n            {children}\r\n          </TooltipInner>\r\n        }\r\n        {...props}\r\n      />\r\n    )\r\n  }\r\n}\r\n\r\nexport function EmptyTooltip() {\r\n  return null\r\n}\r\n","import { format } from 'date-fns'\r\nimport { XAxis as RechartsXAxis } from 'recharts'\r\n\r\nimport { getDate } from '../../../app/header/utils'\r\nimport { CARTESIAN_STROKE } from './constants'\r\n\r\nexport enum DateFormat {\r\n  MonthSingleChar = 'MMMMM',\r\n  MonthShort = 'MMM',\r\n  MonthShortDayNum = 'MMM dd',\r\n  MonthShortYear = 'MMM yyy',\r\n  MonthShortDayNumYearFull = 'MMM dd, yyyy',\r\n}\r\n\r\nconst TICK_STYLE = {\r\n  fontSize: 10,\r\n  fontWeight: 400, // Different from YAxis\r\n  fill: '',\r\n}\r\n\r\nexport function dateAxisFormatter({\r\n  value,\r\n  outFormat,\r\n  parseAsNY = false,\r\n  breakOnYear = false,\r\n}: {\r\n  value: any\r\n  outFormat: DateFormat\r\n  parseAsNY?: boolean\r\n  breakOnYear?: boolean\r\n}) {\r\n  if (!Number.isFinite(new Date(value).getTime())) return ''\r\n\r\n  const date = parseAsNY ? getDate(value) : new Date(value)\r\n\r\n  if (breakOnYear && date.getMonth() === 0) {\r\n    if ([DateFormat.MonthSingleChar, DateFormat.MonthShort].includes(outFormat))\r\n      return date.getFullYear().toString().substring(2)\r\n    return date.getFullYear().toString()\r\n  }\r\n\r\n  return format(date, outFormat)\r\n}\r\n\r\nexport class XAxis extends RechartsXAxis {\r\n  static defaultProps = {\r\n    ...RechartsXAxis.defaultProps,\r\n    className: 'fill-gray-500 dark:fill-gray-300',\r\n    tickLine: false,\r\n    axisLine: false,\r\n    dy: 5,\r\n    tick: TICK_STYLE,\r\n    dataKey: 'date',\r\n    scale: 'time',\r\n    type: 'number',\r\n    interval: 'equidistantPreserveStart',\r\n  }\r\n}\r\n\r\nexport const SOLID_AXIS_LINE = { stroke: 'currentColor', className: CARTESIAN_STROKE }\r\n","import * as React from 'react'\r\nimport { YAxis as RechartsYAxis } from 'recharts'\r\n\r\nimport { shortFormatNumber } from '../../util'\r\n\r\nexport class YAxis extends React.Component<\r\n  Omit<React.ComponentProps<typeof RechartsYAxis>, 'tickCount'> & { tickCount?: number | null }\r\n> {\r\n  static displayName = RechartsYAxis.displayName\r\n\r\n  static defaultProps = {\r\n    ...RechartsYAxis.defaultProps,\r\n    className: 'fill-gray-500 dark:fill-gray-300',\r\n    tickLine: false,\r\n    axisLine: false,\r\n    tick: {\r\n      fontSize: 10,\r\n      fontWeight: 500, // Different from XAxis\r\n      fill: '',\r\n    },\r\n    tickFormatter: shortFormatNumber,\r\n  }\r\n\r\n  render() {\r\n    return <RechartsYAxis {...(this.props as any)} />\r\n  }\r\n}\r\n","export enum ChartItemColor {\r\n  transparent,\r\n  gray,\r\n  lightGray,\r\n  darkGray,\r\n  blue,\r\n  darkBlue,\r\n  red,\r\n  darkRed,\r\n  redMuted,\r\n  green,\r\n  darkGreen,\r\n  greenMuted,\r\n  teal,\r\n  purple,\r\n  violet,\r\n  emerald,\r\n  orange,\r\n  orangeLight,\r\n  amber,\r\n  pink,\r\n  lime,\r\n  yellow,\r\n  darkYellow,\r\n}\r\n\r\nexport type ChartItemColorType = keyof typeof ChartItemColor\r\n\r\nexport const CHART_ITEM_COLORS: Record<ChartItemColorType, string> = {\r\n  transparent: 'text-transparent',\r\n  gray: 'text-gray-200 dark:text-gray-700',\r\n  lightGray: 'text-gray-400',\r\n  darkGray: 'text-gray-700 dark:text-gray-300',\r\n  blue: 'text-blue-400',\r\n  darkBlue: 'text-blue-500',\r\n  red: 'text-red-400',\r\n  darkRed: 'text-red-500',\r\n  redMuted: 'text-red-300 dark:text-red-600',\r\n  green: 'text-green-400',\r\n  darkGreen: 'text-green-500',\r\n  greenMuted: 'text-green-200 dark:text-green-500',\r\n  teal: 'text-teal-400 dark:text-teal-300',\r\n  purple: 'text-purple-400',\r\n  violet: 'text-violet-400',\r\n  emerald: 'text-emerald-400 dark:text-emerald-300',\r\n  orange: 'text-orange-300',\r\n  orangeLight: 'text-amber-100 dark:text-orange-500',\r\n  amber: 'text-amber-300',\r\n  pink: 'text-pink-400',\r\n  lime: 'text-lime-400 dark:text-lime-300',\r\n  yellow: 'text-yellow-300 dark:text-yellow-200',\r\n  darkYellow: 'text-yellow-400',\r\n}\r\n\r\nexport const CARTESIAN_STROKE = 'stroke-gray-100 dark:stroke-gray-700'\r\n","import * as React from 'react'\r\nimport { NameType, Payload, ValueType } from 'recharts/types/component/DefaultTooltipContent'\r\n\r\nimport { shortFormatNumber } from '../../util'\r\nimport { TooltipInner, TooltipRow } from '../chart/Tooltip'\r\nimport { ChartItemColorType } from '../chart/constants'\r\nimport { LineChartTooltipSort } from './types'\r\n\r\ntype ChartTooltipProps = {\r\n  activeKey?: string | null\r\n  payload?: Payload<ValueType, NameType>[] | undefined\r\n  isReversed?: boolean\r\n  payloadSort?: keyof typeof LineChartTooltipSort\r\n  valueFormatter?: (data: ValueType) => string\r\n}\r\nexport default function ChartTooltip({\r\n  payload,\r\n  payloadSort = 'default',\r\n  isReversed = false,\r\n  valueFormatter,\r\n}: ChartTooltipProps) {\r\n  const items = React.useMemo(() => {\r\n    if (!payload || payload.length === 0) return []\r\n\r\n    if (LineChartTooltipSort[payloadSort] === LineChartTooltipSort.value) {\r\n      return [...payload].sort((a, b) => Number(b.value ?? 0) - Number(a.value ?? 0))\r\n    }\r\n    return isReversed ? [...payload].reverse() : payload\r\n  }, [payload, payloadSort, isReversed])\r\n\r\n  const formatter = React.useCallback(\r\n    (value: ValueType) => valueFormatter?.(value) ?? shortFormatNumber(value as number),\r\n    [valueFormatter]\r\n  )\r\n\r\n  if (items.length === 0) return null\r\n\r\n  return (\r\n    <TooltipInner payload={payload} formatValue={formatter}>\r\n      {items.map((area) => (\r\n        <TooltipRow\r\n          key={area.dataKey}\r\n          label={area.name}\r\n          dataKey={area.dataKey as string}\r\n          indicator={area.color as ChartItemColorType}\r\n          labelClass=\"min-w-56\"\r\n          valueClass=\"w-14\"\r\n        />\r\n      ))}\r\n    </TooltipInner>\r\n  )\r\n}\r\n","import * as React from 'react'\r\n\r\nimport { ColorVariant } from '../checkbox'\r\nimport { FinancialsRowDataType } from '../financials-table/types'\r\n\r\nexport enum View {\r\n  bars,\r\n  lines,\r\n}\r\n\r\nexport interface ChartProps {\r\n  chartData: ChartData[]\r\n  showTotal?: boolean\r\n  visibleAreas: Array<\r\n    Pick<FinancialsRowDataType, 'id' | 'label' | 'isSelected' | 'isHighlighted'> & {\r\n      color: ColorVariant\r\n    }\r\n  >\r\n  columnsCount: number\r\n  barWidth?: number\r\n  isFullWidth?: boolean\r\n}\r\n\r\nexport type ChartData = {\r\n  year: string\r\n  topKey: string\r\n  bottomKey: string\r\n  total: number\r\n} & Record<string, number | null>\r\n\r\nexport enum LineChartTooltipSort {\r\n  default = 'default',\r\n  value = 'value',\r\n}\r\n\r\nexport type LineStackedBarChartProps = {\r\n  data: FinancialsRowDataType[]\r\n  yearKeys: string[]\r\n  chartView: View\r\n  isShowAll?: boolean\r\n  isFullWidth?: boolean\r\n  hasXAxis?: boolean\r\n  isInView?: boolean\r\n  hasBeenInView?: boolean\r\n  lineChartTooltipSort?: keyof typeof LineChartTooltipSort\r\n  emptyMessage?: React.ReactNode\r\n  isEmpty?: boolean\r\n}\r\n","import { shortFormatNumber } from '../../../../util'\r\nimport { ChangeTypeEnum } from '../../constants'\r\n\r\nexport function tickFormatter(value?: number | null, type?: ChangeTypeEnum, fractions = 0) {\r\n  const formattedNumber = shortFormatNumber(value, { fractions })\r\n  if (type !== ChangeTypeEnum.Percentage) {\r\n    return formattedNumber\r\n  }\r\n  return `${formattedNumber}%`\r\n}\r\n\r\nexport function formatQuarter(quarterString: string) {\r\n  // This will be changed when BE changes querter format in DB\r\n  return quarterString\r\n}\r\n","import * as React from 'react'\r\nimport { Cell, BarChart as RechartsBarChart, ResponsiveContainer } from 'recharts'\r\n\r\nimport { Bar } from '../../../../components/chart/Bar'\r\nimport { CartesianGrid } from '../../../../components/chart/CartesianGrid'\r\nimport { ChartContext } from '../../../../components/chart/ChartWrapper'\r\nimport { CursorBar } from '../../../../components/chart/Cursor'\r\nimport { Tooltip } from '../../../../components/chart/Tooltip'\r\nimport { XAxis } from '../../../../components/chart/XAxis'\r\nimport { YAxis } from '../../../../components/chart/YAxis'\r\nimport { ChartItemColorType } from '../../../../components/chart/constants'\r\nimport ChartTooltip from '../../../../components/line-stacked-bar-chart/ChartTooltip'\r\nimport { ChangeTypeEnum } from '../../constants'\r\nimport { STACKED_BAR_CHART_HEIGHT, STACKED_BAR_CHART_MARGIN, STACKED_BAR_LABELS_WIDTH } from './constants'\r\nimport { formatQuarter, tickFormatter } from './utils'\r\n\r\ninterface Props {\r\n  chartData: Array<{ quarter: string; smallestSector: string | null } & Record<string, number>>\r\n  sectors: Array<{ sector: string; color: string }>\r\n  type: ChangeTypeEnum\r\n}\r\n\r\nexport default function StackedBarChart({ chartData, sectors, type }: Props) {\r\n  const [reverseTooltipDirection, setReverseTooltipDirection] = React.useState(true)\r\n\r\n  return (\r\n    <ChartContext>\r\n      <ResponsiveContainer height={STACKED_BAR_CHART_HEIGHT}>\r\n        <RechartsBarChart\r\n          data={chartData}\r\n          margin={STACKED_BAR_CHART_MARGIN}\r\n          stackOffset=\"sign\" // because we can have negative values\r\n          onMouseMove={(_, mouseEvent) => {\r\n            setReverseTooltipDirection(mouseEvent.clientX > window.innerWidth / 2)\r\n          }}\r\n        >\r\n          <YAxis\r\n            orientation=\"left\"\r\n            textAnchor=\"end\"\r\n            tickFormatter={(value) => tickFormatter(value, type)}\r\n            width={STACKED_BAR_LABELS_WIDTH}\r\n            domain={type === ChangeTypeEnum.Percentage ? [0, 100] : undefined}\r\n          />\r\n          <XAxis dataKey=\"quarter\" type=\"category\" scale=\"auto\" tickFormatter={(value) => formatQuarter(value)} />\r\n          <CartesianGrid />\r\n          <Tooltip\r\n            allowEscapeViewBox={{ x: true }}\r\n            reverseDirection={{ x: reverseTooltipDirection }}\r\n            cursor={<CursorBar numberOfDatapoints={null} />}\r\n            content={<ChartTooltip valueFormatter={(value) => tickFormatter(+value!, type, 2)} isReversed />}\r\n          />\r\n          {sectors.map(({ sector, color }) => (\r\n            <Bar\r\n              key={sector}\r\n              name={sector}\r\n              dataKey={sector}\r\n              stackId=\"quarter\"\r\n              shape={undefined}\r\n              color={color as ChartItemColorType}\r\n              fill={color}\r\n            >\r\n              {chartData.map(({ smallestSector }, index) => (\r\n                <Cell\r\n                  key={index}\r\n                  className=\"stroke-bg-primary stroke-[0.25px]\"\r\n                  // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n                  // @ts-ignore - number[] should also be allowed type for radius, but it's not\r\n                  radius={smallestSector === sector ? [2, 2, 0, 0] : [0, 0, 0, 0]}\r\n                />\r\n              ))}\r\n            </Bar>\r\n          ))}\r\n        </RechartsBarChart>\r\n      </ResponsiveContainer>\r\n    </ChartContext>\r\n  )\r\n}\r\n","import classNames from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { Heading } from '../../../components'\r\nimport { ChipSwitch, ChipSwitchButton } from '../../../components/ChipSwitch'\r\nimport { CHART_ITEM_COLORS, ChartItemColorType } from '../../../components/chart/constants'\r\nimport { ChangeTypeEnum, SEGMENT_COLORS, SectorAllocation } from '../constants'\r\nimport StackedBarChart from './Charts/StackedBarChart'\r\n\r\ninterface Props {\r\n  headingLabel: string\r\n  sectorAllocations: SectorAllocation[]\r\n}\r\n\r\nexport function AllocationsOverTime({ headingLabel, sectorAllocations }: Props) {\r\n  const [sectorAllocationOverTime, setSectorAllocationOverTime] = React.useState(ChangeTypeEnum.Usd)\r\n  const chartDataQuarters = React.useMemo(() => {\r\n    const dataByQuarters: Record<\r\n      string,\r\n      { quarter: string; sectors: Array<{ sector: string; usdAllocation: number; pctAllocation: number }> }\r\n    > = {}\r\n\r\n    sectorAllocations.forEach(({ quarter, sector, usdAllocation, pctAllocation }) => {\r\n      dataByQuarters[quarter] ??= {\r\n        quarter,\r\n        sectors: [],\r\n      }\r\n      dataByQuarters[quarter].sectors.push({ sector, usdAllocation, pctAllocation })\r\n    })\r\n\r\n    return Object.values(dataByQuarters).sort((quarterA, quarterB) => {\r\n      const [qA, yearA] = quarterA.quarter.split(' ')\r\n      const [qB, yearB] = quarterB.quarter.split(' ')\r\n\r\n      const valueA = Number(qA.replace('Q', '')) + Number(yearA) * 10\r\n      const valueB = Number(qB.replace('Q', '')) + Number(yearB) * 10\r\n      return valueA - valueB\r\n    })\r\n  }, [sectorAllocations])\r\n\r\n  const { chartData, sectors } = React.useMemo(() => {\r\n    const data = chartDataQuarters.map(({ quarter, sectors }) => {\r\n      let smallestSector: { sector: string | null; value: number } = { sector: null, value: Number.MAX_SAFE_INTEGER }\r\n\r\n      sectors.forEach(({ sector, usdAllocation, pctAllocation }) => {\r\n        const value = sectorAllocationOverTime === ChangeTypeEnum.Usd ? usdAllocation : pctAllocation\r\n        smallestSector = smallestSector.value > value ? { sector, value } : smallestSector\r\n      })\r\n\r\n      return {\r\n        quarter,\r\n        smallestSector: smallestSector.sector,\r\n        ...sectors.reduce(\r\n          (acc, { sector, usdAllocation, pctAllocation }) => ({\r\n            ...acc,\r\n            [sector]: sectorAllocationOverTime === ChangeTypeEnum.Usd ? usdAllocation : pctAllocation,\r\n          }),\r\n          {} as Record<string, number>\r\n        ),\r\n      }\r\n    }) as Array<{ quarter: string; smallestSector: string | null } & Record<string, number>>\r\n\r\n    return {\r\n      chartData: data,\r\n      sectors: chartDataQuarters\r\n        .flatMap(({ sectors }) => sectors.map(({ sector }) => sector))\r\n        .filter((sector, index, arr) => arr.indexOf(sector) === index)\r\n        .map((sector, index) => ({\r\n          sector,\r\n          color: SEGMENT_COLORS[index % SEGMENT_COLORS.length],\r\n        }))\r\n        .sort((sectorA, sectorB) => data[0][sectorB.sector] - data[0][sectorA.sector]),\r\n    }\r\n  }, [chartDataQuarters, sectorAllocationOverTime])\r\n\r\n  return (\r\n    <div className=\"rounded-lg border border-primary p-2.5\">\r\n      <div className=\"mb-2 flex w-full items-center justify-between\">\r\n        <Heading level={5}>{headingLabel}</Heading>\r\n        <ChipSwitch size=\"small\">\r\n          <ChipSwitchButton\r\n            active={sectorAllocationOverTime === ChangeTypeEnum.Usd}\r\n            onClick={() => {\r\n              setSectorAllocationOverTime(ChangeTypeEnum.Usd)\r\n            }}\r\n          >\r\n            $ Value\r\n          </ChipSwitchButton>\r\n          <ChipSwitchButton\r\n            active={sectorAllocationOverTime === ChangeTypeEnum.Percentage}\r\n            onClick={() => {\r\n              setSectorAllocationOverTime(ChangeTypeEnum.Percentage)\r\n            }}\r\n          >\r\n            % of Portfolio\r\n          </ChipSwitchButton>\r\n        </ChipSwitch>\r\n      </div>\r\n      <StackedBarChart chartData={chartData} sectors={sectors} type={sectorAllocationOverTime} />\r\n      <div className=\"my-6 w-full border-t border-secondary\" />\r\n      <div className=\"mx-12 columns-2 gap-x-18 text-xs\">\r\n        {sectors.map(({ sector, color }) => (\r\n          <div key={sector} className=\"flex break-inside-avoid items-baseline space-x-2\">\r\n            <div\r\n              className={classNames(\r\n                'h-3 w-3 flex-none rounded-full bg-current',\r\n                CHART_ITEM_COLORS[color as ChartItemColorType]\r\n              )}\r\n            />\r\n            <span>{sector}</span>\r\n          </div>\r\n        ))}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","export const AREA_CHART_HEIGHT = 100\r\nexport const AREA_CHART_MARGIN = { top: 5, right: 5, bottom: 5, left: 5 }\r\nexport const AREA_CHART_STYLE = { cursor: 'pointer' }\r\n\r\n// Stacked bar chart constants\r\nexport const STACKED_BAR_CHART_MARGIN = { top: 1, right: 0, bottom: 0, left: 0 }\r\nexport const STACKED_BAR_CHART_HEIGHT = 400\r\nexport const STACKED_BAR_LABELS_WIDTH = 50\r\n","import classNames from 'classnames'\r\nimport React from 'react'\r\n\r\nimport { Button, Heading } from '../../../components'\r\nimport { Table, TableBody, TableCell, TableRow } from '../../../components/Table'\r\nimport { IndividualManagers, InsiderView } from '../constants'\r\nimport { useInsiderTradingRouter } from '../hooks/useInsiderTradingRouter'\r\n\r\ninterface Props {\r\n  individualManagers?: IndividualManagers\r\n}\r\n\r\nconst SHARED_BUTTON_CLASSES = 'text-wrap border-none font-normal'\r\n\r\nfunction IndividualManagersSection({ individualManagers }: Props) {\r\n  const insiderTradingRouter = useInsiderTradingRouter<InsiderView.ManagerDetails>()\r\n\r\n  if (!individualManagers) {\r\n    return null\r\n  }\r\n\r\n  return (\r\n    <div>\r\n      <div className=\"mb-2 px-1.5\">\r\n        <Heading level={5}>Individual Managers</Heading>\r\n      </div>\r\n      {individualManagers.length === 0 ? (\r\n        <span className=\"block px-1.5 text-2xs text-muted-2\">\r\n          There aro no other managers reporting in the combined 13F filing.\r\n        </span>\r\n      ) : (\r\n        <Table className=\"styled-table-new\">\r\n          <TableBody>\r\n            {individualManagers.map(({ name, investorId }, index) => (\r\n              <TableRow key={index}>\r\n                <TableCell className=\"pl-0\">\r\n                  <Button\r\n                    {...(!investorId\r\n                      ? {\r\n                          as: 'span',\r\n                          theme: 'transparent',\r\n                          className: classNames(SHARED_BUTTON_CLASSES, 'text-muted-2'),\r\n                        }\r\n                      : {\r\n                          as: 'a',\r\n                          href: insiderTradingRouter.getInsiderTradingLink({\r\n                            view: InsiderView.ManagerDetails,\r\n                            params: { investorId, reportEndDate: insiderTradingRouter.viewParams.reportEndDate },\r\n                          }),\r\n                          theme: 'link',\r\n                          className: SHARED_BUTTON_CLASSES,\r\n                        })}\r\n                    align=\"left\"\r\n                    title={name}\r\n                    size=\"none\"\r\n                  >\r\n                    {name}\r\n                  </Button>\r\n                </TableCell>\r\n              </TableRow>\r\n            ))}\r\n          </TableBody>\r\n        </Table>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default IndividualManagersSection\r\n","import * as React from 'react'\r\n\r\nimport { Heading } from '../../../components'\r\nimport { ChipSwitch, ChipSwitchButton } from '../../../components/ChipSwitch'\r\nimport { RedGreenText } from '../../../components/RedGreenText'\r\nimport { Table, TableAlign, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../../../components/Table'\r\nimport { FORMAT_PERCENT, formatNumber, shortFormatDollar, shortFormatNumber } from '../../../util'\r\nimport { ChangeTypeEnum, HoldingOptionTypeLabelMap, ManagerData, TopInvestmentType } from '../constants'\r\nimport IndividualManagersSection from './IndividualManagersSection'\r\nimport { TickerButton } from './TickerButton'\r\n\r\nenum TopInvestmentTypeEnum {\r\n  Buys = 'buys',\r\n  Sells = 'sells',\r\n}\r\n\r\nconst TopInvestmentLabels = {\r\n  [TopInvestmentTypeEnum.Buys]: 'Top Buys',\r\n  [TopInvestmentTypeEnum.Sells]: 'Top Sells',\r\n}\r\n\r\ninterface Props\r\n  extends Pick<ManagerData, 'latestSummary' | 'topBuysUsd' | 'topBuysPct' | 'topSellsUsd' | 'topSellsPct'> {\r\n  individualManagers?: ManagerData['individualManagers']\r\n}\r\n\r\nexport function DetailsSummary({\r\n  latestSummary,\r\n  individualManagers,\r\n  topSellsPct,\r\n  topSellsUsd,\r\n  topBuysUsd,\r\n  topBuysPct,\r\n}: Props) {\r\n  const [topBuysChange, setTopBuysChange] = React.useState(ChangeTypeEnum.Usd)\r\n  const [topSellsChange, setTopSellsChange] = React.useState(ChangeTypeEnum.Usd)\r\n\r\n  const generalStatistics = React.useMemo(\r\n    () => [\r\n      ['Market Value - This Q', shortFormatDollar(latestSummary.totalSumOfUsdValue)],\r\n      ['Market Value - Prev Q', shortFormatDollar(latestSummary.totalSumOfUsdValuePrevQ)],\r\n      ['Number of Holdings', shortFormatNumber(latestSummary.totalCountOfInvestments, { fractions: 0 })],\r\n      ['New Purchases', shortFormatNumber(latestSummary.countOfNewPurchased, { fractions: 0 })],\r\n      ['Added To', shortFormatNumber(latestSummary.countOfAddedTo, { fractions: 0 })],\r\n      ['Reduced', shortFormatNumber(latestSummary.countOfReduced, { fractions: 0 })],\r\n      ['Top 10 Holdings %', formatNumber(latestSummary.percOfPortfolioOfTop10, FORMAT_PERCENT)],\r\n      ['Time Held Top 10', `${shortFormatNumber(latestSummary.timeHeldTop10)} Q`],\r\n      ['Time Held Top 20', `${shortFormatNumber(latestSummary.timeHeldTop20)} Q`],\r\n      ['Time Held All', `${shortFormatNumber(latestSummary.timeHeldAll)} Q`],\r\n    ],\r\n    [latestSummary]\r\n  )\r\n\r\n  return (\r\n    <div className=\"relative\">\r\n      <div className=\"absolute bottom-3 left-[50%] top-3 -translate-x-2/4 border-l border-secondary\"></div>\r\n\r\n      <div className=\"h-full rounded-lg border border-primary p-2.5\">\r\n        <div className=\"grid grid-cols-2 gap-8\">\r\n          {[TopInvestmentTypeEnum.Buys, TopInvestmentTypeEnum.Sells].map((topInvestmentType) => {\r\n            const isBuys = topInvestmentType === TopInvestmentTypeEnum.Buys\r\n            const isSells = topInvestmentType === TopInvestmentTypeEnum.Sells\r\n            const isPercentage =\r\n              (isBuys && topBuysChange === ChangeTypeEnum.Percentage) ||\r\n              (isSells && topSellsChange === ChangeTypeEnum.Percentage)\r\n            const topTradeChange = topInvestmentType === TopInvestmentTypeEnum.Buys ? topBuysChange : topSellsChange\r\n            const setTopTradeChange =\r\n              topInvestmentType === TopInvestmentTypeEnum.Buys ? setTopBuysChange : setTopSellsChange\r\n            let topTrades: TopInvestmentType[] = []\r\n            if (isBuys) {\r\n              topTrades = isPercentage ? topBuysPct : topBuysUsd\r\n            } else if (isSells) {\r\n              topTrades = isPercentage ? topSellsPct : topSellsUsd\r\n            }\r\n\r\n            return (\r\n              <div key={topInvestmentType}>\r\n                <div className=\"mb-2 flex w-full items-center justify-between px-1.5\">\r\n                  <Heading level={5}>{TopInvestmentLabels[topInvestmentType]}</Heading>\r\n                  <ChipSwitch size=\"small\">\r\n                    <ChipSwitchButton\r\n                      active={topTradeChange === ChangeTypeEnum.Usd}\r\n                      onClick={() => {\r\n                        setTopTradeChange(ChangeTypeEnum.Usd)\r\n                      }}\r\n                    >\r\n                      <span className=\"xl:hidden\">$ Chng.</span>\r\n                      <span className=\"hidden xl:inline\">$ Change</span>\r\n                    </ChipSwitchButton>\r\n                    <ChipSwitchButton\r\n                      active={topTradeChange === ChangeTypeEnum.Percentage}\r\n                      onClick={() => {\r\n                        setTopTradeChange(ChangeTypeEnum.Percentage)\r\n                      }}\r\n                    >\r\n                      <span className=\"xl:hidden\">% Chng.</span>\r\n                      <span className=\"hidden xl:inline\">% Change</span>\r\n                    </ChipSwitchButton>\r\n                  </ChipSwitch>\r\n                </div>\r\n                <Table className=\"styled-table-new is-condensed\">\r\n                  <TableHead>\r\n                    <TableHeader align={TableAlign.Left} className=\"pl-0\">\r\n                      Ticker\r\n                    </TableHeader>\r\n                    <TableHeader align={TableAlign.Left} width=\"40\">\r\n                      Type\r\n                    </TableHeader>\r\n                    <TableHeader align={TableAlign.Right} width=\"95\">\r\n                      Change\r\n                    </TableHeader>\r\n                  </TableHead>\r\n                  <TableBody>\r\n                    {topTrades.map(({ ticker, name, value, putCall, boxoverData }, index) => (\r\n                      <TableRow key={`${ticker}-${index}`}>\r\n                        <TableCell className=\"pl-0\">\r\n                          <TickerButton\r\n                            className=\"font-normal\"\r\n                            ticker={ticker}\r\n                            name={name}\r\n                            putCall={putCall}\r\n                            boxoverData={boxoverData}\r\n                          />\r\n                        </TableCell>\r\n                        <TableCell>\r\n                          <span className=\"text-muted-2\">{HoldingOptionTypeLabelMap[putCall]}</span>\r\n                        </TableCell>\r\n                        <TableCell align={TableAlign.Right}>\r\n                          <RedGreenText value={value} rightContent={null}>\r\n                            {Number.isFinite(value) && isPercentage\r\n                              ? formatNumber(value, FORMAT_PERCENT)\r\n                              : shortFormatNumber(value)}\r\n                          </RedGreenText>\r\n                        </TableCell>\r\n                      </TableRow>\r\n                    ))}\r\n                  </TableBody>\r\n                </Table>\r\n              </div>\r\n            )\r\n          })}\r\n        </div>\r\n        <div className=\"my-4 border-t border-secondary\"></div>\r\n        <div className=\"grid grid-cols-2 gap-8\">\r\n          <div>\r\n            <div className=\"mb-2 px-1.5\">\r\n              <Heading level={5}>General Statistics</Heading>\r\n            </div>\r\n            <Table className=\"styled-table-new whitespace-nowrap\">\r\n              <TableBody>\r\n                {generalStatistics.map(([ticker, change], index) => (\r\n                  <TableRow key={index}>\r\n                    <TableCell className=\"pl-0\">{ticker}</TableCell>\r\n                    <TableCell>{change}</TableCell>\r\n                  </TableRow>\r\n                ))}\r\n              </TableBody>\r\n            </Table>\r\n          </div>\r\n          <IndividualManagersSection individualManagers={individualManagers} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import * as React from 'react'\r\n\r\nimport { Map } from '../../../../app/maps/components/Map'\r\nimport { MAP_SUBTYPE_MANAGERS_FUNDS, MAP_TYPE_MANAGERS_FUNDS_WIDGET } from '../../../../app/maps/constants/constants'\r\nimport { SettingsScreener, SettingsScreenerDark } from '../../../../app/maps/constants/settings'\r\nimport { MapDataRoot } from '../../../../app/maps/types'\r\nimport { Heading } from '../../../components'\r\n\r\ninterface Props {\r\n  data: MapDataRoot\r\n}\r\n\r\nconst MapSettings = FinvizSettings.hasDarkTheme ? SettingsScreenerDark : SettingsScreener\r\n\r\nexport function HoldingsHeatmap({ data }: Props) {\r\n  return (\r\n    <div className=\"rounded-lg border border-primary p-2.5 pb-12.5\">\r\n      <Heading level={5} className=\"mb-2\">\r\n        Quarterly % Change in Holdings\r\n      </Heading>\r\n      <div className=\"h-96\">\r\n        <Map\r\n          className=\"h-full\"\r\n          isFetchingPerf={false}\r\n          isLoadingData={false}\r\n          data={data}\r\n          type={MAP_TYPE_MANAGERS_FUNDS_WIDGET}\r\n          subtype={MAP_SUBTYPE_MANAGERS_FUNDS}\r\n          dataHash={data?.hash}\r\n          legend\r\n          zoom={false}\r\n          settings={MapSettings}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import classnames from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { SubMenu } from '../../../components/SubMenu/SubMenu'\r\nimport { Navigation } from './Navigation'\r\n\r\nexport interface Props {\r\n  isContainer?: boolean\r\n  rightContent?: React.ReactNode\r\n  middleContent?: React.ReactNode\r\n}\r\n\r\nexport default function Layout({\r\n  children,\r\n  isContainer = true,\r\n  middleContent,\r\n  rightContent,\r\n}: React.PropsWithChildren<Props>) {\r\n  // Remove min-height from react root element which is set on BE because of CLS\r\n  React.useEffect(() => {\r\n    document.getElementById('root')?.style.removeProperty('min-height')\r\n  }, [])\r\n\r\n  return (\r\n    // Screen loader has min-h-64 (Website/js/main/components/loading.tsx)\r\n    <div className=\"min-h-64\">\r\n      <SubMenu leftContent={<Navigation />} middleContent={middleContent} rightContent={rightContent} />\r\n      <div\r\n        className={classnames('is-js-module space-y-4 py-4', { 'fv-container has-responsive-padding': isContainer })}\r\n      >\r\n        {children}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import { format, getQuarter, parseISO } from 'date-fns'\r\nimport * as React from 'react'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport { Button, ButtonGroup, Select, Tooltip, TooltipTrigger, useTooltipState } from '../../../components'\r\nimport { InsiderView, InstOwnFiler } from '../constants'\r\nimport { useInsiderTradingRouter } from '../hooks/useInsiderTradingRouter'\r\nimport { getInvestorTitles } from '../utils'\r\nimport Layout from './Layout'\r\nimport type { Props as LayoutProps } from './Layout'\r\n\r\ninterface Props extends Pick<LayoutProps, 'isContainer'> {\r\n  reportEndDates: string[]\r\n  filer?: InstOwnFiler | null\r\n}\r\n\r\nexport function ManagerDetailsLayout({ children, reportEndDates, filer, isContainer }: React.PropsWithChildren<Props>) {\r\n  const tooltip = useTooltipState({\r\n    placement: 'bottom',\r\n  })\r\n  // This is temporary until select options are changed to use Link without reloadDocument\r\n  const [tempReportEndDate, setTempReportEndDate] = React.useState<string | undefined>()\r\n  const insiderTradingRouter = useInsiderTradingRouter<InsiderView.ManagerDetails | InsiderView.ManagerHoldings>()\r\n  const { getInsiderTradingLink, viewParams } = insiderTradingRouter\r\n  const { isManagerView, isDetailsView, isHoldingsView } = React.useMemo(() => {\r\n    const { view } = viewParams\r\n    const isManagerView = [InsiderView.ManagerDetails, InsiderView.ManagerHoldings].includes(view)\r\n    const isFundView = [InsiderView.FundDetails, InsiderView.FundHoldings].includes(view)\r\n    const isDetailsView = [InsiderView.ManagerDetails, InsiderView.FundDetails].includes(view)\r\n    const isHoldingsView = [InsiderView.ManagerHoldings, InsiderView.FundHoldings].includes(view)\r\n    return { isManagerView, isFundView, isDetailsView, isHoldingsView }\r\n  }, [viewParams])\r\n\r\n  const reportEndDateItems = React.useMemo(\r\n    () =>\r\n      reportEndDates.map((reportEndDate) => {\r\n        const parsedReportEndDate = parseISO(reportEndDate)\r\n        return {\r\n          value: reportEndDate,\r\n          label: `${format(parsedReportEndDate, 'MM/dd/yyyy')} (Q${getQuarter(parsedReportEndDate)})`,\r\n          href: getInsiderTradingLink({\r\n            view: viewParams.view,\r\n            params: { ...viewParams, reportEndDate },\r\n          }),\r\n          reloadDocument: true,\r\n        }\r\n      }),\r\n    [reportEndDates, viewParams, getInsiderTradingLink]\r\n  )\r\n\r\n  const reportEndDate = React.useMemo(\r\n    () => reportEndDates.find((d) => d === viewParams.reportEndDate) ?? reportEndDates[0],\r\n    [reportEndDates, viewParams.reportEndDate]\r\n  )\r\n\r\n  const portfolioHighlightsButton = React.useMemo(() => {\r\n    const buttonLabel = 'Portfolio Highlights'\r\n\r\n    if (filer?.hasOwnHoldings === false) {\r\n      return (\r\n        <Button theme=\"chipOutline\" disabled>\r\n          <TooltipTrigger state={tooltip}>{buttonLabel}</TooltipTrigger>\r\n          <Tooltip state={tooltip}>{getInvestorTitles(filer).title} does not manage their own portfolio</Tooltip>\r\n        </Button>\r\n      )\r\n    }\r\n\r\n    return (\r\n      <Button\r\n        theme=\"chipOutline\"\r\n        active={isDetailsView}\r\n        as={Link}\r\n        to={getInsiderTradingLink({\r\n          view: isManagerView ? InsiderView.ManagerDetails : InsiderView.FundDetails,\r\n          params: viewParams,\r\n        })}\r\n        reloadDocument\r\n      >\r\n        {buttonLabel}\r\n      </Button>\r\n    )\r\n  }, [tooltip, filer, getInsiderTradingLink, viewParams, isManagerView, isDetailsView])\r\n\r\n  return (\r\n    <Layout\r\n      middleContent={\r\n        <ButtonGroup hasDivider={false} hasBorder={false} className=\"-space-x-px\">\r\n          {portfolioHighlightsButton}\r\n          <Button\r\n            as={Link}\r\n            theme=\"chipOutline\"\r\n            active={isHoldingsView}\r\n            to={getInsiderTradingLink({\r\n              view: isManagerView ? InsiderView.ManagerHoldings : InsiderView.FundHoldings,\r\n              params: viewParams,\r\n            })}\r\n            reloadDocument\r\n          >\r\n            Holdings\r\n          </Button>\r\n        </ButtonGroup>\r\n      }\r\n      rightContent={\r\n        <Select\r\n          label={<span className=\"text-2xs text-muted\">Report End Date</span>}\r\n          aria-label=\"Report End Date\"\r\n          value={tempReportEndDate ?? reportEndDate}\r\n          items={reportEndDateItems}\r\n          className=\"ml-2 w-36\"\r\n          onChange={({ value }) => setTempReportEndDate(value)}\r\n        />\r\n      }\r\n      isContainer={isContainer}\r\n    >\r\n      {children}\r\n    </Layout>\r\n  )\r\n}\r\n","import * as React from 'react'\r\n\r\nimport { Badge } from '../../../components'\r\nimport { SubMenuTabs } from '../../../components/SubMenu/SubMenuTabs'\r\nimport { INSIDER_VIEW_LABELS, InsiderView } from '../constants'\r\nimport { useInsiderTradingRouter } from '../hooks/useInsiderTradingRouter'\r\n\r\nconst MENU_TABS: Array<keyof typeof INSIDER_VIEW_LABELS> = [InsiderView.Index, InsiderView.Managers, InsiderView.Funds]\r\nconst MENU_TABS_MAP = {\r\n  [InsiderView.Managers]: InsiderView.Managers,\r\n  [InsiderView.ManagerDetails]: InsiderView.Managers,\r\n  [InsiderView.ManagerHoldings]: InsiderView.Managers,\r\n  [InsiderView.Funds]: InsiderView.Funds,\r\n  [InsiderView.FundDetails]: InsiderView.Funds,\r\n  [InsiderView.FundHoldings]: InsiderView.Funds,\r\n}\r\nconst MANAGER_FUNDS_VIEWS = [\r\n  InsiderView.Managers,\r\n  InsiderView.ManagerDetails,\r\n  InsiderView.ManagerHoldings,\r\n  InsiderView.Funds,\r\n  InsiderView.FundDetails,\r\n  InsiderView.FundHoldings,\r\n]\r\n\r\nexport function Navigation() {\r\n  const insiderTradingRouter = useInsiderTradingRouter()\r\n  const activeView = (insiderTradingRouter.viewParams.view as InsiderView) || InsiderView.Index\r\n  const isIndexPage = activeView === InsiderView.Index\r\n  const menuItems = React.useMemo(\r\n    () =>\r\n      MENU_TABS.map((view) => ({\r\n        label: INSIDER_VIEW_LABELS[view],\r\n        href: insiderTradingRouter.getInsiderTradingLink({ view }),\r\n        isActive: isIndexPage\r\n          ? view === InsiderView.Index\r\n          : MENU_TABS_MAP[activeView as keyof typeof MENU_TABS_MAP] === view,\r\n        reloadDocument: true,\r\n      })),\r\n    [activeView, insiderTradingRouter, isIndexPage]\r\n  )\r\n\r\n  return (\r\n    <>\r\n      <SubMenuTabs size=\"xlarge\" items={menuItems} />\r\n      {!isIndexPage && MANAGER_FUNDS_VIEWS.includes(activeView) ? (\r\n        <Badge size=\"small\" className=\"ml-2\" active>\r\n          Beta\r\n        </Badge>\r\n      ) : null}\r\n    </>\r\n  )\r\n}\r\n","import classname from 'classnames'\r\nimport * as React from 'react'\r\n\r\nimport { ChartBoxover } from '../../../../app/shared/components/ChartBoxover'\r\nimport { Button, ButtonComponentProps, Tag, Tooltip, TooltipTrigger, useTooltipState } from '../../../components'\r\nimport { HoldingOptionType, HoldingOptionTypeLabelMap, TopInvestmentType } from '../constants'\r\n\r\ninterface Props extends Pick<TopInvestmentType, 'ticker' | 'name' | 'boxoverData'>, ButtonComponentProps {\r\n  className?: string\r\n  putCall?: HoldingOptionType\r\n}\r\n\r\nexport function TickerButton({ ticker, name, putCall, boxoverData, className, ...props }: Props) {\r\n  const tooltipState = useTooltipState({ placement: 'bottom-start' })\r\n  const button = (\r\n    <Button\r\n      {...(boxoverData ? { as: 'a', href: `/quote.ashx?t=${ticker}` } : { disabled: true })}\r\n      theme={boxoverData ? 'link' : 'transparent'}\r\n      align=\"left\"\r\n      size=\"none\"\r\n      className={classname('inline-flex border-none', className)}\r\n      {...props}\r\n    >\r\n      <div className=\"inline-flex space-x-1\">\r\n        <span>{ticker ?? '-'}</span>\r\n        {putCall && [HoldingOptionType.Put, HoldingOptionType.Call].includes(putCall) ? (\r\n          <Tag size=\"small\">{HoldingOptionTypeLabelMap[putCall]}</Tag>\r\n        ) : null}\r\n      </div>\r\n    </Button>\r\n  )\r\n\r\n  if (!boxoverData) {\r\n    return (\r\n      <>\r\n        <TooltipTrigger tabIndex={-1} className=\"inline\" state={tooltipState}>\r\n          {button}\r\n        </TooltipTrigger>\r\n        <Tooltip state={tooltipState} className=\"px-2 text-xs\">\r\n          {name ?? ticker ?? '-'}\r\n        </Tooltip>\r\n      </>\r\n    )\r\n  }\r\n\r\n  return (\r\n    <ChartBoxover entry={boxoverData} offsetY={20}>\r\n      {button}\r\n    </ChartBoxover>\r\n  )\r\n}\r\n","import { InstOwnFiler, InvestorType } from './constants'\r\n\r\nexport function getQuarterAndYear(period: string) {\r\n  const year = period.substring(0, 4)\r\n  const quarter = period.substring(4, 6)\r\n\r\n  return { quarter, year }\r\n}\r\n\r\ntype InvestorTitlesOutput = {\r\n  title: string\r\n  subtitle?: string\r\n}\r\n\r\nexport function getInvestorTitles(filer?: InstOwnFiler | null): InvestorTitlesOutput {\r\n  if (!filer) return { title: '-' }\r\n  const { filerName, otherManagerName, seriesName, portfolioManager } = filer\r\n\r\n  switch (filer.investorType) {\r\n    case InvestorType.Fund:\r\n      return {\r\n        title: seriesName ?? filerName ?? '-',\r\n        subtitle: seriesName ? filerName : undefined,\r\n      }\r\n    case InvestorType.Manager:\r\n      return { title: filerName ?? '-', subtitle: portfolioManager }\r\n    case InvestorType.OtherManager:\r\n      return { title: otherManagerName ?? '-', subtitle: portfolioManager }\r\n  }\r\n}\r\n"],"names":["BOXOVER_THEME","default","body","header","chart","Boxover","_ref","children","theme","delay","offsetX","offsetY","boxover","React","ReactDOMServer","filter","Boolean","join","map","child","MOUSE_LEAVE_DEBOUNCE_MS","ChartBoxover","entry","rowIndex","isMouseOver","setIsMouseOver","mouseLeaveTimeoutRef","clearMouseLeaveTimoutRef","current","window","clearTimeout","mouseEventsRef","onMouseEnter","onMouseLeave","setTimeout","value","Number","isFinite","aum","shortFormatNumber","marketCap","isDelisted","_jsx","_jsxs","_Fragment","HoverChart","ticker","company","industry","country","props","referrerPolicy","utils","dimensions","url","srcSet","src","getQueryClient","queryOptions","_queryOptions$default","QueryClient","defaultOptions","queries","useErrorBoundary","refetchOnWindowFocus","QueryClientContext","client","QueryClientProvider","ErrorBoundary","FallbackComponent","DefaultErrorBoundary","withQueryClientContext","Component","config","_Component$displayNam","hocComponent","displayName","DEFAULT_OVERLAYS","getHoverChartUrl","_FinvizSettings$hover","_FinvizSettings$hover2","_FinvizSettings$hover3","escaped","arguments","length","undefined","timeframe","FinvizSettings","hoverCharts","stock","dateRange","hasDarkTheme","overlays","hasUserPremium","patterns","query","encodeQueryString","cs","t","tf","ct","r","tm","imgUrl","nodeChartsDomain","replace","getHoverChartDimensions","_FinvizSettings$hover4","_FinvizSettings$hover5","width","height","getReferrerPolicy","getHoverChartImg","_FinvizSettings$hover6","chartSize","getSrcSet","img","ChipSwitch","label","size","rounding","className","Paragraph","_child$props$theme","type","Button","classnames","disabled","active","ChipSwitchButton","SubMenu","leftContent","middleContent","rightContent","classNames","isRedesignEnabled","SubMenuTabs","items","_ref2","href","isActive","reloadDocument","as","Link","to","BarInner","_CHART_ITEM_COLORS$co","color","colorResult","payload","barColor","CHART_ITEM_COLORS","blue","Rectangle","Bar","constructor","_defineProperty","render","setActiveKey","this","context","shape","RechartsBar","fill","dataKey","getComposedData","ChartWrapperContext","defaultProps","radius","activeBar","isAnimationActive","CartesianGrid","vertical","RechartsCartesianGrid","stroke","strokeDasharray","CARTESIAN_STROKE","isTooltipActive","activeKey","ChartContext","isHoverHighlight","setTooltipActive","contextValue","Provider","ChartWrapper","ResponsiveContainer","CursorBar","numberOfDatapoints","points","x","givenX","y","givenY","cursorWidth","CursorLine","TooltipRow","_fullTooltipPayload$","_fullTooltipPayload$2","_formatValue","_CHART_ITEM_COLORS","indicator","dataKeyPayload","fullTooltipPayload","formatValue","indicatorClass","labelClass","valueClass","isChartSeriesDataKey","valueToUse","formatterExtraParams","formattedLabel","formattedValue","TooltipInner","_formatLabel","formatLabel","showLabel","translucent","_child$props$isActive","_child$props$formatVa","find","Tooltip","formatTitle","RechartsTooltip","content","EmptyTooltip","offset","position","wrapperStyle","outline","zIndex","cursor","DateFormat","dateAxisFormatter","outFormat","parseAsNY","breakOnYear","Date","getTime","date","getDate","getMonth","MonthSingleChar","MonthShort","includes","getFullYear","toString","substring","format","XAxis","RechartsXAxis","tickLine","axisLine","dy","tick","fontSize","fontWeight","scale","interval","SOLID_AXIS_LINE","YAxis","RechartsYAxis","tickFormatter","transparent","gray","lightGray","darkGray","darkBlue","red","darkRed","redMuted","green","darkGreen","greenMuted","teal","purple","violet","emerald","orange","orangeLight","amber","pink","lime","yellow","darkYellow","ChartTooltip","payloadSort","isReversed","valueFormatter","LineChartTooltipSort","sort","a","b","_b$value","_a$value","reverse","formatter","_valueFormatter","area","name","View","fractions","formattedNumber","ChangeTypeEnum","Percentage","StackedBarChart","chartData","sectors","reverseTooltipDirection","setReverseTooltipDirection","STACKED_BAR_CHART_HEIGHT","RechartsBarChart","data","margin","STACKED_BAR_CHART_MARGIN","stackOffset","onMouseMove","_","mouseEvent","clientX","innerWidth","orientation","textAnchor","STACKED_BAR_LABELS_WIDTH","domain","allowEscapeViewBox","reverseDirection","sector","stackId","_ref3","index","smallestSector","Cell","AllocationsOverTime","headingLabel","sectorAllocations","sectorAllocationOverTime","setSectorAllocationOverTime","Usd","chartDataQuarters","dataByQuarters","forEach","_dataByQuarters$quart","quarter","usdAllocation","pctAllocation","push","Object","values","quarterA","quarterB","qA","yearA","split","qB","yearB","MAX_SAFE_INTEGER","_ref4","reduce","acc","_ref5","flatMap","_ref6","_ref7","arr","indexOf","SEGMENT_COLORS","sectorA","sectorB","Heading","level","onClick","_ref8","AREA_CHART_HEIGHT","AREA_CHART_MARGIN","top","right","bottom","left","AREA_CHART_STYLE","SHARED_BUTTON_CLASSES","individualManagers","insiderTradingRouter","useInsiderTradingRouter","Table","TableBody","investorId","TableRow","TableCell","getInsiderTradingLink","view","InsiderView","ManagerDetails","params","reportEndDate","viewParams","align","title","TopInvestmentTypeEnum","TopInvestmentLabels","Buys","Sells","DetailsSummary","latestSummary","topSellsPct","topSellsUsd","topBuysUsd","topBuysPct","topBuysChange","setTopBuysChange","topSellsChange","setTopSellsChange","generalStatistics","shortFormatDollar","totalSumOfUsdValue","totalSumOfUsdValuePrevQ","totalCountOfInvestments","countOfNewPurchased","countOfAddedTo","countOfReduced","formatNumber","percOfPortfolioOfTop10","FORMAT_PERCENT","timeHeldTop10","timeHeldTop20","timeHeldAll","topInvestmentType","isBuys","isSells","isPercentage","topTradeChange","setTopTradeChange","topTrades","TableHead","TableHeader","TableAlign","Left","Right","putCall","boxoverData","TickerButton","HoldingOptionTypeLabelMap","RedGreenText","change","IndividualManagersSection","MapSettings","SettingsScreenerDark","SettingsScreener","HoldingsHeatmap","Map","isFetchingPerf","isLoadingData","MAP_TYPE_MANAGERS_FUNDS_WIDGET","subtype","MAP_SUBTYPE_MANAGERS_FUNDS","dataHash","hash","legend","zoom","settings","Layout","isContainer","_document$getElementB","document","getElementById","style","removeProperty","Navigation","ManagerDetailsLayout","reportEndDates","filer","tooltip","useTooltipState","placement","tempReportEndDate","setTempReportEndDate","isManagerView","isDetailsView","isHoldingsView","ManagerHoldings","isFundView","FundDetails","FundHoldings","reportEndDateItems","parsedReportEndDate","parseISO","getQuarter","_reportEndDates$find","d","portfolioHighlightsButton","buttonLabel","hasOwnHoldings","TooltipTrigger","state","getInvestorTitles","ButtonGroup","hasDivider","hasBorder","Select","onChange","MENU_TABS","Index","Managers","Funds","MENU_TABS_MAP","MANAGER_FUNDS_VIEWS","activeView","isIndexPage","menuItems","INSIDER_VIEW_LABELS","Badge","tooltipState","button","classname","HoldingOptionType","Put","Call","Tag","tabIndex","getQuarterAndYear","period","year","filerName","otherManagerName","seriesName","portfolioManager","investorType","InvestorType","Fund","subtitle","Manager","OtherManager"],"sourceRoot":""}