@monarkmarkets/marketplace 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/common/company-logo.tsx","../src/utils/formatters.ts","../src/private-table/components/table-row.tsx","../src/common/table-headers.tsx","../src/private-table/components/pagination.tsx","../src/common/loading-spinner.tsx","../src/services/private-company-service.ts","../src/private-table/table.tsx","../src/services/shared-service.ts","../src/primary-table/components/table-row.tsx","../src/services/primary-company-service.ts","../src/primary-table/table.tsx"],"sourcesContent":["import React, {memo} from \"react\";\n\n/**\n * CompanyLogo component that displays either a company logo or a fallback initial.\n *\n * @param props - Component props\n * @param props.logoURL - Optional URL to the company's logo image passed through the preIPOCompany object\n * @param props.name - Company name, used for alt text and fallback initial passed through the preIPOCompany object\n * @returns A company logo image or a fallback with the first letter of the company name\n */\nexport const CompanyLogo: React.FC<{ logoURL?: string; name: string }> = memo(({logoURL, name}) => {\n if (logoURL) {\n return (\n <img\n src={logoURL}\n alt={`${name} logo`}\n className=\"w-8 h-8 rounded-lg object-cover\"\n />\n );\n }\n\n return (\n <div className=\"w-8 h-8 bg-gray-100 rounded-lg flex items-center justify-center\">\n <span className=\"text-gray-400 text-sm font-medium\">\n {name.charAt(0)}\n </span>\n </div>\n );\n});\n\nCompanyLogo.displayName = 'CompanyLogo';","export const formatLargeNumber = (value: number): string => {\n if (value >= 1_000_000_000) {\n return `$${(value / 1_000_000_000).toFixed(1)}B`;\n } else if (value >= 1_000_000) {\n return `$${(value / 1_000_000).toFixed(1)}M`;\n }\n return `$${value.toLocaleString()}`;\n};\n\nexport const formatCurrency = (value?: number, decimals: number = 2): string => {\n if (value === undefined || value === null) return 'N/A';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n }).format(value);\n};\n","import React, {memo, useCallback} from \"react\";\nimport {PrivateTable} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency, formatLargeNumber} from \"../../utils/formatters\";\n\n/**\n * TableRow component renders a row in the PrivateTable component.\n * It includes columns for company details, total funding, last round,\n * price per share, and an action button to indicate interest.\n */\nexport const TableRow: React.FC<PrivateTable> = memo(({\n preIpoCompany,\n companyName,\n totalFunding,\n lastFundingSeries,\n lastSharePrice,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIpoCompany.id, investorId);\n }, [preIpoCompany.id, investorId, onButtonClick]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n <CompanyLogo\n logoURL={preIpoCompany.logoURL}\n name={companyName}\n />\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">{preIpoCompany.country}</span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {totalFunding !== undefined ? formatLargeNumber(totalFunding) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastFundingSeries || \"Unknown\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastSharePrice !== undefined ? formatCurrency(lastSharePrice) : \"Not Available\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import React, {memo} from 'react';\n\ninterface Column {\n title: string;\n width?: string;\n}\n\ninterface TableHeaderProps {\n columns: Column[];\n}\n\n/**\n * Common TableHeader component that can be configured for different table types.\n * It renders a header row with configurable column titles and styling.\n * @param columns - Array of column configurations with titles and optional widths\n */\nexport const TableHeaders = memo(({columns}: TableHeaderProps) => (\n <thead>\n <tr\n className=\"bg-gray-50 border-b border-gray-200\"\n role=\"row\"\n >\n {columns.map((column, index) => (\n <th\n key={`${column.title}-${index}`}\n className={`py-3 px-4 text-left text-sm font-semibold text-gray-900 ${column.width || ''}`}\n scope=\"col\"\n role=\"columnheader\"\n >\n {column.title}\n </th>\n ))}\n </tr>\n </thead>\n));\n\nTableHeaders.displayName = 'TableHeader';","import React, {memo, useCallback, useMemo} from \"react\";\nimport {PaginationProps} from \"../../types/types\";\n\nconst NavigationButton = memo(({\n onClick,\n disabled,\n direction,\n }: {\n onClick: () => void;\n disabled: boolean;\n direction: 'previous' | 'next';\n}) => (\n <button\n onClick={onClick}\n disabled={disabled}\n className=\"p-2 rounded-lg text-gray-600 hover:bg-gray-100 disabled:opacity-50 disabled:hover:bg-transparent disabled:cursor-not-allowed transition-colors\"\n aria-label={`${direction} page`}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d={direction === 'previous' ? \"M15 19l-7-7 7-7\" : \"M9 5l7 7-7 7\"}\n />\n </svg>\n </button>\n));\n\nNavigationButton.displayName = 'NavigationButton';\n\nconst PageButton = memo(({\n page,\n isCurrentPage,\n onClick\n }: {\n page: number;\n isCurrentPage: boolean;\n onClick: () => void;\n}) => (\n <button\n onClick={onClick}\n disabled={isCurrentPage}\n className={`w-10 h-10 rounded-lg text-sm font-medium transition-colors ${\n isCurrentPage\n ? 'bg-custom-blue text-white'\n : 'text-gray-600 hover:bg-gray-100'\n }`}\n aria-label={`Go to page ${page}`}\n aria-current={isCurrentPage ? 'page' : undefined}\n >\n {page}\n </button>\n));\n\nPageButton.displayName = 'PageButton';\n\n/**\n * Pagination component renders pagination controls for the PrivateTable component.\n * It includes navigation buttons for previous and next pages, and page number buttons.\n */\nexport const Pagination: React.FC<PaginationProps> = memo(({\n currentPage,\n totalPages,\n onPageChange,\n }) => {\n const handlePrevious = useCallback(() => {\n onPageChange(currentPage - 1);\n }, [currentPage, onPageChange]);\n\n const handleNext = useCallback(() => {\n onPageChange(currentPage + 1);\n }, [currentPage, onPageChange]);\n\n const pageNumbers = useMemo(() => {\n const pages = [];\n const showEllipsis = totalPages > 7;\n\n if (showEllipsis) {\n if (currentPage <= 4) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 3) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n } else {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n }\n\n return pages;\n }, [currentPage, totalPages]);\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className=\"flex items-center justify-center gap-1\"\n >\n <NavigationButton\n onClick={handlePrevious}\n disabled={currentPage <= 1}\n direction=\"previous\"\n />\n\n <div className=\"flex items-center gap-1 mx-2\">\n {pageNumbers.map((page, index) => (\n page === 'ellipsis' ? (\n <span\n key={`ellipsis-${index}`}\n className=\"w-10 h-10 flex items-center justify-center text-gray-500\"\n aria-hidden=\"true\"\n >\n ...\n </span>\n ) : (\n <PageButton\n key={page}\n page={page as number}\n isCurrentPage={page === currentPage}\n onClick={() => onPageChange(page as number)}\n />\n )\n ))}\n </div>\n\n <NavigationButton\n onClick={handleNext}\n disabled={currentPage >= totalPages}\n direction=\"next\"\n />\n </nav>\n );\n});\n\nPagination.displayName = 'Pagination';","export const LoadingSpinner = () => (\n <svg className=\"animate-spin h-8 w-8 text-custom-blue\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path className=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n);","import {Client, PreIPOCompanyApiResponse, SortOrder4} from \"@monarkmarkets/api-client\";\n\nexport class PreIPOCompanySpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllCompanies(\n searchTerm?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanyApiResponse | null> {\n try {\n return await this._client.preIpoCompany2(searchTerm, SortOrder4.Descending, page, pageSize);\n } catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {Pagination} from \"./components/pagination\";\nimport {PrivateTableProps} from \"../types/types\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {PreIPOCompanySpvService} from \"../services/private-company-service\";\nimport {IPreIPOCompany} from \"@monarkmarkets/api-client\";\n\nconst privateColumns = [\n { title: 'Company' },\n { title: 'Total Funding' },\n { title: 'Last Round' },\n { title: 'Last Round Price/Share' },\n { title: 'Indicate Interest' }\n];\n\n/**\n * PrivateTable component displays a table of pre-IPO companies with pagination and loading states.\n * It includes table headers, rows, and pagination controls with built-in data fetching.\n */\nexport const PrivateTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Submit IOI\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrivateTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIpoCompany, setPreIpoCompany] = useState<IPreIPOCompany[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchCompanies = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new PreIPOCompanySpvService();\n\n try {\n const result = await service.GetAllCompanies(searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIpoCompany(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching pre-IPO companies:', e);\n setError(true);\n setPreIpoCompany([]);\n } finally {\n setInternalLoading(false);\n }\n }, [searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIpoCompany || preIpoCompany.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner />\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={privateColumns} />\n <tbody className=\"relative\">\n {preIpoCompany.map((company) => (\n <TableRow\n key={company.id}\n preIpoCompany={company}\n companyName={company.name || ''}\n totalFunding={company.totalFunding}\n lastFundingSeries={company.lastFundingSeries}\n lastSharePrice={company.lastSharePrice}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};","import {Client} from \"@monarkmarkets/api-client\";\n\nexport class SharedService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetCompanyLogoAndCountry(\n preIPOCompanyId: string,\n ): Promise<{ logoURL: string; location: string } | null> {\n try {\n const company = await this._client.preIpoCompany(preIPOCompanyId);\n if (company) {\n return {\n logoURL: company.logoURL || '',\n location: company.country || 'Location not available'\n };\n }\n return null;\n } catch (error) {\n console.error(`Failed to retrieve company logo and location for ID ${preIPOCompanyId}:`, error);\n return null;\n }\n }\n}","import React, {memo, useCallback, useEffect, useState} from \"react\";\nimport {LogoAndCountryProps, SpvRowProps} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency} from \"../../utils/formatters\";\nimport {SharedService} from \"../../services/shared-service\";\n\n/**\n * TableRow component renders a row in the PrimaryTable component.\n * It includes columns for company details, price per share, minimum investment,\n * management fees, and an action to invest.\n */\nexport const TableRow: React.FC<SpvRowProps> = memo(({\n preIPOCompanySPV,\n companyName,\n allInPricePerShare,\n minCommitmentAmount,\n managementFee,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIPOCompanySPV.id, investorId);\n }, [preIPOCompanySPV.id, investorId, onButtonClick]);\n\n const [companyDetails, setCompanyDetails] = useState<LogoAndCountryProps | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const fetchCompanyDetails = async () => {\n setIsLoading(true);\n const service = new SharedService();\n try {\n const details = await service.GetCompanyLogoAndCountry(\n preIPOCompanySPV.preIPOCompanyId,\n );\n setCompanyDetails(details);\n } catch (error) {\n console.error('Error fetching company details:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchCompanyDetails();\n }, [preIPOCompanySPV.preIPOCompanyId, investorId]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n {isLoading ? (\n <div className=\"w-8 h-8 animate-pulse bg-gray-200 rounded-lg\"/>\n ) : (\n <CompanyLogo\n logoURL={companyDetails?.logoURL}\n name={companyName}\n />\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">\n {isLoading ? (\n <div className=\"h-4 w-24 animate-pulse bg-gray-200 rounded\"/>\n ) : (\n companyDetails?.location || 'Location not available'\n )}\n </span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {allInPricePerShare !== undefined ? formatCurrency(allInPricePerShare) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {minCommitmentAmount !== undefined ? formatCurrency(minCommitmentAmount) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {managementFee !== undefined ? `${managementFee}%` : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import {Client, MonarkStage, PreIPOCompanySPVApiResponse, SortOrder9} from \"@monarkmarkets/api-client\";\n\nexport class SpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllSpvs(\n investorId: string,\n nameFilter?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanySPVApiResponse | null> {\n try {\n return await this._client.investorGET5(investorId, MonarkStage.PRIMARY_FUNDRAISE, nameFilter, page, pageSize, SortOrder9.Descending);\n } catch (error) {\n console.error('Failed to retrieve all SPVs.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {PrimaryTableProps} from \"../types/types\";\nimport {Pagination} from \"../private-table/components/pagination\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {SpvService} from \"../services/primary-company-service\";\nimport {IPreIPOCompanySPV} from \"@monarkmarkets/api-client\";\n\nconst primaryColumns = [\n {title: 'Company'},\n {title: 'Price Per Share'},\n {title: 'Minimum Investment'},\n {title: 'Fees'},\n {title: 'Invest'}\n];\n\n/**\n * PrimaryTable component displays a table of SPV investment opportunities.\n * It includes table headers and rows with built-in data fetching.\n */\nexport const PrimaryTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Invest\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrimaryTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIPOCompanySPV, setPreIPOCompanySPV] = useState<IPreIPOCompanySPV[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchSpvs = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new SpvService();\n\n try {\n const result = await service.GetAllSpvs(investorId, searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIPOCompanySPV(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching SPVs:', e);\n setError(true);\n setPreIPOCompanySPV([]);\n } finally {\n setInternalLoading(false);\n }\n }, [investorId, searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIPOCompanySPV || preIPOCompanySPV.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner/>\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={primaryColumns}/>\n <tbody className=\"relative\">\n {preIPOCompanySPV.map((company) => (\n <TableRow\n key={company.id}\n preIPOCompanySPV={company}\n companyName={company.name || ''}\n allInPricePerShare={company.allInPricePerShare}\n minCommitmentAmount={company.minCommitmentAmount}\n managementFee={company.managementFee}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};"],"names":["CompanyLogo","memo","_a","logoURL","name","_jsx","src","alt","concat","className","children","charAt","displayName","formatLargeNumber","value","toFixed","toLocaleString","formatCurrency","decimals","undefined","Intl","NumberFormat","style","currency","maximumFractionDigits","minimumFractionDigits","format","TableRow","preIpoCompany","companyName","totalFunding","lastFundingSeries","lastSharePrice","_b","buttonText","investorId","onButtonClick","handleButtonClick","useCallback","e","preventDefault","id","_jsxs","role","country","onClick","TableHeaders","columns","map","column","index","width","scope","title","NavigationButton","disabled","direction","fill","stroke","viewBox","xmlns","strokeLinecap","strokeLinejoin","strokeWidth","d","PageButton","page","isCurrentPage","Pagination","currentPage","totalPages","onPageChange","handlePrevious","handleNext","pageNumbers","useMemo","pages","showEllipsis","i","push","LoadingSpinner","cx","cy","r","PreIPOCompanySpvService","_client","Client","prototype","GetAllCompanies","searchTerm_1","page_1","searchTerm","pageSize","preIpoCompany2","SortOrder4","Descending","console","error","error_1","privateColumns","PrivateTable","_c","isLoading","externalLoading","_d","initialPage","_e","_f","onDataLoaded","_g","useState","internalLoading","setInternalLoading","_h","setPreIpoCompany","_j","setCurrentPage","_k","setTotalPages","_l","setError","fetchCompanies","__awaiter","service","result","sent","items","pagination","e_1","useEffect","handlePageChange","length","company","SharedService","GetCompanyLogoAndCountry","preIPOCompanyId","location","preIPOCompanySPV","allInPricePerShare","minCommitmentAmount","managementFee","companyDetails","setCompanyDetails","setIsLoading","fetchCompanyDetails","details","SpvService","GetAllSpvs","investorId_1","nameFilter_1","arguments","nameFilter","investorGET5","MonarkStage","PRIMARY_FUNDRAISE","SortOrder9","primaryColumns","PrimaryTable","setPreIPOCompanySPV","fetchSpvs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/common/company-logo.tsx","../src/utils/formatters.ts","../src/private-table/components/table-row.tsx","../src/common/table-headers.tsx","../src/private-table/components/pagination.tsx","../src/common/loading-spinner.tsx","../src/services/private-company-service.ts","../src/private-table/table.tsx","../src/services/shared-service.ts","../src/primary-table/components/table-row.tsx","../src/services/primary-company-service.ts","../src/primary-table/table.tsx"],"sourcesContent":["import React, {memo} from \"react\";\n\n/**\n * CompanyLogo component that displays either a company logo or a fallback initial.\n *\n * @param props - Component props\n * @param props.logoURL - Optional URL to the company's logo image passed through the preIPOCompany object\n * @param props.name - Company name, used for alt text and fallback initial passed through the preIPOCompany object\n * @returns A company logo image or a fallback with the first letter of the company name\n */\nexport const CompanyLogo: React.FC<{ logoURL?: string; name: string }> = memo(({logoURL, name}) => {\n if (logoURL) {\n return (\n <img\n src={logoURL}\n alt={`${name} logo`}\n className=\"w-8 h-8 rounded-lg object-cover\"\n />\n );\n }\n\n return (\n <div className=\"w-8 h-8 bg-gray-100 rounded-lg flex items-center justify-center\">\n <span className=\"text-gray-400 text-sm font-medium\">\n {name.charAt(0)}\n </span>\n </div>\n );\n});\n\nCompanyLogo.displayName = 'CompanyLogo';","export const formatLargeNumber = (value: number): string => {\n if (value >= 1_000_000_000) {\n return `$${(value / 1_000_000_000).toFixed(1)}B`;\n } else if (value >= 1_000_000) {\n return `$${(value / 1_000_000).toFixed(1)}M`;\n }\n return `$${value.toLocaleString()}`;\n};\n\nexport const formatCurrency = (value?: number, decimals: number = 2): string => {\n if (value === undefined || value === null) return 'N/A';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n }).format(value);\n};\n","import React, {memo, useCallback} from \"react\";\nimport {PrivateTable} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency, formatLargeNumber} from \"../../utils/formatters\";\n\n/**\n * TableRow component renders a row in the PrivateTable component.\n * It includes columns for company details, total funding, last round,\n * price per share, and an action button to indicate interest.\n */\nexport const TableRow: React.FC<PrivateTable> = memo(({\n preIpoCompany,\n companyName,\n totalFunding,\n lastFundingSeries,\n lastSharePrice,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIpoCompany.id, investorId);\n }, [preIpoCompany.id, investorId, onButtonClick]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n <CompanyLogo\n logoURL={preIpoCompany.logoURL}\n name={companyName}\n />\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">{preIpoCompany.country}</span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {totalFunding !== undefined ? formatLargeNumber(totalFunding) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastFundingSeries || \"Unknown\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastSharePrice !== undefined ? formatCurrency(lastSharePrice) : \"Not Available\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import React, {memo} from 'react';\n\ninterface Column {\n title: string;\n width?: string;\n}\n\ninterface TableHeaderProps {\n columns: Column[];\n}\n\n/**\n * Common TableHeader component that can be configured for different table types.\n * It renders a header row with configurable column titles and styling.\n * @param columns - Array of column configurations with titles and optional widths\n */\nexport const TableHeaders = memo(({columns}: TableHeaderProps) => (\n <thead>\n <tr\n className=\"bg-gray-50 border-b border-gray-200\"\n role=\"row\"\n >\n {columns.map((column, index) => (\n <th\n key={`${column.title}-${index}`}\n className={`py-3 px-4 text-left text-sm font-semibold text-gray-900 ${column.width || ''}`}\n scope=\"col\"\n role=\"columnheader\"\n >\n {column.title}\n </th>\n ))}\n </tr>\n </thead>\n));\n\nTableHeaders.displayName = 'TableHeader';","import React, {memo, useCallback, useMemo} from \"react\";\nimport {PaginationProps} from \"../../types/types\";\n\nconst NavigationButton = memo(({\n onClick,\n disabled,\n direction,\n }: {\n onClick: () => void;\n disabled: boolean;\n direction: 'previous' | 'next';\n}) => (\n <button\n onClick={onClick}\n disabled={disabled}\n className=\"p-2 rounded-lg text-gray-600 hover:bg-gray-100 disabled:opacity-50 disabled:hover:bg-transparent disabled:cursor-not-allowed transition-colors\"\n aria-label={`${direction} page`}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d={direction === 'previous' ? \"M15 19l-7-7 7-7\" : \"M9 5l7 7-7 7\"}\n />\n </svg>\n </button>\n));\n\nNavigationButton.displayName = 'NavigationButton';\n\nconst PageButton = memo(({\n page,\n isCurrentPage,\n onClick\n }: {\n page: number;\n isCurrentPage: boolean;\n onClick: () => void;\n}) => (\n <button\n onClick={onClick}\n disabled={isCurrentPage}\n className={`w-10 h-10 rounded-lg text-sm font-medium transition-colors ${\n isCurrentPage\n ? 'bg-custom-blue text-white'\n : 'text-gray-600 hover:bg-gray-100'\n }`}\n aria-label={`Go to page ${page}`}\n aria-current={isCurrentPage ? 'page' : undefined}\n >\n {page}\n </button>\n));\n\nPageButton.displayName = 'PageButton';\n\n/**\n * Pagination component renders pagination controls for the PrivateTable component.\n * It includes navigation buttons for previous and next pages, and page number buttons.\n */\nexport const Pagination: React.FC<PaginationProps> = memo(({\n currentPage,\n totalPages,\n onPageChange,\n }) => {\n const handlePrevious = useCallback(() => {\n onPageChange(currentPage - 1);\n }, [currentPage, onPageChange]);\n\n const handleNext = useCallback(() => {\n onPageChange(currentPage + 1);\n }, [currentPage, onPageChange]);\n\n const pageNumbers = useMemo(() => {\n const pages = [];\n const showEllipsis = totalPages > 7;\n\n if (showEllipsis) {\n if (currentPage <= 4) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 3) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n } else {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n }\n\n return pages;\n }, [currentPage, totalPages]);\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className=\"flex items-center justify-center gap-1\"\n >\n <NavigationButton\n onClick={handlePrevious}\n disabled={currentPage <= 1}\n direction=\"previous\"\n />\n\n <div className=\"flex items-center gap-1 mx-2\">\n {pageNumbers.map((page, index) => (\n page === 'ellipsis' ? (\n <span\n key={`ellipsis-${index}`}\n className=\"w-10 h-10 flex items-center justify-center text-gray-500\"\n aria-hidden=\"true\"\n >\n ...\n </span>\n ) : (\n <PageButton\n key={page}\n page={page as number}\n isCurrentPage={page === currentPage}\n onClick={() => onPageChange(page as number)}\n />\n )\n ))}\n </div>\n\n <NavigationButton\n onClick={handleNext}\n disabled={currentPage >= totalPages}\n direction=\"next\"\n />\n </nav>\n );\n});\n\nPagination.displayName = 'Pagination';","export const LoadingSpinner = () => (\n <svg className=\"animate-spin h-8 w-8 text-custom-blue\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path className=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n);","import {Client, PreIPOCompanyApiResponse, SortOrder4} from \"@monarkmarkets/api-client\";\n\nexport class PreIPOCompanySpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllCompanies(\n searchTerm?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanyApiResponse | null> {\n try {\n return await this._client.preIpoCompany2(searchTerm, SortOrder4.Descending, page, pageSize);\n } catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {Pagination} from \"./components/pagination\";\nimport {PrivateTableProps} from \"../types/types\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {PreIPOCompanySpvService} from \"../services/private-company-service\";\nimport {IPreIPOCompany} from \"@monarkmarkets/api-client\";\n\nconst privateColumns = [\n { title: 'Company' },\n { title: 'Last Round Valuation' },\n { title: 'Last Round' },\n { title: 'Last Round Price/Share' },\n { title: 'Indicate Interest' }\n];\n\n/**\n * PrivateTable component displays a table of pre-IPO companies with pagination and loading states.\n * It includes table headers, rows, and pagination controls with built-in data fetching.\n */\nexport const PrivateTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Submit IOI\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrivateTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIpoCompany, setPreIpoCompany] = useState<IPreIPOCompany[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchCompanies = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new PreIPOCompanySpvService();\n\n try {\n const result = await service.GetAllCompanies(searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIpoCompany(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching pre-IPO companies:', e);\n setError(true);\n setPreIpoCompany([]);\n } finally {\n setInternalLoading(false);\n }\n }, [searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIpoCompany || preIpoCompany.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner />\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={privateColumns} />\n <tbody className=\"relative\">\n {preIpoCompany.map((company) => (\n <TableRow\n key={company.id}\n preIpoCompany={company}\n companyName={company.name || ''}\n totalFunding={company.totalFunding}\n lastFundingSeries={company.lastFundingSeries}\n lastSharePrice={company.lastSharePrice}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};","import {Client} from \"@monarkmarkets/api-client\";\n\nexport class SharedService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetCompanyLogoAndCountry(\n preIPOCompanyId: string,\n ): Promise<{ logoURL: string; location: string } | null> {\n try {\n const company = await this._client.preIpoCompany(preIPOCompanyId);\n if (company) {\n return {\n logoURL: company.logoURL || '',\n location: company.country || 'Location not available'\n };\n }\n return null;\n } catch (error) {\n console.error(`Failed to retrieve company logo and location for ID ${preIPOCompanyId}:`, error);\n return null;\n }\n }\n}","import React, {memo, useCallback, useEffect, useState} from \"react\";\nimport {LogoAndCountryProps, SpvRowProps} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency} from \"../../utils/formatters\";\nimport {SharedService} from \"../../services/shared-service\";\n\n/**\n * TableRow component renders a row in the PrimaryTable component.\n * It includes columns for company details, price per share, minimum investment,\n * management fees, and an action to invest.\n */\nexport const TableRow: React.FC<SpvRowProps> = memo(({\n preIPOCompanySPV,\n companyName,\n allInPricePerShare,\n minCommitmentAmount,\n managementFee,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIPOCompanySPV.id, investorId);\n }, [preIPOCompanySPV.id, investorId, onButtonClick]);\n\n const [companyDetails, setCompanyDetails] = useState<LogoAndCountryProps | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const fetchCompanyDetails = async () => {\n setIsLoading(true);\n const service = new SharedService();\n try {\n const details = await service.GetCompanyLogoAndCountry(\n preIPOCompanySPV.preIPOCompanyId,\n );\n setCompanyDetails(details);\n } catch (error) {\n console.error('Error fetching company details:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchCompanyDetails();\n }, [preIPOCompanySPV.preIPOCompanyId, investorId]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n {isLoading ? (\n <div className=\"w-8 h-8 animate-pulse bg-gray-200 rounded-lg\"/>\n ) : (\n <CompanyLogo\n logoURL={companyDetails?.logoURL}\n name={companyName}\n />\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">\n {isLoading ? (\n <div className=\"h-4 w-24 animate-pulse bg-gray-200 rounded\"/>\n ) : (\n companyDetails?.location || 'Location not available'\n )}\n </span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {allInPricePerShare !== undefined ? formatCurrency(allInPricePerShare) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {minCommitmentAmount !== undefined ? formatCurrency(minCommitmentAmount) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {managementFee !== undefined ? `${managementFee}%` : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import {Client, MonarkStage, PreIPOCompanySPVApiResponse, SortOrder9} from \"@monarkmarkets/api-client\";\n\nexport class SpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllSpvs(\n investorId: string,\n nameFilter?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanySPVApiResponse | null> {\n try {\n return await this._client.investorGET5(investorId, MonarkStage.PRIMARY_FUNDRAISE, nameFilter, page, pageSize, SortOrder9.Descending);\n } catch (error) {\n console.error('Failed to retrieve all SPVs.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {PrimaryTableProps} from \"../types/types\";\nimport {Pagination} from \"../private-table/components/pagination\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {SpvService} from \"../services/primary-company-service\";\nimport {IPreIPOCompanySPV} from \"@monarkmarkets/api-client\";\n\nconst primaryColumns = [\n {title: 'Company'},\n {title: 'Price Per Share'},\n {title: 'Minimum Investment'},\n {title: 'Fees'},\n {title: 'Invest'}\n];\n\n/**\n * PrimaryTable component displays a table of SPV investment opportunities.\n * It includes table headers and rows with built-in data fetching.\n */\nexport const PrimaryTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Invest\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrimaryTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIPOCompanySPV, setPreIPOCompanySPV] = useState<IPreIPOCompanySPV[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchSpvs = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new SpvService();\n\n try {\n const result = await service.GetAllSpvs(investorId, searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIPOCompanySPV(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching SPVs:', e);\n setError(true);\n setPreIPOCompanySPV([]);\n } finally {\n setInternalLoading(false);\n }\n }, [investorId, searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIPOCompanySPV || preIPOCompanySPV.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner/>\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={primaryColumns}/>\n <tbody className=\"relative\">\n {preIPOCompanySPV.map((company) => (\n <TableRow\n key={company.id}\n preIPOCompanySPV={company}\n companyName={company.name || ''}\n allInPricePerShare={company.allInPricePerShare}\n minCommitmentAmount={company.minCommitmentAmount}\n managementFee={company.managementFee}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};"],"names":["CompanyLogo","memo","_a","logoURL","name","_jsx","src","alt","concat","className","children","charAt","displayName","formatLargeNumber","value","toFixed","toLocaleString","formatCurrency","decimals","undefined","Intl","NumberFormat","style","currency","maximumFractionDigits","minimumFractionDigits","format","TableRow","preIpoCompany","companyName","totalFunding","lastFundingSeries","lastSharePrice","_b","buttonText","investorId","onButtonClick","handleButtonClick","useCallback","e","preventDefault","id","_jsxs","role","country","onClick","TableHeaders","columns","map","column","index","width","scope","title","NavigationButton","disabled","direction","fill","stroke","viewBox","xmlns","strokeLinecap","strokeLinejoin","strokeWidth","d","PageButton","page","isCurrentPage","Pagination","currentPage","totalPages","onPageChange","handlePrevious","handleNext","pageNumbers","useMemo","pages","showEllipsis","i","push","LoadingSpinner","cx","cy","r","PreIPOCompanySpvService","_client","Client","prototype","GetAllCompanies","searchTerm_1","page_1","searchTerm","pageSize","preIpoCompany2","SortOrder4","Descending","console","error","error_1","privateColumns","PrivateTable","_c","isLoading","externalLoading","_d","initialPage","_e","_f","onDataLoaded","_g","useState","internalLoading","setInternalLoading","_h","setPreIpoCompany","_j","setCurrentPage","_k","setTotalPages","_l","setError","fetchCompanies","__awaiter","service","result","sent","items","pagination","e_1","useEffect","handlePageChange","length","company","SharedService","GetCompanyLogoAndCountry","preIPOCompanyId","location","preIPOCompanySPV","allInPricePerShare","minCommitmentAmount","managementFee","companyDetails","setCompanyDetails","setIsLoading","fetchCompanyDetails","details","SpvService","GetAllSpvs","investorId_1","nameFilter_1","arguments","nameFilter","investorGET5","MonarkStage","PRIMARY_FUNDRAISE","SortOrder9","primaryColumns","PrimaryTable","setPreIPOCompanySPV","fetchSpvs"],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/common/company-logo.tsx","../src/utils/formatters.ts","../src/private-table/components/table-row.tsx","../src/common/table-headers.tsx","../src/private-table/components/pagination.tsx","../src/common/loading-spinner.tsx","../src/services/private-company-service.ts","../src/private-table/table.tsx","../src/services/shared-service.ts","../src/primary-table/components/table-row.tsx","../src/services/primary-company-service.ts","../src/primary-table/table.tsx"],"sourcesContent":["import React, {memo} from \"react\";\n\n/**\n * CompanyLogo component that displays either a company logo or a fallback initial.\n *\n * @param props - Component props\n * @param props.logoURL - Optional URL to the company's logo image passed through the preIPOCompany object\n * @param props.name - Company name, used for alt text and fallback initial passed through the preIPOCompany object\n * @returns A company logo image or a fallback with the first letter of the company name\n */\nexport const CompanyLogo: React.FC<{ logoURL?: string; name: string }> = memo(({logoURL, name}) => {\n if (logoURL) {\n return (\n <img\n src={logoURL}\n alt={`${name} logo`}\n className=\"w-8 h-8 rounded-lg object-cover\"\n />\n );\n }\n\n return (\n <div className=\"w-8 h-8 bg-gray-100 rounded-lg flex items-center justify-center\">\n <span className=\"text-gray-400 text-sm font-medium\">\n {name.charAt(0)}\n </span>\n </div>\n );\n});\n\nCompanyLogo.displayName = 'CompanyLogo';","export const formatLargeNumber = (value: number): string => {\n if (value >= 1_000_000_000) {\n return `$${(value / 1_000_000_000).toFixed(1)}B`;\n } else if (value >= 1_000_000) {\n return `$${(value / 1_000_000).toFixed(1)}M`;\n }\n return `$${value.toLocaleString()}`;\n};\n\nexport const formatCurrency = (value?: number, decimals: number = 2): string => {\n if (value === undefined || value === null) return 'N/A';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n }).format(value);\n};\n","import React, {memo, useCallback} from \"react\";\nimport {PrivateTable} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency, formatLargeNumber} from \"../../utils/formatters\";\n\n/**\n * TableRow component renders a row in the PrivateTable component.\n * It includes columns for company details, total funding, last round,\n * price per share, and an action button to indicate interest.\n */\nexport const TableRow: React.FC<PrivateTable> = memo(({\n preIpoCompany,\n companyName,\n totalFunding,\n lastFundingSeries,\n lastSharePrice,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIpoCompany.id, investorId);\n }, [preIpoCompany.id, investorId, onButtonClick]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n <CompanyLogo\n logoURL={preIpoCompany.logoURL}\n name={companyName}\n />\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">{preIpoCompany.country}</span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {totalFunding !== undefined ? formatLargeNumber(totalFunding) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastFundingSeries || \"Unknown\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastSharePrice !== undefined ? formatCurrency(lastSharePrice) : \"Not Available\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import React, {memo} from 'react';\n\ninterface Column {\n title: string;\n width?: string;\n}\n\ninterface TableHeaderProps {\n columns: Column[];\n}\n\n/**\n * Common TableHeader component that can be configured for different table types.\n * It renders a header row with configurable column titles and styling.\n * @param columns - Array of column configurations with titles and optional widths\n */\nexport const TableHeaders = memo(({columns}: TableHeaderProps) => (\n <thead>\n <tr\n className=\"bg-gray-50 border-b border-gray-200\"\n role=\"row\"\n >\n {columns.map((column, index) => (\n <th\n key={`${column.title}-${index}`}\n className={`py-3 px-4 text-left text-sm font-semibold text-gray-900 ${column.width || ''}`}\n scope=\"col\"\n role=\"columnheader\"\n >\n {column.title}\n </th>\n ))}\n </tr>\n </thead>\n));\n\nTableHeaders.displayName = 'TableHeader';","import React, {memo, useCallback, useMemo} from \"react\";\nimport {PaginationProps} from \"../../types/types\";\n\nconst NavigationButton = memo(({\n onClick,\n disabled,\n direction,\n }: {\n onClick: () => void;\n disabled: boolean;\n direction: 'previous' | 'next';\n}) => (\n <button\n onClick={onClick}\n disabled={disabled}\n className=\"p-2 rounded-lg text-gray-600 hover:bg-gray-100 disabled:opacity-50 disabled:hover:bg-transparent disabled:cursor-not-allowed transition-colors\"\n aria-label={`${direction} page`}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d={direction === 'previous' ? \"M15 19l-7-7 7-7\" : \"M9 5l7 7-7 7\"}\n />\n </svg>\n </button>\n));\n\nNavigationButton.displayName = 'NavigationButton';\n\nconst PageButton = memo(({\n page,\n isCurrentPage,\n onClick\n }: {\n page: number;\n isCurrentPage: boolean;\n onClick: () => void;\n}) => (\n <button\n onClick={onClick}\n disabled={isCurrentPage}\n className={`w-10 h-10 rounded-lg text-sm font-medium transition-colors ${\n isCurrentPage\n ? 'bg-custom-blue text-white'\n : 'text-gray-600 hover:bg-gray-100'\n }`}\n aria-label={`Go to page ${page}`}\n aria-current={isCurrentPage ? 'page' : undefined}\n >\n {page}\n </button>\n));\n\nPageButton.displayName = 'PageButton';\n\n/**\n * Pagination component renders pagination controls for the PrivateTable component.\n * It includes navigation buttons for previous and next pages, and page number buttons.\n */\nexport const Pagination: React.FC<PaginationProps> = memo(({\n currentPage,\n totalPages,\n onPageChange,\n }) => {\n const handlePrevious = useCallback(() => {\n onPageChange(currentPage - 1);\n }, [currentPage, onPageChange]);\n\n const handleNext = useCallback(() => {\n onPageChange(currentPage + 1);\n }, [currentPage, onPageChange]);\n\n const pageNumbers = useMemo(() => {\n const pages = [];\n const showEllipsis = totalPages > 7;\n\n if (showEllipsis) {\n if (currentPage <= 4) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 3) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n } else {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n }\n\n return pages;\n }, [currentPage, totalPages]);\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className=\"flex items-center justify-center gap-1\"\n >\n <NavigationButton\n onClick={handlePrevious}\n disabled={currentPage <= 1}\n direction=\"previous\"\n />\n\n <div className=\"flex items-center gap-1 mx-2\">\n {pageNumbers.map((page, index) => (\n page === 'ellipsis' ? (\n <span\n key={`ellipsis-${index}`}\n className=\"w-10 h-10 flex items-center justify-center text-gray-500\"\n aria-hidden=\"true\"\n >\n ...\n </span>\n ) : (\n <PageButton\n key={page}\n page={page as number}\n isCurrentPage={page === currentPage}\n onClick={() => onPageChange(page as number)}\n />\n )\n ))}\n </div>\n\n <NavigationButton\n onClick={handleNext}\n disabled={currentPage >= totalPages}\n direction=\"next\"\n />\n </nav>\n );\n});\n\nPagination.displayName = 'Pagination';","export const LoadingSpinner = () => (\n <svg className=\"animate-spin h-8 w-8 text-custom-blue\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path className=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n);","import {Client, PreIPOCompanyApiResponse, SortOrder4} from \"@monarkmarkets/api-client\";\n\nexport class PreIPOCompanySpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllCompanies(\n searchTerm?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanyApiResponse | null> {\n try {\n return await this._client.preIpoCompany2(searchTerm, SortOrder4.Descending, page, pageSize);\n } catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {Pagination} from \"./components/pagination\";\nimport {PrivateTableProps} from \"../types/types\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {PreIPOCompanySpvService} from \"../services/private-company-service\";\nimport {IPreIPOCompany} from \"@monarkmarkets/api-client\";\n\nconst privateColumns = [\n { title: 'Company' },\n { title: 'Total Funding' },\n { title: 'Last Round' },\n { title: 'Last Round Price/Share' },\n { title: 'Indicate Interest' }\n];\n\n/**\n * PrivateTable component displays a table of pre-IPO companies with pagination and loading states.\n * It includes table headers, rows, and pagination controls with built-in data fetching.\n */\nexport const PrivateTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Submit IOI\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrivateTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIpoCompany, setPreIpoCompany] = useState<IPreIPOCompany[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchCompanies = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new PreIPOCompanySpvService();\n\n try {\n const result = await service.GetAllCompanies(searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIpoCompany(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching pre-IPO companies:', e);\n setError(true);\n setPreIpoCompany([]);\n } finally {\n setInternalLoading(false);\n }\n }, [searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIpoCompany || preIpoCompany.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner />\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={privateColumns} />\n <tbody className=\"relative\">\n {preIpoCompany.map((company) => (\n <TableRow\n key={company.id}\n preIpoCompany={company}\n companyName={company.name || ''}\n totalFunding={company.totalFunding}\n lastFundingSeries={company.lastFundingSeries}\n lastSharePrice={company.lastSharePrice}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};","import {Client} from \"@monarkmarkets/api-client\";\n\nexport class SharedService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetCompanyLogoAndCountry(\n preIPOCompanyId: string,\n ): Promise<{ logoURL: string; location: string } | null> {\n try {\n const company = await this._client.preIpoCompany(preIPOCompanyId);\n if (company) {\n return {\n logoURL: company.logoURL || '',\n location: company.country || 'Location not available'\n };\n }\n return null;\n } catch (error) {\n console.error(`Failed to retrieve company logo and location for ID ${preIPOCompanyId}:`, error);\n return null;\n }\n }\n}","import React, {memo, useCallback, useEffect, useState} from \"react\";\nimport {LogoAndCountryProps, SpvRowProps} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency} from \"../../utils/formatters\";\nimport {SharedService} from \"../../services/shared-service\";\n\n/**\n * TableRow component renders a row in the PrimaryTable component.\n * It includes columns for company details, price per share, minimum investment,\n * management fees, and an action to invest.\n */\nexport const TableRow: React.FC<SpvRowProps> = memo(({\n preIPOCompanySPV,\n companyName,\n allInPricePerShare,\n minCommitmentAmount,\n managementFee,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIPOCompanySPV.id, investorId);\n }, [preIPOCompanySPV.id, investorId, onButtonClick]);\n\n const [companyDetails, setCompanyDetails] = useState<LogoAndCountryProps | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const fetchCompanyDetails = async () => {\n setIsLoading(true);\n const service = new SharedService();\n try {\n const details = await service.GetCompanyLogoAndCountry(\n preIPOCompanySPV.preIPOCompanyId,\n );\n setCompanyDetails(details);\n } catch (error) {\n console.error('Error fetching company details:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchCompanyDetails();\n }, [preIPOCompanySPV.preIPOCompanyId, investorId]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n {isLoading ? (\n <div className=\"w-8 h-8 animate-pulse bg-gray-200 rounded-lg\"/>\n ) : (\n <CompanyLogo\n logoURL={companyDetails?.logoURL}\n name={companyName}\n />\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">\n {isLoading ? (\n <div className=\"h-4 w-24 animate-pulse bg-gray-200 rounded\"/>\n ) : (\n companyDetails?.location || 'Location not available'\n )}\n </span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {allInPricePerShare !== undefined ? formatCurrency(allInPricePerShare) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {minCommitmentAmount !== undefined ? formatCurrency(minCommitmentAmount) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {managementFee !== undefined ? `${managementFee}%` : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import {Client, MonarkStage, PreIPOCompanySPVApiResponse, SortOrder9} from \"@monarkmarkets/api-client\";\n\nexport class SpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllSpvs(\n investorId: string,\n nameFilter?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanySPVApiResponse | null> {\n try {\n return await this._client.investorGET5(investorId, MonarkStage.PRIMARY_FUNDRAISE, nameFilter, page, pageSize, SortOrder9.Descending);\n } catch (error) {\n console.error('Failed to retrieve all SPVs.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {PrimaryTableProps} from \"../types/types\";\nimport {Pagination} from \"../private-table/components/pagination\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {SpvService} from \"../services/primary-company-service\";\nimport {IPreIPOCompanySPV} from \"@monarkmarkets/api-client\";\n\nconst primaryColumns = [\n {title: 'Company'},\n {title: 'Price Per Share'},\n {title: 'Minimum Investment'},\n {title: 'Fees'},\n {title: 'Invest'}\n];\n\n/**\n * PrimaryTable component displays a table of SPV investment opportunities.\n * It includes table headers and rows with built-in data fetching.\n */\nexport const PrimaryTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Invest\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrimaryTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIPOCompanySPV, setPreIPOCompanySPV] = useState<IPreIPOCompanySPV[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchSpvs = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new SpvService();\n\n try {\n const result = await service.GetAllSpvs(investorId, searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIPOCompanySPV(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching SPVs:', e);\n setError(true);\n setPreIPOCompanySPV([]);\n } finally {\n setInternalLoading(false);\n }\n }, [investorId, searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIPOCompanySPV || preIPOCompanySPV.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner/>\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={primaryColumns}/>\n <tbody className=\"relative\">\n {preIPOCompanySPV.map((company) => (\n <TableRow\n key={company.id}\n preIPOCompanySPV={company}\n companyName={company.name || ''}\n allInPricePerShare={company.allInPricePerShare}\n minCommitmentAmount={company.minCommitmentAmount}\n managementFee={company.managementFee}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};"],"names":["CompanyLogo","memo","_a","logoURL","name","_jsx","src","alt","concat","className","children","charAt","displayName","formatLargeNumber","value","toFixed","toLocaleString","formatCurrency","decimals","undefined","Intl","NumberFormat","style","currency","maximumFractionDigits","minimumFractionDigits","format","TableRow","preIpoCompany","companyName","totalFunding","lastFundingSeries","lastSharePrice","_b","buttonText","investorId","onButtonClick","handleButtonClick","useCallback","e","preventDefault","id","_jsxs","role","country","onClick","TableHeaders","columns","map","column","index","width","scope","title","NavigationButton","disabled","direction","fill","stroke","viewBox","xmlns","strokeLinecap","strokeLinejoin","strokeWidth","d","PageButton","page","isCurrentPage","Pagination","currentPage","totalPages","onPageChange","handlePrevious","handleNext","pageNumbers","useMemo","pages","showEllipsis","i","push","LoadingSpinner","cx","cy","r","PreIPOCompanySpvService","_client","Client","prototype","GetAllCompanies","searchTerm_1","page_1","searchTerm","pageSize","preIpoCompany2","SortOrder4","Descending","console","error","error_1","privateColumns","PrivateTable","_c","isLoading","externalLoading","_d","initialPage","_e","_f","onDataLoaded","_g","useState","internalLoading","setInternalLoading","_h","setPreIpoCompany","_j","setCurrentPage","_k","setTotalPages","_l","setError","fetchCompanies","__awaiter","service","result","sent","items","pagination","e_1","useEffect","handlePageChange","length","company","SharedService","GetCompanyLogoAndCountry","preIPOCompanyId","location","preIPOCompanySPV","allInPricePerShare","minCommitmentAmount","managementFee","companyDetails","setCompanyDetails","setIsLoading","fetchCompanyDetails","details","SpvService","GetAllSpvs","investorId_1","nameFilter_1","arguments","nameFilter","investorGET5","MonarkStage","PRIMARY_FUNDRAISE","SortOrder9","primaryColumns","PrimaryTable","setPreIPOCompanySPV","fetchSpvs"],"mappings":";;;;;;;AAEA;;;;;;;AAOG;AACI,IAAMA,WAAW,gBAAiDC,UAAI,CAAC,UAACC,EAAe,EAAA;MAAdC,OAAO,GAAAD,EAAA,CAAAC,OAAA;IAAEC,IAAI,GAAAF,EAAA,CAAAE,IAAA;AACzF,EAAA,IAAID,OAAO,EAAE;IACT,OACIE,cACI,CAAA,KAAA,EAAA;AAAAC,MAAAA,GAAG,EAAEH,OAAO;MACZI,GAAG,EAAE,EAAG,CAAAC,MAAA,CAAAJ,IAAI,UAAO;AACnBK,MAAAA,SAAS,EAAC;AAAiC,KAAA,CAC7C;AAEV;EAEA,OACIJ;AAAKI,IAAAA,SAAS,EAAC,iEAAiE;AAC5EC,IAAAA,QAAA,EAAAL,cAAA,CAAA,MAAA,EAAA;AAAMI,MAAAA,SAAS,EAAC,mCAAmC;gBAC9CL,IAAI,CAACO,MAAM,CAAC,CAAC;KACX;AAAA,GAAA,CACL;AAEd,CAAC,CAAC;AAEFX,WAAW,CAACY,WAAW,GAAG,aAAa;;AC9BhC,IAAMC,iBAAiB,GAAG,UAACC,KAAa,EAAA;EAC3C,IAAIA,KAAK,IAAI,UAAa,EAAE;AACxB,IAAA,OAAO,GAAI,CAAAN,MAAA,CAAA,CAACM,KAAK,GAAG,UAAa,EAAEC,OAAO,CAAC,CAAC,CAAC,EAAA,GAAA,CAAG;AACpD,GAAC,MAAM,IAAID,KAAK,IAAI,OAAS,EAAE;AAC3B,IAAA,OAAO,GAAI,CAAAN,MAAA,CAAA,CAACM,KAAK,GAAG,OAAS,EAAEC,OAAO,CAAC,CAAC,CAAC,EAAA,GAAA,CAAG;AAChD;EACA,OAAO,WAAID,KAAK,CAACE,cAAc,EAAE,CAAE;AACvC,CAAC;AAEM,IAAMC,cAAc,GAAG,UAACH,KAAc,EAAEI,QAAoB,EAAA;AAApB,EAAA,IAAAA,QAAA,KAAA,MAAA,EAAA;AAAAA,IAAAA,QAAoB,GAAA,CAAA;AAAA;EAC/D,IAAIJ,KAAK,KAAKK,SAAS,IAAIL,KAAK,KAAK,IAAI,EAAE,OAAO,KAAK;AACvD,EAAA,OAAO,IAAIM,IAAI,CAACC,YAAY,CAAC,OAAO,EAAE;AAClCC,IAAAA,KAAK,EAAE,UAAU;AACjBC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,qBAAqB,EAAEN,QAAQ;AAC/BO,IAAAA,qBAAqB,EAAEP;AAC1B,GAAA,CAAC,CAACQ,MAAM,CAACZ,KAAK,CAAC;AACpB,CAAC;;ACZD;;;;AAIG;AACI,IAAMa,UAAQ,gBAA2B1B,UAAI,CAAC,UAACC,EASC,EAAA;MARG0B,aAAa,GAAA1B,EAAA,CAAA0B,aAAA;IACbC,WAAW,GAAA3B,EAAA,CAAA2B,WAAA;IACXC,YAAY,GAAA5B,EAAA,CAAA4B,YAAA;IACZC,iBAAiB,GAAA7B,EAAA,CAAA6B,iBAAA;IACjBC,cAAc,oBAAA;IACdC,EAAA,GAAA/B,EAAA,CAAAgC,UAAe;IAAfA,UAAU,GAAGD,EAAA,KAAA,MAAA,GAAA,EAAE,GAAAA,EAAA;IACfE,UAAU,GAAAjC,EAAA,CAAAiC,UAAA;IACVC,aAAa,GAAAlC,EAAA,CAAAkC,aAAA;AAEnE,EAAA,IAAMC,iBAAiB,GAAGC,iBAAW,CAAC,UAACC,CAAsC,EAAA;IACzEA,CAAC,CAACC,cAAc,EAAE;AAClBJ,IAAAA,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAGR,aAAa,CAACa,EAAE,EAAEN,UAAU,CAAC;GAChD,EAAE,CAACP,aAAa,CAACa,EAAE,EAAEN,UAAU,EAAEC,aAAa,CAAC,CAAC;EAEjD,OACIM,eACI,CAAA,IAAA,EAAA;AAAAjC,IAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,IAAAA,IAAI,EAAC,KAAK;AAEVjC,IAAAA,QAAA,EAAA,CAAAL,cAAA,CAAA,IAAA,EAAA;AACII,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAEXjC,MAAAA,QAAA,EAAAgC,eAAA,CAAA,KAAA,EAAA;AAAKjC,QAAAA,SAAS,EAAC,yBAAyB;AACpCC,QAAAA,QAAA,EAAA,CAAAL,cAAA,CAACL,WAAW,EACR;UAAAG,OAAO,EAAEyB,aAAa,CAACzB,OAAO;AAC9BC,UAAAA,IAAI,EAAEyB;UACR,EACFa,eAAA,CAAA,KAAA,EAAA;AAAKjC,UAAAA,SAAS,EAAC,eAAe;AAC1BC,UAAAA,QAAA,EAAA,CAAAL,cAAA,CAAA,MAAA,EAAA;AAAMI,YAAAA,SAAS,EAAC,2BAA2B;sBAAEoB;AAAW,WAAA,CAAQ,EAChExB,cAAM,CAAA,MAAA,EAAA;AAAAI,YAAAA,SAAS,EAAC,uBAAuB;sBAAEmB,aAAa,CAACgB;AAAe,WAAA,CAAA;AAAA,SAAA,CACpE;;AAET,KAAA,CAAA,EAELvC,cACI,CAAA,IAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;gBAEXtC,cAAM,CAAA,MAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,2BAA2B;QAAAC,QAAA,EACtCoB,YAAY,KAAKX,SAAS,GAAGN,iBAAiB,CAACiB,YAAY,CAAC,GAAG;;AAEnE,KAAA,CAAA,EAELzB;AACII,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;gBAEXtC,cAAM,CAAA,MAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,2BAA2B;QAAAC,QAAA,EACtCqB,iBAAiB,IAAI;OACnB;AAAA,KAAA,CACN,EAEL1B,cACI,CAAA,IAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;gBAEXtC,cAAM,CAAA,MAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,2BAA2B;QAAAC,QAAA,EACtCsB,cAAc,KAAKb,SAAS,GAAGF,cAAc,CAACe,cAAc,CAAC,GAAG;OAC9D;AAAA,KAAA,CACN,EAEL3B,cACI,CAAA,IAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAEXjC,MAAAA,QAAA,EAAAL,cAAA,CAAA,QAAA,EAAA;AACIwC,QAAAA,OAAO,EAAER,iBAAiB;AAC1B5B,QAAAA,SAAS,EAAC,4HAA4H;AAC1H,QAAA,YAAA,EAAA,EAAA,CAAAD,MAAA,CAAG0B,UAAU,EAAQ,OAAA,CAAA,CAAA1B,MAAA,CAAAqB,WAAW,CAAE;AAE7CnB,QAAAA,QAAA,EAAAwB;;AAEJ,KAAA,CAAA;AAAA,GAAA,CACJ;AAEb,CAAC,CAAC;AAEFP,UAAQ,CAACf,WAAW,GAAG,UAAU;;AC9EjC;;;;AAIG;AACI,IAAMkC,YAAY,gBAAG7C,UAAI,CAAC,UAACC,EAA2B,EAAA;AAA1B,EAAA,IAAA6C,OAAO,GAAA7C,EAAA,CAAA6C,OAAA;EAAwB,OAC9D1C,cACA,CAAA,OAAA,EAAA;AAAAK,IAAAA,QAAA,EAAAL,cAAA,CAAA,IAAA,EAAA;AACII,MAAAA,SAAS,EAAC,qCAAqC;AAC/CkC,MAAAA,IAAI,EAAC,KAAK;MAAAjC,QAAA,EAETqC,OAAO,CAACC,GAAG,CAAC,UAACC,MAAM,EAAEC,KAAK,EAAK;QAAA,OAC5B7C,cAAA,CAAA,IAAA,EAAA;UAEII,SAAS,EAAE,0DAA2D,CAAAD,MAAA,CAAAyC,MAAM,CAACE,KAAK,IAAI,EAAE,CAAE;AAC1FC,UAAAA,KAAK,EAAC,KAAK;AACXT,UAAAA,IAAI,EAAC,cAAc;UAAAjC,QAAA,EAElBuC,MAAM,CAACI;AAAK,SAAA,EALR,EAAG,CAAA7C,MAAA,CAAAyC,MAAM,CAACI,KAAK,EAAI,GAAA,CAAA,CAAA7C,MAAA,CAAA0C,KAAK,CAAE,CAM9B;OACR;KACA;AAAA,GAAA,CACG;AAjBsD,CAkBjE,CAAC;AAEFJ,YAAY,CAAClC,WAAW,GAAG,aAAa;;ACjCxC,IAAM0C,gBAAgB,gBAAGrD,UAAI,CAAC,UAACC,EAQ9B,EAAA;AAPkC,EAAA,IAAA2C,OAAO,aAAA;IACPU,QAAQ,GAAArD,EAAA,CAAAqD,QAAA;IACRC,SAAS,GAAAtD,EAAA,CAAAsD,SAAA;EAKtC,OACFnD,cAAA,CAAA,QAAA,EAAA;AACIwC,IAAAA,OAAO,EAAEA,OAAO;AAChBU,IAAAA,QAAQ,EAAEA,QAAQ;AAClB9C,IAAAA,SAAS,EAAC,gJAAgJ;kBAC9I,EAAG,CAAAD,MAAA,CAAAgD,SAAS,EAAO,OAAA,CAAA;AAAA9C,IAAAA,QAAA,EAE/BL,cACI,CAAA,KAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,SAAS;AACnBgD,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,MAAM,EAAC,cAAc;AACrBC,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,KAAK,EAAC,4BAA4B;AAElClD,MAAAA,QAAA,EAAAL,cAAA,CAAA,MAAA,EAAA;AACIwD,QAAAA,aAAa,EAAC,OAAO;AACrBC,QAAAA,cAAc,EAAC,OAAO;AACtBC,QAAAA,WAAW,EAAE,CAAC;AACdC,QAAAA,CAAC,EAAER,SAAS,KAAK,UAAU,GAAG,iBAAiB,GAAG;OACpD;KAAA;IAED;AArBP,CAsBL,CAAC;AAEFF,gBAAgB,CAAC1C,WAAW,GAAG,kBAAkB;AAEjD,IAAMqD,UAAU,gBAAGhE,UAAI,CAAC,UAACC,EAQxB,EAAA;AAP4B,EAAA,IAAAgE,IAAI,UAAA;IACJC,aAAa,GAAAjE,EAAA,CAAAiE,aAAA;IACbtB,OAAO,GAAA3C,EAAA,CAAA2C,OAAA;EAK9B,OACFxC,cAAA,CAAA,QAAA,EAAA;AACIwC,IAAAA,OAAO,EAAEA,OAAO;AAChBU,IAAAA,QAAQ,EAAEY,aAAa;IACvB1D,SAAS,EAAE,qEACP0D,aAAa,GACP,2BAA2B,GAC3B,iCAAiC,CACzC;AAAA,IAAA,YAAA,EACU,qBAAcD,IAAI,CAAE;oBAClBC,aAAa,GAAG,MAAM,GAAGhD,SAAS;AAE/CT,IAAAA,QAAA,EAAAwD;IACI;AAbP,CAcL,CAAC;AAEFD,UAAU,CAACrD,WAAW,GAAG,YAAY;AAErC;;;AAGG;AACI,IAAMwD,UAAU,gBAA8BnE,UAAI,CAAC,UAACC,EAIC,EAAA;AAHG,EAAA,IAAAmE,WAAW,iBAAA;IACXC,UAAU,GAAApE,EAAA,CAAAoE,UAAA;IACVC,YAAY,GAAArE,EAAA,CAAAqE,YAAA;AAEvE,EAAA,IAAMC,cAAc,GAAGlC,iBAAW,CAAC,YAAA;AAC/BiC,IAAAA,YAAY,CAACF,WAAW,GAAG,CAAC,CAAC;AACjC,GAAC,EAAE,CAACA,WAAW,EAAEE,YAAY,CAAC,CAAC;AAE/B,EAAA,IAAME,UAAU,GAAGnC,iBAAW,CAAC,YAAA;AAC3BiC,IAAAA,YAAY,CAACF,WAAW,GAAG,CAAC,CAAC;AACjC,GAAC,EAAE,CAACA,WAAW,EAAEE,YAAY,CAAC,CAAC;AAE/B,EAAA,IAAMG,WAAW,GAAGC,aAAO,CAAC,YAAA;IACxB,IAAMC,KAAK,GAAG,EAAE;AAChB,IAAA,IAAMC,YAAY,GAAGP,UAAU,GAAG,CAAC;AAEnC,IAAA,IAAIO,YAAY,EAAE;MACd,IAAIR,WAAW,IAAI,CAAC,EAAE;QAClB,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;AACzBF,UAAAA,KAAK,CAACG,IAAI,CAACD,CAAC,CAAC;AACjB;AACAF,QAAAA,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;AACtBH,QAAAA,KAAK,CAACG,IAAI,CAACT,UAAU,CAAC;AAC1B,OAAC,MAAM,IAAID,WAAW,IAAIC,UAAU,GAAG,CAAC,EAAE;AACtCM,QAAAA,KAAK,CAACG,IAAI,CAAC,CAAC,CAAC;AACbH,QAAAA,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;AACtB,QAAA,KAAK,IAAID,CAAC,GAAGR,UAAU,GAAG,CAAC,EAAEQ,CAAC,IAAIR,UAAU,EAAEQ,CAAC,EAAE,EAAE;AAC/CF,UAAAA,KAAK,CAACG,IAAI,CAACD,CAAC,CAAC;AACjB;AACJ,OAAC,MAAM;AACHF,QAAAA,KAAK,CAACG,IAAI,CAAC,CAAC,CAAC;AACbH,QAAAA,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;AACtB,QAAA,KAAK,IAAID,CAAC,GAAGT,WAAW,GAAG,CAAC,EAAES,CAAC,IAAIT,WAAW,GAAG,CAAC,EAAES,CAAC,EAAE,EAAE;AACrDF,UAAAA,KAAK,CAACG,IAAI,CAACD,CAAC,CAAC;AACjB;AACAF,QAAAA,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;AACtBH,QAAAA,KAAK,CAACG,IAAI,CAACT,UAAU,CAAC;AAC1B;AACJ,KAAC,MAAM;MACH,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIR,UAAU,EAAEQ,CAAC,EAAE,EAAE;AAClCF,QAAAA,KAAK,CAACG,IAAI,CAACD,CAAC,CAAC;AACjB;AACJ;AAEA,IAAA,OAAOF,KAAK;AAChB,GAAC,EAAE,CAACP,WAAW,EAAEC,UAAU,CAAC,CAAC;EAE7B,OACI5B,eACI,CAAA,KAAA,EAAA;AAAAC,IAAAA,IAAI,EAAC,YAAY;AACN,IAAA,YAAA,EAAA,YAAY;AACvBlC,IAAAA,SAAS,EAAC,wCAAwC;AAElDC,IAAAA,QAAA,EAAA,CAAAL,cAAA,CAACiD,gBAAgB,EAAA;AACbT,MAAAA,OAAO,EAAE2B,cAAc;MACvBjB,QAAQ,EAAEc,WAAW,IAAI,CAAC;AAC1Bb,MAAAA,SAAS,EAAC;AAAU,KAAA,CACtB,EAEFnD,cAAK,CAAA,KAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,8BAA8B;MACxCC,QAAA,EAAAgE,WAAW,CAAC1B,GAAG,CAAC,UAACkB,IAAI,EAAEhB,KAAK,EAAA;AAAK,QAAA,OAC9BgB,IAAI,KAAK,UAAU,GACf7D,cAAA,CAAA,MAAA,EAAA;AAEII,UAAAA,SAAS,EAAC,0DAA0D;AAAA,UAAA,aAAA,EACxD,MAAM;AAAAC,UAAAA,QAAA,EAAA;AAAA,SAAA,EAFb,mBAAYwC,KAAK,CAAE,CAKrB,GAEP7C,cAAC,CAAA4D,UAAU,EAEP;AAAAC,UAAAA,IAAI,EAAEA,IAAc;UACpBC,aAAa,EAAED,IAAI,KAAKG,WAAW;UACnCxB,OAAO,EAAE,YAAA;YAAM,OAAA0B,YAAY,CAACL,IAAc,CAAC;AAA5B;SAA4B,EAHtCA,IAAI,CAKhB;OACJ;AAAC,KAAA,CACA,EAEN7D,cAAA,CAACiD,gBAAgB,EAAA;AACbT,MAAAA,OAAO,EAAE4B,UAAU;MACnBlB,QAAQ,EAAEc,WAAW,IAAIC,UAAU;AACnCd,MAAAA,SAAS,EAAC;AAAM,KAAA,CAClB;AACA,GAAA,CAAA;AAEd,CAAC,CAAC;AAEFY,UAAU,CAACxD,WAAW,GAAG,YAAY;;AC7J9B,IAAMoE,cAAc,GAAG,YAAM;EAAA,OAChCtC,eAAA,CAAA,KAAA,EAAA;AAAKjC,IAAAA,SAAS,EAAC,uCAAuC;AAACmD,IAAAA,KAAK,EAAC,4BAA4B;AAACH,IAAAA,IAAI,EAAC,MAAM;AAChGE,IAAAA,OAAO,EAAC,WAAW;AAAAjD,IAAAA,QAAA,EAAA,CACpBL,cAAQ,CAAA,QAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,YAAY;AAACwE,MAAAA,EAAE,EAAC,IAAI;AAACC,MAAAA,EAAE,EAAC,IAAI;AAACC,MAAAA,CAAC,EAAC,IAAI;AAACzB,MAAAA,MAAM,EAAC,cAAc;AAACK,MAAAA,WAAW,EAAC;MAAa,EACrG1D,cAAA,CAAA,MAAA,EAAA;AAAMI,MAAAA,SAAS,EAAC,YAAY;AAACgD,MAAAA,IAAI,EAAC,cAAc;AAC1CO,MAAAA,CAAC,EAAC;AAAyH,KAAA,CAAA;AAAA,GAAA,CAC/H;AAN0B,CAOnC;;ACLD,IAAAoB,uBAAA,gBAAA,YAAA;EAGI,SAAAA,uBAAAA,GAAA;AACI,IAAA,IAAI,CAACC,OAAO,GAAG,IAAIC,gBAAM,CAAC,MAAM,CAAC;AACrC;EAEaF,uBAAA,CAAAG,SAAA,CAAAC,eAAe,GAA5B,UAAAC,YAAA,EAAAC,MAAA,EAAA;8DACIC,UAAmB,EACnBzB,IAAa,EACb0B,QAAqB,EAAA;;AAArB,MAAA,IAAAA,QAAA,KAAA,MAAA,EAAA;AAAAA,QAAAA,QAAqB,GAAA,EAAA;AAAA;;;;;YAGV,OAAA,CAAA,CAAA,YAAM,IAAI,CAACP,OAAO,CAACQ,cAAc,CAACF,UAAU,EAAEG,oBAAU,CAACC,UAAU,EAAE7B,IAAI,EAAE0B,QAAQ,CAAC,CAAA;AAA3F,UAAA,KAAA,CAAA;YAAA,OAAA,CAAA,CAAA,aAAO1F,SAAoF,CAAC;;;AAE5F8F,YAAAA,OAAO,CAACC,KAAK,CAAC,oDAAoD,EAAEC,OAAK,CAAC;AAC1E,YAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC;;;;;;GAEnB;AACL,EAAA,OAACd,uBAAA;AAAD,CAAC,EAAA;;ACZD,IAAMe,cAAc,GAAG,CACnB;AAAE9C,EAAAA,KAAK,EAAE;AAAW,CAAA,EACpB;AAAEA,EAAAA,KAAK,EAAE;AAAiB,CAAA,EAC1B;AAAEA,EAAAA,KAAK,EAAE;AAAc,CAAA,EACvB;AAAEA,EAAAA,KAAK,EAAE;AAA0B,CAAA,EACnC;AAAEA,EAAAA,KAAK,EAAE;AAAqB,CAAA,CACjC;AAED;;;AAGG;IACU+C,YAAY,GAAG,UAAClG,EAUoB,EAAA;MAThBiC,UAAU,GAAAjC,EAAA,CAAAiC,UAAA;IACVC,aAAa,GAAAlC,EAAA,CAAAkC,aAAA;IACbH,EAAyB,GAAA/B,EAAA,CAAAgC,UAAA;IAAzBA,UAAU,GAAGD,EAAA,KAAA,MAAA,GAAA,YAAY,KAAA;IACzBoE,EAAA,GAAAnG,EAAA,CAAAoG,SAAkC;IAAvBC,eAAe,GAAAF,EAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,EAAA;IAClCG,mBAAe;IAAfC,WAAW,mBAAG,CAAC,GAAAD,EAAA;IACfE,EAAa,GAAAxG,EAAA,CAAA0F,QAAA;IAAbA,QAAQ,GAAGc,EAAA,KAAA,MAAA,GAAA,EAAE,KAAA;IACbC,EAAA,GAAAzG,EAAA,CAAAyF,UAAe;IAAfA,UAAU,GAAAgB,EAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,EAAA;IACfpC,YAAY,GAAArE,EAAA,CAAAqE,YAAA;IACZqC,YAAY,GAAA1G,EAAA,CAAA0G,YAAA;AAEnC,EAAA,IAAAC,EAAA,GAAwCC,cAAQ,CAAC,IAAI,CAAC;AAArDC,IAAAA,eAAe,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,EAAA,CAAA,CAAA,CAAkB;AACtD,EAAA,IAAAI,EAAA,GAAoCH,cAAQ,CAAmB,EAAE,CAAC;AAAjElF,IAAAA,aAAa,GAAAqF,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,EAAA,CAAA,CAAA,CAAkC;AAClE,EAAA,IAAAE,EAAA,GAAgCL,cAAQ,CAACL,WAAW,CAAC;AAApDpC,IAAAA,WAAW,GAAA8C,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,cAAc,GAAAD,EAAA,CAAA,CAAA,CAAyB;AACrD,EAAA,IAAAE,EAAA,GAA8BP,cAAQ,CAAC,CAAC,CAAC;AAAxCxC,IAAAA,UAAU,GAAA+C,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,EAAA,CAAA,CAAA,CAAe;AACzC,EAAA,IAAAE,EAAA,GAAoBT,cAAQ,CAAU,KAAK,CAAC;AAA3Cb,IAAAA,KAAK,GAAAsB,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,EAAA,CAAA,CAAA,CAA4B;AAElD,EAAA,IAAMjB,SAAS,GAAGC,eAAe,IAAIQ,eAAe;AAEpD,EAAA,IAAMU,cAAc,GAAGnF,iBAAW,CAAC,UAAO4B,IAAY,EAAA;IAAA,OAAAwD,eAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;;YAClDV,kBAAkB,CAAC,IAAI,CAAC;YACxBQ,QAAQ,CAAC,KAAK,CAAC;AAETG,YAAAA,OAAO,GAAG,IAAIvC,uBAAuB,EAAE;;;;AAG1B,YAAA,OAAM,CAAA,CAAA,YAAAuC,OAAO,CAACnC,eAAe,CAACG,UAAU,EAAEzB,IAAI,EAAE0B,QAAQ,CAAC,CAAA;;AAAlEgC,YAAAA,MAAM,GAAGvB,EAAyD,CAAAwB,IAAA,EAAA;AAExE,YAAA,IAAID,MAAM,IAAIA,MAAM,CAACE,KAAK,EAAE;AACxBZ,cAAAA,gBAAgB,CAACU,MAAM,CAACE,KAAK,CAAC;cAC9BR,aAAa,CAAC,CAAA,CAAApH,EAAA,GAAA0H,MAAM,CAACG,UAAU,MAAA,IAAA,IAAA7H,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEoE,UAAU,KAAI,CAAC,CAAC;AAEjDsC,cAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAGgB,MAAM,CAACE,KAAK,EAAE,CAAA,CAAA7F,EAAA,GAAA2F,MAAM,CAACG,UAAU,MAAA,IAAA,IAAA9F,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEqC,UAAU,KAAI,CAAC,CAAC;AACpE,aAAC,MAAM;cACH4C,gBAAgB,CAAC,EAAE,CAAC;cACpBI,aAAa,CAAC,CAAC,CAAC;AAEhBV,cAAAA,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZ,MAAA,GAAA,MAAA,GAAAA,YAAY,CAAG,EAAE,EAAE,CAAC,CAAC;AACzB;;;;AAEAZ,YAAAA,OAAO,CAACC,KAAK,CAAC,mCAAmC,EAAE+B,GAAC,CAAC;YACrDR,QAAQ,CAAC,IAAI,CAAC;YACdN,gBAAgB,CAAC,EAAE,CAAC;;;YAEpBF,kBAAkB,CAAC,KAAK,CAAC;;;;;;;GAEhC,EAAE,CAACrB,UAAU,EAAEC,QAAQ,EAAEgB,YAAY,CAAC,CAAC;AAExCqB,EAAAA,eAAS,CAAC,YAAA;IACNR,cAAc,CAACpD,WAAW,CAAC;AAC/B,GAAC,EAAE,CAACA,WAAW,EAAEoD,cAAc,CAAC,CAAC;AAEjCQ,EAAAA,eAAS,CAAC,YAAA;IACNb,cAAc,CAAC,CAAC,CAAC;AACrB,GAAC,EAAE,CAACzB,UAAU,CAAC,CAAC;AAEhB,EAAA,IAAMuC,gBAAgB,GAAG,UAAChE,IAAY,EAAA;IAClCkD,cAAc,CAAClD,IAAI,CAAC;AACpBK,IAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAGL,IAAI,CAAC;GACvB;AAED,EAAA,IAAI+B,KAAK,EAAE;IACP,OACI5F,cAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,+CAA+C;AAAAC,MAAAA,QAAA,EAC1DL,cAAG,CAAA,GAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,eAAe;AAAsDC,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAChF;AAEd;AAEA,EAAA,IAAI,CAAC4F,SAAS,KAAK,CAAC1E,aAAa,IAAIA,aAAa,CAACuG,MAAM,KAAK,CAAC,CAAC,EAAE;IAC9D,OACI9H,cAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,+CAA+C;AAAAC,MAAAA,QAAA,EAC1DL,cAAG,CAAA,GAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,eAAe;AAA2BC,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CACrD;AAEd;EAEA,OACIgC,eAAA,CAAA,KAAA,EAAA;AAAKjC,IAAAA,SAAS,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAAA,CACtBgC,eAAK,CAAA,KAAA,EAAA;AAAAjC,MAAAA,SAAS,EAAC,UAAU;AACpBC,MAAAA,QAAA,EAAA,CAAA4F,SAAS,IACNjG,cAAA,CAAA,KAAA,EAAA;AAAKI,QAAAA,SAAS,EAAC,oEAAoE;AAAAC,QAAAA,QAAA,EAC/EL,cAAC,CAAA2E,cAAc,EAAG,EAAA;AAAA,OAAA,CAEzB,EACD3E,cAAK,CAAA,KAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,+CAA+C;kBAC1DiC,eAAO,CAAA,OAAA,EAAA;AAAAjC,UAAAA,SAAS,EAAC,oBAAoB;AACjCC,UAAAA,QAAA,EAAA,CAAAL,cAAA,CAACyC,YAAY,EAAA;AAACC,YAAAA,OAAO,EAAEoD;AAAc,WAAA,CAAI,EACzC9F,cAAA,CAAA,OAAA,EAAA;AAAOI,YAAAA,SAAS,EAAC,UAAU;AAC1BC,YAAAA,QAAA,EAAAkB,aAAa,CAACoB,GAAG,CAAC,UAACoF,OAAO,EAAA;cAAK,OAC5B/H,cAAC,CAAAsB,UAAQ,EAEL;AAAAC,gBAAAA,aAAa,EAAEwG,OAAO;AACtBvG,gBAAAA,WAAW,EAAEuG,OAAO,CAAChI,IAAI,IAAI,EAAE;gBAC/B0B,YAAY,EAAEsG,OAAO,CAACtG,YAAY;gBAClCC,iBAAiB,EAAEqG,OAAO,CAACrG,iBAAiB;gBAC5CC,cAAc,EAAEoG,OAAO,CAACpG,cAAc;AACtCE,gBAAAA,UAAU,EAAEA,UAAU;AACtBC,gBAAAA,UAAU,EAAEA,UAAU;AACtBC,gBAAAA,aAAa,EAAEA;AAAa,eAAA,EARvBgG,OAAO,CAAC3F,EAAE,CASjB;aACL;AACO,WAAA,CAAA;SAAA;AAEV,OAAA,CAAA;AAAA,KAAA,CACJ,EAENpC,cAAC,CAAA+D,UAAU,EACP;AAAAC,MAAAA,WAAW,EAAEA,WAAW;AACxBC,MAAAA,UAAU,EAAEA,UAAU;AACtBC,MAAAA,YAAY,EAAE2D;AAChB,KAAA,CAAA;AAAA,GAAA,CACA;AAEd;;ACrIA,IAAAG,aAAA,gBAAA,YAAA;EAGI,SAAAA,aAAAA,GAAA;AACI,IAAA,IAAI,CAAChD,OAAO,GAAG,IAAIC,gBAAM,CAAC,MAAM,CAAC;AACrC;AAEa+C,EAAAA,aAAwB,CAAA9C,SAAA,CAAA+C,wBAAA,GAArC,UACIC,eAAuB,EAAA;;;;;;;AAGH,YAAA,OAAM,CAAA,CAAA,YAAA,IAAI,CAAClD,OAAO,CAACzD,aAAa,CAAC2G,eAAe,CAAC,CAAA;;AAA3DH,YAAAA,OAAO,GAAGlI,EAAiD,CAAA2H,IAAA,EAAA;AACjE,YAAA,IAAIO,OAAO,EAAE;cACT,OAAO,CAAA,CAAA,aAAA;AACHjI,gBAAAA,OAAO,EAAEiI,OAAO,CAACjI,OAAO,IAAI,EAAE;AAC9BqI,gBAAAA,QAAQ,EAAEJ,OAAO,CAACxF,OAAO,IAAI;eAChC,CAAC;AACN;AACA,YAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC;;;AAEZoD,YAAAA,OAAO,CAACC,KAAK,CAAC,sDAAA,CAAAzF,MAAA,CAAuD+H,eAAe,EAAG,GAAA,CAAA,EAAErC,OAAK,CAAC;AAC/F,YAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC;;;;;;GAEnB;AACL,EAAA,OAACmC,aAAA;AAAD,CAAC,EAAA;;ACpBD;;;;AAIG;AACI,IAAM1G,QAAQ,gBAA0B1B,UAAI,CAAC,UAACC,EASC,EAAA;MARGuI,gBAAgB,GAAAvI,EAAA,CAAAuI,gBAAA;IAChB5G,WAAW,GAAA3B,EAAA,CAAA2B,WAAA;IACX6G,kBAAkB,GAAAxI,EAAA,CAAAwI,kBAAA;IAClBC,mBAAmB,GAAAzI,EAAA,CAAAyI,mBAAA;IACnBC,aAAa,mBAAA;IACb3G,EAAA,GAAA/B,EAAA,CAAAgC,UAAe;IAAfA,UAAU,GAAGD,EAAA,KAAA,MAAA,GAAA,EAAE,GAAAA,EAAA;IACfE,UAAU,GAAAjC,EAAA,CAAAiC,UAAA;IACVC,aAAa,GAAAlC,EAAA,CAAAkC,aAAA;AAElE,EAAA,IAAMC,iBAAiB,GAAGC,iBAAW,CAAC,UAACC,CAAsC,EAAA;IACzEA,CAAC,CAACC,cAAc,EAAE;AAClBJ,IAAAA,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAGqG,gBAAgB,CAAChG,EAAE,EAAEN,UAAU,CAAC;GACnD,EAAE,CAACsG,gBAAgB,CAAChG,EAAE,EAAEN,UAAU,EAAEC,aAAa,CAAC,CAAC;AAE9C,EAAA,IAAAiE,EAAA,GAAsCS,cAAQ,CAA6B,IAAI,CAAC;AAA/E+B,IAAAA,cAAc,GAAAxC,EAAA,CAAA,CAAA,CAAA;AAAEyC,IAAAA,iBAAiB,GAAAzC,EAAA,CAAA,CAAA,CAA8C;AAChF,EAAA,IAAAG,EAAA,GAA4BM,cAAQ,CAAC,IAAI,CAAC;AAAzCR,IAAAA,SAAS,GAAAE,EAAA,CAAA,CAAA,CAAA;AAAEuC,IAAAA,YAAY,GAAAvC,EAAA,CAAA,CAAA,CAAkB;AAEhDyB,EAAAA,eAAS,CAAC,YAAA;AACN,IAAA,IAAMe,mBAAmB,GAAG,YAAA;MAAA,OAAAtB,eAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;cACxBqB,YAAY,CAAC,IAAI,CAAC;AACZpB,cAAAA,OAAO,GAAG,IAAIU,aAAa,EAAE;;;;AAEf,cAAA,OAAM,CAAA,CAAA,YAAAV,OAAO,CAACW,wBAAwB,CAClDG,gBAAgB,CAACF,eAAe,CACnC,CAAA;;AAFKU,cAAAA,OAAO,GAAG/I,EAEf,CAAA2H,IAAA,EAAA;cACDiB,iBAAiB,CAACG,OAAO,CAAC;;;;AAE1BjD,cAAAA,OAAO,CAACC,KAAK,CAAC,iCAAiC,EAAEC,OAAK,CAAC;;;cAEvD6C,YAAY,CAAC,KAAK,CAAC;;;;;;;KAE1B;AAEDC,IAAAA,mBAAmB,EAAE;GACxB,EAAE,CAACP,gBAAgB,CAACF,eAAe,EAAEpG,UAAU,CAAC,CAAC;EAElD,OACIO,eACI,CAAA,IAAA,EAAA;AAAAjC,IAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,IAAAA,IAAI,EAAC,KAAK;AAAAjC,IAAAA,QAAA,EAAA,CAEVL,cACI,CAAA,IAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAAAjC,MAAAA,QAAA,EAEXgC,eAAK,CAAA,KAAA,EAAA;AAAAjC,QAAAA,SAAS,EAAC,yBAAyB;AACnCC,QAAAA,QAAA,EAAA,CAAA4F,SAAS,GACNjG,cAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,SAAS,EAAC;AAA8C,SAAA,CAAE,GAE/DJ,cAAC,CAAAL,WAAW;AACRG,UAAAA,OAAO,EAAE0I,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAE1I,OAAO;AAChCC,UAAAA,IAAI,EAAEyB;AAAW,SAAA,CAExB,EACDa,eAAA,CAAA,KAAA,EAAA;AAAKjC,UAAAA,SAAS,EAAC,eAAe;AAAAC,UAAAA,QAAA,EAAA,CAC1BL;AAAMI,YAAAA,SAAS,EAAC,2BAA2B;AAAAC,YAAAA,QAAA,EAAEmB;AAAW,WAAA,CAAQ,EAChExB,cAAM,CAAA,MAAA,EAAA;AAAAI,YAAAA,SAAS,EAAC,uBAAuB;AAClCC,YAAAA,QAAA,EAAA4F,SAAS,GACNjG,cAAK,CAAA,KAAA,EAAA;AAAAI,cAAAA,SAAS,EAAC;cAA8C,GAE7D,CAAAoI,cAAc,KAAd,IAAA,IAAAA,cAAc,KAAd,MAAA,GAAA,MAAA,GAAAA,cAAc,CAAEL,QAAQ,KAAI;AAE7B,WAAA,CAAA;AAAA,SAAA,CACL;OACJ;AAAA,KAAA,CACL,EAELnI,cAAA,CAAA,IAAA,EAAA;AACII,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAEXjC,MAAAA,QAAA,EAAAL,cAAA,CAAA,MAAA,EAAA;AAAMI,QAAAA,SAAS,EAAC,2BAA2B;QAAAC,QAAA,EACtCgI,kBAAkB,KAAKvH,SAAS,GAAGF,cAAc,CAACyH,kBAAkB,CAAC,GAAG;OACtE;AAAA,KAAA,CACN,EAELrI,cAAA,CAAA,IAAA,EAAA;AACII,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAEXjC,MAAAA,QAAA,EAAAL,cAAA,CAAA,MAAA,EAAA;AAAMI,QAAAA,SAAS,EAAC,2BAA2B;QACtCC,QAAA,EAAAiI,mBAAmB,KAAKxH,SAAS,GAAGF,cAAc,CAAC0H,mBAAmB,CAAC,GAAG;OACxE;AAAA,KAAA,CACN,EAELtI,cAAA,CAAA,IAAA,EAAA;AACII,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAEXjC,MAAAA,QAAA,EAAAL,cAAA,CAAA,MAAA,EAAA;AAAMI,QAAAA,SAAS,EAAC,2BAA2B;AACtCC,QAAAA,QAAA,EAAAkI,aAAa,KAAKzH,SAAS,GAAG,EAAG,CAAAX,MAAA,CAAAoI,aAAa,EAAG,GAAA,CAAA,GAAG;OAAK;AAE7D,KAAA,CAAA,EAELvI,cACI,CAAA,IAAA,EAAA;AAAAI,MAAAA,SAAS,EAAC,oCAAoC;AAC9CkC,MAAAA,IAAI,EAAC,MAAM;AAAAjC,MAAAA,QAAA,EAEXL;AACIwC,QAAAA,OAAO,EAAER,iBAAiB;AAC1B5B,QAAAA,SAAS,EAAC,4HAA4H;AAC1H,QAAA,YAAA,EAAA,EAAA,CAAAD,MAAA,CAAG0B,UAAU,EAAA,OAAA,CAAA,CAAA1B,MAAA,CAAQqB,WAAW,CAAE;AAE7CnB,QAAAA,QAAA,EAAAwB;OACI;AAAA,KAAA,CACR;AACJ,GAAA,CAAA;AAEb,CAAC,CAAC;AAEFP,QAAQ,CAACf,WAAW,GAAG,UAAU;;ACxHjC,IAAAsI,UAAA,gBAAA,YAAA;EAGI,SAAAA,UAAAA,GAAA;AACI,IAAA,IAAI,CAAC7D,OAAO,GAAG,IAAIC,gBAAM,CAAC,MAAM,CAAC;AACrC;EAEa4D,UAAA,CAAA3D,SAAA,CAAA4D,UAAU,GAAvB,UAAAC,YAAA,EAAAC,YAAA,EAAA3D,MAAA,EAAA;AACI,IAAA,OAAAgC,eAAA,CAAA,IAAA,EAAA4B,SAAA,EAAA,MAAA,EAAA,UAAAnH,UAAkB,EAClBoH,UAAmB,EACnBrF,IAAa,EACb0B,QAAqB,EAAA;;AAArB,MAAA,IAAAA,QAAA,KAAA,MAAA,EAAA;AAAAA,QAAAA,QAAqB,GAAA,EAAA;AAAA;;;;;YAGV,OAAM,CAAA,CAAA,YAAA,IAAI,CAACP,OAAO,CAACmE,YAAY,CAACrH,UAAU,EAAEsH,qBAAW,CAACC,iBAAiB,EAAEH,UAAU,EAAErF,IAAI,EAAE0B,QAAQ,EAAE+D,oBAAU,CAAC5D,UAAU,CAAC,CAAA;AAApI,UAAA,KAAA,CAAA;YAAA,OAAA,CAAA,CAAA,aAAO7F,SAA6H,CAAC;;;AAErI8F,YAAAA,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAEC,OAAK,CAAC;AACpD,YAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC;;;;;;GAEnB;AACL,EAAA,OAACgD,UAAA;AAAD,CAAC,EAAA;;ACbD,IAAMU,cAAc,GAAG,CACnB;AAACvG,EAAAA,KAAK,EAAE;AAAU,CAAA,EAClB;AAACA,EAAAA,KAAK,EAAE;AAAkB,CAAA,EAC1B;AAACA,EAAAA,KAAK,EAAE;AAAqB,CAAA,EAC7B;AAACA,EAAAA,KAAK,EAAE;AAAO,CAAA,EACf;AAACA,EAAAA,KAAK,EAAE;AAAS,CAAA,CACpB;AAED;;;AAGG;IACUwG,YAAY,GAAG,UAAC3J,EAUoB,EAAA;MAThBiC,UAAU,GAAAjC,EAAA,CAAAiC,UAAA;IACVC,aAAa,GAAAlC,EAAA,CAAAkC,aAAA;IACbH,EAAqB,GAAA/B,EAAA,CAAAgC,UAAA;IAArBA,UAAU,GAAGD,EAAA,KAAA,MAAA,GAAA,QAAQ,KAAA;IACrBoE,EAAA,GAAAnG,EAAA,CAAAoG,SAAkC;IAAvBC,eAAe,GAAAF,EAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,EAAA;IAClCG,mBAAe;IAAfC,WAAW,mBAAG,CAAC,GAAAD,EAAA;IACfE,EAAa,GAAAxG,EAAA,CAAA0F,QAAA;IAAbA,QAAQ,GAAGc,EAAA,KAAA,MAAA,GAAA,EAAE,KAAA;IACbC,EAAA,GAAAzG,EAAA,CAAAyF,UAAe;IAAfA,UAAU,GAAAgB,EAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,EAAA;IACfpC,YAAY,GAAArE,EAAA,CAAAqE,YAAA;IACZqC,YAAY,GAAA1G,EAAA,CAAA0G,YAAA;AAEnC,EAAA,IAAAC,EAAA,GAAwCC,cAAQ,CAAC,IAAI,CAAC;AAArDC,IAAAA,eAAe,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,EAAA,CAAA,CAAA,CAAkB;AACtD,EAAA,IAAAI,EAAA,GAA0CH,cAAQ,CAAsB,EAAE,CAAC;AAA1E2B,IAAAA,gBAAgB,GAAAxB,EAAA,CAAA,CAAA,CAAA;AAAE6C,IAAAA,mBAAmB,GAAA7C,EAAA,CAAA,CAAA,CAAqC;AAC3E,EAAA,IAAAE,EAAA,GAAgCL,cAAQ,CAACL,WAAW,CAAC;AAApDpC,IAAAA,WAAW,GAAA8C,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,cAAc,GAAAD,EAAA,CAAA,CAAA,CAAyB;AACrD,EAAA,IAAAE,EAAA,GAA8BP,cAAQ,CAAC,CAAC,CAAC;AAAxCxC,IAAAA,UAAU,GAAA+C,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,EAAA,CAAA,CAAA,CAAe;AACzC,EAAA,IAAAE,EAAA,GAAoBT,cAAQ,CAAU,KAAK,CAAC;AAA3Cb,IAAAA,KAAK,GAAAsB,EAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,EAAA,CAAA,CAAA,CAA4B;AAElD,EAAA,IAAMjB,SAAS,GAAGC,eAAe,IAAIQ,eAAe;AAEpD,EAAA,IAAMgD,SAAS,GAAGzH,iBAAW,CAAC,UAAO4B,IAAY,EAAA;IAAA,OAAAwD,eAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;;YAC7CV,kBAAkB,CAAC,IAAI,CAAC;YACxBQ,QAAQ,CAAC,KAAK,CAAC;AAETG,YAAAA,OAAO,GAAG,IAAIuB,UAAU,EAAE;;;;AAGb,YAAA,OAAA,CAAA,CAAA,YAAMvB,OAAO,CAACwB,UAAU,CAAChH,UAAU,EAAEwD,UAAU,EAAEzB,IAAI,EAAE0B,QAAQ,CAAC,CAAA;;AAAzEgC,YAAAA,MAAM,GAAGvB,EAAgE,CAAAwB,IAAA,EAAA;AAE/E,YAAA,IAAID,MAAM,IAAIA,MAAM,CAACE,KAAK,EAAE;AACxBgC,cAAAA,mBAAmB,CAAClC,MAAM,CAACE,KAAK,CAAC;cACjCR,aAAa,CAAC,CAAA,CAAApH,EAAA,GAAA0H,MAAM,CAACG,UAAU,MAAA,IAAA,IAAA7H,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEoE,UAAU,KAAI,CAAC,CAAC;AAEjDsC,cAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAGgB,MAAM,CAACE,KAAK,EAAE,CAAA,CAAA7F,EAAA,GAAA2F,MAAM,CAACG,UAAU,MAAA,IAAA,IAAA9F,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEqC,UAAU,KAAI,CAAC,CAAC;AACpE,aAAC,MAAM;cACHwF,mBAAmB,CAAC,EAAE,CAAC;cACvBxC,aAAa,CAAC,CAAC,CAAC;AAEhBV,cAAAA,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZ,MAAA,GAAA,MAAA,GAAAA,YAAY,CAAG,EAAE,EAAE,CAAC,CAAC;AACzB;;;;AAEAZ,YAAAA,OAAO,CAACC,KAAK,CAAC,sBAAsB,EAAE+B,GAAC,CAAC;YACxCR,QAAQ,CAAC,IAAI,CAAC;YACdsC,mBAAmB,CAAC,EAAE,CAAC;;;YAEvB9C,kBAAkB,CAAC,KAAK,CAAC;;;;;;;GAEhC,EAAE,CAAC7E,UAAU,EAAEwD,UAAU,EAAEC,QAAQ,EAAEgB,YAAY,CAAC,CAAC;AAEpDqB,EAAAA,eAAS,CAAC,YAAA;IACN8B,SAAS,CAAC1F,WAAW,CAAC;AAC1B,GAAC,EAAE,CAACA,WAAW,EAAE0F,SAAS,CAAC,CAAC;AAE5B9B,EAAAA,eAAS,CAAC,YAAA;IACNb,cAAc,CAAC,CAAC,CAAC;AACrB,GAAC,EAAE,CAACzB,UAAU,CAAC,CAAC;AAEhB,EAAA,IAAMuC,gBAAgB,GAAG,UAAChE,IAAY,EAAA;IAClCkD,cAAc,CAAClD,IAAI,CAAC;AACpBK,IAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAGL,IAAI,CAAC;GACvB;AAED,EAAA,IAAI+B,KAAK,EAAE;IACP,OACI5F,cAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,+CAA+C;AAAAC,MAAAA,QAAA,EAC1DL,cAAG,CAAA,GAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,eAAe;AAAsDC,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAChF;AAEd;AAEA,EAAA,IAAI,CAAC4F,SAAS,KAAK,CAACmC,gBAAgB,IAAIA,gBAAgB,CAACN,MAAM,KAAK,CAAC,CAAC,EAAE;IACpE,OACI9H,cAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,+CAA+C;AAAAC,MAAAA,QAAA,EAC1DL,cAAG,CAAA,GAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,eAAe;AAA2BC,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CACrD;AAEd;EAEA,OACIgC,eAAA,CAAA,KAAA,EAAA;AAAKjC,IAAAA,SAAS,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAAA,CACtBgC,eAAK,CAAA,KAAA,EAAA;AAAAjC,MAAAA,SAAS,EAAC,UAAU;AACpBC,MAAAA,QAAA,EAAA,CAAA4F,SAAS,IACNjG,cAAA,CAAA,KAAA,EAAA;AAAKI,QAAAA,SAAS,EAAC,oEAAoE;AAAAC,QAAAA,QAAA,EAC/EL,cAAC,CAAA2E,cAAc,EAAE,EAAA;AAAA,OAAA,CAExB,EACD3E,cAAK,CAAA,KAAA,EAAA;AAAAI,QAAAA,SAAS,EAAC,+CAA+C;kBAC1DiC,eAAO,CAAA,OAAA,EAAA;AAAAjC,UAAAA,SAAS,EAAC,oBAAoB;AACjCC,UAAAA,QAAA,EAAA,CAAAL,cAAA,CAACyC,YAAY,EAAA;AAACC,YAAAA,OAAO,EAAE6G;AAAc,WAAA,CAAG,EACxCvJ,cAAA,CAAA,OAAA,EAAA;AAAOI,YAAAA,SAAS,EAAC,UAAU;AAC1BC,YAAAA,QAAA,EAAA+H,gBAAgB,CAACzF,GAAG,CAAC,UAACoF,OAAO,EAAA;cAAK,OAC/B/H,cAAC,CAAAsB,QAAQ,EAEL;AAAA8G,gBAAAA,gBAAgB,EAAEL,OAAO;AACzBvG,gBAAAA,WAAW,EAAEuG,OAAO,CAAChI,IAAI,IAAI,EAAE;gBAC/BsI,kBAAkB,EAAEN,OAAO,CAACM,kBAAkB;gBAC9CC,mBAAmB,EAAEP,OAAO,CAACO,mBAAmB;gBAChDC,aAAa,EAAER,OAAO,CAACQ,aAAa;AACpC1G,gBAAAA,UAAU,EAAEA,UAAU;AACtBC,gBAAAA,UAAU,EAAEA,UAAU;AACtBC,gBAAAA,aAAa,EAAEA;AAAa,eAAA,EARvBgG,OAAO,CAAC3F,EAAE,CASjB;aACL;AACO,WAAA,CAAA;SAAA;AAEV,OAAA,CAAA;AAAA,KAAA,CACJ,EACNpC,cAAC,CAAA+D,UAAU,EACP;AAAAC,MAAAA,WAAW,EAAEA,WAAW;AACxBC,MAAAA,UAAU,EAAEA,UAAU;AACtBC,MAAAA,YAAY,EAAE2D;AAChB,KAAA,CAAA;AAAA,GAAA,CACA;AAEd;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/common/company-logo.tsx","../src/utils/formatters.ts","../src/private-table/components/table-row.tsx","../src/common/table-headers.tsx","../src/private-table/components/pagination.tsx","../src/common/loading-spinner.tsx","../src/services/private-company-service.ts","../src/private-table/table.tsx","../src/services/shared-service.ts","../src/primary-table/components/table-row.tsx","../src/services/primary-company-service.ts","../src/primary-table/table.tsx"],"sourcesContent":["import React, {memo} from \"react\";\n\n/**\n * CompanyLogo component that displays either a company logo or a fallback initial.\n *\n * @param props - Component props\n * @param props.logoURL - Optional URL to the company's logo image passed through the preIPOCompany object\n * @param props.name - Company name, used for alt text and fallback initial passed through the preIPOCompany object\n * @returns A company logo image or a fallback with the first letter of the company name\n */\nexport const CompanyLogo: React.FC<{ logoURL?: string; name: string }> = memo(({logoURL, name}) => {\n if (logoURL) {\n return (\n <img\n src={logoURL}\n alt={`${name} logo`}\n className=\"w-8 h-8 rounded-lg object-cover\"\n />\n );\n }\n\n return (\n <div className=\"w-8 h-8 bg-gray-100 rounded-lg flex items-center justify-center\">\n <span className=\"text-gray-400 text-sm font-medium\">\n {name.charAt(0)}\n </span>\n </div>\n );\n});\n\nCompanyLogo.displayName = 'CompanyLogo';","export const formatLargeNumber = (value: number): string => {\n if (value >= 1_000_000_000) {\n return `$${(value / 1_000_000_000).toFixed(1)}B`;\n } else if (value >= 1_000_000) {\n return `$${(value / 1_000_000).toFixed(1)}M`;\n }\n return `$${value.toLocaleString()}`;\n};\n\nexport const formatCurrency = (value?: number, decimals: number = 2): string => {\n if (value === undefined || value === null) return 'N/A';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n }).format(value);\n};\n","import React, {memo, useCallback} from \"react\";\nimport {PrivateTable} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency, formatLargeNumber} from \"../../utils/formatters\";\n\n/**\n * TableRow component renders a row in the PrivateTable component.\n * It includes columns for company details, total funding, last round,\n * price per share, and an action button to indicate interest.\n */\nexport const TableRow: React.FC<PrivateTable> = memo(({\n preIpoCompany,\n companyName,\n totalFunding,\n lastFundingSeries,\n lastSharePrice,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIpoCompany.id, investorId);\n }, [preIpoCompany.id, investorId, onButtonClick]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n <CompanyLogo\n logoURL={preIpoCompany.logoURL}\n name={companyName}\n />\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">{preIpoCompany.country}</span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {totalFunding !== undefined ? formatLargeNumber(totalFunding) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastFundingSeries || \"Unknown\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {lastSharePrice !== undefined ? formatCurrency(lastSharePrice) : \"Not Available\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import React, {memo} from 'react';\n\ninterface Column {\n title: string;\n width?: string;\n}\n\ninterface TableHeaderProps {\n columns: Column[];\n}\n\n/**\n * Common TableHeader component that can be configured for different table types.\n * It renders a header row with configurable column titles and styling.\n * @param columns - Array of column configurations with titles and optional widths\n */\nexport const TableHeaders = memo(({columns}: TableHeaderProps) => (\n <thead>\n <tr\n className=\"bg-gray-50 border-b border-gray-200\"\n role=\"row\"\n >\n {columns.map((column, index) => (\n <th\n key={`${column.title}-${index}`}\n className={`py-3 px-4 text-left text-sm font-semibold text-gray-900 ${column.width || ''}`}\n scope=\"col\"\n role=\"columnheader\"\n >\n {column.title}\n </th>\n ))}\n </tr>\n </thead>\n));\n\nTableHeaders.displayName = 'TableHeader';","import React, {memo, useCallback, useMemo} from \"react\";\nimport {PaginationProps} from \"../../types/types\";\n\nconst NavigationButton = memo(({\n onClick,\n disabled,\n direction,\n }: {\n onClick: () => void;\n disabled: boolean;\n direction: 'previous' | 'next';\n}) => (\n <button\n onClick={onClick}\n disabled={disabled}\n className=\"p-2 rounded-lg text-gray-600 hover:bg-gray-100 disabled:opacity-50 disabled:hover:bg-transparent disabled:cursor-not-allowed transition-colors\"\n aria-label={`${direction} page`}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d={direction === 'previous' ? \"M15 19l-7-7 7-7\" : \"M9 5l7 7-7 7\"}\n />\n </svg>\n </button>\n));\n\nNavigationButton.displayName = 'NavigationButton';\n\nconst PageButton = memo(({\n page,\n isCurrentPage,\n onClick\n }: {\n page: number;\n isCurrentPage: boolean;\n onClick: () => void;\n}) => (\n <button\n onClick={onClick}\n disabled={isCurrentPage}\n className={`w-10 h-10 rounded-lg text-sm font-medium transition-colors ${\n isCurrentPage\n ? 'bg-custom-blue text-white'\n : 'text-gray-600 hover:bg-gray-100'\n }`}\n aria-label={`Go to page ${page}`}\n aria-current={isCurrentPage ? 'page' : undefined}\n >\n {page}\n </button>\n));\n\nPageButton.displayName = 'PageButton';\n\n/**\n * Pagination component renders pagination controls for the PrivateTable component.\n * It includes navigation buttons for previous and next pages, and page number buttons.\n */\nexport const Pagination: React.FC<PaginationProps> = memo(({\n currentPage,\n totalPages,\n onPageChange,\n }) => {\n const handlePrevious = useCallback(() => {\n onPageChange(currentPage - 1);\n }, [currentPage, onPageChange]);\n\n const handleNext = useCallback(() => {\n onPageChange(currentPage + 1);\n }, [currentPage, onPageChange]);\n\n const pageNumbers = useMemo(() => {\n const pages = [];\n const showEllipsis = totalPages > 7;\n\n if (showEllipsis) {\n if (currentPage <= 4) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 3) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n } else {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n }\n\n return pages;\n }, [currentPage, totalPages]);\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className=\"flex items-center justify-center gap-1\"\n >\n <NavigationButton\n onClick={handlePrevious}\n disabled={currentPage <= 1}\n direction=\"previous\"\n />\n\n <div className=\"flex items-center gap-1 mx-2\">\n {pageNumbers.map((page, index) => (\n page === 'ellipsis' ? (\n <span\n key={`ellipsis-${index}`}\n className=\"w-10 h-10 flex items-center justify-center text-gray-500\"\n aria-hidden=\"true\"\n >\n ...\n </span>\n ) : (\n <PageButton\n key={page}\n page={page as number}\n isCurrentPage={page === currentPage}\n onClick={() => onPageChange(page as number)}\n />\n )\n ))}\n </div>\n\n <NavigationButton\n onClick={handleNext}\n disabled={currentPage >= totalPages}\n direction=\"next\"\n />\n </nav>\n );\n});\n\nPagination.displayName = 'Pagination';","export const LoadingSpinner = () => (\n <svg className=\"animate-spin h-8 w-8 text-custom-blue\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\"></circle>\n <path className=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n);","import {Client, PreIPOCompanyApiResponse, SortOrder4} from \"@monarkmarkets/api-client\";\n\nexport class PreIPOCompanySpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllCompanies(\n searchTerm?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanyApiResponse | null> {\n try {\n return await this._client.preIpoCompany2(searchTerm, SortOrder4.Descending, page, pageSize);\n } catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {Pagination} from \"./components/pagination\";\nimport {PrivateTableProps} from \"../types/types\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {PreIPOCompanySpvService} from \"../services/private-company-service\";\nimport {IPreIPOCompany} from \"@monarkmarkets/api-client\";\n\nconst privateColumns = [\n { title: 'Company' },\n { title: 'Last Round Valuation' },\n { title: 'Last Round' },\n { title: 'Last Round Price/Share' },\n { title: 'Indicate Interest' }\n];\n\n/**\n * PrivateTable component displays a table of pre-IPO companies with pagination and loading states.\n * It includes table headers, rows, and pagination controls with built-in data fetching.\n */\nexport const PrivateTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Submit IOI\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrivateTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIpoCompany, setPreIpoCompany] = useState<IPreIPOCompany[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchCompanies = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new PreIPOCompanySpvService();\n\n try {\n const result = await service.GetAllCompanies(searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIpoCompany(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching pre-IPO companies:', e);\n setError(true);\n setPreIpoCompany([]);\n } finally {\n setInternalLoading(false);\n }\n }, [searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIpoCompany || preIpoCompany.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner />\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={privateColumns} />\n <tbody className=\"relative\">\n {preIpoCompany.map((company) => (\n <TableRow\n key={company.id}\n preIpoCompany={company}\n companyName={company.name || ''}\n totalFunding={company.totalFunding}\n lastFundingSeries={company.lastFundingSeries}\n lastSharePrice={company.lastSharePrice}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};","import {Client} from \"@monarkmarkets/api-client\";\n\nexport class SharedService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetCompanyLogoAndCountry(\n preIPOCompanyId: string,\n ): Promise<{ logoURL: string; location: string } | null> {\n try {\n const company = await this._client.preIpoCompany(preIPOCompanyId);\n if (company) {\n return {\n logoURL: company.logoURL || '',\n location: company.country || 'Location not available'\n };\n }\n return null;\n } catch (error) {\n console.error(`Failed to retrieve company logo and location for ID ${preIPOCompanyId}:`, error);\n return null;\n }\n }\n}","import React, {memo, useCallback, useEffect, useState} from \"react\";\nimport {LogoAndCountryProps, SpvRowProps} from \"../../types/types\";\nimport {CompanyLogo} from \"../../common/company-logo\";\nimport {formatCurrency} from \"../../utils/formatters\";\nimport {SharedService} from \"../../services/shared-service\";\n\n/**\n * TableRow component renders a row in the PrimaryTable component.\n * It includes columns for company details, price per share, minimum investment,\n * management fees, and an action to invest.\n */\nexport const TableRow: React.FC<SpvRowProps> = memo(({\n preIPOCompanySPV,\n companyName,\n allInPricePerShare,\n minCommitmentAmount,\n managementFee,\n buttonText = \"\",\n investorId,\n onButtonClick\n }) => {\n const handleButtonClick = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n onButtonClick?.(preIPOCompanySPV.id, investorId);\n }, [preIPOCompanySPV.id, investorId, onButtonClick]);\n\n const [companyDetails, setCompanyDetails] = useState<LogoAndCountryProps | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const fetchCompanyDetails = async () => {\n setIsLoading(true);\n const service = new SharedService();\n try {\n const details = await service.GetCompanyLogoAndCountry(\n preIPOCompanySPV.preIPOCompanyId,\n );\n setCompanyDetails(details);\n } catch (error) {\n console.error('Error fetching company details:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchCompanyDetails();\n }, [preIPOCompanySPV.preIPOCompanyId, investorId]);\n\n return (\n <tr\n className=\"hover:bg-gray-50 transition-colors\"\n role=\"row\"\n >\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <div className=\"flex items-center gap-3\">\n {isLoading ? (\n <div className=\"w-8 h-8 animate-pulse bg-gray-200 rounded-lg\"/>\n ) : (\n <CompanyLogo\n logoURL={companyDetails?.logoURL}\n name={companyName}\n />\n )}\n <div className=\"flex flex-col\">\n <span className=\"font-medium text-gray-900\">{companyName}</span>\n <span className=\"text-sm text-gray-500\">\n {isLoading ? (\n <div className=\"h-4 w-24 animate-pulse bg-gray-200 rounded\"/>\n ) : (\n companyDetails?.location || 'Location not available'\n )}\n </span>\n </div>\n </div>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {allInPricePerShare !== undefined ? formatCurrency(allInPricePerShare) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {minCommitmentAmount !== undefined ? formatCurrency(minCommitmentAmount) : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <span className=\"font-medium text-gray-900\">\n {managementFee !== undefined ? `${managementFee}%` : \"N/A\"}\n </span>\n </td>\n\n <td\n className=\"py-4 px-4 border-b border-gray-100\"\n role=\"cell\"\n >\n <button\n onClick={handleButtonClick}\n className=\"bg-custom-blue hover:bg-custom-blue-dark text-white font-medium py-2 px-4 rounded-lg shadow-md transition-all duration-200\"\n aria-label={`${buttonText} for ${companyName}`}\n >\n {buttonText}\n </button>\n </td>\n </tr>\n );\n});\n\nTableRow.displayName = 'TableRow';","import {Client, MonarkStage, PreIPOCompanySPVApiResponse, SortOrder9} from \"@monarkmarkets/api-client\";\n\nexport class SpvService {\n private _client: Client;\n\n constructor() {\n this._client = new Client(\"/api\");\n }\n\n public async GetAllSpvs(\n investorId: string,\n nameFilter?: string,\n page?: number,\n pageSize: number = 25\n ): Promise<PreIPOCompanySPVApiResponse | null> {\n try {\n return await this._client.investorGET5(investorId, MonarkStage.PRIMARY_FUNDRAISE, nameFilter, page, pageSize, SortOrder9.Descending);\n } catch (error) {\n console.error('Failed to retrieve all SPVs.', error);\n return null;\n }\n }\n}","import React, {useCallback, useEffect, useState} from \"react\";\nimport {TableRow} from \"./components/table-row\";\nimport {TableHeaders} from \"../common/table-headers\";\nimport {PrimaryTableProps} from \"../types/types\";\nimport {Pagination} from \"../private-table/components/pagination\";\nimport {LoadingSpinner} from \"../common/loading-spinner\";\nimport {SpvService} from \"../services/primary-company-service\";\nimport {IPreIPOCompanySPV} from \"@monarkmarkets/api-client\";\n\nconst primaryColumns = [\n {title: 'Company'},\n {title: 'Price Per Share'},\n {title: 'Minimum Investment'},\n {title: 'Fees'},\n {title: 'Invest'}\n];\n\n/**\n * PrimaryTable component displays a table of SPV investment opportunities.\n * It includes table headers and rows with built-in data fetching.\n */\nexport const PrimaryTable = ({\n investorId,\n onButtonClick,\n buttonText = \"Invest\",\n isLoading: externalLoading = false,\n initialPage = 1,\n pageSize = 10,\n searchTerm = '',\n onPageChange,\n onDataLoaded\n }: PrimaryTableProps) => {\n const [internalLoading, setInternalLoading] = useState(true);\n const [preIPOCompanySPV, setPreIPOCompanySPV] = useState<IPreIPOCompanySPV[]>([]);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [totalPages, setTotalPages] = useState(1);\n const [error, setError] = useState<boolean>(false);\n\n const isLoading = externalLoading || internalLoading;\n\n const fetchSpvs = useCallback(async (page: number) => {\n setInternalLoading(true);\n setError(false);\n\n const service = new SpvService();\n\n try {\n const result = await service.GetAllSpvs(investorId, searchTerm, page, pageSize);\n\n if (result && result.items) {\n setPreIPOCompanySPV(result.items);\n setTotalPages(result.pagination?.totalPages || 1);\n\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n onDataLoaded?.([], 1);\n }\n } catch (e) {\n console.error('Error fetching SPVs:', e);\n setError(true);\n setPreIPOCompanySPV([]);\n } finally {\n setInternalLoading(false);\n }\n }, [investorId, searchTerm, pageSize, onDataLoaded]);\n\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n useEffect(() => {\n setCurrentPage(1);\n }, [searchTerm]);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n onPageChange?.(page);\n };\n\n if (error) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">Failed to load companies. Please try again later.</p>\n </div>\n );\n }\n\n if (!isLoading && (!preIPOCompanySPV || preIPOCompanySPV.length === 0)) {\n return (\n <div className=\"bg-white rounded-lg shadow-sm p-8 text-center\">\n <p className=\"text-gray-500\">No companies available</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 bg-white/50 flex items-center justify-center z-10\">\n <LoadingSpinner/>\n </div>\n )}\n <div className=\"bg-white rounded-lg shadow-sm overflow-hidden\">\n <table className=\"w-full table-fixed\">\n <TableHeaders columns={primaryColumns}/>\n <tbody className=\"relative\">\n {preIPOCompanySPV.map((company) => (\n <TableRow\n key={company.id}\n preIPOCompanySPV={company}\n companyName={company.name || ''}\n allInPricePerShare={company.allInPricePerShare}\n minCommitmentAmount={company.minCommitmentAmount}\n managementFee={company.managementFee}\n buttonText={buttonText}\n investorId={investorId}\n onButtonClick={onButtonClick}\n />\n ))}\n </tbody>\n </table>\n </div>\n </div>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n );\n};"],"names":["CompanyLogo","memo","_a","logoURL","name","_jsx","src","alt","concat","className","children","charAt","displayName","formatLargeNumber","value","toFixed","toLocaleString","formatCurrency","decimals","undefined","Intl","NumberFormat","style","currency","maximumFractionDigits","minimumFractionDigits","format","TableRow","preIpoCompany","companyName","totalFunding","lastFundingSeries","lastSharePrice","_b","buttonText","investorId","onButtonClick","handleButtonClick","useCallback","e","preventDefault","id","_jsxs","role","country","onClick","TableHeaders","columns","map","column","index","width","scope","title","NavigationButton","disabled","direction","fill","stroke","viewBox","xmlns","strokeLinecap","strokeLinejoin","strokeWidth","d","PageButton","page","isCurrentPage","Pagination","currentPage","totalPages","onPageChange","handlePrevious","handleNext","pageNumbers","useMemo","pages","showEllipsis","i","push","LoadingSpinner","cx","cy","r","PreIPOCompanySpvService","_client","Client","prototype","GetAllCompanies","searchTerm_1","page_1","searchTerm","pageSize","preIpoCompany2","SortOrder4","Descending","console","error","error_1","privateColumns","PrivateTable","_c","isLoading","externalLoading","_d","initialPage","_e","_f","onDataLoaded","_g","useState","internalLoading","setInternalLoading","_h","setPreIpoCompany","_j","setCurrentPage","_k","setTotalPages","_l","setError","fetchCompanies","__awaiter","service","result","sent","items","pagination","e_1","useEffect","handlePageChange","length","company","SharedService","GetCompanyLogoAndCountry","preIPOCompanyId","location","preIPOCompanySPV","allInPricePerShare","minCommitmentAmount","managementFee","companyDetails","setCompanyDetails","setIsLoading","fetchCompanyDetails","details","SpvService","GetAllSpvs","investorId_1","nameFilter_1","arguments","nameFilter","investorGET5","MonarkStage","PRIMARY_FUNDRAISE","SortOrder9","primaryColumns","PrimaryTable","setPreIPOCompanySPV","fetchSpvs"],"mappings":"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"}
|