{"version":3,"file":"latest-filings.e6ae3049.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\nimport React from 'react'\r\n\r\nimport { PageItems, TablePaginationProps } from '../../hooks/use-table-pagination'\r\nimport { Button, ButtonComponentProps } from '../button'\r\nimport { LabelWithDelayedSpinner } from '../label-with-delayed-spinner'\r\n\r\ninterface PaginationProps\r\n extends Omit, 'visiblePages' | 'paginatedData' | 'pageCount'>,\r\n ButtonComponentProps {\r\n isLoading?: boolean\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 isLoading = false,\r\n getPageItemButtonProps,\r\n className,\r\n ...buttonProps\r\n}: PaginationProps) {\r\n const prevButtonProps = getPageItemButtonProps?.(currentPage - 1, PageItems.prev) as ButtonComponentProps\r\n const nextButtonProps = getPageItemButtonProps?.(currentPage + 1, PageItems.next) as ButtonComponentProps\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {visiblePages.map((pageNumber, index) => {\r\n if (pageNumber === PageItems.gap) {\r\n return (\r\n \r\n ⋯\r\n \r\n )\r\n }\r\n\r\n const pageNumberButtonProps = getPageItemButtonProps?.(\r\n pageNumber,\r\n PageItems.pageNumber\r\n ) as ButtonComponentProps\r\n const isActive = currentPage === pageNumber\r\n\r\n return (\r\n goToPage(pageNumber) : undefined}\r\n active={isActive}\r\n theme=\"chipTransparent\"\r\n size=\"small\"\r\n {...buttonProps}\r\n {...pageNumberButtonProps}\r\n className={classnames(pageNumberButtonProps?.className, 'relative min-w-7')}\r\n >\r\n \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\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