@monarkmarkets/marketplace 2.0.0 → 2.0.2
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/README.md +4 -4
- package/dist/index.esm.js +0 -8
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @monarkmarkets/marketplace
|
|
2
2
|
|
|
3
3
|
A package of reusable React components for displaying pre-IPO company data and SPV investment opportunities.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @monarkmarkets/marketplace
|
|
8
|
+
npm install @monarkmarkets/marketplace
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Features
|
|
@@ -160,9 +160,9 @@ const MarketplacePage = () => {
|
|
|
160
160
|
|
|
161
161
|
## Dependencies
|
|
162
162
|
|
|
163
|
-
- React
|
|
163
|
+
- React 18.0+
|
|
164
164
|
- @monarkmarkets/api-client
|
|
165
165
|
|
|
166
166
|
## License
|
|
167
167
|
|
|
168
|
-
Copyright © 2025 Monark Markets. All rights reserved.
|
|
168
|
+
Copyright © 2025 Monark Markets. All rights reserved.
|
package/dist/index.esm.js
CHANGED
|
@@ -385,12 +385,10 @@ var PrivateTable = function (_a) {
|
|
|
385
385
|
if (result && result.items) {
|
|
386
386
|
setPreIpoCompany(result.items);
|
|
387
387
|
setTotalPages(((_a = result.pagination) === null || _a === void 0 ? void 0 : _a.totalPages) || 1);
|
|
388
|
-
// Notify parent component if callback is provided
|
|
389
388
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded(result.items, ((_b = result.pagination) === null || _b === void 0 ? void 0 : _b.totalPages) || 1);
|
|
390
389
|
} else {
|
|
391
390
|
setPreIpoCompany([]);
|
|
392
391
|
setTotalPages(1);
|
|
393
|
-
// Notify parent component if callback is provided
|
|
394
392
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded([], 1);
|
|
395
393
|
}
|
|
396
394
|
return [3 /*break*/, 5];
|
|
@@ -409,11 +407,9 @@ var PrivateTable = function (_a) {
|
|
|
409
407
|
});
|
|
410
408
|
});
|
|
411
409
|
}, [searchTerm, pageSize, onDataLoaded]);
|
|
412
|
-
// Fetch data when the component mounts or when dependencies change
|
|
413
410
|
useEffect(function () {
|
|
414
411
|
fetchCompanies(currentPage);
|
|
415
412
|
}, [currentPage, fetchCompanies]);
|
|
416
|
-
// Reset to page 1 when search term changes
|
|
417
413
|
useEffect(function () {
|
|
418
414
|
setCurrentPage(1);
|
|
419
415
|
}, [searchTerm]);
|
|
@@ -724,12 +720,10 @@ var PrimaryTable = function (_a) {
|
|
|
724
720
|
if (result && result.items) {
|
|
725
721
|
setPreIPOCompanySPV(result.items);
|
|
726
722
|
setTotalPages(((_a = result.pagination) === null || _a === void 0 ? void 0 : _a.totalPages) || 1);
|
|
727
|
-
// Notify parent component if callback is provided
|
|
728
723
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded(result.items, ((_b = result.pagination) === null || _b === void 0 ? void 0 : _b.totalPages) || 1);
|
|
729
724
|
} else {
|
|
730
725
|
setPreIPOCompanySPV([]);
|
|
731
726
|
setTotalPages(1);
|
|
732
|
-
// Notify parent component if callback is provided
|
|
733
727
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded([], 1);
|
|
734
728
|
}
|
|
735
729
|
return [3 /*break*/, 5];
|
|
@@ -748,11 +742,9 @@ var PrimaryTable = function (_a) {
|
|
|
748
742
|
});
|
|
749
743
|
});
|
|
750
744
|
}, [investorId, searchTerm, pageSize, onDataLoaded]);
|
|
751
|
-
// Fetch data when the component mounts or when dependencies change
|
|
752
745
|
useEffect(function () {
|
|
753
746
|
fetchSpvs(currentPage);
|
|
754
747
|
}, [currentPage, fetchSpvs]);
|
|
755
|
-
// Reset to page 1 when search term changes
|
|
756
748
|
useEffect(function () {
|
|
757
749
|
setCurrentPage(1);
|
|
758
750
|
}, [searchTerm]);
|
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 { formatLargeNumber, formatCurrency } 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\" 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\" 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 }\n catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, { useState, useEffect, useCallback } 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 // Notify parent component if callback is provided\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n // Notify parent component if callback is provided\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 // Fetch data when the component mounts or when dependencies change\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n // Reset to page 1 when search term changes\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, { useState, useEffect, useCallback } 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 // Use the correct method signature with investorId as the first parameter\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 // Notify parent component if callback is provided\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n // Notify parent component if callback is provided\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 // Fetch data when the component mounts or when dependencies change\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n // Reset to page 1 when search term changes\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: '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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"}
|
package/dist/index.js
CHANGED
|
@@ -387,12 +387,10 @@ var PrivateTable = function (_a) {
|
|
|
387
387
|
if (result && result.items) {
|
|
388
388
|
setPreIpoCompany(result.items);
|
|
389
389
|
setTotalPages(((_a = result.pagination) === null || _a === void 0 ? void 0 : _a.totalPages) || 1);
|
|
390
|
-
// Notify parent component if callback is provided
|
|
391
390
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded(result.items, ((_b = result.pagination) === null || _b === void 0 ? void 0 : _b.totalPages) || 1);
|
|
392
391
|
} else {
|
|
393
392
|
setPreIpoCompany([]);
|
|
394
393
|
setTotalPages(1);
|
|
395
|
-
// Notify parent component if callback is provided
|
|
396
394
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded([], 1);
|
|
397
395
|
}
|
|
398
396
|
return [3 /*break*/, 5];
|
|
@@ -411,11 +409,9 @@ var PrivateTable = function (_a) {
|
|
|
411
409
|
});
|
|
412
410
|
});
|
|
413
411
|
}, [searchTerm, pageSize, onDataLoaded]);
|
|
414
|
-
// Fetch data when the component mounts or when dependencies change
|
|
415
412
|
react.useEffect(function () {
|
|
416
413
|
fetchCompanies(currentPage);
|
|
417
414
|
}, [currentPage, fetchCompanies]);
|
|
418
|
-
// Reset to page 1 when search term changes
|
|
419
415
|
react.useEffect(function () {
|
|
420
416
|
setCurrentPage(1);
|
|
421
417
|
}, [searchTerm]);
|
|
@@ -726,12 +722,10 @@ var PrimaryTable = function (_a) {
|
|
|
726
722
|
if (result && result.items) {
|
|
727
723
|
setPreIPOCompanySPV(result.items);
|
|
728
724
|
setTotalPages(((_a = result.pagination) === null || _a === void 0 ? void 0 : _a.totalPages) || 1);
|
|
729
|
-
// Notify parent component if callback is provided
|
|
730
725
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded(result.items, ((_b = result.pagination) === null || _b === void 0 ? void 0 : _b.totalPages) || 1);
|
|
731
726
|
} else {
|
|
732
727
|
setPreIPOCompanySPV([]);
|
|
733
728
|
setTotalPages(1);
|
|
734
|
-
// Notify parent component if callback is provided
|
|
735
729
|
onDataLoaded === null || onDataLoaded === void 0 ? void 0 : onDataLoaded([], 1);
|
|
736
730
|
}
|
|
737
731
|
return [3 /*break*/, 5];
|
|
@@ -750,11 +744,9 @@ var PrimaryTable = function (_a) {
|
|
|
750
744
|
});
|
|
751
745
|
});
|
|
752
746
|
}, [investorId, searchTerm, pageSize, onDataLoaded]);
|
|
753
|
-
// Fetch data when the component mounts or when dependencies change
|
|
754
747
|
react.useEffect(function () {
|
|
755
748
|
fetchSpvs(currentPage);
|
|
756
749
|
}, [currentPage, fetchSpvs]);
|
|
757
|
-
// Reset to page 1 when search term changes
|
|
758
750
|
react.useEffect(function () {
|
|
759
751
|
setCurrentPage(1);
|
|
760
752
|
}, [searchTerm]);
|
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 { formatLargeNumber, formatCurrency } 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\" 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\" 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 }\n catch (error) {\n console.error('Failed to retrieve all of the company information.', error);\n return null;\n }\n }\n}","import React, { useState, useEffect, useCallback } 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 // Notify parent component if callback is provided\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIpoCompany([]);\n setTotalPages(1);\n\n // Notify parent component if callback is provided\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 // Fetch data when the component mounts or when dependencies change\n useEffect(() => {\n fetchCompanies(currentPage);\n }, [currentPage, fetchCompanies]);\n\n // Reset to page 1 when search term changes\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, { useState, useEffect, useCallback } 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 // Use the correct method signature with investorId as the first parameter\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 // Notify parent component if callback is provided\n onDataLoaded?.(result.items, result.pagination?.totalPages || 1);\n } else {\n setPreIPOCompanySPV([]);\n setTotalPages(1);\n\n // Notify parent component if callback is provided\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 // Fetch data when the component mounts or when dependencies change\n useEffect(() => {\n fetchSpvs(currentPage);\n }, [currentPage, fetchSpvs]);\n\n // Reset to page 1 when search term changes\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.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;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monarkmarkets/marketplace",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Marketplace component for Monark Markets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"marketplace",
|
|
@@ -34,24 +34,24 @@
|
|
|
34
34
|
"prebuild": "npm run clean"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@monarkmarkets/api-client": "^1.0.
|
|
37
|
+
"@monarkmarkets/api-client": "^1.0.4",
|
|
38
38
|
"react": "^18.0.0",
|
|
39
39
|
"react-dom": "^18.0.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@babel/core": "^7.26.
|
|
42
|
+
"@babel/core": "^7.26.10",
|
|
43
43
|
"@babel/preset-react": "^7.26.3",
|
|
44
|
-
"@babel/preset-typescript": "^7.
|
|
44
|
+
"@babel/preset-typescript": "^7.27.0",
|
|
45
45
|
"@rollup/plugin-babel": "^6.0.4",
|
|
46
|
-
"@rollup/plugin-commonjs": "^28.0.
|
|
47
|
-
"@rollup/plugin-node-resolve": "^16.0.
|
|
46
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
47
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
48
48
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
49
|
-
"@types/lodash": "^4.17.
|
|
50
|
-
"@types/react": "^
|
|
51
|
-
"@types/react-dom": "^
|
|
49
|
+
"@types/lodash": "^4.17.16",
|
|
50
|
+
"@types/react": "^18.0.0",
|
|
51
|
+
"@types/react-dom": "^18.0.0",
|
|
52
52
|
"lodash": "^4.17.21",
|
|
53
53
|
"rimraf": "^6.0.1",
|
|
54
|
-
"rollup": "^4.
|
|
54
|
+
"rollup": "^4.37.0",
|
|
55
55
|
"tslib": "^2.6.2",
|
|
56
56
|
"typescript": "^5.7.3"
|
|
57
57
|
}
|