{"version":3,"file":"latest-filings.e51f9f4a.js","mappings":"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","sources":["webpack://@finviz/website/./js/main/components/external-link/external-link.tsx","webpack://@finviz/website/./js/main/components/pagination/pagination.tsx","webpack://@finviz/website/./js/main/hooks/use-sticky-shadow.ts","webpack://@finviz/website/./js/main/hooks/use-table-pagination.ts","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":["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 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\nconst TEXT_LINK_CLASSES = 'text-link dark:text-link hover:text-link dark:hover:text-white'\r\n\r\ninterface PaginationProps\r\n extends Omit, 'paginatedData' | 'pageCount'>,\r\n ButtonComponentProps {\r\n isLoading?: boolean\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\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', {\r\n [TEXT_LINK_CLASSES]: !isActive,\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}\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 React from 'react'\r\n\r\nconst DEFAULT_ITEMS_PER_PAGE = 30\r\nconst DEFAULT_NUMBER_OF_PAGE_BUTTONS = 10\r\nconst DEFAULT_MAX_SIDE_PREVIEW_PAGES = 3\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 | PageItems.gap)[]\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 maxSidePreviewPages?: 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 maxSidePreviewPages = DEFAULT_MAX_SIDE_PREVIEW_PAGES,\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 const visiblePages = React.useMemo(\r\n () =>\r\n getStepPagination({\r\n pages: pageCount,\r\n currentPage: currentPage,\r\n maxSidePreviewPages,\r\n }),\r\n [pageCount, currentPage, maxSidePreviewPages]\r\n )\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 visiblePages,\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 { 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, ...restPaginationProps } = 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