{"version":3,"file":"latest-filings.0bab41b5.js","mappings":"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","sources":["webpack://@finviz/website/./js/app/shared/tracking.ts","webpack://@finviz/website/./js/main/components/external-link/external-link.tsx","webpack://@finviz/website/./js/main/hooks/use-sticky-shadow.ts","webpack://@finviz/website/./js/main/hooks/use-track-pageview.ts","webpack://@finviz/website/./js/main/hooks/use-table-pagination.ts","webpack://@finviz/website/./js/main/components/pagination/pagination.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/constants/types.ts","webpack://@finviz/website/./js/main/modules/latest-filings/constants/columns.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/components/Footer.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/components/FilingsTable.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/components/FormCategoryFilter.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/hooks/useTableFilter.ts","webpack://@finviz/website/./js/main/modules/latest-filings/constants/constants.ts","webpack://@finviz/website/./js/main/modules/latest-filings/index.tsx","webpack://@finviz/website/./js/main/modules/latest-filings/utils.ts","webpack://@finviz/website/./js/main/modules/options/components/StickyShadow.tsx"],"sourcesContent":["export enum AdsProvider {\r\n None,\r\n InvestingChannel,\r\n Freestar,\r\n}\r\n\r\nexport function getAdsProvider() {\r\n if (FinvizSettings.hasUserPremium) return AdsProvider.None\r\n\r\n if (FinvizSettings.adsProvider === 2) {\r\n return AdsProvider.Freestar\r\n }\r\n\r\n return AdsProvider.InvestingChannel\r\n}\r\n\r\n/**\r\n * Tracks virtual page views to google analytics and freestar\r\n */\r\nexport function trackPageView(props: { pathname?: string; query?: string; freestarPageView?: boolean }) {\r\n const { pathname = window.location.pathname, query = window.location.search, freestarPageView = true } = props\r\n\r\n window.gtag?.('set', 'page_path', `${pathname}${query.length ? '?' : ''}${query.replace(/^\\?/, '')}`)\r\n window.gtag?.('event', 'page_view')\r\n\r\n if (freestarPageView && getAdsProvider() === AdsProvider.Freestar) {\r\n window.freestar?.queue.push(() => freestar.trackPageview())\r\n }\r\n}\r\n","import classnames from 'classnames'\r\nimport React from 'react'\r\n\r\nimport { Button, Icon } from '..'\r\n\r\ninterface Props {\r\n label?: string\r\n href: string | undefined\r\n isBold?: boolean\r\n className?: string\r\n}\r\n\r\nexport function ExternalLink({ label, href, isBold, className }: Props) {\r\n return (\r\n }\r\n size=\"none\"\r\n padding=\"xxsmall\"\r\n theme=\"linkText\"\r\n className={classnames('inline-flex text-2xs leading-none', className)}\r\n target=\"_blank\"\r\n rel=\"nofollow\"\r\n href={href}\r\n onMouseDown={(event: React.MouseEvent) => event.stopPropagation()}\r\n onClick={(event: React.MouseEvent) => event.stopPropagation()}\r\n >\r\n {label && {label}}\r\n \r\n )\r\n}\r\n","import throttle from 'lodash.throttle'\r\nimport * as React from 'react'\r\n\r\nexport function useStickyShadow() {\r\n const stickyRef = React.useRef(null)\r\n const [isSticky, setIsSticky] = React.useState(false)\r\n\r\n React.useEffect(() => {\r\n if (!stickyRef.current) return\r\n\r\n const onScroll = throttle(function () {\r\n const stickyElement = stickyRef.current\r\n if (!stickyElement) return\r\n\r\n const elementStickyTopOffset = parseFloat(getComputedStyle(stickyElement).top)\r\n const elementCurrentTopOffset = stickyElement.getBoundingClientRect().top\r\n\r\n setIsSticky(elementCurrentTopOffset === elementStickyTopOffset)\r\n }, 100)\r\n\r\n onScroll()\r\n document.addEventListener('scroll', onScroll)\r\n\r\n return () => {\r\n document.removeEventListener('scroll', onScroll)\r\n }\r\n }, [])\r\n\r\n return React.useMemo(\r\n () => ({\r\n stickyRef,\r\n isSticky,\r\n }),\r\n [isSticky]\r\n )\r\n}\r\n","import * as React from 'react'\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nimport * as tracking from '../../app/shared/tracking'\r\n\r\nexport function useTrackPageView(props?: { trackInitial?: boolean; trackAutomatically?: boolean }) {\r\n const { trackInitial = false, trackAutomatically = true } = props ?? {}\r\n const initialRender = React.useRef(trackInitial)\r\n const location = useLocation()\r\n\r\n const handleTrackView = React.useCallback(() => {\r\n tracking.trackPageView({ pathname: location.pathname, query: location.search })\r\n }, [location.pathname, location.search])\r\n\r\n React.useEffect(() => {\r\n if (!trackAutomatically) return\r\n if (initialRender.current) handleTrackView()\r\n initialRender.current = true\r\n }, [trackAutomatically, handleTrackView, trackInitial])\r\n\r\n return handleTrackView\r\n}\r\n","import React from 'react'\r\n\r\nconst DEFAULT_ITEMS_PER_PAGE = 30\r\nconst DEFAULT_NUMBER_OF_PAGE_BUTTONS = 10\r\n\r\nexport interface TablePaginationProps {\r\n canGoBack: boolean\r\n goBack: () => void\r\n canGoForward: boolean\r\n goForward: () => void\r\n goToPage: (page: number) => void\r\n canGoToPage: (page: number) => boolean\r\n currentPage: number\r\n pageCount: number\r\n visiblePages: number[]\r\n paginatedData: T\r\n}\r\n\r\ninterface TablePaginationOptions {\r\n data: T[]\r\n itemsPerPage?: number\r\n numberOfPageButtons?: number\r\n shouldResetScroll?: boolean\r\n}\r\n\r\nexport function useTablePagination({\r\n data,\r\n itemsPerPage = DEFAULT_ITEMS_PER_PAGE,\r\n numberOfPageButtons = DEFAULT_NUMBER_OF_PAGE_BUTTONS,\r\n shouldResetScroll,\r\n}: TablePaginationOptions): TablePaginationProps {\r\n const [currentPage, setPage] = React.useState(0)\r\n const pageCount = Math.ceil((data?.length || 0) / itemsPerPage)\r\n\r\n // Reset currentPage to 0 when data changes\r\n React.useEffect(() => setPage(0), [data])\r\n\r\n const pagination = React.useMemo(() => {\r\n const canGoToPage = (page: number) => page - 1 >= 0 && page - 1 < pageCount\r\n const setPageState = (page: React.SetStateAction) => {\r\n setPage(page)\r\n if (shouldResetScroll) {\r\n window.scrollTo({ top: 0 })\r\n }\r\n }\r\n\r\n let start = Math.max(0, currentPage - Math.floor(numberOfPageButtons / 2))\r\n const end = Math.min(pageCount - 1, start + numberOfPageButtons - 1)\r\n if (end - start + 1 < numberOfPageButtons) {\r\n start = Math.max(0, end - numberOfPageButtons + 1)\r\n }\r\n\r\n return {\r\n canGoToPage,\r\n goBack: () => setPageState((prevPage) => Math.max(prevPage - 1, 0)),\r\n goForward: () => setPageState((prevPage) => Math.min(prevPage + 1, pageCount - 1)),\r\n goToPage: (page: number) => {\r\n if (canGoToPage(page)) setPageState(page - 1)\r\n },\r\n visiblePages: Array.from({ length: end - start + 1 }, (_, index) => start + index + 1),\r\n }\r\n }, [pageCount, numberOfPageButtons, currentPage, shouldResetScroll])\r\n\r\n const paginatedData = React.useMemo(() => {\r\n const start = currentPage * itemsPerPage\r\n const end = start + itemsPerPage\r\n return data.slice(start, end)\r\n }, [data, currentPage, itemsPerPage])\r\n\r\n return {\r\n ...pagination,\r\n canGoBack: currentPage > 0,\r\n canGoForward: currentPage < pageCount - 1,\r\n currentPage: currentPage + 1,\r\n pageCount,\r\n paginatedData,\r\n }\r\n}\r\n\r\nexport enum PageItems {\r\n gap = 'gap',\r\n prev = 'prev',\r\n next = 'next',\r\n pageNumber = 'pageNumber',\r\n}\r\n\r\nexport function getNumberOfSteps(pages: number) {\r\n const step = Math.ceil(pages / 10)\r\n if (step <= 1) {\r\n return 1\r\n } else if (step <= 10) {\r\n return 10\r\n } else if (step <= 50) {\r\n return 50\r\n } else {\r\n return 100\r\n }\r\n}\r\n\r\nexport function getStepPagination({\r\n pages,\r\n currentPage,\r\n maxSidePreviewPages = 5,\r\n}: {\r\n pages: number\r\n currentPage: number\r\n maxSidePreviewPages?: number\r\n}) {\r\n const items: Array = []\r\n const step = getNumberOfSteps(pages)\r\n\r\n let prevPage = 0\r\n for (let p = 1; p <= pages; ++p) {\r\n if (p !== currentPage) {\r\n if (p === 1 || p === pages || Math.abs(p - currentPage) <= maxSidePreviewPages || p % step === 0) {\r\n if (prevPage !== p - 1) {\r\n items.push(PageItems.gap)\r\n }\r\n items.push(p)\r\n prevPage = p\r\n }\r\n } else {\r\n items.push(p)\r\n prevPage = p\r\n }\r\n }\r\n\r\n return items\r\n}\r\n","import classnames from 'classnames'\r\n\r\nimport { PageItems, TablePaginationProps } from '../../hooks/use-table-pagination'\r\nimport { Button, ButtonComponentProps, ButtonProps } from '../button'\r\n\r\ninterface PaginationProps\r\n extends Omit, 'visiblePages' | 'paginatedData' | 'pageCount'>,\r\n ButtonProps {\r\n visiblePages: Array\r\n getPageItemButtonProps?: (page: number, pageItem: PageItems) => ButtonComponentProps\r\n className?: string\r\n}\r\n\r\nexport function Pagination({\r\n canGoBack,\r\n goBack,\r\n canGoForward,\r\n goForward,\r\n canGoToPage,\r\n goToPage,\r\n visiblePages,\r\n currentPage,\r\n getPageItemButtonProps,\r\n className,\r\n ...buttonProps\r\n}: PaginationProps) {\r\n return (\r\n
\r\n
\r\n {canGoBack && (\r\n )}\r\n />\r\n )}\r\n
\r\n
\r\n {visiblePages.map((pageNumber) =>\r\n pageNumber === PageItems.gap ? (\r\n \r\n ) : (\r\n goToPage(pageNumber)}\r\n active={currentPage === pageNumber}\r\n theme=\"chipTransparent\"\r\n size=\"small\"\r\n {...buttonProps}\r\n {...(getPageItemButtonProps?.(pageNumber, PageItems.pageNumber) as ButtonComponentProps)}\r\n >\r\n {pageNumber}\r\n \r\n )\r\n )}\r\n
\r\n
\r\n {canGoForward && (\r\n )}\r\n />\r\n )}\r\n
\r\n
\r\n )\r\n}\r\n","import { TableAlign } from '../../../components/Table'\r\nimport { SortableColumn } from '../../../hooks/use-sort-data'\r\n\r\nexport interface FormCategoryItem {\r\n id: string\r\n value: string | null\r\n label: string\r\n forms: string[]\r\n}\r\n\r\nexport interface FilingItem {\r\n filingDate?: string\r\n form?: string\r\n reportDate?: string\r\n filingRootUrl?: string\r\n primaryDocumentUrl?: string\r\n interactive: boolean\r\n accessionNumber: number\r\n}\r\n\r\nexport type SerializedLatestFilingsData = {\r\n items: FilingItem[]\r\n formCategories: FormCategoryItem[]\r\n descriptions: Record\r\n}\r\n\r\nexport interface ParsedFilingItem {\r\n filingDate?: Date\r\n form?: string\r\n description?: string\r\n reportDate?: Date\r\n filing?: string\r\n document?: string\r\n accessionNumber: number\r\n}\r\n\r\nexport type ParsedLatestFilingsData = {\r\n items: ParsedFilingItem[]\r\n formCategories: FormCategoryItem[]\r\n}\r\n\r\nexport enum ColumnId {\r\n FilingDate = 'filingDate',\r\n ReportDate = 'reportDate',\r\n Form = 'form',\r\n Description = 'description',\r\n Filing = 'filing',\r\n Document = 'document',\r\n AccessionNumber = 'accessionNumber',\r\n}\r\n\r\nexport interface TableColumnDefinition extends SortableColumn {\r\n name: string\r\n align?: TableAlign\r\n className?: string\r\n renderColumn: (props: ParsedFilingItem) => React.ReactNode\r\n sortable?: boolean\r\n hidden?: boolean\r\n}\r\n","import { formatDate } from '../../../../app/header/utils'\r\nimport { TableAlign } from '../../../components/Table'\r\nimport { ExternalLink } from '../../../components/external-link'\r\nimport { ColumnId, ParsedFilingItem, TableColumnDefinition } from './types'\r\n\r\nconst DATE_FORMAT = 'MMM dd, yyyy'\r\nconst NULL_VALUE = '—'\r\n\r\nexport const FILINGS_COLUMNS: TableColumnDefinition[] = [\r\n {\r\n id: ColumnId.FilingDate,\r\n align: TableAlign.Left,\r\n name: 'Filing Date',\r\n renderColumn: (args: ParsedFilingItem) => {\r\n if (!args.filingDate) return NULL_VALUE\r\n return formatDate(args.filingDate, DATE_FORMAT)\r\n },\r\n sortable: true,\r\n compoundSort: [ColumnId.FilingDate, ColumnId.AccessionNumber],\r\n },\r\n {\r\n id: ColumnId.ReportDate,\r\n align: TableAlign.Left,\r\n name: 'Report Date',\r\n renderColumn: (args: ParsedFilingItem) => {\r\n if (!args.reportDate) return NULL_VALUE\r\n return formatDate(args.reportDate, DATE_FORMAT)\r\n },\r\n sortable: true,\r\n compoundSort: [ColumnId.ReportDate, ColumnId.AccessionNumber],\r\n },\r\n {\r\n id: ColumnId.Form,\r\n align: TableAlign.Left,\r\n name: 'Form',\r\n renderColumn: (args: ParsedFilingItem) => args.form || NULL_VALUE,\r\n sortable: true,\r\n compoundSort: [ColumnId.Form, ColumnId.AccessionNumber],\r\n },\r\n {\r\n id: ColumnId.Description,\r\n align: TableAlign.Left,\r\n name: 'Description',\r\n renderColumn: (args: ParsedFilingItem) => args.description || NULL_VALUE,\r\n sortable: false,\r\n },\r\n {\r\n id: ColumnId.Filing,\r\n align: TableAlign.Left,\r\n name: 'Filing',\r\n renderColumn: (args: ParsedFilingItem) => {\r\n if (!args.filing) return NULL_VALUE\r\n return \r\n },\r\n },\r\n {\r\n id: ColumnId.Document,\r\n align: TableAlign.Left,\r\n name: 'Document',\r\n renderColumn: (args: ParsedFilingItem) => {\r\n if (!args.document) return NULL_VALUE\r\n return \r\n },\r\n },\r\n {\r\n id: ColumnId.AccessionNumber,\r\n name: 'AccessionNumber',\r\n renderColumn: () => null,\r\n hidden: true,\r\n },\r\n]\r\n\r\nexport const VISIBLE_FILINGS_COLUMNS = FILINGS_COLUMNS.filter((col) => !col.hidden)\r\n","import React from 'react'\r\nimport { useSearchParams } from 'react-router-dom'\r\n\r\nexport default function Footer() {\r\n const [searchParams] = useSearchParams()\r\n\r\n const exportUrl = React.useMemo(() => {\r\n const { t, o, f } = Object.fromEntries(searchParams) as { t?: string; o?: string; f?: string }\r\n return (\r\n 'export/latest-filings?' +\r\n new URLSearchParams({\r\n t: t ?? '',\r\n ...(f && { f }),\r\n ...(o && { o }),\r\n })\r\n )\r\n }, [searchParams])\r\n\r\n return (\r\n
\r\n {\r\n window.gtag && window.gtag('event', 'download', { event_category: 'export' })\r\n }}\r\n >\r\n export\r\n \r\n
\r\n )\r\n}\r\n","import classnames from 'classnames'\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableHeaderSortable,\r\n TableRow,\r\n useTableSortWithUrl,\r\n} from '../../../components/Table'\r\nimport { Pagination } from '../../../components/pagination'\r\nimport { useTablePagination } from '../../../hooks/use-table-pagination'\r\nimport { SortDirection } from '../../../types'\r\nimport { FILINGS_COLUMNS, VISIBLE_FILINGS_COLUMNS } from '../constants/columns'\r\nimport { ColumnId, ParsedFilingItem } from '../constants/types'\r\nimport Footer from './Footer'\r\n\r\ninterface Props {\r\n data: ParsedFilingItem[]\r\n /**\r\n * Whether headers should become sticky\r\n */\r\n isHeaderSticky?: boolean\r\n headerClass?: string\r\n}\r\n\r\nexport function FilingsTable({ data: filingsData, isHeaderSticky, headerClass }: Props) {\r\n const { data, sort, changeSort } = useTableSortWithUrl({\r\n data: filingsData,\r\n columns: FILINGS_COLUMNS,\r\n defaultSort: { column: FILINGS_COLUMNS[0], direction: SortDirection.Descending },\r\n })\r\n const paginationProps = useTablePagination({ data, shouldResetScroll: true })\r\n const { paginatedData } = paginationProps\r\n\r\n return (\r\n <>\r\n \r\n \r\n {VISIBLE_FILINGS_COLUMNS.map((column) => (\r\n {\r\n if (column.sortable) changeSort(column)\r\n }}\r\n disabled={!column.sortable}\r\n >\r\n {column.name}\r\n \r\n ))}\r\n \r\n \r\n {paginatedData.map((filing, rowIndex) => (\r\n \r\n {FILINGS_COLUMNS.map((column, index) => (\r\n \r\n {column.renderColumn(filing)}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
\r\n