SYMBOL INDEX (2537 symbols across 1092 files) FILE: app/(auth)/auth/confirm-email-change/[token]/page-client.tsx function ConfirmEmailChangePageClient (line 12) | function ConfirmEmailChangePageClient() { FILE: app/(auth)/auth/confirm-email-change/[token]/page.tsx type PageProps (line 55) | interface PageProps { function ConfirmEmailChangePage (line 59) | async function ConfirmEmailChangePage(props: PageProps) { FILE: app/(auth)/auth/email/[[...params]]/page-client.tsx function EmailVerificationClient (line 13) | function EmailVerificationClient() { function TestimonialSection (line 290) | function TestimonialSection() { FILE: app/(auth)/auth/email/[[...params]]/page.tsx function EmailVerificationPage (line 39) | async function EmailVerificationPage() { FILE: app/(auth)/auth/saml/page-client.tsx function SAMLCallbackClient (line 20) | function SAMLCallbackClient() { FILE: app/(auth)/auth/saml/page.tsx function SAMLCallbackPage (line 10) | function SAMLCallbackPage() { FILE: app/(auth)/layout.tsx function Layout (line 8) | function Layout({ children }: { children: React.ReactNode }) { FILE: app/(auth)/login/page-client.tsx function Login (line 27) | function Login() { FILE: app/(auth)/login/page.tsx function LoginPage (line 41) | function LoginPage() { FILE: app/(auth)/register/page-client.tsx function Register (line 17) | function Register() { FILE: app/(auth)/register/page.tsx function RegisterPage (line 39) | function RegisterPage() { FILE: app/(auth)/verify/invitation/AcceptInvitationButton.tsx type AcceptInvitationButtonProps (line 9) | interface AcceptInvitationButtonProps { function AcceptInvitationButton (line 13) | function AcceptInvitationButton({ FILE: app/(auth)/verify/invitation/InvitationStatusContent.tsx function InvitationStatusContent (line 7) | function InvitationStatusContent({ FILE: app/(auth)/verify/invitation/page.tsx function VerifyInvitationPage (line 49) | async function VerifyInvitationPage({ FILE: app/(auth)/verify/invitation/status/ClientRedirect.tsx function CleanUrlOnExpire (line 5) | function CleanUrlOnExpire({ FILE: app/(auth)/verify/page.tsx function VerifyPage (line 4) | async function VerifyPage() { FILE: app/(ee)/api/ai/chat/[chatId]/messages/route.ts function POST (line 19) | async function POST( FILE: app/(ee)/api/ai/chat/[chatId]/route.ts function GET (line 15) | async function GET( function DELETE (line 91) | async function DELETE( FILE: app/(ee)/api/ai/chat/route.ts function POST (line 18) | async function POST(req: NextRequest) { function GET (line 360) | async function GET(req: NextRequest) { FILE: app/(ee)/api/ai/store/runs/[runId]/route.ts function GET (line 14) | async function GET( FILE: app/(ee)/api/ai/store/teams/[teamId]/datarooms/[dataroomId]/route.ts function POST (line 21) | async function POST( FILE: app/(ee)/api/ai/store/teams/[teamId]/documents/[documentId]/route.ts function POST (line 22) | async function POST( function DELETE (line 206) | async function DELETE( FILE: app/(ee)/api/ai/store/teams/[teamId]/route.ts function GET (line 15) | async function GET( FILE: app/(ee)/api/auth/saml/authorize/route.ts function GET (line 7) | async function GET(req: Request) { function POST (line 40) | async function POST(req: Request) { FILE: app/(ee)/api/auth/saml/callback/route.ts function POST (line 6) | async function POST(req: Request) { FILE: app/(ee)/api/auth/saml/token/route.ts function POST (line 16) | async function POST(req: Request) { FILE: app/(ee)/api/auth/saml/userinfo/route.ts function GET (line 14) | async function GET(req: Request) { FILE: app/(ee)/api/auth/saml/verify/route.ts function POST (line 13) | async function POST(req: Request) { FILE: app/(ee)/api/faqs/route.ts type VisitorFAQResponse (line 15) | interface VisitorFAQResponse { function GET (line 28) | async function GET(req: NextRequest) { FILE: app/(ee)/api/links/[id]/upload/route.ts function GET (line 17) | async function GET( function POST (line 114) | async function POST( FILE: app/(ee)/api/scim/v2.0/[...directory]/route.ts function hashEmail (line 11) | function hashEmail(email: string): string { function handleSCIMEvents (line 85) | async function handleSCIMEvents(event: DirectorySyncEvent) { FILE: app/(ee)/api/teams/[teamId]/directory-sync/route.ts constant SSO_ELIGIBLE_PLANS (line 9) | const SSO_ELIGIBLE_PLANS = ["datarooms-premium", "datarooms-premium+old"]; function isJacksonUnavailableError (line 11) | function isJacksonUnavailableError(error: unknown): boolean { function getAuthenticatedAdmin (line 20) | async function getAuthenticatedAdmin(teamId: string) { function GET (line 44) | async function GET( function POST (line 87) | async function POST( function DELETE (line 149) | async function DELETE( FILE: app/(ee)/api/teams/[teamId]/saml/route.ts constant SSO_ELIGIBLE_PLANS (line 10) | const SSO_ELIGIBLE_PLANS = ["datarooms-premium", "datarooms-premium+old"]; function isJacksonUnavailableError (line 12) | function isJacksonUnavailableError(error: unknown): boolean { function getAuthenticatedAdmin (line 21) | async function getAuthenticatedAdmin(teamId: string) { function GET (line 45) | async function GET( function POST (line 104) | async function POST( function PATCH (line 257) | async function PATCH( function DELETE (line 331) | async function DELETE( FILE: app/(ee)/api/workflow-entry/domains/[...domainSlug]/route.ts function POST (line 26) | async function POST( function handleVerify (line 118) | async function handleVerify(req: NextRequest, link: any) { function handleAccess (line 190) | async function handleAccess(req: NextRequest, link: any) { FILE: app/(ee)/api/workflow-entry/link/[entryLinkId]/access/route.ts function POST (line 20) | async function POST( FILE: app/(ee)/api/workflow-entry/link/[entryLinkId]/verify/route.ts function POST (line 12) | async function POST( FILE: app/(ee)/api/workflows/[workflowId]/executions/route.ts function GET (line 9) | async function GET( FILE: app/(ee)/api/workflows/[workflowId]/route.ts function GET (line 16) | async function GET( function PATCH (line 115) | async function PATCH( function DELETE (line 225) | async function DELETE( FILE: app/(ee)/api/workflows/[workflowId]/steps/[stepId]/route.ts function PATCH (line 17) | async function PATCH( function DELETE (line 251) | async function DELETE( FILE: app/(ee)/api/workflows/[workflowId]/steps/route.ts function GET (line 17) | async function GET( function POST (line 133) | async function POST( function PUT (line 331) | async function PUT( FILE: app/(ee)/api/workflows/route.ts function GET (line 16) | async function GET(req: NextRequest) { function POST (line 91) | async function POST(req: NextRequest) { FILE: app/api/auth/verify-code/route.ts function getClientIp (line 10) | function getClientIp(request: NextRequest): string { function POST (line 17) | async function POST(request: NextRequest) { FILE: app/api/cron/dataroom-digest/daily/route.ts function POST (line 10) | async function POST(req: Request) { FILE: app/api/cron/dataroom-digest/weekly/route.ts function POST (line 10) | async function POST(req: Request) { FILE: app/api/cron/domains/route.ts function POST (line 24) | async function POST(req: Request) { FILE: app/api/cron/welcome-user/route.ts function POST (line 8) | async function POST(req: Request) { FILE: app/api/cron/year-in-review/route.ts function POST (line 10) | async function POST(req: Request) { FILE: app/api/csp-report/route.ts function POST (line 3) | async function POST(request: Request) { FILE: app/api/feature-flags/route.ts function GET (line 7) | async function GET(request: Request) { FILE: app/api/help/route.ts function GET (line 3) | async function GET(request: Request) { FILE: app/api/integrations/slack/oauth/authorize/route.ts function GET (line 16) | async function GET(req: Request) { FILE: app/api/og/route.tsx function GET (line 11) | async function GET(request: NextRequest) { FILE: app/api/og/yir/route.tsx function GET (line 6) | async function GET(req: NextRequest) { FILE: app/api/verify/login-link/route.ts function GET (line 4) | async function GET(request: NextRequest) { FILE: app/api/views-dataroom/route.ts function POST (line 38) | async function POST(request: NextRequest) { FILE: app/api/views/pages/route.ts constant MAX_PAGES_PER_REQUEST (line 11) | const MAX_PAGES_PER_REQUEST = 15; constant VIEW_MAX_AGE_MS (line 12) | const VIEW_MAX_AGE_MS = 23 * 60 * 60 * 1000; function POST (line 23) | async function POST(request: NextRequest) { FILE: app/api/views/route.ts function POST (line 30) | async function POST(request: NextRequest) { FILE: app/layout.tsx function RootLayout (line 43) | function RootLayout({ FILE: components/EmailForm.tsx function EmailForm (line 1) | function EmailForm({ onSubmitHandler, setEmail }: any) { FILE: components/Skeleton.tsx function Skeleton (line 3) | function Skeleton({ FILE: components/account/account-header.tsx function AccountHeader (line 3) | function AccountHeader() { FILE: components/account/upload-avatar.tsx type UploadAvatarProps (line 21) | interface UploadAvatarProps { FILE: components/agreements/agreement-card.tsx type AgreementCardProps (line 27) | interface AgreementCardProps { function AgreementCard (line 32) | function AgreementCard({ FILE: components/ai-elements/conversation.tsx type ConversationProps (line 10) | type ConversationProps = ComponentProps; type ConversationContentProps (line 22) | type ConversationContentProps = ComponentProps< type ConversationEmptyStateProps (line 36) | type ConversationEmptyStateProps = ComponentProps<"div"> & { type ConversationScrollButtonProps (line 71) | type ConversationScrollButtonProps = ComponentProps; FILE: components/ai-elements/message.tsx type MessageProps (line 26) | type MessageProps = HTMLAttributes & { type MessageContentProps (line 41) | type MessageContentProps = HTMLAttributes; type MessageActionsProps (line 61) | type MessageActionsProps = ComponentProps<"div">; type MessageActionProps (line 73) | type MessageActionProps = ComponentProps & { type MessageBranchContextType (line 109) | type MessageBranchContextType = { type MessageBranchProps (line 134) | type MessageBranchProps = HTMLAttributes & { type MessageBranchContentProps (line 184) | type MessageBranchContentProps = HTMLAttributes; type MessageBranchSelectorProps (line 214) | type MessageBranchSelectorProps = HTMLAttributes & { type MessageBranchPreviousProps (line 239) | type MessageBranchPreviousProps = ComponentProps; type MessageBranchNextProps (line 262) | type MessageBranchNextProps = ComponentProps; type MessageBranchPageProps (line 286) | type MessageBranchPageProps = HTMLAttributes; type MessageResponseProps (line 307) | type MessageResponseProps = ComponentProps; type MessageAttachmentProps (line 324) | type MessageAttachmentProps = HTMLAttributes & { function MessageAttachment (line 330) | function MessageAttachment({ type MessageAttachmentsProps (line 408) | type MessageAttachmentsProps = ComponentProps<"div">; function MessageAttachments (line 410) | function MessageAttachments({ type MessageToolbarProps (line 432) | type MessageToolbarProps = ComponentProps<"div">; FILE: components/ai-elements/prompt-input.tsx type AttachmentsContext (line 77) | type AttachmentsContext = { type TextInputContext (line 86) | type TextInputContext = { type PromptInputControllerProps (line 92) | type PromptInputControllerProps = { type PromptInputProviderProps (line 136) | type PromptInputProviderProps = PropsWithChildren<{ function PromptInputProvider (line 144) | function PromptInputProvider({ type PromptInputAttachmentProps (line 279) | type PromptInputAttachmentProps = HTMLAttributes & { function PromptInputAttachment (line 284) | function PromptInputAttachment({ type PromptInputAttachmentsProps (line 375) | type PromptInputAttachmentsProps = Omit< function PromptInputAttachments (line 382) | function PromptInputAttachments({ type PromptInputActionAddAttachmentsProps (line 405) | type PromptInputActionAddAttachmentsProps = ComponentProps< type PromptInputMessage (line 430) | type PromptInputMessage = { type PromptInputProps (line 435) | type PromptInputProps = Omit< type PromptInputBodyProps (line 797) | type PromptInputBodyProps = HTMLAttributes; type PromptInputTextareaProps (line 806) | type PromptInputTextareaProps = ComponentProps< type PromptInputHeaderProps (line 907) | type PromptInputHeaderProps = Omit< type PromptInputFooterProps (line 923) | type PromptInputFooterProps = Omit< type PromptInputToolsProps (line 939) | type PromptInputToolsProps = HTMLAttributes; type PromptInputButtonProps (line 948) | type PromptInputButtonProps = ComponentProps; type PromptInputActionMenuProps (line 970) | type PromptInputActionMenuProps = ComponentProps; type PromptInputActionMenuTriggerProps (line 975) | type PromptInputActionMenuTriggerProps = PromptInputButtonProps; type PromptInputActionMenuContentProps (line 989) | type PromptInputActionMenuContentProps = ComponentProps< type PromptInputActionMenuItemProps (line 999) | type PromptInputActionMenuItemProps = ComponentProps< type PromptInputSubmitProps (line 1012) | type PromptInputSubmitProps = ComponentProps & { type SpeechRecognition (line 1048) | interface SpeechRecognition extends EventTarget { type SpeechRecognitionEvent (line 1064) | interface SpeechRecognitionEvent extends Event { type SpeechRecognitionResultList (line 1069) | type SpeechRecognitionResultList = { type SpeechRecognitionResult (line 1075) | type SpeechRecognitionResult = { type SpeechRecognitionAlternative (line 1082) | type SpeechRecognitionAlternative = { type SpeechRecognitionErrorEvent (line 1087) | interface SpeechRecognitionErrorEvent extends Event { type Window (line 1092) | interface Window { type PromptInputSpeechButtonProps (line 1102) | type PromptInputSpeechButtonProps = ComponentProps< type PromptInputSelectProps (line 1208) | type PromptInputSelectProps = ComponentProps; type PromptInputSelectTriggerProps (line 1214) | type PromptInputSelectTriggerProps = ComponentProps< type PromptInputSelectContentProps (line 1232) | type PromptInputSelectContentProps = ComponentProps< type PromptInputSelectItemProps (line 1243) | type PromptInputSelectItemProps = ComponentProps; type PromptInputSelectValueProps (line 1252) | type PromptInputSelectValueProps = ComponentProps; type PromptInputHoverCardProps (line 1261) | type PromptInputHoverCardProps = ComponentProps; type PromptInputHoverCardTriggerProps (line 1271) | type PromptInputHoverCardTriggerProps = ComponentProps< type PromptInputHoverCardContentProps (line 1279) | type PromptInputHoverCardContentProps = ComponentProps< type PromptInputTabsListProps (line 1290) | type PromptInputTabsListProps = HTMLAttributes; type PromptInputTabProps (line 1297) | type PromptInputTabProps = HTMLAttributes; type PromptInputTabLabelProps (line 1304) | type PromptInputTabLabelProps = HTMLAttributes; type PromptInputTabBodyProps (line 1319) | type PromptInputTabBodyProps = HTMLAttributes; type PromptInputTabItemProps (line 1328) | type PromptInputTabItemProps = HTMLAttributes; type PromptInputCommandProps (line 1343) | type PromptInputCommandProps = ComponentProps; type PromptInputCommandInputProps (line 1350) | type PromptInputCommandInputProps = ComponentProps; type PromptInputCommandListProps (line 1359) | type PromptInputCommandListProps = ComponentProps; type PromptInputCommandEmptyProps (line 1368) | type PromptInputCommandEmptyProps = ComponentProps; type PromptInputCommandGroupProps (line 1377) | type PromptInputCommandGroupProps = ComponentProps; type PromptInputCommandItemProps (line 1386) | type PromptInputCommandItemProps = ComponentProps; type PromptInputCommandSeparatorProps (line 1395) | type PromptInputCommandSeparatorProps = ComponentProps< FILE: components/ai-elements/shimmer.tsx type TextShimmerProps (line 15) | type TextShimmerProps = { FILE: components/analytics/analytics-card.tsx type AnalyticsCardProps (line 5) | interface AnalyticsCardProps { function AnalyticsCard (line 17) | function AnalyticsCard({ FILE: components/analytics/dashboard-views-chart.tsx type DashboardViewsChartProps (line 16) | interface DashboardViewsChartProps { function DashboardViewsChart (line 23) | function DashboardViewsChart({ FILE: components/analytics/documents-table.tsx type Document (line 46) | interface Document { function DocumentsTable (line 172) | function DocumentsTable({ FILE: components/analytics/links-table.tsx type Link (line 49) | interface Link { function CopyButton (line 60) | function CopyButton({ url }: { url: string }) { function LinksTable (line 234) | function LinksTable({ FILE: components/analytics/time-range-select.tsx constant TIME_RANGES (line 21) | const TIME_RANGES = [ type TimeRange (line 28) | type TimeRange = (typeof TIME_RANGES)[number]["value"]; type CustomRange (line 29) | interface CustomRange { type TimeRangeSelectProps (line 33) | interface TimeRangeSelectProps { function TimeRangeSelect (line 43) | function TimeRangeSelect({ FILE: components/analytics/views-table.tsx type View (line 56) | interface View { function ViewsTable (line 277) | function ViewsTable({ FILE: components/analytics/visitors-table.tsx type Visitor (line 49) | interface Visitor { function VisitorsTable (line 217) | function VisitorsTable({ FILE: components/billing/add-seat-modal.tsx function AddSeatModal (line 28) | function AddSeatModal({ FILE: components/billing/plan-badge.tsx function PlanBadge (line 5) | function PlanBadge({ FILE: components/billing/pro-annual-banner.tsx function ProAnnualBanner (line 15) | function ProAnnualBanner({ FILE: components/billing/pro-banner.tsx function ProBanner (line 11) | function ProBanner({ FILE: components/billing/upgrade-plan-container.tsx function UpgradePlanContainer (line 38) | function UpgradePlanContainer() { FILE: components/billing/upgrade-plan-modal-old.tsx function UpgradePlanModal (line 24) | function UpgradePlanModal({ FILE: components/billing/upgrade-plan-modal-with-discount.tsx function UpgradePlanModalWithDiscount (line 152) | function UpgradePlanModalWithDiscount({ FILE: components/billing/upgrade-plan-modal.tsx function UpgradePlanModal (line 146) | function UpgradePlanModal({ FILE: components/billing/yearly-upgrade-banner.tsx type YearlyUpgradeBannerProps (line 22) | interface YearlyUpgradeBannerProps { function YearlyUpgradeBanner (line 26) | function YearlyUpgradeBanner({ FILE: components/blur-image.tsx function BlurImage (line 9) | function BlurImage(props: ImageProps) { FILE: components/charts/bar-chart.tsx function BarChartComponent (line 67) | function BarChartComponent({ FILE: components/charts/utils.ts type Data (line 1) | type Data = { type SumData (line 9) | type SumData = { type TransformedData (line 14) | type TransformedData = { type CustomTooltipTypeBar (line 19) | type CustomTooltipTypeBar = { type Color (line 25) | type Color = FILE: components/conversations/index.tsx function ConversationListItem (line 6) | function ConversationListItem(props: any) { function ConversationMessage (line 10) | function ConversationMessage(props: any) { FILE: components/datarooms/actions/download-dataroom.tsx function DownloadDataroomButton (line 8) | function DownloadDataroomButton({ FILE: components/datarooms/actions/generate-index-button.tsx type GenerateIndexButtonProps (line 3) | interface GenerateIndexButtonProps { function GenerateIndexButton (line 9) | function GenerateIndexButton({ FILE: components/datarooms/actions/generate-index-dialog.tsx type GenerateIndexDialogProps (line 38) | interface GenerateIndexDialogProps { function GenerateIndexDialog (line 44) | function GenerateIndexDialog({ FILE: components/datarooms/actions/rebuild-index-button.tsx type RebuildIndexButtonProps (line 23) | interface RebuildIndexButtonProps { function RebuildIndexButton (line 29) | function RebuildIndexButton({ FILE: components/datarooms/actions/remove-document-modal.tsx function RemoveDataroomItemsModal (line 21) | function RemoveDataroomItemsModal({ function useRemoveDataroomItemsModal (line 189) | function useRemoveDataroomItemsModal({ FILE: components/datarooms/add-dataroom-modal.tsx function AddDataroomModal (line 60) | function AddDataroomModal({ FILE: components/datarooms/add-viewer-modal.tsx function AddViewerModal (line 25) | function AddViewerModal({ FILE: components/datarooms/analytics/analytics-overview.tsx type DataroomAnalyticsOverviewProps (line 10) | interface DataroomAnalyticsOverviewProps { function DataroomAnalyticsOverview (line 23) | function DataroomAnalyticsOverview({ FILE: components/datarooms/analytics/document-analytics-tree.tsx type FileOrFolder (line 37) | type FileOrFolder = { type DocumentAnalyticsTreeProps (line 49) | interface DocumentAnalyticsTreeProps { function DocumentAnalyticsTree (line 63) | function DocumentAnalyticsTree({ FILE: components/datarooms/analytics/mock-analytics-table.tsx function MockAnalyticsTable (line 44) | function MockAnalyticsTable() { FILE: components/datarooms/dataroom-breadcrumb.tsx function BreadcrumbComponentBase (line 96) | function BreadcrumbComponentBase({ FILE: components/datarooms/dataroom-card.tsx type DataroomTag (line 20) | type DataroomTag = { type DataroomWithDetails (line 29) | type DataroomWithDetails = { type DataroomCardProps (line 43) | interface DataroomCardProps { function DataroomCard (line 47) | function DataroomCard({ dataroom }: DataroomCardProps) { FILE: components/datarooms/dataroom-document-card.tsx type DocumentsCardProps (line 47) | type DocumentsCardProps = { function DataroomDocumentCard (line 55) | function DataroomDocumentCard({ FILE: components/datarooms/dataroom-items-list.tsx type FolderOrDocument (line 62) | type FolderOrDocument = function DataroomItemsList (line 66) | function DataroomItemsList({ FILE: components/datarooms/dataroom-trial-modal.tsx function DataroomTrialModal (line 36) | function DataroomTrialModal({ FILE: components/datarooms/download-progress-modal.tsx type DownloadJobStatus (line 31) | interface DownloadJobStatus { type DownloadProgressModalProps (line 46) | interface DownloadProgressModalProps { function DownloadProgressModal (line 56) | function DownloadProgressModal({ FILE: components/datarooms/edit-dataroom-document-modal.tsx type DataroomIncludeDocumentsItem (line 27) | type DataroomIncludeDocumentsItem = function updateDocNameInDocuments (line 40) | function updateDocNameInDocuments( function updateDocNameInFolderTree (line 54) | function updateDocNameInFolderTree( function updateDocNameInIncludeDocumentsTree (line 75) | function updateDocNameInIncludeDocumentsTree( function EditDataroomDocumentModal (line 105) | function EditDataroomDocumentModal({ FILE: components/datarooms/empty-dataroom.tsx function EmptyDataroom (line 3) | function EmptyDataroom() { FILE: components/datarooms/export-visits-modal.tsx type ExportStatus (line 10) | interface ExportStatus { type ExportVisitsModalProps (line 17) | interface ExportVisitsModalProps { function ExportVisitsModal (line 26) | function ExportVisitsModal({ FILE: components/datarooms/folders/selection-tree.tsx function SidebarFolderTreeSelection (line 137) | function SidebarFolderTreeSelection({ FILE: components/datarooms/folders/sidebar-tree.tsx type MixedItem (line 22) | type MixedItem = function SidebarFolderTree (line 165) | function SidebarFolderTree({ dataroomId }: { dataroomId: string }) { FILE: components/datarooms/folders/utils.ts type DataroomDocumentWithVersion (line 59) | type DataroomDocumentWithVersion = { type DataroomFolderWithDocumentsNew (line 72) | type DataroomFolderWithDocumentsNew = DataroomFolder & { FILE: components/datarooms/folders/view-tree.tsx type DataroomDocumentWithVersion (line 44) | type DataroomDocumentWithVersion = { type DataroomFolderWithDocuments (line 57) | type DataroomFolderWithDocuments = DataroomFolder & { type FolderPath (line 68) | type FolderPath = Set | null; function findFolderPath (line 70) | function findFolderPath( function ViewFolderTree (line 297) | function ViewFolderTree({ FILE: components/datarooms/groups/add-group-modal.tsx function AddGroupModal (line 22) | function AddGroupModal({ FILE: components/datarooms/groups/add-member-modal.tsx function AddGroupMemberModal (line 22) | function AddGroupMemberModal({ FILE: components/datarooms/groups/delete-group/delete-group-modal.tsx function DeleteGroupModal (line 23) | function DeleteGroupModal({ function useDeleteGroupModal (line 125) | function useDeleteGroupModal({ FILE: components/datarooms/groups/delete-group/index.tsx function DeleteGroup (line 13) | function DeleteGroup({ FILE: components/datarooms/groups/group-card-placeholder.tsx function GroupCardPlaceholder (line 9) | function GroupCardPlaceholder() { FILE: components/datarooms/groups/group-card.tsx function GroupCard (line 19) | function GroupCard({ FILE: components/datarooms/groups/group-member-table.tsx function GroupMemberTable (line 46) | function GroupMemberTable({ FILE: components/datarooms/groups/group-permissions.tsx type FileOrFolder (line 77) | type FileOrFolder = { type ItemPermission (line 92) | type ItemPermission = Record< type ColumnExtra (line 97) | type ColumnExtra = { function ExpandableTable (line 348) | function ExpandableTable({ FILE: components/datarooms/groups/set-unified-permissions-modal.tsx type GroupPermissions (line 43) | type GroupPermissions = Record; type AnnotationFormProps (line 40) | interface AnnotationFormProps { function AnnotationForm (line 48) | function AnnotationForm({ FILE: components/documents/annotations/annotation-sheet.tsx type AnnotationSheetProps (line 43) | interface AnnotationSheetProps { function AnnotationSheet (line 50) | function AnnotationSheet({ FILE: components/documents/breadcrumb.tsx function BreadcrumbComponentBase (line 17) | function BreadcrumbComponentBase({ name }: { name: string[] }) { FILE: components/documents/delete-folder-modal.tsx type TSelectedDataroom (line 11) | type TSelectedDataroom = { id: string; name: string } | null; function DeleteFolderModal (line 13) | function DeleteFolderModal({ FILE: components/documents/document-card.tsx type DocumentsCardProps (line 48) | type DocumentsCardProps = { function DocumentsCard (line 55) | function DocumentsCard({ FILE: components/documents/document-header.tsx function DocumentHeader (line 71) | function DocumentHeader({ FILE: components/documents/document-preview-button.tsx type DocumentPreviewButtonProps (line 10) | interface DocumentPreviewButtonProps { function DocumentPreviewButton (line 26) | function DocumentPreviewButton({ function isDocumentProcessing (line 117) | function isDocumentProcessing(primaryVersion?: { FILE: components/documents/document-preview-modal.tsx type DocumentPreviewModalProps (line 14) | interface DocumentPreviewModalProps { function DocumentPreviewModal (line 20) | function DocumentPreviewModal({ FILE: components/documents/document-stats-placeholder.tsx type DocumentStatsPlaceholderProps (line 8) | interface DocumentStatsPlaceholderProps { function DocumentStatsPlaceholder (line 13) | function DocumentStatsPlaceholder({ FILE: components/documents/documents-list.tsx type Upload (line 59) | type Upload = { type File (line 65) | type File = { function DocumentsList (line 70) | function DocumentsList({ FILE: components/documents/drag-and-drop/draggable-item.tsx type DraggableItemProps (line 9) | interface DraggableItemProps { function DraggableItem (line 18) | function DraggableItem({ FILE: components/documents/drag-and-drop/droppable-folder.tsx type DroppableFolderProps (line 7) | interface DroppableFolderProps { function DroppableFolder (line 14) | function DroppableFolder({ FILE: components/documents/empty-document.tsx function EmptyDocuments (line 6) | function EmptyDocuments({ FILE: components/documents/export-visits-modal.tsx type ExportStatus (line 11) | interface ExportStatus { type ExportVisitsModalProps (line 18) | interface ExportVisitsModalProps { function ExportVisitsModal (line 24) | function ExportVisitsModal({ FILE: components/documents/file-process-status-bar.tsx constant QUEUED_MESSAGES (line 10) | const QUEUED_MESSAGES = [ function FileProcessStatusBar (line 17) | function FileProcessStatusBar({ FILE: components/documents/filters/sort-button.tsx function SortButton (line 27) | function SortButton() { FILE: components/documents/folder-card.tsx type FolderCardProps (line 47) | type FolderCardProps = { function FolderCard (line 59) | function FolderCard({ FILE: components/documents/hidden-document-card.tsx type HiddenDocumentCardProps (line 33) | type HiddenDocumentCardProps = { function HiddenDocumentCard (line 40) | function HiddenDocumentCard({ FILE: components/documents/hidden-documents-list.tsx function HiddenDocumentsList (line 29) | function HiddenDocumentsList({ FILE: components/documents/hidden-folder-card.tsx type HiddenFolderCardProps (line 29) | type HiddenFolderCardProps = { function HiddenFolderCard (line 37) | function HiddenFolderCard({ FILE: components/documents/link-document-indicator.tsx type LinkDocumentIndicatorProps (line 25) | interface LinkDocumentIndicatorProps { function LinkDocumentIndicator (line 31) | function LinkDocumentIndicator({ FILE: components/documents/loading-document.tsx function LoadingDocuments (line 3) | function LoadingDocuments({ count }: { count: number }) { FILE: components/documents/move-folder-modal.tsx type TSelectedFolder (line 22) | type TSelectedFolder = { function MoveToFolderModal (line 28) | function MoveToFolderModal({ FILE: components/documents/notion-accessibility-indicator.tsx type NotionAccessibilityIndicatorProps (line 29) | interface NotionAccessibilityIndicatorProps { type AccessibilityStatus (line 35) | interface AccessibilityStatus { function NotionAccessibilityIndicator (line 43) | function NotionAccessibilityIndicator({ FILE: components/documents/pagination.tsx type PaginationProps (line 18) | interface PaginationProps { function Pagination (line 30) | function Pagination({ FILE: components/documents/preview-viewers/preview-excel-viewer.tsx type PreviewExcelViewerProps (line 6) | interface PreviewExcelViewerProps { function PreviewExcelViewer (line 11) | function PreviewExcelViewer({ FILE: components/documents/preview-viewers/preview-image-viewer.tsx type PreviewImageViewerProps (line 6) | interface PreviewImageViewerProps { function PreviewImageViewer (line 11) | function PreviewImageViewer({ FILE: components/documents/preview-viewers/preview-pages-viewer.tsx constant PRELOAD_RADIUS (line 10) | const PRELOAD_RADIUS = 5; type PreviewPagesViewerProps (line 12) | interface PreviewPagesViewerProps { function PreviewPagesViewer (line 18) | function PreviewPagesViewer({ FILE: components/documents/preview-viewers/preview-viewer.tsx type PreviewViewerProps (line 9) | interface PreviewViewerProps { function PreviewViewer (line 14) | function PreviewViewer({ documentData, onClose }: PreviewViewerProps) { FILE: components/documents/stats-card.tsx function StatsCard (line 9) | function StatsCard({ FILE: components/documents/stats-chart-dummy.tsx function StatsChartDummy (line 3) | function StatsChartDummy({ FILE: components/documents/stats-chart.tsx function StatsChart (line 9) | function StatsChart({ FILE: components/documents/stats-element.tsx type Stat (line 3) | interface Stat { type StatsElementProps (line 9) | interface StatsElementProps { function StatsElement (line 14) | function StatsElement({ stat, statIdx }: StatsElementProps) { FILE: components/documents/video-analytics.tsx type VideoAnalyticsProps (line 20) | interface VideoAnalyticsProps { function VideoAnalytics (line 26) | function VideoAnalytics({ FILE: components/documents/video-chart-placeholder.tsx function VideoChartPlaceholder (line 10) | function VideoChartPlaceholder({ FILE: components/documents/video-stats-placeholder.tsx type VideoStatsPlaceholderProps (line 5) | interface VideoStatsPlaceholderProps { function VideoStatsPlaceholder (line 10) | function VideoStatsPlaceholder({ FILE: components/domains/add-domain-modal.tsx type DomainStatus (line 40) | type DomainStatus = constant STATUS_CONFIG (line 48) | const STATUS_CONFIG: Record< function AddDomainModal (line 93) | function AddDomainModal({ FILE: components/domains/delete-domain-modal.tsx function DeleteDomainModal (line 19) | function DeleteDomainModal({ function useDeleteDomainModal (line 143) | function useDeleteDomainModal({ FILE: components/domains/domain-card.tsx function DomainCard (line 36) | function DomainCard({ FILE: components/domains/domain-configuration.tsx function DomainConfiguration (line 12) | function DomainConfiguration({ FILE: components/domains/use-domain-status.ts function useDomainStatus (line 12) | function useDomainStatus({ FILE: components/emails/custom-domain-setup.tsx function CustomDomainSetup (line 19) | function CustomDomainSetup({ FILE: components/emails/dataroom-digest-notification.tsx type DocumentChange (line 16) | type DocumentChange = { function DataroomDigestNotification (line 20) | function DataroomDigestNotification({ FILE: components/emails/dataroom-notification.tsx function DataroomNotification (line 16) | function DataroomNotification({ FILE: components/emails/dataroom-trial-24h.tsx type TrialEndReminderEmail (line 19) | interface TrialEndReminderEmail { FILE: components/emails/dataroom-trial-end.tsx type DataroomTrialEnd (line 19) | interface DataroomTrialEnd { FILE: components/emails/dataroom-trial-welcome.tsx type WelcomeEmailProps (line 5) | interface WelcomeEmailProps { FILE: components/emails/dataroom-upload-notification.tsx function DataroomUploadNotification (line 17) | function DataroomUploadNotification({ FILE: components/emails/deleted-domain.tsx function DomainDeleted (line 18) | function DomainDeleted({ FILE: components/emails/download-ready.tsx function formatExpirationTime (line 15) | function formatExpirationTime(expiresAt?: string): string { function DownloadReady (line 32) | function DownloadReady({ FILE: components/emails/email-updated.tsx function EmailUpdated (line 16) | function EmailUpdated({ FILE: components/emails/export-ready.tsx function ExportReady (line 16) | function ExportReady({ FILE: components/emails/hundred-views-congrats.tsx type HundredViewsCongratsEmailProps (line 10) | interface HundredViewsCongratsEmailProps { FILE: components/emails/installed-integration-notification.tsx function SlackIntegrationNotification (line 18) | function SlackIntegrationNotification({ FILE: components/emails/invalid-domain.tsx function InvalidDomain (line 19) | function InvalidDomain({ FILE: components/emails/otp-verification.tsx function OtpEmailVerification (line 15) | function OtpEmailVerification({ FILE: components/emails/slack-integration.tsx type SlackIntegrationEmailProps (line 16) | interface SlackIntegrationEmailProps { FILE: components/emails/team-invitation.tsx function TeamInvitation (line 18) | function TeamInvitation({ FILE: components/emails/thousand-views-congrats.tsx type ThousandViewsCongratsEmailProps (line 13) | interface ThousandViewsCongratsEmailProps { FILE: components/emails/upgrade-one-month-checkin.tsx type UpgradeCheckinEmailProps (line 12) | interface UpgradeCheckinEmailProps { FILE: components/emails/upgrade-personal-welcome.tsx type UpgradePersonalEmailProps (line 12) | interface UpgradePersonalEmailProps { FILE: components/emails/upgrade-plan.tsx type UpgradePlanEmailProps (line 19) | interface UpgradePlanEmailProps { FILE: components/emails/upgrade-six-month-checkin.tsx type SixMonthMilestoneEmailProps (line 12) | interface SixMonthMilestoneEmailProps { FILE: components/emails/verification-email-change.tsx type ConfirmEmailChangeProps (line 16) | interface ConfirmEmailChangeProps { function ConfirmEmailChange (line 22) | function ConfirmEmailChange({ FILE: components/emails/viewed-dataroom-paused.tsx function ViewedDataroomPausedEmail (line 18) | function ViewedDataroomPausedEmail({ FILE: components/emails/viewed-dataroom.tsx function ViewedDataroom (line 17) | function ViewedDataroom({ FILE: components/emails/viewed-document-paused.tsx function ViewedDocumentPausedEmail (line 18) | function ViewedDocumentPausedEmail({ FILE: components/emails/viewed-document.tsx function ViewedDocument (line 17) | function ViewedDocument({ FILE: components/emails/welcome.tsx type WelcomeEmailProps (line 19) | interface WelcomeEmailProps { FILE: components/emails/year-in-review-papermark.tsx type PapermarkYearInReviewEmailProps (line 20) | interface PapermarkYearInReviewEmailProps { function PapermarkYearInReviewEmail (line 35) | function PapermarkYearInReviewEmail({ FILE: components/folders/add-folder-modal.tsx function AddFolderModal (line 37) | function AddFolderModal({ FILE: components/folders/edit-folder-modal.tsx function EditFolderModal (line 31) | function EditFolderModal({ FILE: components/folders/folder-color-picker.tsx type FolderColorPickerProps (line 10) | interface FolderColorPickerProps { function FolderColorPicker (line 15) | function FolderColorPicker({ value, onChange }: FolderColorPickerProps) { type FolderColorDotProps (line 91) | interface FolderColorDotProps { function FolderColorDot (line 96) | function FolderColorDot({ colorId, className }: FolderColorDotProps) { FILE: components/folders/folder-icon-picker.tsx type FolderIconPickerProps (line 20) | interface FolderIconPickerProps { function FolderIconPicker (line 26) | function FolderIconPicker({ type FolderIconPreviewProps (line 71) | interface FolderIconPreviewProps { function FolderIconPreview (line 78) | function FolderIconPreview({ constant COLOR_HEX_VALUES (line 101) | const COLOR_HEX_VALUES: Record = { type FolderIconColorPickerProps (line 112) | interface FolderIconColorPickerProps { function FolderIconColorPicker (line 119) | function FolderIconColorPicker({ FILE: components/gtm-component.tsx constant GTM_ID (line 3) | const GTM_ID = process.env.NEXT_PUBLIC_GTM_ID; function GTMComponent (line 5) | function GTMComponent() { FILE: components/hooks/use-optimistic-update.ts function useOptimisticUpdate (line 6) | function useOptimisticUpdate( FILE: components/hooks/useLastUsed.tsx type LoginType (line 8) | type LoginType = "passkey" | "google" | "credentials" | "linkedin"; function useLastUsed (line 10) | function useLastUsed() { FILE: components/layouts/app.tsx constant DATAROOM_SIDEBAR_COOKIE_NAME (line 23) | const DATAROOM_SIDEBAR_COOKIE_NAME = "sidebar:dataroom-state"; function getInitialSidebarState (line 26) | function getInitialSidebarState(isDataroom: boolean): boolean { function AppLayout (line 48) | function AppLayout({ children }: { children: React.ReactNode }) { FILE: components/layouts/breadcrumb.tsx constant FOLDERS_TO_DISPLAY (line 29) | const FOLDERS_TO_DISPLAY = 1; FILE: components/layouts/trial-banner.tsx function TrialBanner (line 20) | function TrialBanner() { function TrialBannerComponent (line 40) | function TrialBannerComponent({ FILE: components/links/delete-link-modal.tsx function DeleteLinkModal (line 25) | function DeleteLinkModal({ function useDeleteLinkModal (line 199) | function useDeleteLinkModal({ FILE: components/links/embed-code-modal.tsx type EmbedCodeModalProps (line 14) | interface EmbedCodeModalProps { function EmbedCodeModal (line 21) | function EmbedCodeModal({ FILE: components/links/link-active-controls.tsx type LinkSetting (line 6) | type LinkSetting = { constant LINK_SETTINGS (line 12) | const LINK_SETTINGS: LinkSetting[] = [ function countActiveSettings (line 71) | function countActiveSettings(link: LinkWithViews): number { type LinkActiveControlsProps (line 75) | interface LinkActiveControlsProps { function LinkActiveControls (line 80) | function LinkActiveControls({ FILE: components/links/link-sheet/agreement-panel/index.tsx function AgreementSheet (line 48) | function AgreementSheet({ FILE: components/links/link-sheet/agreement-section.tsx function AgreementSection (line 22) | function AgreementSection({ FILE: components/links/link-sheet/ai-agents-section.tsx function AIAgentsSection (line 10) | function AIAgentsSection({ FILE: components/links/link-sheet/allow-download-section.tsx function AllowDownloadSection (line 6) | function AllowDownloadSection({ FILE: components/links/link-sheet/allow-list-section.tsx function AllowListSection (line 24) | function AllowListSection({ FILE: components/links/link-sheet/allow-notification-section.tsx function AllowNotificationSection (line 6) | function AllowNotificationSection({ FILE: components/links/link-sheet/custom-fields-panel/custom-field.tsx type CustomFieldProps (line 19) | interface CustomFieldProps { FILE: components/links/link-sheet/custom-fields-panel/index.tsx type CustomFieldData (line 22) | type CustomFieldData = Omit< function CustomFieldsPanel (line 29) | function CustomFieldsPanel({ FILE: components/links/link-sheet/custom-fields-section.tsx function CustomFieldsSection (line 17) | function CustomFieldsSection({ FILE: components/links/link-sheet/dataroom-link-sheet.tsx type ItemPermission (line 8) | type ItemPermission = ItemPermissionEE; function DataroomLinkSheet (line 10) | function DataroomLinkSheet(props: any) { FILE: components/links/link-sheet/deny-list-section.tsx function DenyListSection (line 15) | function DenyListSection({ FILE: components/links/link-sheet/domain-section.tsx function DomainSection (line 45) | function DomainSection({ FILE: components/links/link-sheet/email-authentication-section.tsx function EmailAuthenticationSection (line 7) | function EmailAuthenticationSection({ FILE: components/links/link-sheet/email-protection-section.tsx function EmailProtectionSection (line 6) | function EmailProtectionSection({ FILE: components/links/link-sheet/expiration-section.tsx function ExpirationSection (line 14) | function ExpirationSection({ FILE: components/links/link-sheet/expirationIn-section.tsx function ExpirationInSection (line 13) | function ExpirationInSection({ FILE: components/links/link-sheet/feedback-section.tsx function FeedbackSection (line 6) | function FeedbackSection({ FILE: components/links/link-sheet/index-file-section.tsx function IndexFileSection (line 7) | function IndexFileSection({ FILE: components/links/link-sheet/index.tsx type DEFAULT_LINK_TYPE (line 101) | type DEFAULT_LINK_TYPE = { function LinkSheet (line 146) | function LinkSheet({ FILE: components/links/link-sheet/link-item.tsx function LinkItem (line 15) | function LinkItem({ FILE: components/links/link-sheet/link-options.tsx type LinkUpgradeOptions (line 42) | type LinkUpgradeOptions = { FILE: components/links/link-sheet/link-success-sheet.tsx type LinkSuccessSheetProps (line 33) | interface LinkSuccessSheetProps { function LinkSuccessSheet (line 41) | function LinkSuccessSheet({ FILE: components/links/link-sheet/og-section.tsx function OGSection (line 20) | function OGSection({ FILE: components/links/link-sheet/password-section.tsx function PasswordSection (line 14) | function PasswordSection({ FILE: components/links/link-sheet/permissions-sheet.tsx function PermissionsSheet (line 5) | function PermissionsSheet(props: any) { FILE: components/links/link-sheet/pro-banner-section.tsx function ProBannerSection (line 7) | function ProBannerSection({ FILE: components/links/link-sheet/question-section.tsx function QuestionSection (line 21) | function QuestionSection({ FILE: components/links/link-sheet/screenshot-protection-section.tsx function ScreenshotProtectionSection (line 7) | function ScreenshotProtectionSection({ FILE: components/links/link-sheet/tags/tag-badge.tsx function TagBadge (line 6) | function TagBadge({ constant COLORS_LIST (line 54) | const COLORS_LIST: { color: TagColorProps; css: string }[] = [ function randomBadgeColor (line 85) | function randomBadgeColor() { FILE: components/links/link-sheet/tags/tag-details.tsx function useOrganizedTags (line 15) | function useOrganizedTags(tags: LinkWithViews["tags"]) { function TagColumn (line 37) | function TagColumn({ function TagsTooltip (line 67) | function TagsTooltip({ function TagButton (line 90) | function TagButton({ FILE: components/links/link-sheet/tags/tag-section.tsx function getTagOption (line 21) | function getTagOption(tag: TagProps) { function TagSection (line 35) | function TagSection({ FILE: components/links/link-sheet/upload-section/index.tsx function FolderSelectionModal (line 28) | function FolderSelectionModal({ function UploadSection (line 131) | function UploadSection({ FILE: components/links/link-sheet/watermark-panel/index.tsx type WatermarkConfigSheetProps (line 36) | interface WatermarkConfigSheetProps { function WatermarkConfigSheet (line 43) | function WatermarkConfigSheet({ FILE: components/links/link-sheet/watermark-section.tsx function WatermarkSection (line 19) | function WatermarkSection({ FILE: components/links/link-sheet/welcome-message-section.tsx constant MAX_WELCOME_MESSAGE_LENGTH (line 14) | const MAX_WELCOME_MESSAGE_LENGTH = 80; function WelcomeMessageSection (line 16) | function WelcomeMessageSection({ FILE: components/links/links-table.tsx function LinksTable (line 248) | function LinksTable({ FILE: components/links/links-visitors.tsx function LinksVisitors (line 14) | function LinksVisitors({ FILE: components/navigation-menu.tsx type Props (line 17) | type Props = { FILE: components/profile-menu.tsx type ProfileMenuProps (line 35) | type ProfileMenuProps = { type Article (line 41) | interface Article { FILE: components/profile-search-trigger.tsx type ProfileSearchTriggerProps (line 5) | interface ProfileSearchTriggerProps { function ProfileSearchTrigger (line 9) | function ProfileSearchTrigger({ onClick }: ProfileSearchTriggerProps) { FILE: components/search-box.tsx type SearchBoxProps (line 22) | type SearchBoxProps = { function SearchBoxPersisted (line 126) | function SearchBoxPersisted({ FILE: components/search-command.tsx type Article (line 18) | interface Article { type SearchCommandProps (line 26) | interface SearchCommandProps extends DialogProps { function SearchCommand (line 36) | function SearchCommand({ FILE: components/settings/delete-team-modal.tsx function DeleteTeamModal (line 24) | function DeleteTeamModal({ function useDeleteTeamModal (line 162) | function useDeleteTeamModal() { FILE: components/settings/delete-team.tsx function DeleteTeam (line 13) | function DeleteTeam() { FILE: components/settings/global-block-list-form.tsx function GlobalBlockListForm (line 20) | function GlobalBlockListForm() { FILE: components/settings/ignored-domains-form.tsx function IgnoredDomainsForm (line 20) | function IgnoredDomainsForm() { FILE: components/settings/og-preview.tsx function Preview (line 12) | function Preview({ FILE: components/settings/settings-header.tsx function SettingsHeader (line 6) | function SettingsHeader() { FILE: components/settings/slack-settings-skeleton.tsx function SlackSettingsSkeleton (line 3) | function SlackSettingsSkeleton() { FILE: components/settings/survey-settings.tsx constant DEAL_TYPE_OPTIONS (line 18) | const DEAL_TYPE_OPTIONS = [ constant DEAL_SIZE_OPTIONS (line 27) | const DEAL_SIZE_OPTIONS = [ function SurveySettings (line 35) | function SurveySettings() { FILE: components/settings/timezone-selector.tsx constant TIMEZONE_OPTIONS (line 27) | const TIMEZONE_OPTIONS = [ function TimezoneSelector (line 73) | function TimezoneSelector() { FILE: components/shared/dealflow-popup.tsx constant DEAL_TYPE_OPTIONS (line 9) | const DEAL_TYPE_OPTIONS = [ constant DEAL_SIZE_OPTIONS (line 18) | const DEAL_SIZE_OPTIONS = [ function DealflowPopup (line 26) | function DealflowPopup() { FILE: components/shared/icons/advanced-sheet.tsx function AdvancedSheet (line 1) | function AdvancedSheet({ className }: { className?: string }) { FILE: components/shared/icons/alert-circle.tsx function AlertCircle (line 1) | function AlertCircle({ FILE: components/shared/icons/arrow-up.tsx function ArrowUp (line 1) | function ArrowUp({ className }: { className?: string }) { FILE: components/shared/icons/badge-check.tsx function BadgeCheck (line 1) | function BadgeCheck({ className }: { className?: string }) { FILE: components/shared/icons/bar-chart.tsx function BarChart (line 1) | function BarChart({ className }: { className?: string }) { FILE: components/shared/icons/check-cirlce-2.tsx function CheckCircle2 (line 1) | function CheckCircle2({ FILE: components/shared/icons/check.tsx function Check (line 1) | function Check({ className }: { className?: string }) { FILE: components/shared/icons/chevron-down.tsx function ChevronDown (line 1) | function ChevronDown({ className }: { className?: string }) { FILE: components/shared/icons/chevron-right.tsx function ChevronRight (line 1) | function ChevronRight({ className }: { className?: string }) { FILE: components/shared/icons/chevron-up.tsx function ChevronUp (line 1) | function ChevronUp({ className }: { className?: string }) { FILE: components/shared/icons/circle.tsx function Circle (line 1) | function Circle({ className }: { className?: string }) { FILE: components/shared/icons/cloud-download-off.tsx function CloudDownloadOff (line 1) | function CloudDownloadOff({ FILE: components/shared/icons/copy-right.tsx function CopyRight (line 1) | function CopyRight({ className }: { className?: string }) { FILE: components/shared/icons/copy.tsx function Copy (line 1) | function Copy({ className }: { className?: string }) { FILE: components/shared/icons/external-link.tsx function CheckCircle2 (line 1) | function CheckCircle2({ className }: { className?: string }) { FILE: components/shared/icons/eye-off.tsx function EyeOff (line 3) | function EyeOff({ FILE: components/shared/icons/eye.tsx function Eye (line 3) | function Eye({ className, ...props }: SVGProps) { FILE: components/shared/icons/facebook.tsx function Facebook (line 1) | function Facebook({ FILE: components/shared/icons/file-up.tsx function FileUp (line 1) | function FileUp({ className }: { className?: string }) { FILE: components/shared/icons/files/cad.tsx function CadIcon (line 1) | function CadIcon({ FILE: components/shared/icons/files/docs.tsx function DocsIcon (line 1) | function DocsIcon({ FILE: components/shared/icons/files/image.tsx function ImageFileIcon (line 1) | function ImageFileIcon({ FILE: components/shared/icons/files/map.tsx function MapIcon (line 1) | function MapIcon({ FILE: components/shared/icons/files/notion.tsx function NotionIcon (line 5) | function NotionIcon( FILE: components/shared/icons/files/pdf.tsx function PdfIcon (line 1) | function PdfIcon({ FILE: components/shared/icons/files/sheet.tsx function SheetIcon (line 1) | function SheetIcon({ FILE: components/shared/icons/files/slides.tsx function SlidesIcon (line 1) | function SlidesIcon({ FILE: components/shared/icons/files/video.tsx function VideoIcon (line 1) | function VideoIcon({ FILE: components/shared/icons/folder.tsx function Folder (line 1) | function Folder({ className }: { className?: string }) { FILE: components/shared/icons/github.tsx function GitHubIcon (line 3) | function GitHubIcon( FILE: components/shared/icons/globe.tsx function Globe (line 1) | function Globe({ className }: { className?: string }) { FILE: components/shared/icons/google.tsx function Google (line 1) | function Google({ className }: { className?: string }) { FILE: components/shared/icons/grip-vertical.tsx function GripVertical (line 1) | function GripVertical({ className }: { className?: string }) { FILE: components/shared/icons/home.tsx function Home (line 1) | function Home({ className }: { className?: string }) { FILE: components/shared/icons/index.tsx type Icon (line 7) | type Icon = LucideIcon | ComponentType>; FILE: components/shared/icons/linkedin.tsx function LinkedIn (line 1) | function LinkedIn({ FILE: components/shared/icons/menu.tsx function Menu (line 1) | function Menu({ className }: { className?: string }) { FILE: components/shared/icons/moon.tsx function Moon (line 1) | function Moon({ className }: { className?: string }) { FILE: components/shared/icons/more-horizontal.tsx function MoreHorizontal (line 1) | function MoreHorizontal({ className }: { className?: string }) { FILE: components/shared/icons/more-vertical.tsx function MoreVertical (line 1) | function MoreVertical({ className }: { className?: string }) { FILE: components/shared/icons/papermark-sparkle.tsx function PapermarkSparkle (line 1) | function PapermarkSparkle({ FILE: components/shared/icons/passkey.tsx function Passkey (line 1) | function Passkey({ className }: { className?: string }) { FILE: components/shared/icons/pie-chart.tsx function PieChart (line 1) | function PieChart({ className }: { className?: string }) { FILE: components/shared/icons/portrait-landscape.tsx function PortraitLandscape (line 1) | function PortraitLandscape({ FILE: components/shared/icons/producthunt.tsx function ProductHuntIcon (line 3) | function ProductHuntIcon( FILE: components/shared/icons/search.tsx function Search (line 1) | function Search({ className }: { className?: string }) { FILE: components/shared/icons/settings.tsx function Settings (line 1) | function Settings({ className }: { className?: string }) { FILE: components/shared/icons/slack-icon.tsx type SlackIconProps (line 3) | interface SlackIconProps { function SlackIcon (line 8) | function SlackIcon({ className = "", size = 24 }: SlackIconProps) { FILE: components/shared/icons/sparkle.tsx function Sparkle (line 1) | function Sparkle({ className }: { className?: string }) { FILE: components/shared/icons/sun.tsx function Sun (line 1) | function Sun({ className }: { className?: string }) { FILE: components/shared/icons/twitter.tsx function Twitter (line 5) | function Twitter({ className }: { className?: string }) { FILE: components/shared/icons/user-round.tsx function UserRound (line 1) | function UserRound({ className }: { className?: string }) { FILE: components/shared/icons/x-circle.tsx function XCircle (line 1) | function XCircle({ FILE: components/shared/icons/x.tsx function X (line 1) | function X({ className }: { className?: string }) { FILE: components/sidebar-folders.tsx function SidebarFolderTree (line 178) | function SidebarFolderTree() { function SidebarFolderTreeSelection (line 230) | function SidebarFolderTreeSelection({ FILE: components/sidebar/app-sidebar.tsx function AppSidebar (line 50) | function AppSidebar({ ...props }: React.ComponentProps) { function UsageProgress (line 357) | function UsageProgress(data: { FILE: components/sidebar/banners/slack-banner.tsx function SlackBanner (line 13) | function SlackBanner({ FILE: components/sidebar/nav-main.tsx type NavItem (line 32) | interface NavItem { function NavMain (line 49) | function NavMain({ items }: { items: NavItem[] }) { FILE: components/sidebar/nav-user.tsx type Article (line 46) | interface Article { function NavUser (line 54) | function NavUser() { FILE: components/sidebar/team-switcher.tsx function TeamSwitcher (line 33) | function TeamSwitcher({ FILE: components/tab-menu.tsx type Props (line 10) | type Props = { FILE: components/tags/add-tag-modal.tsx function AddTagsModal (line 27) | function AddTagsModal({ FILE: components/teams/add-team-member-modal.tsx function AddTeamMembers (line 24) | function AddTeamMembers({ FILE: components/teams/add-team-modal.tsx type AddTeamModalProps (line 23) | interface AddTeamModalProps { function AddTeamModal (line 28) | function AddTeamModal({ children, setCurrentTeam }: AddTeamModalProps) { FILE: components/teams/delete-team-modal.tsx function DeleteTeamModal (line 23) | function DeleteTeamModal({ children }: { children: React.ReactNode }) { FILE: components/theme-provider.tsx function ThemeProvider (line 10) | function ThemeProvider({ children, ...props }: ThemeProviderProps) { FILE: components/theme-toggle.tsx function ModeToggle (line 19) | function ModeToggle() { FILE: components/ui/alert-dialog.tsx type SingleAlertDialogProps (line 138) | interface SingleAlertDialogProps { FILE: components/ui/badge.tsx type BadgeProps (line 40) | interface BadgeProps function Badge (line 44) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: components/ui/bar-list.tsx type BarListProps (line 7) | interface BarListProps { function BarList (line 20) | function BarList({ function LineItem (line 41) | function LineItem({ FILE: components/ui/button-group.tsx function ButtonGroup (line 24) | function ButtonGroup({ function ButtonGroupText (line 40) | function ButtonGroupText({ function ButtonGroupSeparator (line 60) | function ButtonGroupSeparator({ FILE: components/ui/button.tsx type ButtonProps (line 43) | interface ButtonProps FILE: components/ui/calendar.tsx type CalendarProps (line 10) | type CalendarProps = React.ComponentProps; function Calendar (line 12) | function Calendar({ FILE: components/ui/carousel.tsx type CarouselApi (line 12) | type CarouselApi = UseEmblaCarouselType[1]; type UseCarouselParameters (line 13) | type UseCarouselParameters = Parameters; type CarouselOptions (line 14) | type CarouselOptions = UseCarouselParameters[0]; type CarouselPlugin (line 15) | type CarouselPlugin = UseCarouselParameters[1]; type CarouselProps (line 17) | type CarouselProps = { type CarouselContextProps (line 24) | type CarouselContextProps = { function useCarousel (line 35) | function useCarousel() { FILE: components/ui/command.tsx type CommandDialogProps (line 26) | interface CommandDialogProps extends DialogProps {} FILE: components/ui/copy-button.tsx function CopyButton (line 25) | function CopyButton({ FILE: components/ui/devices.tsx function Chrome (line 3) | function Chrome({ className }: { className: string }) { function Safari (line 51) | function Safari({ className }: { className: string }) { function Apple (line 88) | function Apple({ className }: { className: string }) { FILE: components/ui/feature-preview.tsx type FeaturePreviewProps (line 17) | interface FeaturePreviewProps { function FeaturePreview (line 63) | function FeaturePreview({ FILE: components/ui/file-upload.tsx type AcceptedFileFormats (line 10) | type AcceptedFileFormats = "any" | "images" | "csv"; type FileUploadReadFileProps (line 42) | type FileUploadReadFileProps = type FileUploadProps (line 58) | type FileUploadProps = FileUploadReadFileProps & { function FileUpload (line 110) | function FileUpload({ FILE: components/ui/form-hook.tsx type FormFieldContextValue (line 22) | type FormFieldContextValue< type FormItemContextValue (line 69) | type FormItemContextValue = { FILE: components/ui/form.tsx function Form (line 28) | function Form({ FILE: components/ui/input-group.tsx function InputGroup (line 9) | function InputGroup({ className, ...props }: React.ComponentProps<"div">) { function InputGroupAddon (line 58) | function InputGroupAddon({ function InputGroupButton (line 98) | function InputGroupButton({ function InputGroupText (line 117) | function InputGroupText({ className, ...props }: React.ComponentProps<"s... function InputGroupInput (line 129) | function InputGroupInput({ function InputGroupTextarea (line 145) | function InputGroupTextarea({ FILE: components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: components/ui/loading-spinner.tsx function LoadingSpinner (line 5) | function LoadingSpinner({ className }: { className?: string }) { FILE: components/ui/modal.tsx function Modal (line 13) | function Modal({ FILE: components/ui/multi-select-v2.tsx type MultiSelectProps (line 55) | interface MultiSelectProps< type ComboboxOption (line 131) | type ComboboxOption< FILE: components/ui/nextra-filetree.tsx function useIndent (line 31) | function useIndent() { function usePrefersLightText (line 35) | function usePrefersLightText() { type FolderProps (line 39) | interface FolderProps { type FileProps (line 52) | interface FileProps { function Tree (line 59) | function Tree({ function Ident (line 80) | function Ident(): ReactElement { FILE: components/ui/pagination.tsx type PaginationLinkProps (line 39) | type PaginationLinkProps = { FILE: components/ui/phone-input.tsx type PhoneInputProps (line 12) | type PhoneInputProps = Omit< type CountrySelectProps (line 69) | type CountrySelectProps = { FILE: components/ui/responsive-button.tsx type ResponsiveButtonProps (line 13) | interface ResponsiveButtonProps extends ButtonProps { FILE: components/ui/rich-text-editor.tsx function isValidYouTubeUrl (line 44) | function isValidYouTubeUrl(url: string): boolean { type RichTextEditorProps (line 94) | interface RichTextEditorProps { function RichTextEditor (line 101) | function RichTextEditor({ FILE: components/ui/sheet.tsx type SheetContentProps (line 57) | interface SheetContentProps FILE: components/ui/sidebar.tsx constant SIDEBAR_COOKIE_NAME (line 68) | const SIDEBAR_COOKIE_NAME = "sidebar:state"; constant SIDEBAR_COOKIE_MAX_AGE (line 69) | const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; constant SIDEBAR_WIDTH (line 70) | const SIDEBAR_WIDTH = "16rem"; constant SIDEBAR_WIDTH_MOBILE (line 71) | const SIDEBAR_WIDTH_MOBILE = "18rem"; constant SIDEBAR_WIDTH_ICON (line 72) | const SIDEBAR_WIDTH_ICON = "3rem"; constant SIDEBAR_KEYBOARD_SHORTCUT (line 73) | const SIDEBAR_KEYBOARD_SHORTCUT = "["; type SidebarContext (line 75) | type SidebarContext = { function useSidebar (line 87) | function useSidebar() { FILE: components/ui/single-select.tsx type SingleSelectProps (line 27) | interface SingleSelectProps type SingleSelectOption (line 86) | type SingleSelectOption = { FILE: components/ui/skeleton.tsx function Skeleton (line 3) | function Skeleton({ FILE: components/ui/smart-date-time-picker.tsx type SmartDateTimePickerProps (line 10) | interface SmartDateTimePickerProps { function SmartDateTimePicker (line 24) | function SmartDateTimePicker({ FILE: components/ui/sonner.tsx type ToasterProps (line 6) | type ToasterProps = React.ComponentProps; FILE: components/ui/status-badge.tsx type BadgeProps (line 37) | interface BadgeProps function StatusBadge (line 43) | function StatusBadge({ FILE: components/ui/tab-select.tsx function TabSelect (line 7) | function TabSelect({ FILE: components/ui/textarea.tsx type TextareaProps (line 5) | interface TextareaProps FILE: components/ui/timestamp-tooltip.tsx constant DAY_MS (line 23) | const DAY_MS = 24 * 60 * 60 * 1000; constant MONTH_MS (line 24) | const MONTH_MS = 30 * DAY_MS; type TimestampTooltipProps (line 26) | type TimestampTooltipProps = { function getLocalTimeZone (line 39) | function getLocalTimeZone(): string { function TimestampTooltip (line 48) | function TimestampTooltip({ function TimestampTooltipContent (line 87) | function TimestampTooltipContent({ FILE: components/ui/upgrade-button.tsx type UpgradeButtonProps (line 11) | interface UpgradeButtonProps { function UpgradeButton (line 26) | function UpgradeButton({ function createUpgradeButton (line 82) | function createUpgradeButton( FILE: components/upload-notification.tsx type UploadNotificationDrawerProps (line 14) | interface UploadNotificationDrawerProps { function UploadNotificationDrawer (line 24) | function UploadNotificationDrawer({ FILE: components/upload-zone.tsx type FileWithPaths (line 45) | interface FileWithPaths extends File { type UploadState (line 51) | interface UploadState { type RejectedFile (line 58) | interface RejectedFile { type UploadZoneProps (line 63) | interface UploadZoneProps extends React.PropsWithChildren { function UploadZone (line 85) | function UploadZone({ FILE: components/user-agent-icon.tsx function UAIcon (line 13) | function UAIcon({ FILE: components/view/access-form/access-form-theme.tsx type AccessFormTheme (line 6) | type AccessFormTheme = ReturnType; function createAccessFormTheme (line 12) | function createAccessFormTheme(accentColor: string | null | undefined) { function AccessFormThemeProvider (line 16) | function AccessFormThemeProvider({ function useAccessFormTheme (line 30) | function useAccessFormTheme() { FILE: components/view/access-form/agreement-section.tsx function AgreementSection (line 10) | function AgreementSection({ FILE: components/view/access-form/custom-fields-section.tsx function CustomFieldsSection (line 12) | function CustomFieldsSection({ FILE: components/view/access-form/email-section.tsx function EmailSection (line 19) | function EmailSection({ FILE: components/view/access-form/email-verification-form.tsx constant REGEXP_ONLY_DIGITS (line 16) | const REGEXP_ONLY_DIGITS = "^\\d+$"; function EmailVerificationMessage (line 18) | function EmailVerificationMessage({ FILE: components/view/access-form/index.tsx constant DEFAULT_ACCESS_FORM_DATA (line 18) | const DEFAULT_ACCESS_FORM_DATA = { type DEFAULT_ACCESS_FORM_TYPE (line 23) | type DEFAULT_ACCESS_FORM_TYPE = { function AccessForm (line 31) | function AccessForm({ FILE: components/view/access-form/name-section.tsx function NameSection (line 9) | function NameSection({ FILE: components/view/access-form/password-section.tsx function PasswordSection (line 12) | function PasswordSection({ FILE: components/view/annotations/annotation-panel.tsx type AnnotationPanelProps (line 25) | interface AnnotationPanelProps { function AnnotationPanel (line 35) | function AnnotationPanel({ FILE: components/view/annotations/annotation-toggle.tsx type AnnotationToggleProps (line 13) | interface AnnotationToggleProps { function AnnotationToggle (line 19) | function AnnotationToggle({ FILE: components/view/conversations/sidebar.tsx function ConversationSidebar (line 8) | function ConversationSidebar(props: ConversationSidebarProps) { FILE: components/view/dataroom/dataroom-document-view.tsx type RowData (line 24) | type RowData = { [key: string]: any }; type SheetData (line 25) | type SheetData = { type TSupportedDocumentSimpleType (line 31) | type TSupportedDocumentSimpleType = type DEFAULT_DATAROOM_DOCUMENT_VIEW_TYPE (line 34) | type DEFAULT_DATAROOM_DOCUMENT_VIEW_TYPE = { function DataroomDocumentView (line 71) | function DataroomDocumentView({ FILE: components/view/dataroom/dataroom-view.tsx type TSupportedDocumentSimpleType (line 24) | type TSupportedDocumentSimpleType = type TDocumentData (line 27) | type TDocumentData = { type DEFAULT_DATAROOM_VIEW_TYPE (line 38) | type DEFAULT_DATAROOM_VIEW_TYPE = { function DataroomView (line 51) | function DataroomView({ FILE: components/view/dataroom/document-card.tsx type DRDocument (line 29) | type DRDocument = { type DocumentsCardProps (line 39) | type DocumentsCardProps = { function DocumentCard (line 50) | function DocumentCard({ FILE: components/view/dataroom/document-upload-modal.tsx function DocumentUploadModal (line 19) | function DocumentUploadModal({ FILE: components/view/dataroom/download-otp-verification.tsx constant REGEXP_ONLY_DIGITS (line 12) | const REGEXP_ONLY_DIGITS = "^\\d+$"; type DownloadOtpVerificationProps (line 14) | interface DownloadOtpVerificationProps { constant RESEND_COOLDOWN_SECONDS (line 26) | const RESEND_COOLDOWN_SECONDS = 60; function DownloadOtpVerification (line 28) | function DownloadOtpVerification({ FILE: components/view/dataroom/downloads-panel.tsx type Job (line 17) | type Job = { constant POLL_INTERVAL_MS (line 32) | const POLL_INTERVAL_MS = 5_000; function DownloadsPanel (line 34) | function DownloadsPanel({ linkId }: { linkId: string }) { FILE: components/view/dataroom/folder-card.tsx type FolderCardProps (line 25) | type FolderCardProps = { function FolderCard (line 36) | function FolderCard({ FILE: components/view/dataroom/index-file-dialog.tsx type IndexFileDialogProps (line 25) | interface IndexFileDialogProps { function IndexFileDialog (line 34) | function IndexFileDialog({ FILE: components/view/dataroom/introduction-modal.tsx type IntroductionModalProps (line 28) | interface IntroductionModalProps { type IntroductionContextType (line 39) | interface IntroductionContextType { function IntroductionInfoButton (line 54) | function IntroductionInfoButton() { function renderInlineContent (line 84) | function renderInlineContent(nodes: any[] | undefined): React.ReactNode { function renderContent (line 123) | function renderContent(content: any): React.ReactNode { type IntroductionProviderProps (line 230) | interface IntroductionProviderProps extends IntroductionModalProps { function IntroductionProvider (line 234) | function IntroductionProvider({ function IntroductionModal (line 318) | function IntroductionModal({ FILE: components/view/dataroom/nav-dataroom.tsx constant DEFAULT_BANNER_IMAGE (line 23) | const DEFAULT_BANNER_IMAGE = "/_static/papermark-banner.png"; function DataroomNav (line 25) | function DataroomNav({ FILE: components/view/dataroom/pending-document-card.tsx type FolderInfo (line 29) | type FolderInfo = { type PendingDocumentCardProps (line 35) | type PendingDocumentCardProps = { function getFolderPath (line 48) | function getFolderPath( function PendingDocumentCard (line 66) | function PendingDocumentCard({ FILE: components/view/dataroom/viewer-download-progress-modal.tsx type ViewerDownloadProgressModalProps (line 26) | type ViewerDownloadProgressModalProps = { type Step (line 41) | type Step = "choose" | "otp" | "progress" | "complete"; type JobStatus (line 43) | interface JobStatus { function ViewerDownloadProgressModal (line 58) | function ViewerDownloadProgressModal({ FILE: components/view/document-view.tsx type RowData (line 23) | type RowData = { [key: string]: any }; type SheetData (line 24) | type SheetData = { type DEFAULT_DOCUMENT_VIEW_TYPE (line 30) | type DEFAULT_DOCUMENT_VIEW_TYPE = { function DocumentView (line 57) | function DocumentView({ FILE: components/view/link-preview.tsx type LinkPreviewProps (line 15) | interface LinkPreviewProps { function LinkPreview (line 22) | function LinkPreview({ FILE: components/view/nav.tsx type TNavData (line 52) | type TNavData = { function Nav (line 71) | function Nav({ FILE: components/view/question.tsx function Question (line 11) | function Question({ FILE: components/view/report-form.tsx function ReportForm (line 17) | function ReportForm({ FILE: components/view/toolbar.tsx function Toolbar (line 10) | function Toolbar({ FILE: components/view/view-data.tsx type TViewDocumentData (line 45) | type TViewDocumentData = Document & { function ViewData (line 57) | function ViewData({ FILE: components/view/viewer/advanced-excel-viewer.tsx function AdvancedExcelViewer (line 9) | function AdvancedExcelViewer({ FILE: components/view/viewer/away-poster.tsx type AwayPosterProps (line 9) | interface AwayPosterProps { function AwayPoster (line 16) | function AwayPoster({ FILE: components/view/viewer/dataroom-viewer.tsx type FolderOrDocument (line 102) | type FolderOrDocument = type DocumentVersion (line 106) | type DocumentVersion = { type DataroomDocument (line 115) | type DataroomDocument = { function DataroomViewer (line 145) | function DataroomViewer({ FILE: components/view/viewer/download-only-viewer.tsx function DownloadOnlyViewer (line 20) | function DownloadOnlyViewer({ FILE: components/view/viewer/excel-viewer.tsx type RowData (line 19) | type RowData = { [key: string]: any }; type SheetData (line 20) | type SheetData = { function ExcelViewer (line 26) | function ExcelViewer({ FILE: components/view/viewer/image-viewer.tsx function ImageViewer (line 19) | function ImageViewer({ FILE: components/view/viewer/pages-horizontal-viewer.tsx function PagesHorizontalViewer (line 34) | function PagesHorizontalViewer({ FILE: components/view/viewer/pages-vertical-viewer.tsx function PagesVerticalViewer (line 60) | function PagesVerticalViewer({ FILE: components/view/viewer/pdf-default-viewer.tsx function PDFViewer (line 16) | function PDFViewer(props: any) { FILE: components/view/viewer/video-player.tsx type MediaPlayerProps (line 11) | interface MediaPlayerProps { FILE: components/view/viewer/video-viewer.tsx function VideoViewer (line 12) | function VideoViewer({ FILE: components/view/viewer/viewer-surface-theme.tsx type ViewerSurfaceTextTone (line 9) | type ViewerSurfaceTextTone = "light" | "dark"; type ViewerSurfaceTheme (line 11) | type ViewerSurfaceTheme = { constant DEFAULT_VIEWER_SURFACE_THEME (line 17) | const DEFAULT_VIEWER_SURFACE_THEME: ViewerSurfaceTheme = function createViewerSurfaceTheme (line 24) | function createViewerSurfaceTheme( function ViewerSurfaceThemeProvider (line 36) | function ViewerSurfaceThemeProvider({ function useViewerSurfaceTheme (line 50) | function useViewerSurfaceTheme() { FILE: components/view/visitor-graph.tsx function formatTotalDuration (line 17) | function formatTotalDuration(totalDuration: number | null | undefined): ... function sumDurationsAndFormat (line 28) | function sumDurationsAndFormat( function ViewDurationSummary (line 38) | function ViewDurationSummary({ FILE: components/viewer-upload-component.tsx function ViewerUploadComponent (line 14) | function ViewerUploadComponent({ FILE: components/viewer-upload-zone.tsx function ViewerUploadZone (line 18) | function ViewerUploadZone({ FILE: components/visitors/contacts-document-table.tsx type ViewerView (line 36) | type ViewerView = { function ContactsDocumentsTable (line 47) | function ContactsDocumentsTable({ FILE: components/visitors/contacts-table.tsx type Viewer (line 35) | type Viewer = { function ContactsTable (line 45) | function ContactsTable({ FILE: components/visitors/data-table-pagination.tsx type DataTablePaginationProps (line 18) | interface DataTablePaginationProps { function DataTablePagination (line 23) | function DataTablePagination({ FILE: components/visitors/dataroom-view-stats.tsx function DataroomViewStats (line 34) | function DataroomViewStats({ function DocumentViewRow (line 229) | function DocumentViewRow({ function UploadRow (line 330) | function UploadRow({ upload, timestamp }: { upload: any; timestamp: Date... function DownloadRow (line 366) | function DownloadRow({ view, timestamp }: { view: any; timestamp: Date }) { function BulkDownloadRow (line 402) | function BulkDownloadRow({ FILE: components/visitors/dataroom-viewers.tsx function DataroomViewersTable (line 35) | function DataroomViewersTable({ FILE: components/visitors/dataroom-visitor-custom-fields.tsx type CustomFieldResponse (line 7) | type CustomFieldResponse = { function VisitorCustomFields (line 13) | function VisitorCustomFields({ FILE: components/visitors/dataroom-visitor-useragent.tsx function DataroomVisitorUserAgent (line 5) | function DataroomVisitorUserAgent({ viewId }: { viewId: string }) { FILE: components/visitors/dataroom-visitors-history.tsx function DataroomVisitHistory (line 24) | function DataroomVisitHistory({ FILE: components/visitors/dataroom-visitors-table.tsx function DataroomVisitorsTable (line 46) | function DataroomVisitorsTable({ FILE: components/visitors/document-view-stats.tsx function DocumentPageChart (line 10) | function DocumentPageChart({ FILE: components/visitors/visitor-chart.tsx function VisitorChart (line 11) | function VisitorChart({ FILE: components/visitors/visitor-clicks.tsx type ClickEvent (line 10) | type ClickEvent = { type ClickEventsResponse (line 20) | type ClickEventsResponse = { function VisitorClicks (line 24) | function VisitorClicks({ FILE: components/visitors/visitor-custom-fields.tsx type CustomFieldResponse (line 7) | type CustomFieldResponse = { function VisitorCustomFields (line 13) | function VisitorCustomFields({ FILE: components/visitors/visitor-group-modal.tsx type VisitorGroupLink (line 32) | type VisitorGroupLink = { type VisitorGroupDetail (line 45) | type VisitorGroupDetail = VisitorGroupWithCount & { function VisitorGroupModal (line 49) | function VisitorGroupModal({ FILE: components/visitors/visitor-groups-section.tsx type VisitorGroupLink (line 41) | type VisitorGroupLink = { type VisitorGroupDetail (line 54) | type VisitorGroupDetail = VisitorGroupWithCount & { function VisitorGroupCard (line 64) | function VisitorGroupCard({ function VisitorGroupsSection (line 363) | function VisitorGroupsSection() { FILE: components/visitors/visitor-useragent-base.tsx function decodeCity (line 5) | function decodeCity(city: string) { function VisitorUserAgentBase (line 14) | function VisitorUserAgentBase({ FILE: components/visitors/visitor-useragent-placeholder.tsx function VisitorUserAgentPlaceholder (line 8) | function VisitorUserAgentPlaceholder() { FILE: components/visitors/visitor-useragent.tsx function VisitorUserAgent (line 5) | function VisitorUserAgent({ viewId }: { viewId: string }) { FILE: components/visitors/visitor-video-chart.tsx function VisitorVideoChart (line 16) | function VisitorVideoChart({ FILE: components/visitors/visitors-table.tsx function VisitorsTable (line 69) | function VisitorsTable({ FILE: components/webhooks/webhook-events.tsx type EventListProps (line 23) | type EventListProps = PropsWithChildren<{ method pre (line 60) | pre(node) { method code (line 71) | code(node) { FILE: components/welcome/containers/link-option-container.tsx function LinkOptionContainer (line 24) | function LinkOptionContainer({ FILE: components/welcome/containers/onboarding-link-options.tsx type LinkUpgradeOptions (line 32) | type LinkUpgradeOptions = { FILE: components/welcome/containers/upload-container.tsx function UploadContainer (line 19) | function UploadContainer({ FILE: components/welcome/dataroom-ai-generate.tsx function DataroomAIGenerate (line 19) | function DataroomAIGenerate() { FILE: components/welcome/dataroom-choice.tsx function DataroomChoice (line 8) | function DataroomChoice({ dataroomId }: { dataroomId: string }) { FILE: components/welcome/dataroom-trial.tsx function DataroomTrial (line 29) | function DataroomTrial() { FILE: components/welcome/dataroom-upload.tsx function DataroomUpload (line 15) | function DataroomUpload({ dataroomId }: { dataroomId: string }) { FILE: components/welcome/dataroom.tsx function Dataroom (line 9) | function Dataroom() { FILE: components/welcome/intro.tsx function Intro (line 9) | function Intro() { FILE: components/welcome/next.tsx function Next (line 8) | function Next() { FILE: components/welcome/notion-form.tsx function NotionForm (line 35) | function NotionForm() { FILE: components/welcome/select.tsx constant DEAL_TYPE_OPTIONS (line 13) | const DEAL_TYPE_OPTIONS = [ constant DEAL_SIZE_OPTIONS (line 22) | const DEAL_SIZE_OPTIONS = [ function Select (line 30) | function Select() { FILE: components/welcome/special-upload.tsx function DeckGeneratorUpload (line 35) | function DeckGeneratorUpload() { FILE: components/welcome/upload.tsx function Upload (line 14) | function Upload() { FILE: components/yearly-recap/globe.tsx type GlobePoint (line 5) | interface GlobePoint { function Globe (line 12) | function Globe() { FILE: components/yearly-recap/yearly-recap-banner.tsx function YearlyRecapBanner (line 90) | function YearlyRecapBanner() { FILE: components/yearly-recap/yearly-recap-modal.tsx type YearlyRecapStats (line 38) | interface YearlyRecapStats { type YearlyRecapModalProps (line 63) | interface YearlyRecapModalProps { constant RECAP_GRADIENT (line 183) | const RECAP_GRADIENT = ""; function YearlyRecapModal (line 195) | function YearlyRecapModal({ function IntroSlide (line 620) | function IntroSlide({ function GlobalFootprintSlide (line 651) | function GlobalFootprintSlide({ stats }: { stats: YearlyRecapStats }) { function MinutesSlide (line 688) | function MinutesSlide({ stats }: { stats: YearlyRecapStats }) { function ViewsStatsSlide (line 734) | function ViewsStatsSlide({ stats }: { stats: YearlyRecapStats }) { function MostActiveSlide (line 776) | function MostActiveSlide({ stats }: { stats: YearlyRecapStats }) { function SummarySlide (line 813) | function SummarySlide({ stats }: { stats: YearlyRecapStats }) { function ShareOfferSlide (line 853) | function ShareOfferSlide({ stats }: { stats: YearlyRecapStats }) { FILE: context/pending-uploads-context.tsx type PendingUploadDocument (line 11) | type PendingUploadDocument = { type PendingUploadsContextType (line 28) | type PendingUploadsContextType = { FILE: context/team-context.tsx type TeamContextProps (line 13) | interface TeamContextProps { type TeamContextType (line 17) | type TeamContextType = { FILE: ee/emails/pause-resume-reminder.tsx type PauseResumeReminderEmailProps (line 15) | interface PauseResumeReminderEmailProps { function PauseResumeReminderEmail (line 26) | function PauseResumeReminderEmail({ FILE: ee/features/access-notifications/components/blocked-email-attempt.tsx function BlockedEmailAttempt (line 15) | function BlockedEmailAttempt({ FILE: ee/features/access-notifications/lib/report-denied-access-attempt.ts function reportDeniedAccessAttempt (line 7) | async function reportDeniedAccessAttempt( FILE: ee/features/ai/components/agents-settings-card.tsx type AgentsSettingsCardProps (line 30) | interface AgentsSettingsCardProps { type IndexingRun (line 38) | interface IndexingRun { function AgentsSettingsCard (line 44) | function AgentsSettingsCard({ function DataroomIndexingStatus (line 281) | function DataroomIndexingStatus({ function DataroomDocumentIndexingRow (line 352) | function DataroomDocumentIndexingRow({ FILE: ee/features/ai/components/ai-indexing-status.tsx type AIIndexingStatusProps (line 13) | interface AIIndexingStatusProps { function AIIndexingStatus (line 24) | function AIIndexingStatus({ FILE: ee/features/ai/components/chat-message.tsx type ChatMessageProps (line 34) | interface ChatMessageProps { type FeedbackState (line 47) | type FeedbackState = "up" | "down" | null; function getViewerBasePath (line 49) | function getViewerBasePath(): string { function buildDocumentUrl (line 56) | function buildDocumentUrl( function normalizeAssistantLinkHref (line 65) | function normalizeAssistantLinkHref(href?: string): string | undefined { function AssistantLink (line 93) | function AssistantLink({ function getFileIcon (line 118) | function getFileIcon(filename: string) { function SourcesSection (line 145) | function SourcesSection({ sources }: { sources: ChatStreamSource[] }) { function SuggestedQuestions (line 219) | function SuggestedQuestions({ FILE: ee/features/ai/components/document-ai-dialog.tsx type DocumentAIDialogProps (line 28) | interface DocumentAIDialogProps { function DocumentAIDialog (line 37) | function DocumentAIDialog({ FILE: ee/features/ai/components/document-context-selector.tsx type SelectedContextItem (line 37) | interface SelectedContextItem { type DocumentContextSelectorProps (line 43) | interface DocumentContextSelectorProps { function getDocumentsInFolder (line 60) | function getDocumentsInFolder( function DocumentContextSelector (line 83) | function DocumentContextSelector({ type SelectedContextItemsProps (line 248) | interface SelectedContextItemsProps { function SelectedContextItems (line 253) | function SelectedContextItems({ type ContextItemAttachmentProps (line 276) | interface ContextItemAttachmentProps { function ContextItemAttachment (line 282) | function ContextItemAttachment({ FILE: ee/features/ai/components/viewer-chat-panel.tsx type Message (line 61) | interface Message { function extractStreamMetadata (line 70) | function extractStreamMetadata(content: string): { constant REFERENCES_REGEX (line 91) | const REFERENCES_REGEX = constant REFERENCE_LINE_REGEX (line 93) | const REFERENCE_LINE_REGEX = /[-*]\s*\[(.+?)]\((.+?)\)(?:\s*-\s*p\.\s*(\... type ResolvedRef (line 95) | interface ResolvedRef { function parseMarkdownReferences (line 103) | function parseMarkdownReferences(content: string): { type ViewerChatPanelProps (line 129) | interface ViewerChatPanelProps { function ViewerChatPanel (line 138) | function ViewerChatPanel({ className }: ViewerChatPanelProps) { type ViewerChatPanelContentProps (line 173) | interface ViewerChatPanelContentProps { function ViewerChatPanelContent (line 203) | function ViewerChatPanelContent({ FILE: ee/features/ai/components/viewer-chat-provider.tsx type DataroomDocumentForChat (line 19) | interface DataroomDocumentForChat { type ViewerChatConfig (line 26) | interface ViewerChatConfig { type ViewerChatContextType (line 36) | interface ViewerChatContextType { function useViewerChat (line 60) | function useViewerChat() { function useViewerChatSafe (line 72) | function useViewerChatSafe() { type ViewerChatProviderProps (line 80) | interface ViewerChatProviderProps { function ViewerChatProvider (line 94) | function ViewerChatProvider({ type ViewerChatLayoutProps (line 145) | interface ViewerChatLayoutProps { function ViewerChatLayout (line 154) | function ViewerChatLayout({ FILE: ee/features/ai/components/viewer-chat-toggle.tsx type ViewerChatToggleProps (line 9) | interface ViewerChatToggleProps { function ViewerChatToggle (line 18) | function ViewerChatToggle({ className }: ViewerChatToggleProps) { FILE: ee/features/ai/components/viewer-thread-selector.tsx type Chat (line 33) | interface Chat { type GroupedChats (line 41) | interface GroupedChats { type ViewerThreadSelectorProps (line 47) | interface ViewerThreadSelectorProps { function groupChatsByDate (line 60) | function groupChatsByDate(chats: Chat[]): GroupedChats { function getChatDisplayTitle (line 84) | function getChatDisplayTitle(chat: Chat): string { function ViewerThreadSelector (line 95) | function ViewerThreadSelector({ FILE: ee/features/ai/hooks/use-ai-indexing-status.ts type UseAIIndexingStatusOptions (line 7) | interface UseAIIndexingStatusOptions { type UseAIIndexingStatusReturn (line 12) | interface UseAIIndexingStatusReturn { type RunStatusResponse (line 25) | interface RunStatusResponse { function useAIIndexingStatus (line 41) | function useAIIndexingStatus({ function useAIIndexingBatchStatus (line 100) | function useAIIndexingBatchStatus() { FILE: ee/features/ai/lib/chat/create-chat.ts type CreateChatOptions (line 3) | interface CreateChatOptions { function createChat (line 20) | async function createChat(options: CreateChatOptions) { FILE: ee/features/ai/lib/chat/generate-chat-title.ts function generateChatTitle (line 9) | async function generateChatTitle(firstMessage: string): Promise { FILE: ee/features/ai/lib/chat/get-filtered-dataroom-document-ids.ts function getFilteredDataroomDocumentIds (line 11) | async function getFilteredDataroomDocumentIds( FILE: ee/features/ai/lib/chat/send-message.ts type SendMessageOptions (line 6) | interface SendMessageOptions { type CitationCandidate (line 22) | interface CitationCandidate { type ResolvedReference (line 28) | interface ResolvedReference { constant CHAT_METADATA_PREFIX (line 36) | const CHAT_METADATA_PREFIX = "\n\n"; type ChatStreamSource (line 39) | interface ChatStreamSource { type ChatStreamMetadata (line 48) | interface ChatStreamMetadata { function validatePageValue (line 53) | function validatePageValue(value: unknown): number | undefined { function normalizePageNumber (line 62) | function normalizePageNumber(value: unknown): number | undefined { function extractPageNumberFromRecord (line 69) | function extractPageNumberFromRecord( function extractFileCitations (line 108) | function extractFileCitations(response: unknown): CitationCandidate[] { function stripTrailingReferencesSection (line 171) | function stripTrailingReferencesSection(text: string): string { function escapeMarkdownLinkText (line 180) | function escapeMarkdownLinkText(value: string): string { function resolveReferencesFromCitations (line 187) | async function resolveReferencesFromCitations({ function buildReferencesSection (line 365) | function buildReferencesSection(references: ResolvedReference[]): string { function generateSuggestedQuestions (line 382) | async function generateSuggestedQuestions( function buildStreamMetadataTail (line 413) | function buildStreamMetadataTail( function sendMessage (line 435) | async function sendMessage({ FILE: ee/features/ai/lib/file-processing/extract-document-metadata.ts type DocumentMetadata (line 3) | interface DocumentMetadata { function extractDocumentMetadata (line 18) | async function extractDocumentMetadata( FILE: ee/features/ai/lib/file-processing/process-document-for-vector-store.ts function processDocumentForVectorStore (line 15) | async function processDocumentForVectorStore( FILE: ee/features/ai/lib/permissions/validate-chat-access.ts type ValidateChatAccessOptions (line 3) | interface ValidateChatAccessOptions { function validateChatAccess (line 14) | async function validateChatAccess({ FILE: ee/features/ai/lib/stream/parse-text-stream.ts type TextStreamCallbacks (line 6) | interface TextStreamCallbacks { type TextStreamResult (line 12) | interface TextStreamResult { function parseTextStream (line 20) | async function parseTextStream( FILE: ee/features/ai/lib/trigger/process-excel-for-ai.ts function excelToMarkdown (line 15) | function excelToMarkdown(workbook: XLSX.WorkBook): string { FILE: ee/features/ai/lib/trigger/process-image-for-ai.ts constant IMAGE_ANALYSIS_PROMPT (line 13) | const IMAGE_ANALYSIS_PROMPT = `Analyze this image thoroughly and provide... FILE: ee/features/ai/lib/trigger/types.ts type AIProcessingStatus (line 3) | type AIProcessingStatus = type AIProcessingMetadata (line 12) | type AIProcessingMetadata = { type ProcessDocumentPayload (line 23) | type ProcessDocumentPayload = { type ProcessFilePayload (line 44) | type ProcessFilePayload = { type AddToVectorStorePayload (line 54) | type AddToVectorStorePayload = { constant PDF_CONTENT_TYPES (line 70) | const PDF_CONTENT_TYPES = ["application/pdf"]; constant EXCEL_CONTENT_TYPES (line 72) | const EXCEL_CONTENT_TYPES = [ constant IMAGE_CONTENT_TYPES (line 78) | const IMAGE_CONTENT_TYPES = ["image/jpeg", "image/png", "image/webp"]; constant SUPPORTED_AI_CONTENT_TYPES (line 80) | const SUPPORTED_AI_CONTENT_TYPES = [ FILE: ee/features/ai/lib/vector-stores/create-dataroom-vector-store.ts function createDataroomVectorStore (line 10) | async function createDataroomVectorStore({ FILE: ee/features/ai/lib/vector-stores/create-team-vector-store.ts function createTeamVectorStore (line 9) | async function createTeamVectorStore( FILE: ee/features/ai/lib/vector-stores/delete-vector-store.ts function deleteVectorStore (line 7) | async function deleteVectorStore(vectorStoreId: string): Promise { FILE: ee/features/ai/lib/vector-stores/get-vector-store-info.ts function getVectorStoreInfo (line 9) | async function getVectorStoreInfo( FILE: ee/features/ai/lib/vector-stores/remove-file-from-vector-store.ts function removeFileFromVectorStore (line 8) | async function removeFileFromVectorStore( FILE: ee/features/ai/lib/vector-stores/upload-file-to-vector-store.ts type VectorStoreFileOptions (line 3) | interface VectorStoreFileOptions { function addFileToVectorStore (line 23) | async function addFileToVectorStore({ FILE: ee/features/ai/schemas/chat.ts type CreateChatInput (line 76) | type CreateChatInput = z.infer; type SendMessageInput (line 77) | type SendMessageInput = z.infer; type IndexDocumentInput (line 78) | type IndexDocumentInput = z.infer; type IndexDataroomInput (line 79) | type IndexDataroomInput = z.infer; type ChatQueryInput (line 80) | type ChatQueryInput = z.infer; type EnableDocumentAgentsInput (line 81) | type EnableDocumentAgentsInput = z.infer< type EnableDataroomAgentsInput (line 84) | type EnableDataroomAgentsInput = z.infer< type EnableTeamAgentsInput (line 87) | type EnableTeamAgentsInput = z.infer; FILE: ee/features/billing/cancellation/api/automatic-unpause-route.ts function handleRoute (line 16) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/cancel-route.ts function handleRoute (line 13) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/cancellation-feedback-route.ts function handleRoute (line 19) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/pause-route.ts function handleRoute (line 20) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/reactivate-route.ts function handleRoute (line 13) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/retention-route.ts function handleRoute (line 14) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/api/send-pause-resume-notification.ts function handle (line 11) | async function handle( FILE: ee/features/billing/cancellation/api/unpause-route.ts function handleRoute (line 18) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/billing/cancellation/components/cancellation-modal.tsx type CancellationStep (line 17) | type CancellationStep = type CancellationModalProps (line 26) | interface CancellationModalProps { function CancellationModal (line 31) | function CancellationModal({ FILE: ee/features/billing/cancellation/components/confirm-cancellation-modal.tsx type ConfirmCancellationModalProps (line 16) | interface ConfirmCancellationModalProps { function ConfirmCancellationModal (line 22) | function ConfirmCancellationModal({ FILE: ee/features/billing/cancellation/components/feedback-modal.tsx type FeedbackModalProps (line 11) | interface FeedbackModalProps { function FeedbackModal (line 23) | function FeedbackModal({ FILE: ee/features/billing/cancellation/components/pause-subscription-modal.tsx type PauseSubscriptionModalProps (line 18) | interface PauseSubscriptionModalProps { function PauseSubscriptionModal (line 26) | function PauseSubscriptionModal({ FILE: ee/features/billing/cancellation/components/reason-base-modal.tsx function CancellationBaseModal (line 7) | function CancellationBaseModal({ FILE: ee/features/billing/cancellation/components/retention-offer-modal.tsx type RetentionOfferModalProps (line 21) | interface RetentionOfferModalProps { function RetentionOfferModal (line 30) | function RetentionOfferModal({ FILE: ee/features/billing/cancellation/components/schedule-call-modal.tsx type ScheduleCallModalProps (line 11) | interface ScheduleCallModalProps { function ScheduleCallModal (line 18) | function ScheduleCallModal({ FILE: ee/features/billing/cancellation/constants.ts constant PAUSE_COUPON_ID (line 1) | const PAUSE_COUPON_ID = { FILE: ee/features/billing/cancellation/emails/components/pause-resume-reminder.tsx type PauseResumeReminderEmailProps (line 17) | interface PauseResumeReminderEmailProps { function PauseResumeReminderEmail (line 27) | function PauseResumeReminderEmail({ FILE: ee/features/billing/cancellation/lib/constants.ts type CancellationReason (line 1) | type CancellationReason = FILE: ee/features/billing/cancellation/lib/is-team-paused.ts function isTeamPaused (line 11) | function isTeamPaused( function isTeamPausedById (line 29) | async function isTeamPausedById(teamId: string): Promise { FILE: ee/features/billing/cancellation/lib/trigger/pause-resume-notification.ts type PauseResumeNotificationPayload (line 5) | type PauseResumeNotificationPayload = { FILE: ee/features/billing/renewal-reminder/emails/subscription-renewal-reminder.tsx type SubscriptionRenewalReminderEmailProps (line 16) | interface SubscriptionRenewalReminderEmailProps { FILE: ee/features/conversations/api/conversations-route.ts function handleRoute (line 276) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/conversations/api/send-conversation-new-message-notification.ts function handle (line 9) | async function handle( FILE: ee/features/conversations/api/send-conversation-team-member-notification.ts function handle (line 9) | async function handle( FILE: ee/features/conversations/api/team-conversations-route.ts function handleRoute (line 706) | async function handleRoute(req: NextApiRequest, res: NextApiResponse) { FILE: ee/features/conversations/api/team-faqs-route.ts function handle (line 440) | async function handle( FILE: ee/features/conversations/api/toggle-conversations-route.ts function toggleConversationsRoute (line 15) | async function toggleConversationsRoute( FILE: ee/features/conversations/components/dashboard/conversation-list-item.tsx function ConversationListItem (line 7) | function ConversationListItem({ FILE: ee/features/conversations/components/dashboard/conversations-not-enabled-banner.tsx type ConversationsNotEnabledBannerProps (line 20) | interface ConversationsNotEnabledBannerProps { function ConversationsNotEnabledBanner (line 27) | function ConversationsNotEnabledBanner({ FILE: ee/features/conversations/components/dashboard/edit-faq-modal.tsx type EditFAQModalProps (line 31) | interface EditFAQModalProps { type EditFAQFormData (line 40) | interface EditFAQFormData { function EditFAQModal (line 67) | function EditFAQModal({ FILE: ee/features/conversations/components/dashboard/link-option-conversation-section.tsx function ConversationSection (line 7) | function ConversationSection({ FILE: ee/features/conversations/components/dashboard/publish-faq-modal.tsx type Message (line 29) | interface Message { type Conversation (line 37) | interface Conversation { type PublishFAQModalProps (line 54) | interface PublishFAQModalProps { type PublishFAQFormData (line 65) | interface PublishFAQFormData { function PublishFAQModal (line 94) | function PublishFAQModal({ FILE: ee/features/conversations/components/shared/conversation-document-context.tsx type ConversationDocumentContextProps (line 3) | interface ConversationDocumentContextProps { function ConversationDocumentContext (line 16) | function ConversationDocumentContext({ FILE: ee/features/conversations/components/shared/conversation-message.tsx function ConversationMessage (line 4) | function ConversationMessage({ FILE: ee/features/conversations/components/viewer/conversation-view-sidebar.tsx type Message (line 22) | interface Message { type Conversation (line 32) | interface Conversation { type CreateConversationData (line 50) | interface CreateConversationData { type ConversationSidebarProps (line 55) | type ConversationSidebarProps = { function ConversationViewSidebar (line 67) | function ConversationViewSidebar({ FILE: ee/features/conversations/components/viewer/faq-section.tsx type FAQ (line 17) | interface FAQ { type FAQSectionProps (line 30) | interface FAQSectionProps { function FAQSection (line 37) | function FAQSection({ FILE: ee/features/conversations/emails/components/conversation-notification.tsx function ConversationNotification (line 16) | function ConversationNotification({ FILE: ee/features/conversations/emails/components/conversation-team-notification.tsx function ConversationTeamNotification (line 16) | function ConversationTeamNotification({ FILE: ee/features/conversations/lib/api/conversations/index.ts type CreateConversationInput (line 6) | type CreateConversationInput = { method areConversationsAllowed (line 18) | async areConversationsAllowed( method createConversation (line 46) | async createConversation({ method getConversationsForDataroom (line 122) | async getConversationsForDataroom({ method toggleDataroomConversations (line 197) | async toggleDataroomConversations(dataroomId: string, enabled: boolean) { method toggleLinkConversations (line 205) | async toggleLinkConversations(linkId: string, enabled: boolean) { method getConversation (line 213) | async getConversation( method markConversationAsRead (line 262) | async markConversationAsRead(conversationId: string, userId: string) { method deleteConversation (line 301) | async deleteConversation( FILE: ee/features/conversations/lib/api/messages/index.ts method addMessage (line 8) | async addMessage({ method markMessageAsRead (line 98) | async markMessageAsRead(messageId: string) { method getUnreadMessages (line 106) | async getUnreadMessages(viewerId?: string, userId?: string) { FILE: ee/features/conversations/lib/api/notifications/index.ts method toggleNotificationsForConversation (line 5) | async toggleNotificationsForConversation({ FILE: ee/features/conversations/lib/schemas/faq.ts type PublishFAQInput (line 109) | type PublishFAQInput = z.infer; type UpdateFAQInput (line 110) | type UpdateFAQInput = z.infer; type PublishFAQFormInput (line 111) | type PublishFAQFormInput = z.infer; type EditFAQFormInput (line 112) | type EditFAQFormInput = z.infer; type FAQParamInput (line 113) | type FAQParamInput = z.infer; FILE: ee/features/conversations/lib/trigger/conversation-message-notification.ts type NotificationPayload (line 6) | type NotificationPayload = { FILE: ee/features/conversations/pages/conversation-detail.tsx type Message (line 57) | interface Message { type Conversation (line 67) | interface Conversation { type ConversationSummary (line 84) | interface ConversationSummary { function ConversationDetailPage (line 105) | function ConversationDetailPage() { function ConversationReplyForm (line 707) | function ConversationReplyForm({ FILE: ee/features/conversations/pages/conversation-overview.tsx type ConversationSummary (line 43) | interface ConversationSummary { function DataroomConversationsPage (line 64) | function DataroomConversationsPage() { FILE: ee/features/conversations/pages/faq-overview.tsx type PublishedFAQ (line 67) | interface PublishedFAQ { function FAQOverview (line 116) | function FAQOverview() { FILE: ee/features/conversions/python/docx-sanitizer.py function has_rtl_content (line 42) | def has_rtl_content(doc_content: str) -> bool: function downgrade_compat_mode (line 47) | def downgrade_compat_mode(content: str) -> tuple: function remove_glossary (line 61) | def remove_glossary(tmp_dir: str) -> bool: function _register_all_namespaces (line 109) | def _register_all_namespaces(path: str): function strip_numpages_fields_in_hf (line 119) | def strip_numpages_fields_in_hf(tmp_dir: str) -> int: function unwrap_sdt (line 179) | def unwrap_sdt(content: str) -> tuple: function repackage_docx (line 197) | def repackage_docx(tmp_dir: str, output_path: str): function sanitize_docx (line 217) | def sanitize_docx(input_path: str, output_path: str, mode: str = 'all') ... function check_rtl (line 307) | def check_rtl(input_path: str) -> bool: function main (line 319) | def main(): FILE: ee/features/dataroom-invitations/api/group-invite.ts function handle (line 15) | async function handle( FILE: ee/features/dataroom-invitations/api/link-invite.ts function handle (line 18) | async function handle( FILE: ee/features/dataroom-invitations/api/uninvited.ts function handle (line 9) | async function handle( FILE: ee/features/dataroom-invitations/components/invite-viewers-modal.tsx type InviteViewersModalProps (line 31) | type InviteViewersModalProps = { type LinkOption (line 42) | type LinkOption = Pick< function parseRecipientInput (line 47) | function parseRecipientInput(value: string) { function InviteViewersModal (line 58) | function InviteViewersModal({ FILE: ee/features/dataroom-invitations/emails/components/dataroom-viewer-invitation.tsx function DataroomViewerInvitation (line 18) | function DataroomViewerInvitation({ FILE: ee/features/dataroom-invitations/lib/schema/dataroom-invitations.ts constant MAX_CUSTOM_MESSAGE_LENGTH (line 3) | const MAX_CUSTOM_MESSAGE_LENGTH = 500; type SendGroupInvitationInput (line 36) | type SendGroupInvitationInput = z.infer; type SendLinkInvitationInput (line 37) | type SendLinkInvitationInput = z.infer; FILE: ee/features/dataroom-invitations/lib/swr/use-dataroom-invitations.ts type UninvitedMembersResponse (line 7) | type UninvitedMembersResponse = { function useUninvitedMembers (line 12) | function useUninvitedMembers( FILE: ee/features/permissions/components/dataroom-link-sheet.tsx type ItemPermission (line 70) | type ItemPermission = Record< type DEFAULT_LINK_TYPE (line 75) | type DEFAULT_LINK_TYPE = BASE_DEFAULT_LINK_TYPE & { function DataroomLinkSheet (line 79) | function DataroomLinkSheet({ FILE: ee/features/permissions/components/permissions-sheet.tsx type FileOrFolder (line 88) | type FileOrFolder = { type ItemPermission (line 103) | type ItemPermission = Record< type ColumnExtra (line 108) | type ColumnExtra = { type PermissionsSheetProps (line 359) | interface PermissionsSheetProps { function PermissionsSheet (line 369) | function PermissionsSheet({ FILE: ee/features/security/lib/fraud-prevention.ts constant FRAUD_DECLINE_CODES (line 12) | const FRAUD_DECLINE_CODES = [ function addEmailToStripeRadar (line 23) | async function addEmailToStripeRadar(email: string): Promise { function addEmailToEdgeConfig (line 48) | async function addEmailToEdgeConfig(email: string): Promise { function processPaymentFailure (line 109) | async function processPaymentFailure( FILE: ee/features/security/lib/ratelimit.ts function checkRateLimit (line 31) | async function checkRateLimit( FILE: ee/features/security/sso/components/directory-sync-config-modal.tsx type DirectorySyncConfigModalProps (line 31) | interface DirectorySyncConfigModalProps { function DirectorySyncConfigModal (line 35) | function DirectorySyncConfigModal({ FILE: ee/features/security/sso/components/saml-config-modal.tsx type SAMLConfigModalProps (line 33) | interface SAMLConfigModalProps { function SAMLConfigModal (line 37) | function SAMLConfigModal({ teamId }: SAMLConfigModalProps) { FILE: ee/features/security/sso/components/sso-enforcement-toggle.tsx type SSOEnforcementToggleProps (line 21) | interface SSOEnforcementToggleProps { function SSOEnforcementToggle (line 25) | function SSOEnforcementToggle({ teamId }: SSOEnforcementToggleProps) { FILE: ee/features/security/sso/components/sso-login.tsx type SSOLoginProps (line 15) | interface SSOLoginProps { function SSOLogin (line 19) | function SSOLogin({ autoExpand = false }: SSOLoginProps) { FILE: ee/features/security/sso/constants.ts constant SAML_PROVIDERS (line 1) | const SAML_PROVIDERS = [ type SAMLProviderKey (line 34) | type SAMLProviderKey = (typeof SAML_PROVIDERS)[number]["saml"]; type SCIMProviderKey (line 35) | type SCIMProviderKey = (typeof SAML_PROVIDERS)[number]["scim"]; FILE: ee/features/security/sso/product.ts constant JACKSON_PRODUCT (line 6) | const JACKSON_PRODUCT = "papermark"; FILE: ee/features/storage/config.ts type StorageConfig (line 3) | interface StorageConfig { type StorageRegion (line 17) | type StorageRegion = "eu-central-1" | "us-east-2"; function getStorageConfig (line 26) | function getStorageConfig(storageRegion?: string): StorageConfig { function getTeamStorageConfigById (line 90) | async function getTeamStorageConfigById( FILE: ee/features/storage/s3-store.ts class MultiRegionS3Store (line 17) | class MultiRegionS3Store extends S3Store { method constructor (line 24) | constructor() { method extractTeamIdFromUploadId (line 82) | private extractTeamIdFromUploadId(uploadId: string): string | null { method shouldUseUSStorage (line 90) | private async shouldUseUSStorage(teamId: string): Promise { method ensureCorrectRegion (line 115) | private async ensureCorrectRegion(uploadId: string): Promise { method create (line 138) | async create(upload: Upload): Promise { method write (line 147) | async write(stream: Readable, id: string, offset: number): Promise { method remove (line 165) | async remove(id: string): Promise { method declareUploadLength (line 179) | async declareUploadLength(id: string, length: number): Promise { method read (line 188) | async read(id: string): Promise { FILE: ee/features/templates/api/datarooms/apply-template.ts function handle (line 15) | async function handle( FILE: ee/features/templates/api/datarooms/generate.ts function handle (line 18) | async function handle( FILE: ee/features/templates/components/dataroom-templates.tsx constant TEMPLATES (line 24) | const TEMPLATES = [ function DataroomTemplates (line 72) | function DataroomTemplates({ FILE: ee/features/templates/constants/dataroom-templates.ts type FolderTemplate (line 1) | interface FolderTemplate { constant DATAROOM_TEMPLATE_TYPES (line 6) | const DATAROOM_TEMPLATE_TYPES = [ constant DATAROOM_TEMPLATES (line 18) | const DATAROOM_TEMPLATES: Record< FILE: ee/features/templates/lib/prompts.ts type Prompts (line 3) | interface Prompts { function getPrompts (line 8) | async function getPrompts(): Promise { function getDataroomSystemPrompt (line 22) | async function getDataroomSystemPrompt(): Promise { function getDataroomUserPrompt (line 34) | async function getDataroomUserPrompt( FILE: ee/features/templates/schemas/dataroom-templates.ts type ApplyTemplateInput (line 77) | type ApplyTemplateInput = z.infer; type GenerateDataroomInput (line 78) | type GenerateDataroomInput = z.infer; type DataroomTemplateType (line 79) | type DataroomTemplateType = (typeof DATAROOM_TEMPLATE_TYPES)[number]; FILE: ee/features/workflows/components/step-form-dialog.tsx type WorkflowStep (line 23) | interface WorkflowStep { type Link (line 41) | interface Link { type StepFormDialogProps (line 54) | interface StepFormDialogProps { function StepFormDialog (line 64) | function StepFormDialog({ FILE: ee/features/workflows/components/step-list.tsx type WorkflowStep (line 6) | interface WorkflowStep { type StepListProps (line 30) | interface StepListProps { function StepList (line 37) | function StepList({ FILE: ee/features/workflows/components/workflow-access-view.tsx type WorkflowAccessViewProps (line 12) | interface WorkflowAccessViewProps { function WorkflowAccessView (line 19) | function WorkflowAccessView({ FILE: ee/features/workflows/components/workflow-empty-state.tsx type WorkflowEmptyStateProps (line 3) | interface WorkflowEmptyStateProps { function WorkflowEmptyState (line 8) | function WorkflowEmptyState({ FILE: ee/features/workflows/components/workflow-header.tsx type WorkflowHeaderProps (line 18) | interface WorkflowHeaderProps { function WorkflowHeader (line 28) | function WorkflowHeader({ FILE: ee/features/workflows/components/workflow-list.tsx type Workflow (line 7) | interface Workflow { type WorkflowListProps (line 24) | interface WorkflowListProps { function WorkflowList (line 28) | function WorkflowList({ workflows }: WorkflowListProps) { FILE: ee/features/workflows/lib/engine.ts class WorkflowEngine (line 13) | class WorkflowEngine { method execute (line 17) | async execute( method evaluateConditions (line 249) | private async evaluateConditions( method evaluateCondition (line 271) | private async evaluateCondition( method evaluateEmailCondition (line 290) | private evaluateEmailCondition( method evaluateDomainCondition (line 325) | private evaluateDomainCondition( FILE: ee/features/workflows/lib/types.ts type EmailCondition (line 22) | type EmailCondition = z.infer; type DomainCondition (line 23) | type DomainCondition = z.infer; type Condition (line 24) | type Condition = z.infer; type RouteAction (line 38) | type RouteAction = z.infer; type Action (line 39) | type Action = z.infer; type ConditionsConfig (line 56) | type ConditionsConfig = z.infer; type WorkflowStepDefinition (line 57) | type WorkflowStepDefinition = z.infer< type CreateWorkflowRequest (line 115) | type CreateWorkflowRequest = z.infer; type UpdateWorkflowRequest (line 116) | type UpdateWorkflowRequest = z.infer; type CreateWorkflowStepRequest (line 117) | type CreateWorkflowStepRequest = z.infer< type UpdateWorkflowStepRequest (line 120) | type UpdateWorkflowStepRequest = z.infer< type ReorderStepsRequest (line 123) | type ReorderStepsRequest = z.infer; type VerifyEmailRequest (line 124) | type VerifyEmailRequest = z.infer; type AccessRequest (line 125) | type AccessRequest = z.infer; type WorkflowExecutionContext (line 129) | interface WorkflowExecutionContext { type WorkflowExecutionResult (line 137) | interface WorkflowExecutionResult { type StepExecutionResult (line 148) | interface StepExecutionResult { FILE: ee/features/workflows/lib/validation.ts function validateConditions (line 28) | function validateConditions( function validateActions (line 50) | function validateActions( function validateWorkflowStep (line 75) | function validateWorkflowStep( function formatZodError (line 99) | function formatZodError(error: ZodError): string { FILE: ee/features/workflows/pages/workflow-detail.tsx type Workflow (line 18) | interface Workflow { type WorkflowStep (line 31) | interface WorkflowStep { type Link (line 55) | interface Link { function WorkflowDetailPage (line 68) | function WorkflowDetailPage() { FILE: ee/features/workflows/pages/workflow-new.tsx type Domain (line 20) | interface Domain { function NewWorkflowPage (line 25) | function NewWorkflowPage() { FILE: ee/features/workflows/pages/workflow-overview.tsx type Workflow (line 18) | interface Workflow { function WorkflowsPage (line 35) | function WorkflowsPage() { FILE: ee/limits/constants.ts type TPlanLimits (line 3) | type TPlanLimits = { constant FREE_PLAN_LIMITS (line 17) | const FREE_PLAN_LIMITS = { constant PRO_PLAN_LIMITS (line 29) | const PRO_PLAN_LIMITS = { constant BUSINESS_PLAN_LIMITS (line 41) | const BUSINESS_PLAN_LIMITS = { constant DATAROOMS_PLAN_LIMITS (line 56) | const DATAROOMS_PLAN_LIMITS = { constant DATAROOMS_PLUS_PLAN_LIMITS (line 71) | const DATAROOMS_PLUS_PLAN_LIMITS = { constant DATAROOMS_PREMIUM_PLAN_LIMITS (line 88) | const DATAROOMS_PREMIUM_PLAN_LIMITS = { constant PAUSED_PLAN_LIMITS (line 105) | const PAUSED_PLAN_LIMITS = { FILE: ee/limits/handler.ts function handle (line 11) | async function handle( FILE: ee/limits/server.ts function getLimits (line 62) | async function getLimits({ FILE: ee/limits/swr-handler.ts type LimitProps (line 10) | type LimitProps = z.infer & { function useLimits (line 19) | function useLimits() { FILE: ee/stripe/constants.ts type PlanEnum (line 1) | enum PlanEnum { constant PLAN_NAME_MAP (line 9) | const PLAN_NAME_MAP: Record = { type PeriodType (line 19) | type PeriodType = "monthly" | "yearly"; type Feature (line 21) | interface Feature { type PlanFeatures (line 33) | interface PlanFeatures { constant PLAN_PRICING (line 38) | const PLAN_PRICING = { constant BASE_FEATURES (line 71) | const BASE_FEATURES: Record = { type FeatureOptions (line 206) | interface FeatureOptions { function getPlanFeatures (line 216) | function getPlanFeatures( FILE: ee/stripe/functions/get-coupon-from-plan.ts constant COUPON_MAP (line 3) | const COUPON_MAP = { FILE: ee/stripe/functions/get-display-name-from-plan.ts function getDisplayNameFromPlan (line 3) | function getDisplayNameFromPlan(planSlug: string) { FILE: ee/stripe/functions/get-price-id-from-plan.ts function getPriceIdFromPlan (line 3) | function getPriceIdFromPlan({ FILE: ee/stripe/functions/get-quantity-from-plan.ts function getQuantityFromPriceId (line 3) | function getQuantityFromPriceId(priceId?: string) { FILE: ee/stripe/functions/get-subscription-item.ts type SubscriptionDiscount (line 3) | interface SubscriptionDiscount { function getSubscriptionItem (line 13) | async function getSubscriptionItem( FILE: ee/stripe/index.ts function cancelSubscription (line 33) | async function cancelSubscription( FILE: ee/stripe/utils.ts constant HISTORICAL_PRICE_IDS (line 5) | const HISTORICAL_PRICE_IDS: Record> = { function getHistoricalPlanFromPriceId (line 16) | function getHistoricalPlanFromPriceId(priceId: string, env: string) { function getPlanFromPriceId (line 37) | function getPlanFromPriceId( function isNewCustomer (line 71) | function isNewCustomer( function isUpgradedCustomer (line 88) | function isUpgradedCustomer( constant PLANS (line 105) | const PLANS = [ FILE: ee/stripe/webhooks/checkout-session-completed.ts function checkoutSessionCompleted (line 20) | async function checkoutSessionCompleted( FILE: ee/stripe/webhooks/customer-subscription-deleted.ts function customerSubscriptionDeleted (line 11) | async function customerSubscriptionDeleted( FILE: ee/stripe/webhooks/customer-subscription-updated.ts function customerSubsciptionUpdated (line 19) | async function customerSubsciptionUpdated( FILE: ee/stripe/webhooks/invoice-upcoming.ts function invoiceUpcoming (line 8) | async function invoiceUpcoming( FILE: lib/analytics/index.ts function useAnalytics (line 7) | function useAnalytics() { FILE: lib/api/auth/passkey.ts function startServerPasskeyRegistration (line 7) | async function startServerPasskeyRegistration({ function finishServerPasskeyRegistration (line 31) | async function finishServerPasskeyRegistration({ function listUserPasskeys (line 52) | async function listUserPasskeys({ session }: { session: Session }) { function removeUserPasskey (line 94) | async function removeUserPasskey({ FILE: lib/api/documents/process-document.ts type ProcessDocumentParams (line 22) | type ProcessDocumentParams = { FILE: lib/api/domains.ts function getDomainCount (line 6) | async function getDomainCount(domain: string) { function deleteDomain (line 27) | async function deleteDomain( FILE: lib/api/domains/clear-team-redirects.ts function clearTeamDomainRedirects (line 10) | async function clearTeamDomainRedirects( FILE: lib/api/domains/redis.ts constant DOMAIN_REDIRECT_PREFIX (line 3) | const DOMAIN_REDIRECT_PREFIX = "domain:redirect"; constant PLANS_WITH_REDIRECTS (line 5) | const PLANS_WITH_REDIRECTS = new Set([ function planSupportsRedirects (line 12) | function planSupportsRedirects(plan: string): boolean { function getRedisKey (line 17) | function getRedisKey(domain: string): string { function getDomainRedirectUrl (line 21) | async function getDomainRedirectUrl( function setDomainRedirectUrl (line 27) | async function setDomainRedirectUrl( function deleteDomainRedirectUrl (line 39) | async function deleteDomainRedirectUrl(domain: string): Promise { FILE: lib/api/domains/validate-redirect-url.ts type ValidationResult (line 7) | type ValidationResult = function validateRedirectUrl (line 11) | async function validateRedirectUrl( FILE: lib/api/links/link-data.ts type LinkFetchStatus (line 19) | type LinkFetchStatus = "ok" | "not_found" | "archived" | "deleted" | "fr... type LinkFetchResult (line 21) | type LinkFetchResult = type LinkRecord (line 94) | type LinkRecord = Prisma.LinkGetPayload<{ select: typeof linkSelect }>; function getAllParentFolderIds (line 101) | async function getAllParentFolderIds( function fetchDataroomLinkData (line 137) | async function fetchDataroomLinkData({ function fetchDataroomDocumentLinkData (line 341) | async function fetchDataroomDocumentLinkData({ function fetchDocumentLinkData (line 481) | async function fetchDocumentLinkData({ function processLinkData (line 545) | async function processLinkData( function fetchLinkDataById (line 740) | async function fetchLinkDataById({ function fetchLinkDataByDomainSlug (line 771) | async function fetchLinkDataByDomainSlug({ type CustomDomainLinkResult (line 807) | type CustomDomainLinkResult = LinkFetchResult; FILE: lib/api/notification-helper.ts function sendNotification (line 3) | async function sendNotification({ function sendViewerInvitation (line 33) | async function sendViewerInvitation({ FILE: lib/api/teams/is-saml-enforced-for-email-domain.ts function isSamlEnforcedForEmailDomain (line 9) | async function isSamlEnforcedForEmailDomain( FILE: lib/api/views/send-webhook-event.ts function sendLinkViewWebhook (line 7) | async function sendLinkViewWebhook({ FILE: lib/auth/dataroom-auth.ts constant COOKIE_EXPIRATION_TIME (line 15) | const COOKIE_EXPIRATION_TIME = 23 * 60 * 60 * 1000; function normalizeIp (line 22) | function normalizeIp(ip: string): string { function generateSessionFingerprint (line 42) | function generateSessionFingerprint(headers: { function collectFingerprintHeaders (line 59) | function collectFingerprintHeaders(h: { function getFingerprintFromNextRequest (line 71) | function getFingerprintFromNextRequest(request: NextRequest): string { function getFingerprintFromPagesRequest (line 75) | function getFingerprintFromPagesRequest(req: NextApiRequest): string { type DataroomSession (line 98) | type DataroomSession = z.infer; function createDataroomSession (line 100) | async function createDataroomSession( function verifyDataroomSession (line 137) | async function verifyDataroomSession( function verifyDataroomSessionInPagesRouter (line 190) | async function verifyDataroomSessionInPagesRouter( function getDataroomSessionByLinkIdInPagesRouter (line 208) | async function getDataroomSessionByLinkIdInPagesRouter( function updateDataroomSessionVerified (line 263) | async function updateDataroomSessionVerified( FILE: lib/auth/link-session.ts constant COOKIE_EXPIRATION_TIME (line 14) | const COOKIE_EXPIRATION_TIME = 23 * 60 * 60 * 1000; type LinkSession (line 35) | type LinkSession = z.infer; function createLinkSession (line 37) | async function createLinkSession( function verifyLinkSession (line 91) | async function verifyLinkSession( function deleteLinkSession (line 172) | async function deleteLinkSession( function revokeLinkSession (line 182) | async function revokeLinkSession(linkId: string): Promise { FILE: lib/auth/preview-auth.ts constant PREVIEW_EXPIRATION_TIME (line 6) | const PREVIEW_EXPIRATION_TIME = 20 * 60 * 1000; type PreviewSession (line 14) | type PreviewSession = z.infer; function createPreviewSession (line 16) | async function createPreviewSession( function verifyPreviewSession (line 45) | async function verifyPreviewSession( FILE: lib/constants.ts constant FADE_IN_ANIMATION_SETTINGS (line 1) | const FADE_IN_ANIMATION_SETTINGS = { constant STAGGER_CHILD_VARIANTS (line 8) | const STAGGER_CHILD_VARIANTS = { constant PAPERMARK_HEADERS (line 17) | const PAPERMARK_HEADERS = { constant REACTIONS (line 24) | const REACTIONS = [ constant ONE_SECOND (line 44) | const ONE_SECOND = 1000; constant ONE_MINUTE (line 45) | const ONE_MINUTE = ONE_SECOND * 60; constant TWO_MINUTES (line 46) | const TWO_MINUTES = ONE_MINUTE * 2; constant ONE_HOUR (line 47) | const ONE_HOUR = ONE_MINUTE * 60; constant ONE_DAY (line 48) | const ONE_DAY = ONE_HOUR * 24; constant ONE_WEEK (line 49) | const ONE_WEEK = ONE_DAY * 7; constant BLOCKED_PATHNAMES (line 52) | const BLOCKED_PATHNAMES = [ constant EXCLUDED_PATHS (line 61) | const EXCLUDED_PATHS = ["/", "/register", "/privacy", "/view", "/notific... constant LIMITS (line 64) | const LIMITS = { constant SUPPORTED_DOCUMENT_MIME_TYPES (line 68) | const SUPPORTED_DOCUMENT_MIME_TYPES = [ constant FREE_PLAN_ACCEPTED_FILE_TYPES (line 110) | const FREE_PLAN_ACCEPTED_FILE_TYPES = { constant FULL_PLAN_ACCEPTED_FILE_TYPES (line 121) | const FULL_PLAN_ACCEPTED_FILE_TYPES = { constant VIEWER_ACCEPTED_FILE_TYPES (line 162) | const VIEWER_ACCEPTED_FILE_TYPES = { constant SUPPORTED_DOCUMENT_SIMPLE_TYPES (line 190) | const SUPPORTED_DOCUMENT_SIMPLE_TYPES = [ constant VIDEO_EVENT_TYPES (line 205) | const VIDEO_EVENT_TYPES = [ constant COUNTRIES (line 227) | const COUNTRIES: { [key: string]: string } = { constant COUNTRY_CODES (line 480) | const COUNTRY_CODES = Object.keys(COUNTRIES) as [string, ...string[]]; constant EU_COUNTRY_CODES (line 482) | const EU_COUNTRY_CODES = [ constant SYSTEM_FILES (line 516) | const SYSTEM_FILES = [".DS_Store", "Thumbs.db", "node_modules"]; FILE: lib/constants/folder-constants.ts constant FOLDER_ICONS (line 40) | const FOLDER_ICONS = [ type FolderIconId (line 78) | type FolderIconId = (typeof FOLDER_ICONS)[number]["id"]; constant FOLDER_COLORS (line 81) | const FOLDER_COLORS = [ type FolderColorId (line 140) | type FolderColorId = (typeof FOLDER_COLORS)[number]["id"]; constant ALLOWED_FOLDER_ICONS (line 143) | const ALLOWED_FOLDER_ICONS = FOLDER_ICONS.map((icon) => icon.id); constant ALLOWED_FOLDER_COLORS (line 144) | const ALLOWED_FOLDER_COLORS = FOLDER_COLORS.map((color) => color.id); constant DEFAULT_FOLDER_ICON (line 147) | const DEFAULT_FOLDER_ICON: FolderIconId = "folder"; constant DEFAULT_FOLDER_COLOR (line 148) | const DEFAULT_FOLDER_COLOR: FolderColorId = "gray"; function getFolderIcon (line 151) | function getFolderIcon(iconId: string | null | undefined) { function getFolderColorClasses (line 157) | function getFolderColorClasses(colorId: string | null | undefined) { FILE: lib/dataroom/build-folder-hierarchy.ts type FolderInput (line 3) | interface FolderInput { function buildFolderPathsFromHierarchy (line 19) | function buildFolderPathsFromHierarchy( function collectDescendantIds (line 68) | function collectDescendantIds( function buildFolderNameMap (line 100) | function buildFolderNameMap( FILE: lib/dataroom/index-generator.ts type GenerateIndexOptions (line 11) | interface GenerateIndexOptions { type DataroomDocumentWithVersion (line 17) | interface DataroomDocumentWithVersion { function generateDataroomIndex (line 49) | async function generateDataroomIndex( FILE: lib/documents/create-document.ts type DocumentData (line 4) | type DocumentData = { FILE: lib/documents/move-documents.ts type Folder (line 50) | interface Folder { FILE: lib/documents/move-folder.ts type Folder (line 27) | interface Folder { FILE: lib/dub.ts function getDubDiscountForExternalUserId (line 7) | async function getDubDiscountForExternalUserId(externalId: string) { FILE: lib/emails/process-dataroom-digest.ts function processDataroomDigest (line 11) | async function processDataroomDigest(frequency: "daily" | "weekly") { function processBatch (line 36) | async function processBatch(batch: DigestBatch, frequency: "daily" | "we... FILE: lib/emails/send-dataroom-info.ts constant USECASE_SUBJECTS (line 7) | const USECASE_SUBJECTS = { FILE: lib/emails/send-onboarding.ts type EmailType (line 11) | type EmailType = FILE: lib/emails/send-upgrade-personal-welcome.ts constant PLAN_TYPE_MAP (line 7) | const PLAN_TYPE_MAP = { FILE: lib/emails/send-upgrade-plan.ts constant PLAN_TYPE_MAP (line 6) | const PLAN_TYPE_MAP = { FILE: lib/emails/send-verification-request.ts constant LOGIN_CODE_PREFIX (line 16) | const LOGIN_CODE_PREFIX = "login_code:"; constant LOGIN_CODE_EMAIL_PREFIX (line 17) | const LOGIN_CODE_EMAIL_PREFIX = "login_code:email:"; constant TOKEN_EXPIRATION_SECONDS (line 19) | const TOKEN_EXPIRATION_SECONDS = 15 * 60; type LoginCodeData (line 21) | interface LoginCodeData { FILE: lib/errorHandler.ts function errorhandler (line 3) | function errorhandler(err: unknown, res: NextApiResponse) { class TeamError (line 14) | class TeamError extends Error { method constructor (line 16) | constructor(public message: string) { class DocumentError (line 21) | class DocumentError extends Error { method constructor (line 23) | constructor(public message: string) { FILE: lib/featureFlags/index.ts type BetaFeatures (line 3) | type BetaFeatures = type BetaFeaturesRecord (line 21) | type BetaFeaturesRecord = Record; FILE: lib/files/bulk-download-presign.ts type S3KeyInfo (line 6) | interface S3KeyInfo { constant THREE_DAYS_IN_SECONDS (line 12) | const THREE_DAYS_IN_SECONDS = 3 * 24 * 60 * 60; function parseS3PresignedUrl (line 21) | function parseS3PresignedUrl(presignedUrl: string): S3KeyInfo { function generateFreshPresignedUrl (line 60) | async function generateFreshPresignedUrl( FILE: lib/files/bulk-download.ts class S3DownloadService (line 7) | class S3DownloadService { method constructor (line 8) | constructor(private s3: S3Client) {} method createLazyDownloadStreamFrom (line 10) | public createLazyDownloadStreamFrom(bucket: string, key: string): Read... method createLazyDownloadStreamFromUrl (line 22) | public createLazyDownloadStreamFromUrl(url: string): Readable { method initDownloadStream (line 34) | private async initDownloadStream( method initUrlDownloadStream (line 65) | private async initUrlDownloadStream(url: string, stream: PassThrough) { FILE: lib/files/copy-file-server.ts function copyFolder (line 96) | async function copyFolder( FILE: lib/files/delete-file-server.ts type DeleteFileOptions (line 8) | type DeleteFileOptions = { FILE: lib/files/delete-team-files-server.ts type DeleteFilesOptions (line 6) | type DeleteFilesOptions = { FILE: lib/files/get-file.ts type GetFileOptions (line 5) | type GetFileOptions = { FILE: lib/files/put-file-server.ts type File (line 14) | type File = { FILE: lib/files/put-file.ts constant MULTIPART_THRESHOLD (line 84) | const MULTIPART_THRESHOLD = 10 * 1024 * 1024; constant PART_SIZE (line 85) | const PART_SIZE = 10 * 1024 * 1024; FILE: lib/files/stream-file-server.ts type StreamFile (line 10) | type StreamFile = { FILE: lib/files/tus-redis-locker.ts type RedisLockerOptions (line 25) | interface RedisLockerOptions { class RedisLocker (line 30) | class RedisLocker implements Locker { method constructor (line 34) | constructor(options: RedisLockerOptions) { method newLock (line 39) | newLock(id: string) { class RedisLock (line 44) | class RedisLock implements Lock { method constructor (line 45) | constructor( method lock (line 51) | async lock( method acquireLock (line 68) | protected async acquireLock( method unlock (line 110) | async unlock(): Promise { method waitTimeout (line 121) | protected waitTimeout(signal: AbortSignal) { FILE: lib/files/tus-upload.ts type ResumableUploadParams (line 5) | type ResumableUploadParams = { type UploadResult (line 15) | type UploadResult = { function resumableUpload (line 26) | function resumableUpload({ FILE: lib/files/viewer-tus-upload.ts type ViewerUploadParams (line 5) | type ViewerUploadParams = { type UploadResult (line 18) | type UploadResult = { function viewerUpload (line 30) | function viewerUpload({ FILE: lib/folders/create-folder.ts function isSystemFile (line 5) | function isSystemFile(name: string): boolean { type CreateFolderResponse (line 12) | interface CreateFolderResponse { function createFolderInDataroom (line 18) | async function createFolderInDataroom({ function createFolderInMainDocs (line 51) | async function createFolderInMainDocs({ function determineFolderPaths (line 81) | function determineFolderPaths({ function createFolderInBoth (line 99) | async function createFolderInBoth({ FILE: lib/hooks/use-breakpoint.ts function useBreakpoint (line 3) | function useBreakpoint(breakpoint: number) { FILE: lib/hooks/use-disable-print.ts type UseDisablePrintOptions (line 3) | interface UseDisablePrintOptions { function useDisablePrint (line 8) | function useDisablePrint({ FILE: lib/hooks/use-feature-flags.ts function useFeatureFlags (line 10) | function useFeatureFlags() { FILE: lib/hooks/use-is-admin.ts function useIsAdmin (line 11) | function useIsAdmin() { FILE: lib/hooks/use-lazy-pages.ts type PageData (line 3) | type PageData = { type FetchPagesResponse (line 16) | type FetchPagesResponse = { type UseLazyPagesOptions (line 20) | type UseLazyPagesOptions = { constant DEFAULT_PRELOAD_RADIUS (line 28) | const DEFAULT_PRELOAD_RADIUS = 5; function useLazyPages (line 30) | function useLazyPages({ FILE: lib/hooks/use-mobile.tsx constant MOBILE_BREAKPOINT (line 3) | const MOBILE_BREAKPOINT = 768 function useIsMobile (line 5) | function useIsMobile() { FILE: lib/id-helper.ts function encodeBase58 (line 3) | function encodeBase58(buf: Buffer): string { class IdGenerator (line 11) | class IdGenerator { method constructor (line 18) | constructor(prefixes: Record) { FILE: lib/incoming-webhooks/index.ts function generateBase62String (line 6) | function generateBase62String(length: number): string { function encodeTeamId (line 19) | function encodeTeamId(teamId: string): string { function decodeTeamId (line 30) | function decodeTeamId(encoded: string): string { function generateWebhookId (line 38) | function generateWebhookId(teamId: string): string { function extractTeamId (line 47) | function extractTeamId(webhookId: string): string | null { function isValidWebhookId (line 59) | function isValidWebhookId(webhookId: string): boolean { function generateWebhookSecret (line 71) | function generateWebhookSecret(): string { FILE: lib/integrations/install.ts type InstallIntegration (line 8) | interface InstallIntegration { FILE: lib/integrations/slack/client.ts class SlackClient (line 9) | class SlackClient { method constructor (line 15) | constructor() { method getChannels (line 144) | async getChannels(accessToken: string): Promise { method sendMessage (line 199) | async sendMessage( function getSlackClient (line 240) | function getSlackClient(): SlackClient { FILE: lib/integrations/slack/env.ts type SlackEnv (line 10) | type SlackEnv = z.infer; FILE: lib/integrations/slack/events.ts class SlackEventManager (line 8) | class SlackEventManager { method constructor (line 11) | constructor() { method isViewerDomainIgnored (line 18) | private isViewerDomainIgnored( method processEvent (line 39) | async processEvent(eventData: SlackEventData): Promise { method sendSlackNotification (line 92) | private async sendSlackNotification( method getNotificationChannels (line 149) | private async getNotificationChannels( function notifyDocumentView (line 166) | async function notifyDocumentView( function notifyDataroomAccess (line 172) | async function notifyDataroomAccess( function notifyDocumentDownload (line 181) | async function notifyDocumentDownload( FILE: lib/integrations/slack/templates.ts function linkRef (line 10) | function linkRef( function createSlackMessage (line 19) | async function createSlackMessage( function createDocumentViewMessage (line 58) | async function createDocumentViewMessage( function createDataroomAccessMessage (line 157) | async function createDataroomAccessMessage( function createDocumentDownloadMessage (line 253) | async function createDocumentDownloadMessage( function createDocumentViewPausedMessage (line 371) | async function createDocumentViewPausedMessage( function createDataroomAccessPausedMessage (line 447) | async function createDataroomAccessPausedMessage( function getDocumentInfo (line 521) | async function getDocumentInfo(documentId: string) { function getDataroomInfo (line 538) | async function getDataroomInfo(dataroomId: string) { function getLinkInfo (line 568) | async function getLinkInfo(linkId: string) { function getViewInfo (line 584) | async function getViewInfo(viewId: string) { FILE: lib/integrations/slack/types.ts type SlackCredential (line 3) | type SlackCredential = { type SlackCredentialPublic (line 13) | type SlackCredentialPublic = { type SlackConfiguration (line 17) | type SlackConfiguration = { type SlackChannel (line 22) | interface SlackChannel { type SlackIntegration (line 30) | type SlackIntegration = Omit< type SlackIntegrationServer (line 38) | type SlackIntegrationServer = Omit< type SlackMessage (line 46) | interface SlackMessage { type SlackEventData (line 55) | interface SlackEventData { type SlackNotificationType (line 69) | type SlackNotificationType = type SlackChannelConfig (line 74) | interface SlackChannelConfig { FILE: lib/integrations/slack/utils.ts function deriveKey (line 8) | function deriveKey(keyMaterial: string): Buffer { function isTokenEncrypted (line 17) | function isTokenEncrypted(token: string): boolean { function encryptSlackToken (line 35) | function encryptSlackToken(token: string): string { function decryptSlackToken (line 70) | function decryptSlackToken(encryptedToken: string): string { FILE: lib/jackson.ts function sanitizePostgresUrl (line 22) | function sanitizePostgresUrl(rawUrl: string): string { function getJacksonDbUrl (line 42) | function getJacksonDbUrl(): string { function getJacksonOptions (line 59) | function getJacksonOptions(): JacksonOption { function jackson (line 82) | async function jackson() { FILE: lib/middleware/app.ts constant LOGIN_PATH (line 5) | const LOGIN_PATH = "/login"; constant DEFAULT_AUTH_REDIRECT_PATH (line 6) | const DEFAULT_AUTH_REDIRECT_PATH = "/dashboard"; function normalizeNextPath (line 8) | function normalizeNextPath(nextPath: string | null): string { function AppMiddleware (line 35) | async function AppMiddleware(req: NextRequest) { FILE: lib/middleware/domain.ts function DomainMiddleware (line 6) | async function DomainMiddleware(req: NextRequest) { FILE: lib/middleware/incoming-webhooks.ts function IncomingWebhookMiddleware (line 3) | async function IncomingWebhookMiddleware(req: NextRequest) { function isWebhookPath (line 20) | function isWebhookPath(host: string | null) { FILE: lib/middleware/posthog.ts function PostHogMiddleware (line 3) | async function PostHogMiddleware(req: NextRequest) { FILE: lib/notion/utils.ts function extractPageReferencesFromRichText (line 11) | function extractPageReferencesFromRichText( function normalizeRecordMap (line 59) | function normalizeRecordMap(recordMap: ExtendedRecordMap): void { function fetchMissingPageReferences (line 102) | async function fetchMissingPageReferences( function extractPageIdFromCustomNotionUrl (line 229) | function extractPageIdFromCustomNotionUrl(url: string): string | null { function isCustomNotionDomain (line 254) | async function isCustomNotionDomain(url: string): Promise { function getNotionPageIdFromSlug (line 269) | async function getNotionPageIdFromSlug( FILE: lib/posthog.ts function getPostHogConfig (line 1) | function getPostHogConfig(): { key: string; host: string } | null { FILE: lib/redis-download-job-store.ts type DownloadJobStatus (line 5) | type DownloadJobStatus = type DownloadJob (line 11) | interface DownloadJob { constant JOB_PREFIX (line 42) | const JOB_PREFIX = "download_job:"; constant TEAM_JOBS_PREFIX (line 43) | const TEAM_JOBS_PREFIX = "team_download_jobs:"; constant VIEWER_JOBS_PREFIX (line 44) | const VIEWER_JOBS_PREFIX = "viewer_download_jobs:"; constant JOB_TTL (line 45) | const JOB_TTL = 60 * 60 * 24 * 3; class RedisDownloadJobStore (line 47) | class RedisDownloadJobStore { method getJobKey (line 48) | private getJobKey(jobId: string): string { method getTeamJobsKey (line 52) | private getTeamJobsKey(teamId: string): string { method getViewerJobsKey (line 56) | private getViewerJobsKey(linkId: string, viewerEmail: string): string { method createJob (line 60) | async createJob( method getJob (line 96) | async getJob(jobId: string): Promise { method updateJob (line 117) | async updateJob( method getTeamJobs (line 138) | private async getTeamJobs( method getDataroomJobs (line 162) | async getDataroomJobs( method getViewerJobs (line 182) | async getViewerJobs( FILE: lib/redis-job-store.ts type ExportJobStatus (line 5) | type ExportJobStatus = "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED"; type ExportJob (line 7) | interface ExportJob { type ExportJobCleanupItem (line 26) | interface ExportJobCleanupItem { constant JOB_PREFIX (line 32) | const JOB_PREFIX = "export_job:"; constant USER_JOBS_PREFIX (line 33) | const USER_JOBS_PREFIX = "user_jobs:"; constant TEAM_JOBS_PREFIX (line 34) | const TEAM_JOBS_PREFIX = "team_jobs:"; constant CLEANUP_QUEUE_PREFIX (line 35) | const CLEANUP_QUEUE_PREFIX = "cleanup_blobs:"; constant JOB_TTL (line 36) | const JOB_TTL = 60 * 60 * 24 * 3; class RedisJobStore (line 38) | class RedisJobStore { method getJobKey (line 39) | private getJobKey(jobId: string): string { method getUserJobsKey (line 43) | private getUserJobsKey(userId: string): string { method getTeamJobsKey (line 47) | private getTeamJobsKey(teamId: string): string { method getCleanupQueueKey (line 51) | private getCleanupQueueKey(): string { method createJob (line 55) | async createJob( method getJob (line 86) | async getJob(jobId: string): Promise { method updateJob (line 107) | async updateJob( method scheduleBlobForCleanup (line 133) | async scheduleBlobForCleanup(blobUrl: string, jobId: string): Promise<... method getBlobsForCleanup (line 148) | async getBlobsForCleanup( method removeBlobFromCleanupQueue (line 180) | async removeBlobFromCleanupQueue( method deleteJob (line 195) | async deleteJob(jobId: string): Promise { method getUserJobs (line 215) | async getUserJobs(userId: string, limit: number = 20): Promise { FILE: lib/redis/dataroom-notification-queue.ts constant ITEM_TTL_SECONDS (line 3) | const ITEM_TTL_SECONDS = 8 * 24 * 60 * 60; type QueueItem (line 5) | type QueueItem = { type DigestViewerEntry (line 11) | type DigestViewerEntry = { function itemsKey (line 17) | function itemsKey(viewerId: string, dataroomId: string) { function viewerSetKey (line 21) | function viewerSetKey(frequency: "daily" | "weekly") { function encodeViewerEntry (line 25) | function encodeViewerEntry(entry: DigestViewerEntry): string { function decodeViewerEntry (line 29) | function decodeViewerEntry(encoded: string): DigestViewerEntry { function queueNotification (line 34) | async function queueNotification({ type DigestBatch (line 66) | type DigestBatch = { function popDigestQueue (line 73) | async function popDigestQueue( FILE: lib/sheet/index.ts type RowData (line 3) | type RowData = { [key: string]: any }; type SheetData (line 4) | type SheetData = { FILE: lib/swr/use-agreements.ts type AgreementWithLinksCount (line 7) | interface AgreementWithLinksCount extends Agreement { function useAgreements (line 13) | function useAgreements() { FILE: lib/swr/use-annotations.ts type Annotation (line 5) | interface Annotation { function useAnnotations (line 28) | function useAnnotations(documentId: string, teamId: string) { function useViewerAnnotations (line 46) | function useViewerAnnotations( FILE: lib/swr/use-billing.ts type BillingProps (line 10) | interface BillingProps { function useBilling (line 21) | function useBilling() { type BasePlan (line 39) | type BasePlan = type PlanWithTrial (line 49) | type PlanWithTrial = `${BasePlan}+drtrial`; type PlanWithOld (line 50) | type PlanWithOld = `${BasePlan}+old` | `${BasePlan}+drtrial+old`; type PlanResponse (line 52) | type PlanResponse = { type PlanDetails (line 66) | interface PlanDetails { function parsePlan (line 72) | function parsePlan(plan: BasePlan | PlanWithTrial | PlanWithOld): PlanDe... function usePlan (line 91) | function usePlan({ FILE: lib/swr/use-brand.ts function useBrand (line 11) | function useBrand() { function useDataroomBrand (line 30) | function useDataroomBrand({ FILE: lib/swr/use-dataroom-document-stats.ts type TDataroomDocumentStats (line 9) | type TDataroomDocumentStats = TStatsData & { function useDataroomDocumentStats (line 13) | function useDataroomDocumentStats( FILE: lib/swr/use-dataroom-groups.ts function useDataroomGroups (line 18) | function useDataroomGroups({ documentId }: { documentId?: string } = {}) { function useDataroomGroupLinks (line 57) | function useDataroomGroupLinks() { type ViewerGroupWithMembers (line 83) | type ViewerGroupWithMembers = ViewerGroup & { function useDataroomGroup (line 88) | function useDataroomGroup() { function useDataroomGroupPermissions (line 121) | function useDataroomGroupPermissions() { FILE: lib/swr/use-dataroom-permission-groups.ts function useDataroomPermissionGroups (line 9) | function useDataroomPermissionGroups() { FILE: lib/swr/use-dataroom-stats.ts type TDataroomStatsData (line 10) | type TDataroomStatsData = { function useDataroomStats (line 20) | function useDataroomStats({ function useDataroomVisitorUserAgent (line 84) | function useDataroomVisitorUserAgent(viewId: string) { FILE: lib/swr/use-dataroom-view-document-stats.ts type DocumentViewStats (line 6) | type DocumentViewStats = { function useDataroomViewDocumentStats (line 15) | function useDataroomViewDocumentStats({ type PageDurationData (line 47) | type PageDurationData = { function useDataroomDocumentPageStats (line 52) | function useDataroomDocumentPageStats({ FILE: lib/swr/use-dataroom.ts type DataroomFolderWithCount (line 14) | type DataroomFolderWithCount = DataroomFolder & { function useDataroom (line 21) | function useDataroom() { function useDataroomLinks (line 67) | function useDataroomLinks() { function useDataroomItems (line 90) | function useDataroomItems({ function useDataroomDocuments (line 160) | function useDataroomDocuments() { function useDataroomFolders (line 186) | function useDataroomFolders({ type DataroomFolderWithDocuments (line 220) | type DataroomFolderWithDocuments = DataroomFolder & { function useDataroomFoldersTree (line 235) | function useDataroomFoldersTree({ function useDataroomFolderWithParents (line 262) | function useDataroomFolderWithParents({ type DataroomFolderDocument (line 291) | type DataroomFolderDocument = DataroomDocument & { function useDataroomFolderDocuments (line 306) | function useDataroomFolderDocuments({ name }: { name: string[] }) { function useDataroomViewers (line 335) | function useDataroomViewers({ dataroomId }: { dataroomId: string }) { type DataroomVisitsResponse (line 356) | type DataroomVisitsResponse = { function useDataroomVisits (line 361) | function useDataroomVisits({ type DataroomDocumentViewHistory (line 389) | type DataroomDocumentViewHistory = { type DataroomDocumentUploadViewHistory (line 410) | type DataroomDocumentUploadViewHistory = { function useDataroomVisitHistory (line 416) | function useDataroomVisitHistory({ FILE: lib/swr/use-datarooms-simple.ts type DataroomSimple (line 7) | type DataroomSimple = Pick & { type DataroomsResponse (line 26) | type DataroomsResponse = { function useDatarooms (line 31) | function useDatarooms() { FILE: lib/swr/use-document-overview.ts type DocumentOverview (line 9) | interface DocumentOverview { function useDocumentOverview (line 33) | function useDocumentOverview() { FILE: lib/swr/use-document-preview.ts function useDocumentPreview (line 7) | function useDocumentPreview(documentId: string, isOpen: boolean) { FILE: lib/swr/use-document-stats.ts function useDocumentStats (line 8) | function useDocumentStats(documentId: string | null | undefined) { FILE: lib/swr/use-document.ts function useDocument (line 11) | function useDocument() { function useDocumentLinks (line 57) | function useDocumentLinks() { type ViewWithDuration (line 89) | interface ViewWithDuration extends View { type TStatsData (line 117) | type TStatsData = { function useDocumentVisits (line 124) | function useDocumentVisits(page: number, limit: number) { type DocumentProcessingStatus (line 154) | interface DocumentProcessingStatus { function useDocumentProcessingStatus (line 160) | function useDocumentProcessingStatus(documentVersionId: string) { function useDocumentThumbnail (line 180) | function useDocumentThumbnail( FILE: lib/swr/use-documents.ts function useDocuments (line 10) | function useDocuments() { function useFolderDocuments (line 60) | function useFolderDocuments({ name }: { name: string[] }) { type FolderWithCount (line 83) | type FolderWithCount = Folder & { type FolderWithCountAndPath (line 90) | type FolderWithCountAndPath = FolderWithCount & { function useFolder (line 94) | function useFolder({ name }: { name: string[] }) { type FolderWithDocuments (line 121) | type FolderWithDocuments = Folder & { function useFolders (line 130) | function useFolders() { function useRootFolders (line 150) | function useRootFolders() { function useHiddenDocuments (line 170) | function useHiddenDocuments() { FILE: lib/swr/use-domains.ts function useDomains (line 7) | function useDomains({ enabled = false }: { enabled?: boolean } = {}) { FILE: lib/swr/use-folders.ts type FolderWithParents (line 6) | type FolderWithParents = { function useFolderWithParents (line 18) | function useFolderWithParents({ name }: { name: string[] }) { FILE: lib/swr/use-invitations.ts function useInvitations (line 7) | function useInvitations() { FILE: lib/swr/use-invoices.ts type Invoice (line 6) | interface Invoice { function useInvoices (line 20) | function useInvoices() { FILE: lib/swr/use-link.ts function useLink (line 11) | function useLink() { function useDomainLink (line 34) | function useDomainLink() { type ViewWithDuration (line 61) | interface ViewWithDuration extends View { type LinkVisitsResponse (line 69) | interface LinkVisitsResponse { function useLinkVisits (line 74) | function useLinkVisits(linkId: string) { FILE: lib/swr/use-passkeys.ts type PasskeyCredential (line 5) | interface PasskeyCredential { function usePasskeys (line 16) | function usePasskeys() { FILE: lib/swr/use-saml.ts function useSAML (line 7) | function useSAML() { FILE: lib/swr/use-scim.ts function useSCIM (line 7) | function useSCIM() { FILE: lib/swr/use-slack-channels.ts function useSlackChannels (line 7) | function useSlackChannels({ enabled = true }: { enabled?: boolean }) { FILE: lib/swr/use-slack-integration.ts function useSlackIntegration (line 8) | function useSlackIntegration({ enabled = true }: { enabled?: boolean }) { FILE: lib/swr/use-stats.ts type TStatsData (line 10) | type TStatsData = { function useStats (line 20) | function useStats({ type StatsViewData (line 49) | interface StatsViewData { function useVisitorStats (line 56) | function useVisitorStats(viewId: string) { function useVisitorUserAgent (line 84) | function useVisitorUserAgent(viewId: string) { FILE: lib/swr/use-tags.ts function useTags (line 37) | function useTags({ FILE: lib/swr/use-team-ai.ts type TeamAISettings (line 6) | interface TeamAISettings { function useTeamAI (line 18) | function useTeamAI() { FILE: lib/swr/use-team-settings.ts type TeamSettings (line 5) | interface TeamSettings { function useTeamSettings (line 15) | function useTeamSettings(teamId: string | undefined | null) { FILE: lib/swr/use-team.ts function useGetTeam (line 7) | function useGetTeam() { FILE: lib/swr/use-teams.ts function useTeams (line 9) | function useTeams() { FILE: lib/swr/use-viewer.ts type ViewerWithViews (line 9) | type ViewerWithViews = { function useViewer (line 40) | function useViewer( FILE: lib/swr/use-viewers.ts type ViewerWithStats (line 9) | type ViewerWithStats = { type ViewersResponse (line 18) | type ViewersResponse = { function useViewers (line 34) | function useViewers( FILE: lib/swr/use-visitor-groups.ts type VisitorGroupWithCount (line 7) | type VisitorGroupWithCount = VisitorGroup & { function useVisitorGroups (line 13) | function useVisitorGroups() { FILE: lib/team/helper.ts type ITeamUserAndDocument (line 8) | interface ITeamUserAndDocument { type IDocumentWithLink (line 16) | interface IDocumentWithLink { function getTeamWithUsersAndDocument (line 22) | async function getTeamWithUsersAndDocument({ function getDocumentWithTeamAndUser (line 89) | async function getDocumentWithTeamAndUser({ FILE: lib/tracking/record-link-view.ts function recordLinkView (line 14) | async function recordLinkView({ FILE: lib/tracking/safe-page-view-tracker.ts type TrackingData (line 4) | interface TrackingData { type TrackingOptions (line 18) | interface TrackingOptions { function useSafePageViewTracker (line 27) | function useSafePageViewTracker(options: TrackingOptions = {}) { FILE: lib/tracking/tracking-config.ts constant TRACKING_CONFIG (line 1) | const TRACKING_CONFIG = { function getTrackingOptions (line 17) | function getTrackingOptions( FILE: lib/tracking/video-tracking.ts type VideoTrackingEvent (line 3) | type VideoTrackingEvent = { type EventType (line 20) | type EventType = (typeof VIDEO_EVENT_TYPES)[number]; function debounce (line 23) | function debounce any>( class VideoTracker (line 52) | class VideoTracker { method constructor (line 70) | constructor( method addEventListenerWithCleanup (line 110) | private addEventListenerWithCleanup( method trackEvent (line 120) | private async trackEvent(eventType: EventType, endTime?: number, useBe... method setupEventListeners (line 193) | private setupEventListeners() { method startPeriodicTracking (line 324) | private startPeriodicTracking() { method stopPeriodicTracking (line 329) | private stopPeriodicTracking() { method updateConfig (line 333) | public updateConfig( method trackVisibilityChange (line 341) | public trackVisibilityChange(isVisible: boolean) { method cleanup (line 354) | public cleanup() { FILE: lib/trigger/bulk-download.ts constant MAX_FILES_PER_BATCH (line 9) | const MAX_FILES_PER_BATCH = 500; constant MAX_ZIP_SIZE_BYTES (line 13) | const MAX_ZIP_SIZE_BYTES = 500 * 1024 * 1024; function generateTimestamp (line 19) | function generateTimestamp(): string { function generateZipFileName (line 31) | function generateZipFileName( type BulkDownloadPayload (line 45) | type BulkDownloadPayload = { type ProcessDownloadBatchParams (line 329) | interface ProcessDownloadBatchParams { type ProcessDownloadBatchResult (line 342) | interface ProcessDownloadBatchResult { function processDownloadBatch (line 347) | async function processDownloadBatch({ type FileBatch (line 395) | interface FileBatch { type FileInfo (line 401) | interface FileInfo { function splitFilesIntoBatches (line 408) | function splitFilesIntoBatches( function buildBatchFromFiles (line 472) | function buildBatchFromFiles( function sendEmailNotification (line 520) | async function sendEmailNotification({ FILE: lib/trigger/convert-files.ts type ConvertPayload (line 15) | type ConvertPayload = { FILE: lib/trigger/dataroom-change-notification.ts type NotificationPayload (line 7) | type NotificationPayload = { FILE: lib/trigger/dataroom-upload-notification.ts type UploadNotificationPayload (line 5) | type UploadNotificationPayload = { FILE: lib/trigger/export-visits.ts function escapeCsvField (line 15) | function escapeCsvField(field: string | number | null | undefined): stri... function createCsvRow (line 36) | function createCsvRow(fields: (string | number | null | undefined)[]): s... type ExportVisitsPayload (line 46) | type ExportVisitsPayload = { function isViewDuringPause (line 184) | function isViewDuringPause( function exportDocumentVisits (line 195) | async function exportDocumentVisits( function collectUniqueCustomFields (line 398) | function collectUniqueCustomFields( function generateCustomFieldHeaders (line 430) | function generateCustomFieldHeaders( function extractCustomFieldValues (line 442) | function extractCustomFieldValues( function exportDataroomVisits (line 493) | async function exportDataroomVisits( FILE: lib/trigger/pdf-to-image-route.ts type ConvertPdfToImagePayload (line 8) | type ConvertPdfToImagePayload = { FILE: lib/types.ts type CustomUser (line 17) | type CustomUser = NextAuthUser & PrismaUser; type CreateUserEmailProps (line 19) | interface CreateUserEmailProps { type DocumentWithLinksAndLinkCountAndViewCount (line 26) | interface DocumentWithLinksAndLinkCountAndViewCount extends Document { type DocumentWithVersion (line 41) | interface DocumentWithVersion extends Document { type LinkWithViews (line 61) | interface LinkWithViews extends Link { type LinkWithDocument (line 73) | interface LinkWithDocument extends Link { type LinkWithDataroomDocument (line 98) | interface LinkWithDataroomDocument extends Link { type LinkWithDataroom (line 126) | interface LinkWithDataroom extends Link { type Geo (line 166) | interface Geo { type DomainVerificationStatusProps (line 176) | type DomainVerificationStatusProps = type DomainResponse (line 185) | interface DomainResponse { type DomainConfigResponse (line 206) | interface DomainConfigResponse { type DomainVerificationResponse (line 222) | interface DomainVerificationResponse { type AnalyticsEvents (line 242) | type AnalyticsEvents = type Team (line 305) | interface Team { type TeamDetail (line 315) | interface TeamDetail { type WatermarkConfig (line 364) | type WatermarkConfig = z.infer; type NotionTheme (line 366) | type NotionTheme = "light" | "dark"; type BasePlan (line 368) | type BasePlan = type TagColorProps (line 388) | type TagColorProps = (typeof tagColors)[number]; type TagsWithTotalCount (line 390) | interface TagsWithTotalCount { type TagProps (line 395) | interface TagProps { FILE: lib/types/document-preview.ts type DocumentPreviewData (line 1) | interface DocumentPreviewData { FILE: lib/types/index-file.ts type DataroomIndexEntry (line 1) | interface DataroomIndexEntry { type DataroomIndex (line 15) | interface DataroomIndex { type IndexFileFormat (line 26) | type IndexFileFormat = "excel" | "csv" | "json"; FILE: lib/utils.ts function cn (line 17) | function cn(...inputs: ClassValue[]) { function classNames (line 21) | function classNames(...classes: string[]) { function getExtension (line 26) | function getExtension(url: string) { function getFileNameWithPdfExtension (line 35) | function getFileNameWithPdfExtension(filename?: string): string { type SWRError (line 43) | interface SWRError extends Error { function fetcher (line 47) | async function fetcher( constant LOG_TIMEOUT_MS (line 89) | const LOG_TIMEOUT_MS = 2500; function bytesToSize (line 162) | function bytesToSize(bytes: number) { function capitalize (line 196) | function capitalize(str: string) { function nFormatter (line 241) | function nFormatter(num?: number, digits?: number) { function hashPassword (line 290) | async function hashPassword(password: string): Promise { function checkPassword (line 296) | async function checkPassword( function copyToClipboard (line 304) | function copyToClipboard(text: string, message: string): void { function safeSlugify (line 360) | function safeSlugify(input: string): string { function constructMetadata (line 393) | function constructMetadata({ function generateEncrpytedPassword (line 549) | async function generateEncrpytedPassword( function decryptEncrpytedPassword (line 578) | function decryptEncrpytedPassword(password: string): string { type FilterMode (line 608) | type FilterMode = "email" | "domain" | "both"; function hexToRgb (line 630) | function hexToRgb(hex: string) { constant PRESET_OPTIONS (line 686) | const PRESET_OPTIONS: { label: string; value: number }[] = [ constant WITH_CUSTOM_PRESET_OPTION (line 699) | const WITH_CUSTOM_PRESET_OPTION: { function safeTemplateReplace (line 804) | function safeTemplateReplace( function serializeFileSize (line 828) | function serializeFileSize(obj: any): any { FILE: lib/utils/calculate-hierarchical-indexes.ts type DataroomItem (line 5) | interface DataroomItem { type HierarchicalItem (line 14) | interface HierarchicalItem extends DataroomItem { function sortItems (line 22) | function sortItems(items: DataroomItem[]): DataroomItem[] { function buildHierarchy (line 43) | function buildHierarchy( function assignHierarchicalIndexes (line 71) | function assignHierarchicalIndexes( function flattenHierarchy (line 90) | function flattenHierarchy(items: HierarchicalItem[]): Array<{ function calculateAndUpdateHierarchicalIndexes (line 119) | async function calculateAndUpdateHierarchicalIndexes( FILE: lib/utils/create-adaptive-surface-palette.ts type Rgb (line 1) | type Rgb = { r: number; g: number; b: number }; type AdaptiveSurfacePalette (line 3) | type AdaptiveSurfacePalette = { constant LIGHT_TEXT (line 26) | const LIGHT_TEXT: Rgb = { r: 248, g: 250, b: 252 }; constant DARK_TEXT (line 27) | const DARK_TEXT: Rgb = { r: 15, g: 23, b: 42 }; constant FALLBACK_BG (line 28) | const FALLBACK_BG: Rgb = { r: 3, g: 7, b: 18 }; function clamp (line 30) | function clamp(value: number, min: number, max: number) { function hexToRgb (line 34) | function hexToRgb(hex: string): Rgb | null { function rgbStringToRgb (line 55) | function rgbStringToRgb(input: string): Rgb | null { function parseToRgb (line 68) | function parseToRgb(color: string | null | undefined): Rgb { function toCssRgb (line 73) | function toCssRgb(rgb: Rgb) { function mixRgb (line 77) | function mixRgb(background: Rgb, foreground: Rgb, amount: number): Rgb { function toLinearChannel (line 86) | function toLinearChannel(channel: number) { function luminance (line 91) | function luminance(rgb: Rgb) { function contrastRatio (line 99) | function contrastRatio(a: Rgb, b: Rgb) { function saturation (line 107) | function saturation(rgb: Rgb) { function createAdaptiveSurfacePalette (line 119) | function createAdaptiveSurfacePalette( FILE: lib/utils/csv.ts function downloadCSV (line 3) | function downloadCSV(data: any[], filename: string) { FILE: lib/utils/decode-base64url.ts function decodeBase64Url (line 1) | function decodeBase64Url(base64url: string) { FILE: lib/utils/determine-text-color.ts function hexToRgb (line 1) | function hexToRgb(hex: string) { function luminance (line 20) | function luminance(r: number, g: number, b: number) { function determineTextColor (line 24) | function determineTextColor(hexColor: string | null | undefined) { FILE: lib/utils/email-domain.ts constant GENERIC_EMAIL_DOMAINS (line 1) | const GENERIC_EMAIL_DOMAINS = [ function extractEmailDomain (line 49) | function extractEmailDomain(email: string): string | null { function normalizeListEntry (line 74) | function normalizeListEntry(entry: string): string { function isEmailMatched (line 81) | function isEmailMatched(email: string, entry: string): boolean { FILE: lib/utils/generate-checksum.ts function generateChecksum (line 3) | function generateChecksum(url: string): string { FILE: lib/utils/generate-jwt.ts constant JWT_SECRET (line 3) | const JWT_SECRET = process.env.NEXT_PRIVATE_UNSUBSCRIBE_JWT_SECRET as st... type JWTPayload (line 5) | type JWTPayload = { function generateJWT (line 16) | function generateJWT( function verifyJWT (line 33) | function verifyJWT(token: string): T | null { FILE: lib/utils/generate-otp.ts function generateOTP (line 1) | function generateOTP(): string { FILE: lib/utils/generate-trigger-auth-token.ts function generateTriggerPublicAccessToken (line 3) | async function generateTriggerPublicAccessToken(tag: string) { FILE: lib/utils/generate-trigger-status.ts type TDocumentProgressStatus (line 9) | type TDocumentProgressStatus = z.infer; type TDocumentProgressMetadata (line 15) | type TDocumentProgressMetadata = z.infer; function updateStatus (line 20) | function updateStatus(status: TDocumentProgressStatus) { function parseStatus (line 29) | function parseStatus(data: unknown): TDocumentProgressStatus { FILE: lib/utils/geo.ts function getGeoData (line 3) | function getGeoData(headers: { constant LOCALHOST_GEO_DATA (line 25) | const LOCALHOST_GEO_DATA = { constant LOCALHOST_IP (line 34) | const LOCALHOST_IP = "127.0.0.1"; FILE: lib/utils/get-content-type.ts function getSupportedContentType (line 1) | function getSupportedContentType(contentType: string): string | null { function getExtensionFromContentType (line 55) | function getExtensionFromContentType( function supportsAdvancedExcelMode (line 130) | function supportsAdvancedExcelMode( FILE: lib/utils/get-file-icon.tsx function fileIcon (line 13) | function fileIcon({ FILE: lib/utils/get-file-size-limits.ts type FileSizeLimits (line 1) | type FileSizeLimits = { function getFileSizeLimits (line 10) | function getFileSizeLimits({ function getFileSizeLimit (line 46) | function getFileSizeLimit( FILE: lib/utils/global-block-list.ts function checkGlobalBlockList (line 4) | function checkGlobalBlockList( FILE: lib/utils/hierarchical-display.ts function useHierarchicalDisplayName (line 6) | function useHierarchicalDisplayName( function getHierarchicalDisplayName (line 23) | function getHierarchicalDisplayName( constant HIERARCHICAL_DISPLAY_STYLE (line 38) | const HIERARCHICAL_DISPLAY_STYLE = { FILE: lib/utils/ip.ts function getIpAddress (line 1) | function getIpAddress(headers: { FILE: lib/utils/link-url.ts function constructLinkUrl (line 1) | function constructLinkUrl(link: { FILE: lib/utils/reliable-tracking.ts type TrackingData (line 1) | interface TrackingData { type TrackingOptions (line 12) | interface TrackingOptions { function trackPageViewReliably (line 17) | async function trackPageViewReliably( function trackPageView (line 119) | async function trackPageView(data: TrackingData): Promise { FILE: lib/utils/sanitize-html.ts function sanitizePlainText (line 12) | function sanitizePlainText(content: string) { constant MAX_MESSAGE_LENGTH (line 22) | const MAX_MESSAGE_LENGTH = 4000; function validateContent (line 24) | function validateContent(html: string, length: number = MAX_MESSAGE_LENG... FILE: lib/utils/trigger-utils.ts type TQueueConfig (line 3) | type TQueueConfig = { FILE: lib/utils/unsubscribe.ts constant JWT_SECRET (line 3) | const JWT_SECRET = process.env.NEXT_PRIVATE_UNSUBSCRIBE_JWT_SECRET as st... constant UNSUBSCRIBE_BASE_URL (line 4) | const UNSUBSCRIBE_BASE_URL = process.env.NEXT_PUBLIC_BASE_URL as string; type UnsubscribePayload (line 6) | type UnsubscribePayload = { function generateUnsubscribeUrl (line 13) | function generateUnsubscribeUrl(payload: UnsubscribePayload): string { function verifyUnsubscribeToken (line 28) | function verifyUnsubscribeToken( FILE: lib/utils/use-at-bottom.ts function useAtBottom (line 3) | function useAtBottom(offset = 0) { FILE: lib/utils/use-copy-to-clipboard.ts type useCopyToClipboardProps (line 7) | interface useCopyToClipboardProps { function useCopyToClipboard (line 11) | function useCopyToClipboard({ FILE: lib/utils/use-enter-submit.ts function useEnterSubmit (line 3) | function useEnterSubmit(): { FILE: lib/utils/use-media-query.ts function useMediaQuery (line 3) | function useMediaQuery() { FILE: lib/utils/use-progress-status.ts type IDocumentProgressStatus (line 8) | interface IDocumentProgressStatus { function useDocumentProgressStatus (line 14) | function useDocumentProgressStatus( FILE: lib/utils/user-agent.ts function isBot (line 3) | function isBot(input: string) { function userAgentFromString (line 9) | function userAgentFromString(input: string | undefined): UserAgent { type UserAgent (line 16) | interface UserAgent { FILE: lib/webhook/constants.ts constant TEAM_LEVEL_WEBHOOK_TRIGGERS (line 1) | const TEAM_LEVEL_WEBHOOK_TRIGGERS = [ constant DOCUMENT_LEVEL_WEBHOOK_TRIGGERS (line 8) | const DOCUMENT_LEVEL_WEBHOOK_TRIGGERS = [ constant LINK_LEVEL_WEBHOOK_TRIGGERS (line 13) | const LINK_LEVEL_WEBHOOK_TRIGGERS = [ constant WEBHOOK_TRIGGERS (line 18) | const WEBHOOK_TRIGGERS = [ constant WEBHOOK_TRIGGER_DESCRIPTIONS (line 24) | const WEBHOOK_TRIGGER_DESCRIPTIONS = { FILE: lib/webhook/triggers/document-created.ts function sendDocumentCreatedWebhook (line 7) | async function sendDocumentCreatedWebhook({ FILE: lib/webhook/triggers/link-created.ts function sendLinkCreatedWebhook (line 7) | async function sendLinkCreatedWebhook({ FILE: lib/webhook/types.ts type WebhookTrigger (line 11) | type WebhookTrigger = keyof typeof WEBHOOK_TRIGGER_DESCRIPTIONS; type WebhookPayload (line 13) | type WebhookPayload = type EventDataProps (line 20) | type EventDataProps = WebhookPayload["data"]; FILE: lib/webstorage.ts method getItem (line 7) | getItem(key: string) { method setItem (line 16) | setItem(key: string, value: string) { FILE: lib/year-in-review/calculate-percentile.ts function calculateViewPercentile (line 4) | async function calculateViewPercentile(teamTotalViews: number) { function getYearInReviewStats (line 43) | async function getYearInReviewStats(teamId: string) { FILE: lib/year-in-review/get-stats.ts constant COUNTRY_CENTROIDS (line 9) | const COUNTRY_CENTROIDS: { [key: string]: { lat: number; lng: number } }... function calculateDistance (line 159) | function calculateDistance( constant DEFAULT_ORIGIN (line 179) | const DEFAULT_ORIGIN = { lat: 37.77, lng: -122.42 }; function calculateTotalDistance (line 183) | function calculateTotalDistance( function getYearInReviewStats (line 204) | async function getYearInReviewStats( FILE: lib/year-in-review/index.ts function initializeEmailQueue (line 5) | async function initializeEmailQueue() { FILE: lib/year-in-review/send-emails.ts constant BATCH_SIZE (line 11) | const BATCH_SIZE = 100; constant MAX_ATTEMPTS (line 12) | const MAX_ATTEMPTS = 3; constant RATE_LIMIT_DELAY (line 13) | const RATE_LIMIT_DELAY = 10000; type YearReviewStats (line 15) | type YearReviewStats = { type EmailWithMetadata (line 33) | type EmailWithMetadata = { function msToMinutes (line 50) | function msToMinutes(ms: number): number { function processEmailQueue (line 54) | async function processEmailQueue() { FILE: lib/zod/schemas/folders.ts type FolderPath (line 30) | type FolderPath = z.infer; FILE: lib/zod/schemas/multipart.ts type MultipartUploadRequest (line 49) | type MultipartUploadRequest = z.infer; type MultipartPart (line 50) | type MultipartPart = z.infer; type MultipartInitiateRequest (line 51) | type MultipartInitiateRequest = z.infer; type MultipartGetPartUrlsRequest (line 52) | type MultipartGetPartUrlsRequest = z.infer< type MultipartCompleteRequest (line 55) | type MultipartCompleteRequest = z.infer; FILE: lib/zod/schemas/notifications.ts type NotificationFrequency (line 4) | type NotificationFrequency = z.infer; FILE: lib/zod/schemas/presets.ts type PresetDataSchema (line 76) | type PresetDataSchema = z.infer; FILE: lib/zod/schemas/webhooks.ts type WebhookPayload (line 146) | type WebhookPayload = z.infer; type LinkCreatedWebhookPayload (line 147) | type LinkCreatedWebhookPayload = z.infer< type DocumentCreatedWebhookPayload (line 150) | type DocumentCreatedWebhookPayload = z.infer< type DataroomCreatedWebhookPayload (line 153) | type DataroomCreatedWebhookPayload = z.infer< FILE: middleware.ts function isAnalyticsPath (line 12) | function isAnalyticsPath(path: string) { function isCustomDomain (line 22) | function isCustomDomain(host: string) { function middleware (line 50) | async function middleware(req: NextRequest, ev: NextFetchEvent) { FILE: next.config.mjs method redirects (line 16) | async redirects() { method headers (line 42) | async headers() { function prepareRemotePatterns (line 208) | function prepareRemotePatterns() { FILE: pages/404.tsx function NotFound (line 3) | function NotFound({ message }: { message?: string }) { FILE: pages/_app.tsx function App (line 22) | function App({ FILE: pages/_document.tsx function Document (line 3) | function Document() { FILE: pages/account/security.tsx function registerPasskey (line 34) | async function registerPasskey() { function removePasskey (line 65) | async function removePasskey(credentialId: string) { function formatDate (line 85) | function formatDate(dateString: string) { FILE: pages/api/account/index.ts function handle (line 25) | async function handle( FILE: pages/api/account/passkeys.ts function handler (line 9) | async function handler( FILE: pages/api/analytics/index.ts constant INTERVALS (line 27) | const INTERVALS = { function handler (line 33) | async function handler( FILE: pages/api/auth/[...nextauth].ts constant VERCEL_DEPLOYMENT (line 25) | const VERCEL_DEPLOYMENT = !!process.env.VERCEL_URL; function getMainDomainUrl (line 27) | function getMainDomainUrl(): string { method profile (line 57) | profile(profile, tokens) { method sendVerificationRequest (line 70) | async sendVerificationRequest({ identifier, url }) { method authorize (line 102) | async authorize({ userId }) { method authorize (line 160) | async authorize(credentials) { method createUser (line 266) | async createUser(message) { function handler (line 471) | async function handler( FILE: pages/api/conversations/[[...conversations]].ts function handler (line 5) | async function handler( FILE: pages/api/feedback/index.ts function handle (line 5) | async function handle( FILE: pages/api/file/browser-upload.ts function handler (line 11) | async function handler( FILE: pages/api/file/image-upload.ts function handler (line 29) | async function handler( FILE: pages/api/file/notion/index.ts function handle (line 11) | async function handle( FILE: pages/api/file/s3/get-presigned-get-url-proxy.ts function handler (line 10) | async function handler( FILE: pages/api/file/s3/get-presigned-get-url.ts function handler (line 11) | async function handler( FILE: pages/api/file/s3/get-presigned-post-url.ts function handler (line 16) | async function handler( FILE: pages/api/file/s3/multipart.ts function handler (line 22) | async function handler( FILE: pages/api/file/tus-viewer/[[...file]].ts method namingFunction (line 35) | async namingFunction(req, metadata) { method generateUrl (line 84) | generateUrl(req, { proto, host, path, id }) { method getFileIdFromRequest (line 89) | getFileIdFromRequest(req) { method onResponseError (line 94) | onResponseError(req, res, err) { method onUploadCreate (line 101) | async onUploadCreate(req, res, upload) { method onUploadFinish (line 145) | async onUploadFinish(req, res, upload) { method onIncomingRequest (line 183) | async onIncomingRequest(req, res, uploadId) { function handler (line 249) | function handler(req: NextApiRequest, res: NextApiResponse) { FILE: pages/api/file/tus/[[...file]].ts constant FREE_PLAN (line 36) | const FREE_PLAN = "free"; constant FREE_TRIAL_PLAN (line 37) | const FREE_TRIAL_PLAN = "free+drtrial"; constant BYTES_PER_MEGABYTE (line 38) | const BYTES_PER_MEGABYTE = 1024 * 1024; type TusErrorResponse (line 39) | type TusErrorResponse = { status_code: number; body: string }; type TusAuthenticatedRequest (line 41) | type TusAuthenticatedRequest = NextApiRequest & { method namingFunction (line 52) | namingFunction(req, metadata) { method generateUrl (line 62) | generateUrl(req, { proto, host, path, id }) { method getFileIdFromRequest (line 67) | getFileIdFromRequest(req) { method onResponseError (line 72) | onResponseError(req, res, err) { method onIncomingRequest (line 93) | async onIncomingRequest(req, res, uploadId) { method onUploadCreate (line 130) | async onUploadCreate(req, res, upload) { method onUploadFinish (line 226) | async onUploadFinish(req, res, upload) { function handler (line 266) | async function handler( FILE: pages/api/health.ts function handler (line 5) | async function handler( FILE: pages/api/internal/billing/automatic-unpause.ts function handle (line 10) | async function handle( FILE: pages/api/jobs/get-thumbnail.ts function handle (line 11) | async function handle( FILE: pages/api/jobs/process-download-batch.ts function handler (line 14) | async function handler( FILE: pages/api/jobs/send-dataroom-new-document-notification.ts function handle (line 12) | async function handle( FILE: pages/api/jobs/send-dataroom-upload-notification.ts function handle (line 10) | async function handle( FILE: pages/api/jobs/send-notification.ts function handle (line 16) | async function handle( FILE: pages/api/links/[id]/annotations.ts function handle (line 10) | async function handle( FILE: pages/api/links/[id]/archive.ts function handle (line 10) | async function handle( FILE: pages/api/links/[id]/documents/[documentId].ts function handle (line 10) | async function handle( FILE: pages/api/links/[id]/documents/[documentId]/annotations.ts function handle (line 8) | async function handle( FILE: pages/api/links/[id]/duplicate.ts function handle (line 19) | async function handle( FILE: pages/api/links/[id]/index.ts function handle (line 22) | async function handle( FILE: pages/api/links/[id]/preview.ts function handle (line 10) | async function handle( FILE: pages/api/links/domains/[...domainSlug].ts function handle (line 14) | async function handle( FILE: pages/api/links/download/[jobId].ts function handler (line 7) | async function handler( FILE: pages/api/links/download/bulk.ts function handle (line 21) | async function handle( FILE: pages/api/links/download/by-email.ts function handler (line 8) | async function handler( FILE: pages/api/links/download/dataroom-document.ts function handle (line 16) | async function handle( FILE: pages/api/links/download/dataroom-folder.ts function handler (line 22) | async function handler( FILE: pages/api/links/download/file/[jobId]/[partIndex].ts function handler (line 8) | async function handler( FILE: pages/api/links/download/index.ts function handle (line 16) | async function handle( FILE: pages/api/links/download/jobs.ts function handler (line 7) | async function handler( FILE: pages/api/links/download/verify.ts constant OTP_IDENTIFIER_PREFIX (line 18) | const OTP_IDENTIFIER_PREFIX = "download-otp:"; function handler (line 20) | async function handler( FILE: pages/api/links/generate-index.ts function handle (line 11) | async function handle( FILE: pages/api/links/index.ts type DomainObject (line 24) | interface DomainObject { function handler (line 29) | async function handler( FILE: pages/api/mupdf/annotate-document.ts function validateUrl (line 22) | function validateUrl(urlString: string): URL { type WatermarkConfig (line 62) | interface WatermarkConfig { type ViewerData (line 81) | interface ViewerData { function getPositionCoordinates (line 89) | function getPositionCoordinates( function insertWatermark (line 110) | async function insertWatermark( FILE: pages/api/notification-preferences/dataroom.ts function handle (line 14) | async function handle( FILE: pages/api/passkeys/register.ts function handler (line 13) | async function handler( FILE: pages/api/progress-token.ts function handle (line 5) | async function handle( FILE: pages/api/record_click.ts function handler (line 22) | async function handler( FILE: pages/api/record_reaction.ts function handle (line 5) | async function handle( FILE: pages/api/record_video_view.ts function handler (line 52) | async function handler( FILE: pages/api/record_view.ts function handle (line 43) | async function handle( FILE: pages/api/report.ts function handler (line 21) | async function handler( FILE: pages/api/revalidate.ts function handler (line 5) | async function handler( FILE: pages/api/stripe/webhook-old.ts function buffer (line 20) | async function buffer(readable: Readable) { function webhookHandler (line 34) | async function webhookHandler( FILE: pages/api/stripe/webhook.ts function buffer (line 23) | async function buffer(readable: Readable) { function webhookHandler (line 39) | async function webhookHandler( FILE: pages/api/teams/[teamId]/agreements/[agreementId]/download.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/agreements/[agreementId]/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/agreements/index.ts function handle (line 28) | async function handle( FILE: pages/api/teams/[teamId]/ai-settings.ts function handle (line 16) | async function handle( FILE: pages/api/teams/[teamId]/billing/cancel.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/cancellation-feedback.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/billing/invoices.ts function isOldAccount (line 10) | function isOldAccount(plan: string) { function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/billing/manage.ts function handle (line 23) | async function handle( FILE: pages/api/teams/[teamId]/billing/pause.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/plan.ts function handle (line 16) | async function handle( FILE: pages/api/teams/[teamId]/billing/reactivate.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/retention-offer.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/unpause.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/billing/upgrade.ts function handle (line 23) | async function handle( FILE: pages/api/teams/[teamId]/branding.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/change-role.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/apply-permissions.ts function handler (line 11) | async function handler( function applyPermissionStrategy (line 119) | async function applyPermissionStrategy( function applyRootLevelPermissions (line 148) | async function applyRootLevelPermissions( function inheritFromParentFolder (line 217) | async function inheritFromParentFolder( FILE: pages/api/teams/[teamId]/datarooms/[id]/branding.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/calculate-indexes.ts function handler (line 15) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/conversations/[[...conversations]].ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/conversations/toggle-conversations.ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/documents/[documentId]/index.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/documents/[documentId]/stats.ts function handle (line 15) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/documents/index.ts function handle (line 27) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/documents/move.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/download/[jobId].ts function handler (line 12) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/download/bulk.ts function handler (line 20) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/download/jobs.ts function handler (line 14) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/duplicate.ts type DataroomWithContents (line 18) | interface DataroomWithContents extends Dataroom { type DataroomFolderWithContents (line 24) | interface DataroomFolderWithContents extends DataroomFolder { function fetchDataroomContents (line 30) | async function fetchDataroomContents( function duplicateFolders (line 95) | async function duplicateFolders( function handle (line 131) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/export-visits.ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/faqs/[faqId].ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/faqs/index.ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/[...name].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/documents/[...name].ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/index.ts function applyFolderPermissions (line 11) | async function applyFolderPermissions( function applyDefaultFolderPermissions (line 24) | async function applyDefaultFolderPermissions( function inheritFolderPermissionsFromParent (line 119) | async function inheritFolderPermissionsFromParent( function handle (line 213) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/manage/[folderId]/dataroom-to-dataroom.ts type FolderWithContents (line 11) | interface FolderWithContents { function fetchFolderContents (line 18) | async function fetchFolderContents( function createDataroomStructure (line 47) | async function createDataroomStructure( function handle (line 82) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/manage/[folderId]/index.ts function handle (line 10) | async function handle( function deleteFolderAndContents (line 97) | async function deleteFolderAndContents(folderId: string) { FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/manage/index.ts function handle (line 15) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/move.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/folders/parents/[...name].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/generate-index.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/export-visits.ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/invite.ts function handler (line 9) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/links.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/members/[memberId].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/members/index.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/permissions.ts function getParentFolderIds (line 11) | async function getParentFolderIds( function ensureParentFoldersVisible (line 45) | async function ensureParentFoldersVisible( function handler (line 124) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/uninvited.ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/[groupId]/views/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/groups/index.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/index.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/links.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/links/[linkId]/invite.ts function handler (line 9) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/permission-groups/[permissionGroupId].ts function getParentFolderIds (line 27) | async function getParentFolderIds( function ensureParentFoldersVisible (line 61) | async function ensureParentFoldersVisible( function handle (line 141) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/permission-groups/index.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/reorder.ts type OrderItem (line 8) | type OrderItem = { function handler (line 14) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/stats.ts function handle (line 17) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/users/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/viewers/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/views-count.ts function handler (line 9) | async function handler( FILE: pages/api/teams/[teamId]/datarooms/[id]/views/[viewId]/custom-fields.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/views/[viewId]/document-stats.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/views/[viewId]/history.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/views/[viewId]/user-agent.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/[id]/views/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/create-from-folder.ts type FolderWithContents (line 13) | interface FolderWithContents extends Folder { function fetchFolderContents (line 19) | async function fetchFolderContents( function createDataroomFolders (line 68) | async function createDataroomFolders( function handle (line 114) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/generate-ai-structure.ts function handle (line 43) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/generate-ai.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/index.ts function handle (line 17) | async function handle( FILE: pages/api/teams/[teamId]/datarooms/trial.ts function handle (line 23) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/add-to-dataroom.ts function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/advanced-mode.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/annotations/[annotationId].ts function handle (line 26) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/annotations/[annotationId]/images.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/annotations/index.ts function handle (line 27) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/change-orientation.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/check-notion-accessibility.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/duplicate.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/export-visits.ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/documents/[id]/index.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/links.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/overview.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/preview-data.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/preview-pages.ts constant MAX_PAGES_PER_REQUEST (line 12) | const MAX_PAGES_PER_REQUEST = 50; function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/stats.ts function handle (line 19) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/toggle-dark-mode.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/toggle-download-only.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/update-link-url.ts function handle (line 13) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/update-name.ts function handle (line 24) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/update-notion-url.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/versions/index.ts function handle (line 18) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/video-analytics.ts type AnalyticsResponse (line 10) | interface AnalyticsResponse { function calculateAnalytics (line 26) | function calculateAnalytics( function handle (line 166) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/views-count.ts function handler (line 9) | async function handler( FILE: pages/api/teams/[teamId]/documents/[id]/views/[viewId]/click-events.ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/documents/[id]/views/[viewId]/custom-fields.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/views/[viewId]/stats.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/views/[viewId]/user-agent.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/documents/[id]/views/[viewId]/video-stats.ts function handler (line 10) | async function handler( FILE: pages/api/teams/[teamId]/documents/[id]/views/index.ts type DocumentVersion (line 17) | type DocumentVersion = { type Document (line 25) | type Document = { type VideoEvent (line 36) | type VideoEvent = { type ViewWithExtras (line 43) | type ViewWithExtras = View & { function getVideoViews (line 56) | async function getVideoViews( function getDocumentViews (line 134) | async function getDocumentViews(views: ViewWithExtras[], document: Docum... function handle (line 171) | async function handle( FILE: pages/api/teams/[teamId]/documents/agreement.ts function handle (line 16) | async function handle( FILE: pages/api/teams/[teamId]/documents/document-processing-status.ts function handler (line 5) | async function handler( FILE: pages/api/teams/[teamId]/documents/hidden/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/documents/hide.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/documents/index.ts function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/documents/move.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/documents/search.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/documents/update.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/domains/[domain]/index.ts function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/domains/[domain]/validate.ts type DomainValidationStatus (line 13) | type DomainValidationStatus = "invalid" | "has site" | "available"; function handle (line 22) | async function handle( function hasSiteConfigured (line 102) | async function hasSiteConfigured(domain: string): Promise { FILE: pages/api/teams/[teamId]/domains/[domain]/verify.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/domains/index.ts function handle (line 15) | async function handle( FILE: pages/api/teams/[teamId]/enable-advanced-mode.ts type CustomSession (line 13) | interface CustomSession extends Session { function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/export-jobs.ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/export-jobs/[exportId].ts function handler (line 11) | async function handler( FILE: pages/api/teams/[teamId]/export-jobs/[exportId]/send-email.ts function handler (line 10) | async function handler( FILE: pages/api/teams/[teamId]/folders/[...name].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/folders/documents/[...name].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/folders/hide.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/folders/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/folders/manage/[folderId]/add-to-dataroom.ts type FolderWithContents (line 11) | interface FolderWithContents { function fetchFolderContents (line 18) | async function fetchFolderContents( function createDataroomStructure (line 47) | async function createDataroomStructure( function handle (line 82) | async function handle( FILE: pages/api/teams/[teamId]/folders/manage/[folderId]/index.ts function handle (line 11) | async function handle( function deleteFolderAndContents (line 89) | async function deleteFolderAndContents(folderId: string, teamId: string) { FILE: pages/api/teams/[teamId]/folders/manage/index.ts function handle (line 15) | async function handle( FILE: pages/api/teams/[teamId]/folders/move.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/folders/parents/[...name].ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/global-block-list.ts function handler (line 11) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: pages/api/teams/[teamId]/ignored-domains.ts function handler (line 11) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: pages/api/teams/[teamId]/incoming-webhooks/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/index.ts function handle (line 20) | async function handle( FILE: pages/api/teams/[teamId]/integrations/slack/channels.ts function handler (line 17) | async function handler( FILE: pages/api/teams/[teamId]/integrations/slack/index.ts function handler (line 29) | async function handler( function handleGet (line 66) | async function handleGet( function handleUpdate (line 109) | async function handleUpdate( function handleDelete (line 185) | async function handleDelete( FILE: pages/api/teams/[teamId]/invitations/accept.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/invitations/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/invitations/resend.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/invite.ts function handle (line 17) | async function handle( FILE: pages/api/teams/[teamId]/links/[id]/index.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/links/[id]/visits.ts function handle (line 15) | async function handle( FILE: pages/api/teams/[teamId]/presets/[id].ts function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/presets/index.ts function handle (line 22) | async function handle( FILE: pages/api/teams/[teamId]/remove-teammate.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/settings.ts function handle (line 33) | async function handle( FILE: pages/api/teams/[teamId]/survey.ts type SurveyData (line 36) | type SurveyData = z.infer; function handler (line 38) | async function handler( FILE: pages/api/teams/[teamId]/tags/[id]/index.ts function handle (line 14) | async function handle( FILE: pages/api/teams/[teamId]/tags/index.ts function handle (line 84) | async function handle( FILE: pages/api/teams/[teamId]/tokens/index.ts function handle (line 12) | async function handle( FILE: pages/api/teams/[teamId]/update-advanced-mode.ts type CustomSession (line 12) | interface CustomSession extends Session { function handle (line 19) | async function handle( FILE: pages/api/teams/[teamId]/update-name.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/update-replicate-folders.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/viewers/[id]/index.ts function fetchAndCacheDurations (line 13) | async function fetchAndCacheDurations( function handle (line 61) | async function handle( FILE: pages/api/teams/[teamId]/viewers/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/views/[id]/archive.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/visitor-groups/[groupId]/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/visitor-groups/index.ts function handle (line 10) | async function handle( FILE: pages/api/teams/[teamId]/webhooks/[id]/events.ts function handler (line 10) | async function handler( FILE: pages/api/teams/[teamId]/webhooks/[id]/index.ts function handler (line 10) | async function handler( FILE: pages/api/teams/[teamId]/webhooks/index.ts function handle (line 11) | async function handle( FILE: pages/api/teams/[teamId]/workflow-links.ts function handle (line 9) | async function handle( FILE: pages/api/teams/[teamId]/yearly-recap.ts function handler (line 12) | async function handler( FILE: pages/api/teams/index.ts function handle (line 12) | async function handle( FILE: pages/api/unsubscribe/dataroom/index.ts function handle (line 8) | async function handle( FILE: pages/api/unsubscribe/yir/index.ts function handle (line 8) | async function handle( FILE: pages/api/user/subscribe.ts function handle (line 11) | async function handle( FILE: pages/api/webhooks/services/[...path]/index.ts function incomingWebhookHandler (line 134) | async function incomingWebhookHandler( function handleLinksGet (line 286) | async function handleLinksGet(teamId: string, res: NextApiResponse) { function handleDocumentCreate (line 339) | async function handleDocumentCreate( function handleDocumentUpdate (line 700) | async function handleDocumentUpdate( function handleLinkCreate (line 832) | async function handleLinkCreate( function handleLinkUpdate (line 1044) | async function handleLinkUpdate( function createDataroomFoldersRecursive (line 1315) | async function createDataroomFoldersRecursive( function handleDataroomCreate (line 1349) | async function handleDataroomCreate( FILE: pages/branding.tsx function Branding (line 36) | function Branding() { FILE: pages/dashboard.tsx type OverviewData (line 27) | interface OverviewData { function DashboardPage (line 44) | function DashboardPage() { FILE: pages/datarooms/[id]/analytics/index.tsx function DataroomAnalyticsPage (line 20) | function DataroomAnalyticsPage() { FILE: pages/datarooms/[id]/branding/index.tsx constant DEFAULT_BANNER_IMAGE (line 33) | const DEFAULT_BANNER_IMAGE = "/_static/papermark-banner.png"; function DataroomBrandPage (line 35) | function DataroomBrandPage() { FILE: pages/datarooms/[id]/conversations/[conversationId]/index.tsx function ConversationDetailPage (line 3) | function ConversationDetailPage() { FILE: pages/datarooms/[id]/conversations/index.tsx function ConversationOverviewPage (line 3) | function ConversationOverviewPage() { FILE: pages/datarooms/[id]/documents/[...name].tsx function Documents (line 26) | function Documents() { FILE: pages/datarooms/[id]/documents/index.tsx function Documents (line 24) | function Documents() { FILE: pages/datarooms/[id]/groups/[groupId]/group-analytics.tsx function DataroomGroupPage (line 11) | function DataroomGroupPage() { FILE: pages/datarooms/[id]/groups/[groupId]/index.tsx function DataroomGroupPage (line 16) | function DataroomGroupPage() { FILE: pages/datarooms/[id]/groups/[groupId]/links.tsx function DataroomGroupLinksPage (line 14) | function DataroomGroupLinksPage() { FILE: pages/datarooms/[id]/groups/[groupId]/members.tsx function DataroomGroupPage (line 11) | function DataroomGroupPage() { FILE: pages/datarooms/[id]/groups/[groupId]/permissions.tsx function DataroomGroupPage (line 11) | function DataroomGroupPage() { FILE: pages/datarooms/[id]/groups/index.tsx function DataroomGroupPage (line 24) | function DataroomGroupPage() { FILE: pages/datarooms/[id]/index.tsx function DataroomPage (line 14) | function DataroomPage() { FILE: pages/datarooms/[id]/permissions/index.tsx function DataroomAnalyticsPage (line 18) | function DataroomAnalyticsPage() { FILE: pages/datarooms/[id]/settings/downloads.tsx function Downloads (line 9) | function Downloads() { FILE: pages/datarooms/[id]/settings/file-permissions.tsx function PermissionsSettings (line 9) | function PermissionsSettings() { FILE: pages/datarooms/[id]/settings/index.tsx function Settings (line 31) | function Settings() { FILE: pages/datarooms/[id]/settings/introduction.tsx function Introduction (line 9) | function Introduction() { FILE: pages/datarooms/[id]/settings/notifications.tsx function Notifications (line 9) | function Notifications() { FILE: pages/datarooms/[id]/users/index.tsx function DataroomUsersPage (line 8) | function DataroomUsersPage() { FILE: pages/datarooms/index.tsx function DataroomsPage (line 28) | function DataroomsPage() { FILE: pages/documents/[id]/index.tsx function DocumentPage (line 66) | function DocumentPage() { FILE: pages/documents/hidden.tsx function HiddenDocumentsPage (line 13) | function HiddenDocumentsPage() { FILE: pages/documents/index.tsx function Documents (line 21) | function Documents() { FILE: pages/documents/new.tsx function DocumentNew (line 14) | function DocumentNew() { FILE: pages/documents/tree/[...name].tsx function DocumentTreePage (line 15) | function DocumentTreePage() { FILE: pages/entrance_ppreview_demo.tsx function ViewPage (line 8) | function ViewPage() { FILE: pages/nav_ppreview_demo.tsx function ViewPage (line 5) | function ViewPage() { FILE: pages/notification-preferences.tsx type FrequencyOption (line 25) | type FrequencyOption = "instant" | "daily" | "weekly" | "disabled"; constant FREQUENCY_OPTIONS (line 27) | const FREQUENCY_OPTIONS: { function getServerSideProps (line 59) | async function getServerSideProps(context: GetServerSidePropsContext) { function NotificationPreferencesPage (line 127) | function NotificationPreferencesPage({ FILE: pages/room_ppreview_demo.tsx constant DEFAULT_BANNER_IMAGE (line 11) | const DEFAULT_BANNER_IMAGE = "/_static/papermark-banner.png"; function ViewPage (line 13) | function ViewPage() { FILE: pages/settings/agreements.tsx function NdaAgreements (line 26) | function NdaAgreements() { FILE: pages/settings/ai.tsx type AISettings (line 33) | interface AISettings { function AISettings (line 38) | function AISettings() { FILE: pages/settings/billing.tsx function Billing (line 19) | function Billing() { FILE: pages/settings/billing/invoices.tsx function Invoices (line 23) | function Invoices() { FILE: pages/settings/domains.tsx function Domains (line 17) | function Domains() { FILE: pages/settings/general.tsx function General (line 23) | function General() { FILE: pages/settings/incoming-webhooks.tsx type Webhook (line 28) | interface Webhook { function WebhookSettings (line 35) | function WebhookSettings() { FILE: pages/settings/people.tsx function Billing (line 36) | function Billing() { FILE: pages/settings/presets/[id].tsx type PRESET_DATA (line 50) | type PRESET_DATA = Partial & { function EditPreset (line 61) | function EditPreset() { FILE: pages/settings/presets/index.tsx function Presets (line 23) | function Presets() { FILE: pages/settings/presets/new.tsx function NewPreset (line 45) | function NewPreset() { FILE: pages/settings/security.tsx constant SSO_ELIGIBLE_PLANS (line 20) | const SSO_ELIGIBLE_PLANS = ["datarooms-premium", "datarooms-premium+old"]; function SecuritySettings (line 22) | function SecuritySettings() { FILE: pages/settings/slack.tsx function SlackSettings (line 43) | function SlackSettings() { FILE: pages/settings/tags.tsx function TagSetting (line 73) | function TagSetting() { FILE: pages/settings/tokens.tsx type Token (line 20) | interface Token { function TokenSettings (line 31) | function TokenSettings() { FILE: pages/settings/upgrade-holiday-offer.tsx function UpgradeHolidayOfferPage (line 139) | function UpgradeHolidayOfferPage() { FILE: pages/settings/upgrade.tsx function UpgradePage (line 131) | function UpgradePage() { FILE: pages/settings/webhooks/[id]/index.tsx type WebhookFormData (line 27) | type WebhookFormData = { function WebhookDetail (line 32) | function WebhookDetail() { FILE: pages/settings/webhooks/index.tsx type Webhook (line 16) | interface Webhook { function WebhookSettings (line 23) | function WebhookSettings() { FILE: pages/settings/webhooks/new.tsx type WebhookEvent (line 26) | interface WebhookEvent { function NewWebhook (line 74) | function NewWebhook() { FILE: pages/unsubscribe.tsx function UnsubscribePage (line 7) | function UnsubscribePage() { FILE: pages/view/[linkId]/d/[documentId].tsx type DataroomDocumentLinkData (line 28) | type DataroomDocumentLinkData = { type DataroomDocumentProps (line 34) | type DataroomDocumentProps = { function DataroomDocumentViewPage (line 58) | function DataroomDocumentViewPage({ function getStaticProps (line 195) | async function getStaticProps(context: GetStaticPropsContext) { function getStaticPaths (line 313) | async function getStaticPaths() { FILE: pages/view/[linkId]/downloads.tsx function ViewDownloadsPage (line 13) | function ViewDownloadsPage({ FILE: pages/view/[linkId]/embed.tsx function EmbedPage (line 18) | function EmbedPage(props: ViewPageProps) { FILE: pages/view/[linkId]/index.tsx type DocumentLinkData (line 35) | type DocumentLinkData = { type DataroomLinkData (line 41) | type DataroomLinkData = { type WorkflowLinkData (line 47) | type WorkflowLinkData = { type ViewPageProps (line 53) | interface ViewPageProps { function getStaticPaths (line 326) | async function getStaticPaths() { function ViewPage (line 333) | function ViewPage({ FILE: pages/view/domains/[domain]/[slug]/d/[documentId].tsx type DataroomDocumentLinkData (line 28) | type DataroomDocumentLinkData = { type DataroomDocumentProps (line 34) | type DataroomDocumentProps = { function DataroomDocumentViewPage (line 58) | function DataroomDocumentViewPage({ function getStaticProps (line 196) | async function getStaticProps(context: GetStaticPropsContext) { function getStaticPaths (line 324) | async function getStaticPaths() { FILE: pages/view/domains/[domain]/[slug]/downloads.tsx function DomainDownloadsPage (line 25) | function DomainDownloadsPage({ FILE: pages/view/domains/[domain]/[slug]/index.tsx type DocumentLinkData (line 35) | type DocumentLinkData = { type DataroomLinkData (line 41) | type DataroomLinkData = { type WorkflowLinkData (line 47) | type WorkflowLinkData = { function getStaticPaths (line 300) | async function getStaticPaths() { function ViewPage (line 307) | function ViewPage({ FILE: pages/visitors/[id]/index.tsx function VisitorDetailPage (line 24) | function VisitorDetailPage() { FILE: pages/visitors/index.tsx function Visitors (line 15) | function Visitors() { FILE: pages/welcome.tsx function Welcome (line 28) | function Welcome() { FILE: pages/workflows/[id].tsx function WorkflowDetailPage (line 3) | function WorkflowDetailPage() { FILE: pages/workflows/index.tsx function WorkflowOverviewPage (line 3) | function WorkflowOverviewPage() { FILE: pages/workflows/new.tsx function WorkflowNewPage (line 3) | function WorkflowNewPage() { FILE: prisma/migrations/20230912150657_initialize/migration.sql type "Account" (line 2) | CREATE TABLE "Account" ( type "Session" (line 20) | CREATE TABLE "Session" ( type "User" (line 30) | CREATE TABLE "User" ( type "VerificationToken" (line 47) | CREATE TABLE "VerificationToken" ( type "Document" (line 54) | CREATE TABLE "Document" ( type "Link" (line 69) | CREATE TABLE "Link" ( type "Domain" (line 89) | CREATE TABLE "Domain" ( type "View" (line 102) | CREATE TABLE "View" ( type "Account" (line 113) | CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "Account... type "Session" (line 116) | CREATE UNIQUE INDEX "Session_sessionToken_key" ON "Session"("sessionToken") type "User" (line 119) | CREATE UNIQUE INDEX "User_email_key" ON "User"("email") type "User" (line 122) | CREATE UNIQUE INDEX "User_stripeId_key" ON "User"("stripeId") type "User" (line 125) | CREATE UNIQUE INDEX "User_subscriptionId_key" ON "User"("subscriptionId") type "VerificationToken" (line 128) | CREATE UNIQUE INDEX "VerificationToken_token_key" ON "VerificationToken"... type "VerificationToken" (line 131) | CREATE UNIQUE INDEX "VerificationToken_identifier_token_key" ON "Verific... type "Link" (line 134) | CREATE UNIQUE INDEX "Link_url_key" ON "Link"("url") type "Link" (line 137) | CREATE UNIQUE INDEX "Link_domainSlug_slug_key" ON "Link"("domainSlug", "... type "Domain" (line 140) | CREATE UNIQUE INDEX "Domain_slug_key" ON "Domain"("slug") FILE: prisma/migrations/20231013165123_create_document_version/migration.sql type "DocumentVersion" (line 2) | CREATE TABLE "DocumentVersion" ( FILE: prisma/migrations/20231014200337_create_document_pages/migration.sql type "DocumentPage" (line 11) | CREATE TABLE "DocumentPage" ( type "DocumentPage" (line 23) | CREATE UNIQUE INDEX "DocumentPage_pageNumber_versionId_key" ON "Document... type "DocumentVersion" (line 26) | CREATE UNIQUE INDEX "DocumentVersion_versionNumber_documentId_key" ON "D... FILE: prisma/migrations/20231105152632_create_team/migration.sql type "Team" (line 14) | CREATE TABLE "Team" ( type "UserTeam" (line 29) | CREATE TABLE "UserTeam" ( type "Invitation" (line 38) | CREATE TABLE "Invitation" ( type "Team" (line 47) | CREATE UNIQUE INDEX "Team_stripeId_key" ON "Team"("stripeId") type "Team" (line 50) | CREATE UNIQUE INDEX "Team_subscriptionId_key" ON "Team"("subscriptionId") type "UserTeam" (line 53) | CREATE INDEX "UserTeam_userId_idx" ON "UserTeam"("userId") type "UserTeam" (line 56) | CREATE INDEX "UserTeam_teamId_idx" ON "UserTeam"("teamId") type "Invitation" (line 59) | CREATE UNIQUE INDEX "Invitation_token_key" ON "Invitation"("token") type "Invitation" (line 62) | CREATE UNIQUE INDEX "Invitation_email_key" ON "Invitation"("email") FILE: prisma/migrations/20231113051339_create_sent_email/migration.sql type "SentEmail" (line 5) | CREATE TABLE "SentEmail" ( type "SentEmail" (line 17) | CREATE INDEX "SentEmail_teamId_idx" ON "SentEmail"("teamId") FILE: prisma/migrations/20231116093816_update_invitations/migration.sql type "Invitation" (line 11) | CREATE UNIQUE INDEX "Invitation_email_teamId_key" ON "Invitation"("email... FILE: prisma/migrations/20231127062841_add_conversation/migration.sql type "Conversation" (line 8) | CREATE TABLE "Conversation" ( type "Conversation" (line 20) | CREATE UNIQUE INDEX "Conversation_threadId_key" ON "Conversation"("threa... type "Conversation" (line 23) | CREATE INDEX "Conversation_threadId_idx" ON "Conversation"("threadId") type "Conversation" (line 26) | CREATE UNIQUE INDEX "Conversation_userId_documentId_key" ON "Conversatio... type "Conversation" (line 29) | CREATE UNIQUE INDEX "Conversation_threadId_documentId_key" ON "Conversat... FILE: prisma/migrations/20231128064540_add_indices/migration.sql type "Document" (line 2) | CREATE INDEX "Document_ownerId_idx" ON "Document"("ownerId") type "Document" (line 5) | CREATE INDEX "Document_teamId_idx" ON "Document"("teamId") type "DocumentPage" (line 8) | CREATE INDEX "DocumentPage_versionId_idx" ON "DocumentPage"("versionId") type "DocumentVersion" (line 11) | CREATE INDEX "DocumentVersion_documentId_idx" ON "DocumentVersion"("docu... type "Domain" (line 14) | CREATE INDEX "Domain_userId_idx" ON "Domain"("userId") type "Domain" (line 17) | CREATE INDEX "Domain_teamId_idx" ON "Domain"("teamId") type "Link" (line 20) | CREATE INDEX "Link_documentId_idx" ON "Link"("documentId") type "View" (line 23) | CREATE INDEX "View_linkId_idx" ON "View"("linkId") type "View" (line 26) | CREATE INDEX "View_documentId_idx" ON "View"("documentId") FILE: prisma/migrations/20231207081407_add_reactions/migration.sql type "Reaction" (line 2) | CREATE TABLE "Reaction" ( type "Reaction" (line 13) | CREATE INDEX "Reaction_viewId_idx" ON "Reaction"("viewId") FILE: prisma/migrations/20240117020456_add_branding/migration.sql type "Brand" (line 8) | CREATE TABLE "Brand" ( type "Brand" (line 21) | CREATE UNIQUE INDEX "Brand_teamId_key" ON "Brand"("teamId") FILE: prisma/migrations/20240313100203_add_folders/migration.sql type "Folder" (line 5) | CREATE TABLE "Folder" ( type "Folder" (line 18) | CREATE INDEX "Folder_parentId_idx" ON "Folder"("parentId") type "Folder" (line 21) | CREATE UNIQUE INDEX "Folder_teamId_path_key" ON "Folder"("teamId", "path") type "Document" (line 24) | CREATE INDEX "Document_folderId_idx" ON "Document"("folderId") FILE: prisma/migrations/20240327102407_add_dataroom/migration.sql type "Dataroom" (line 15) | CREATE TABLE "Dataroom" ( type "DataroomDocument" (line 27) | CREATE TABLE "DataroomDocument" ( type "DataroomFolder" (line 39) | CREATE TABLE "DataroomFolder" ( type "Dataroom" (line 52) | CREATE UNIQUE INDEX "Dataroom_pId_key" ON "Dataroom"("pId") type "Dataroom" (line 55) | CREATE INDEX "Dataroom_teamId_idx" ON "Dataroom"("teamId") type "DataroomDocument" (line 58) | CREATE INDEX "DataroomDocument_folderId_idx" ON "DataroomDocument"("fold... type "DataroomDocument" (line 61) | CREATE UNIQUE INDEX "DataroomDocument_dataroomId_documentId_key" ON "Dat... type "DataroomFolder" (line 64) | CREATE INDEX "DataroomFolder_parentId_idx" ON "DataroomFolder"("parentId") type "DataroomFolder" (line 67) | CREATE UNIQUE INDEX "DataroomFolder_dataroomId_path_key" ON "DataroomFol... FILE: prisma/migrations/20240330062000_add_viewtype/migration.sql type "View" (line 8) | CREATE INDEX "View_dataroomId_idx" ON "View"("dataroomId") type "View" (line 11) | CREATE INDEX "View_dataroomViewId_idx" ON "View"("dataroomViewId") FILE: prisma/migrations/20240401000000_add_dataroom_brand/migration.sql type "DataroomBrand" (line 2) | CREATE TABLE "DataroomBrand" ( type "DataroomBrand" (line 16) | CREATE UNIQUE INDEX "DataroomBrand_dataroomId_key" ON "DataroomBrand"("d... FILE: prisma/migrations/20240408000000_add_viewer/migration.sql type "Viewer" (line 5) | CREATE TABLE "Viewer" ( type "Viewer" (line 18) | CREATE INDEX "Viewer_dataroomId_idx" ON "Viewer"("dataroomId") type "Viewer" (line 21) | CREATE UNIQUE INDEX "Viewer_dataroomId_email_key" ON "Viewer"("dataroomI... FILE: prisma/migrations/20240415000000_add_feedback/migration.sql type "Feedback" (line 5) | CREATE TABLE "Feedback" ( type "FeedbackResponse" (line 16) | CREATE TABLE "FeedbackResponse" ( type "Feedback" (line 28) | CREATE UNIQUE INDEX "Feedback_linkId_key" ON "Feedback"("linkId") type "Feedback" (line 31) | CREATE INDEX "Feedback_linkId_idx" ON "Feedback"("linkId") type "FeedbackResponse" (line 34) | CREATE UNIQUE INDEX "FeedbackResponse_viewId_key" ON "FeedbackResponse"(... type "FeedbackResponse" (line 37) | CREATE INDEX "FeedbackResponse_feedbackId_idx" ON "FeedbackResponse"("fe... type "FeedbackResponse" (line 40) | CREATE INDEX "FeedbackResponse_viewId_idx" ON "FeedbackResponse"("viewId") FILE: prisma/migrations/20240611000000_add_agreements/migration.sql type "Agreement" (line 9) | CREATE TABLE "Agreement" ( type "AgreementResponse" (line 21) | CREATE TABLE "AgreementResponse" ( type "Agreement" (line 32) | CREATE INDEX "Agreement_teamId_idx" ON "Agreement"("teamId") type "AgreementResponse" (line 35) | CREATE UNIQUE INDEX "AgreementResponse_viewId_key" ON "AgreementResponse... type "AgreementResponse" (line 38) | CREATE INDEX "AgreementResponse_agreementId_idx" ON "AgreementResponse"(... type "AgreementResponse" (line 41) | CREATE INDEX "AgreementResponse_viewId_idx" ON "AgreementResponse"("view... FILE: prisma/migrations/20240809000000_add_dataroom_order_index/migration.sql type "DataroomDocument" (line 8) | CREATE INDEX "DataroomDocument_dataroomId_folderId_orderIndex_idx" ON "D... type "DataroomFolder" (line 11) | CREATE INDEX "DataroomFolder_dataroomId_parentId_orderIndex_idx" ON "Dat... FILE: prisma/migrations/20240902000000_add_link_presets/migration.sql type "LinkPreset" (line 2) | CREATE TABLE "LinkPreset" ( type "LinkPreset" (line 17) | CREATE INDEX "LinkPreset_teamId_idx" ON "LinkPreset"("teamId") FILE: prisma/migrations/20240911000000_add_dataroom_groups_permissions/migration.sql type "ViewerGroup" (line 18) | CREATE TABLE "ViewerGroup" ( type "ViewerGroupMembership" (line 30) | CREATE TABLE "ViewerGroupMembership" ( type "ViewerGroupAccessControls" (line 41) | CREATE TABLE "ViewerGroupAccessControls" ( type "ViewerGroup" (line 55) | CREATE INDEX "ViewerGroup_dataroomId_idx" ON "ViewerGroup"("dataroomId") type "ViewerGroup" (line 58) | CREATE INDEX "ViewerGroup_teamId_idx" ON "ViewerGroup"("teamId") type "ViewerGroupMembership" (line 61) | CREATE INDEX "ViewerGroupMembership_viewerId_idx" ON "ViewerGroupMembers... type "ViewerGroupMembership" (line 64) | CREATE INDEX "ViewerGroupMembership_groupId_idx" ON "ViewerGroupMembersh... type "ViewerGroupMembership" (line 67) | CREATE UNIQUE INDEX "ViewerGroupMembership_viewerId_groupId_key" ON "Vie... type "ViewerGroupAccessControls" (line 70) | CREATE INDEX "ViewerGroupAccessControls_groupId_idx" ON "ViewerGroupAcce... type "ViewerGroupAccessControls" (line 73) | CREATE UNIQUE INDEX "ViewerGroupAccessControls_groupId_itemId_key" ON "V... type "Viewer" (line 76) | CREATE INDEX "Viewer_teamId_idx" ON "Viewer"("teamId") FILE: prisma/migrations/20240921000000_add_viewer_migration/migration.sql type "Viewer" (line 12) | CREATE UNIQUE INDEX "Viewer_teamId_email_key" ON "Viewer"("teamId", "ema... FILE: prisma/migrations/20241020000000_add_teamid_to_link_and_view/migration.sql type "Link" (line 8) | CREATE INDEX "Link_teamId_idx" ON "Link"("teamId") type "View" (line 11) | CREATE INDEX "View_teamId_idx" ON "View"("teamId") FILE: prisma/migrations/20241107000000_add_tokens_and_webhooks/migration.sql type "IncomingWebhook" (line 2) | CREATE TABLE "IncomingWebhook" ( type "RestrictedToken" (line 20) | CREATE TABLE "RestrictedToken" ( type "IncomingWebhook" (line 38) | CREATE UNIQUE INDEX "IncomingWebhook_externalId_key" ON "IncomingWebhook... type "IncomingWebhook" (line 41) | CREATE INDEX "IncomingWebhook_teamId_idx" ON "IncomingWebhook"("teamId") type "RestrictedToken" (line 44) | CREATE UNIQUE INDEX "RestrictedToken_hashedKey_key" ON "RestrictedToken"... type "RestrictedToken" (line 47) | CREATE INDEX "RestrictedToken_userId_idx" ON "RestrictedToken"("userId") type "RestrictedToken" (line 50) | CREATE INDEX "RestrictedToken_teamId_idx" ON "RestrictedToken"("teamId") FILE: prisma/migrations/20241208000000_add_webhooks/migration.sql type "Webhook" (line 2) | CREATE TABLE "Webhook" ( type "Webhook" (line 17) | CREATE UNIQUE INDEX "Webhook_pId_key" ON "Webhook"("pId") type "Webhook" (line 20) | CREATE INDEX "Webhook_teamId_idx" ON "Webhook"("teamId") FILE: prisma/migrations/20241212000000_add_yir/migration.sql type "YearInReview" (line 5) | CREATE TABLE "YearInReview" ( type "YearInReview" (line 20) | CREATE INDEX "YearInReview_status_attempts_idx" ON "YearInReview"("statu... type "YearInReview" (line 23) | CREATE INDEX "YearInReview_teamId_idx" ON "YearInReview"("teamId") FILE: prisma/migrations/20250113000000_add_custom_fields/migration.sql type "CustomField" (line 5) | CREATE TABLE "CustomField" ( type "CustomFieldResponse" (line 22) | CREATE TABLE "CustomFieldResponse" ( type "CustomField" (line 33) | CREATE INDEX "CustomField_linkId_idx" ON "CustomField"("linkId") type "CustomFieldResponse" (line 36) | CREATE UNIQUE INDEX "CustomFieldResponse_viewId_key" ON "CustomFieldResp... type "CustomFieldResponse" (line 39) | CREATE INDEX "CustomFieldResponse_viewId_idx" ON "CustomFieldResponse"("... FILE: prisma/migrations/20250404000000_add_questions_answer_conversation/migration.sql type "Conversation" (line 15) | CREATE TABLE "Conversation" ( type "ConversationParticipant" (line 36) | CREATE TABLE "ConversationParticipant" ( type "ConversationView" (line 49) | CREATE TABLE "ConversationView" ( type "Message" (line 59) | CREATE TABLE "Message" ( type "Conversation" (line 74) | CREATE INDEX "Conversation_dataroomDocumentId_idx" ON "Conversation"("da... type "Conversation" (line 77) | CREATE INDEX "Conversation_dataroomId_idx" ON "Conversation"("dataroomId... type "Conversation" (line 80) | CREATE INDEX "Conversation_initialViewId_idx" ON "Conversation"("initial... type "Conversation" (line 83) | CREATE INDEX "Conversation_linkId_idx" ON "Conversation"("linkId" ASC) type "Conversation" (line 86) | CREATE INDEX "Conversation_teamId_idx" ON "Conversation"("teamId" ASC) type "Conversation" (line 89) | CREATE INDEX "Conversation_viewerGroupId_idx" ON "Conversation"("viewerG... type "ConversationParticipant" (line 92) | CREATE INDEX "ConversationParticipant_conversationId_idx" ON "Conversati... type "ConversationParticipant" (line 95) | CREATE UNIQUE INDEX "ConversationParticipant_conversationId_userId_key" ... type "ConversationParticipant" (line 98) | CREATE UNIQUE INDEX "ConversationParticipant_conversationId_viewerId_key... type "ConversationParticipant" (line 101) | CREATE INDEX "ConversationParticipant_userId_idx" ON "ConversationPartic... type "ConversationParticipant" (line 104) | CREATE INDEX "ConversationParticipant_viewerId_idx" ON "ConversationPart... type "ConversationView" (line 107) | CREATE INDEX "ConversationView_conversationId_idx" ON "ConversationView"... type "ConversationView" (line 110) | CREATE UNIQUE INDEX "ConversationView_conversationId_viewId_key" ON "Con... type "ConversationView" (line 113) | CREATE INDEX "ConversationView_viewId_idx" ON "ConversationView"("viewId... type "Message" (line 116) | CREATE INDEX "Message_conversationId_idx" ON "Message"("conversationId" ... type "Message" (line 119) | CREATE INDEX "Message_userId_idx" ON "Message"("userId" ASC) type "Message" (line 122) | CREATE INDEX "Message_viewId_idx" ON "Message"("viewId" ASC) type "Message" (line 125) | CREATE INDEX "Message_viewerId_idx" ON "Message"("viewerId" ASC) FILE: prisma/migrations/20250413000000_add_dataroom_upload/migration.sql type "DocumentUpload" (line 10) | CREATE TABLE "DocumentUpload" ( type "DocumentUpload" (line 31) | CREATE INDEX "DocumentUpload_dataroomDocumentId_idx" ON "DocumentUpload"... type "DocumentUpload" (line 34) | CREATE INDEX "DocumentUpload_dataroomId_idx" ON "DocumentUpload"("dataro... type "DocumentUpload" (line 37) | CREATE INDEX "DocumentUpload_documentId_idx" ON "DocumentUpload"("docume... type "DocumentUpload" (line 40) | CREATE INDEX "DocumentUpload_linkId_idx" ON "DocumentUpload"("linkId" ASC) type "DocumentUpload" (line 43) | CREATE INDEX "DocumentUpload_teamId_idx" ON "DocumentUpload"("teamId" ASC) type "DocumentUpload" (line 46) | CREATE INDEX "DocumentUpload_viewId_idx" ON "DocumentUpload"("viewId" ASC) type "DocumentUpload" (line 49) | CREATE INDEX "DocumentUpload_viewerId_idx" ON "DocumentUpload"("viewerId... FILE: prisma/migrations/20250425000000_update_link_presets/migration.sql type "LinkPreset" (line 23) | CREATE UNIQUE INDEX "LinkPreset_pId_key" ON "LinkPreset"("pId" ASC) FILE: prisma/migrations/20250428000000_add_tags/migration.sql type "Tag" (line 5) | CREATE TABLE "Tag" ( type "TagItem" (line 19) | CREATE TABLE "TagItem" ( type "Tag" (line 34) | CREATE INDEX "Tag_id_idx" ON "Tag"("id" ASC) type "Tag" (line 37) | CREATE INDEX "Tag_name_idx" ON "Tag"("name" ASC) type "Tag" (line 40) | CREATE INDEX "Tag_teamId_idx" ON "Tag"("teamId" ASC) type "Tag" (line 43) | CREATE UNIQUE INDEX "Tag_teamId_name_key" ON "Tag"("teamId" ASC, "name" ... type "TagItem" (line 46) | CREATE INDEX "TagItem_tagId_dataroomId_idx" ON "TagItem"("tagId" ASC, "d... type "TagItem" (line 49) | CREATE INDEX "TagItem_tagId_documentId_idx" ON "TagItem"("tagId" ASC, "d... type "TagItem" (line 52) | CREATE INDEX "TagItem_tagId_linkId_idx" ON "TagItem"("tagId" ASC, "linkI... FILE: prisma/migrations/20250612000000_add_permissions_to_link/migration.sql type "PermissionGroup" (line 5) | CREATE TABLE "PermissionGroup" ( type "PermissionGroupAccessControls" (line 18) | CREATE TABLE "PermissionGroupAccessControls" ( type "PermissionGroup" (line 33) | CREATE INDEX "PermissionGroup_dataroomId_idx" ON "PermissionGroup"("data... type "PermissionGroup" (line 36) | CREATE INDEX "PermissionGroup_teamId_idx" ON "PermissionGroup"("teamId" ... type "PermissionGroupAccessControls" (line 39) | CREATE INDEX "PermissionGroupAccessControls_groupId_idx" ON "PermissionG... type "PermissionGroupAccessControls" (line 42) | CREATE UNIQUE INDEX "PermissionGroupAccessControls_groupId_itemId_key" O... FILE: prisma/migrations/20250624042156_viewers_performance_optimization/migration.sql type "View" (line 1) | CREATE INDEX IF NOT EXISTS "View_viewerId_idx" ON "View"("viewerId") type "View" (line 3) | CREATE INDEX IF NOT EXISTS "View_viewedAt_idx" ON "View"("viewedAt" DESC) type "View" (line 5) | CREATE INDEX IF NOT EXISTS "View_viewerId_documentId_idx" ON "View"("vie... type "Viewer" (line 8) | CREATE INDEX IF NOT EXISTS "Viewer_email_prefix_idx" ON "Viewer"(lower("... type "Viewer" (line 10) | CREATE INDEX IF NOT EXISTS "Viewer_teamId_email_idx" ON "Viewer"("teamId... type "Viewer" (line 13) | CREATE INDEX IF NOT EXISTS "Viewer_teamId_createdAt_idx" ON "Viewer"("te... type "View" (line 15) | CREATE INDEX IF NOT EXISTS "View_viewerId_viewedAt_idx" ON "View"("viewe... FILE: prisma/migrations/20250830000000_dataroom_faq_items_model/migration.sql type "DataroomFaqItem" (line 8) | CREATE TABLE "DataroomFaqItem" ( type "DataroomFaqItem" (line 37) | CREATE INDEX "DataroomFaqItem_createdAt_idx" ON "DataroomFaqItem"("creat... type "DataroomFaqItem" (line 40) | CREATE INDEX "DataroomFaqItem_dataroomDocumentId_idx" ON "DataroomFaqIte... type "DataroomFaqItem" (line 43) | CREATE INDEX "DataroomFaqItem_dataroomId_idx" ON "DataroomFaqItem"("data... type "DataroomFaqItem" (line 46) | CREATE INDEX "DataroomFaqItem_linkId_idx" ON "DataroomFaqItem"("linkId" ... type "DataroomFaqItem" (line 49) | CREATE INDEX "DataroomFaqItem_publishedByUserId_idx" ON "DataroomFaqItem... type "DataroomFaqItem" (line 52) | CREATE INDEX "DataroomFaqItem_sourceConversationId_idx" ON "DataroomFaqI... type "DataroomFaqItem" (line 55) | CREATE INDEX "DataroomFaqItem_status_idx" ON "DataroomFaqItem"("status" ... type "DataroomFaqItem" (line 58) | CREATE INDEX "DataroomFaqItem_teamId_idx" ON "DataroomFaqItem"("teamId" ... type "DataroomFaqItem" (line 61) | CREATE INDEX "DataroomFaqItem_visibilityMode_idx" ON "DataroomFaqItem"("... FILE: prisma/migrations/20250913000000_add_integrations/migration.sql type "InstalledIntegration" (line 2) | CREATE TABLE "InstalledIntegration" ( type "Integration" (line 17) | CREATE TABLE "Integration" ( type "InstalledIntegration" (line 38) | CREATE INDEX "InstalledIntegration_integrationId_idx" ON "InstalledInteg... type "InstalledIntegration" (line 41) | CREATE INDEX "InstalledIntegration_teamId_idx" ON "InstalledIntegration"... type "InstalledIntegration" (line 44) | CREATE UNIQUE INDEX "InstalledIntegration_teamId_integrationId_key" ON "... type "Integration" (line 47) | CREATE UNIQUE INDEX "Integration_slug_key" ON "Integration"("slug" ASC) FILE: prisma/migrations/20250915000000_add_annotations/migration.sql type "AnnotationImage" (line 2) | CREATE TABLE "AnnotationImage" ( type "DocumentAnnotation" (line 15) | CREATE TABLE "DocumentAnnotation" ( type "AnnotationImage" (line 31) | CREATE INDEX "AnnotationImage_annotationId_idx" ON "AnnotationImage"("an... type "DocumentAnnotation" (line 34) | CREATE INDEX "DocumentAnnotation_createdById_idx" ON "DocumentAnnotation... type "DocumentAnnotation" (line 37) | CREATE INDEX "DocumentAnnotation_documentId_idx" ON "DocumentAnnotation"... type "DocumentAnnotation" (line 40) | CREATE INDEX "DocumentAnnotation_teamId_idx" ON "DocumentAnnotation"("te... FILE: prisma/migrations/20250915000000_add_performance_indexes/migration.sql type "Document" (line 2) | CREATE INDEX "Document_teamId_folderId_idx" ON "Document"("teamId" ASC, ... type "Document" (line 5) | CREATE INDEX "Document_teamId_name_idx" ON "Document"("teamId" ASC, "nam... type "DocumentVersion" (line 8) | CREATE INDEX "DocumentVersion_documentId_createdAt_idx" ON "DocumentVers... type "DocumentVersion" (line 11) | CREATE INDEX "DocumentVersion_documentId_isPrimary_idx" ON "DocumentVers... type "Link" (line 14) | CREATE INDEX "Link_documentId_isArchived_idx" ON "Link"("documentId" ASC... type "Reaction" (line 17) | CREATE INDEX "Reaction_viewId_type_idx" ON "Reaction"("viewId" ASC, "typ... type "View" (line 20) | CREATE INDEX "View_documentId_isArchived_idx" ON "View"("documentId" ASC... type "View" (line 23) | CREATE INDEX "View_documentId_viewedAt_idx" ON "View"("documentId" ASC, ... type "View" (line 26) | CREATE INDEX "View_viewerEmail_idx" ON "View"("viewerEmail" ASC) FILE: prisma/migrations/20250917000000_add_performance_index_dataroom/migration.sql type "DataroomDocument" (line 2) | CREATE INDEX "DataroomDocument_documentId_idx" ON "DataroomDocument"("do... type "DocumentVersion" (line 5) | CREATE INDEX "DocumentVersion_documentId_isPrimary_createdAt_idx" ON "Do... type "Link" (line 8) | CREATE INDEX "Link_permissionGroupId_idx" ON "Link"("permissionGroupId" ... type "ViewerGroup" (line 11) | CREATE INDEX "ViewerGroup_dataroomId_createdAt_idx" ON "ViewerGroup"("da... type "View" (line 14) | CREATE INDEX "View_groupId_idx" ON "View"("groupId" ASC) FILE: prisma/migrations/20251021000000_add_deleted_at_to_links/migration.sql type "Link" (line 5) | CREATE INDEX "Link_deletedAt_idx" ON "Link"("deletedAt" ASC) FILE: prisma/migrations/20251111000000_add_viewer_invitations/migration.sql type "ViewerInvitation" (line 5) | CREATE TABLE "ViewerInvitation" ( type "ViewerInvitation" (line 20) | CREATE INDEX "ViewerInvitation_viewerId_idx" ON "ViewerInvitation"("view... type "ViewerInvitation" (line 23) | CREATE INDEX "ViewerInvitation_linkId_idx" ON "ViewerInvitation"("linkId... type "ViewerInvitation" (line 26) | CREATE INDEX "ViewerInvitation_groupId_idx" ON "ViewerInvitation"("group... FILE: prisma/migrations/20251116000000_add_workflow/migration.sql type "Workflow" (line 11) | CREATE TABLE "Workflow" ( type "WorkflowExecution" (line 25) | CREATE TABLE "WorkflowExecution" ( type "WorkflowStep" (line 40) | CREATE TABLE "WorkflowStep" ( type "WorkflowStepLog" (line 55) | CREATE TABLE "WorkflowStepLog" ( type "Workflow" (line 70) | CREATE INDEX "Workflow_entryLinkId_idx" ON "Workflow"("entryLinkId" ASC) type "Workflow" (line 73) | CREATE UNIQUE INDEX "Workflow_entryLinkId_key" ON "Workflow"("entryLinkI... type "Workflow" (line 76) | CREATE INDEX "Workflow_isActive_idx" ON "Workflow"("isActive" ASC) type "Workflow" (line 79) | CREATE INDEX "Workflow_teamId_idx" ON "Workflow"("teamId" ASC) type "WorkflowExecution" (line 82) | CREATE INDEX "WorkflowExecution_status_idx" ON "WorkflowExecution"("stat... type "WorkflowExecution" (line 85) | CREATE INDEX "WorkflowExecution_visitorEmail_idx" ON "WorkflowExecution"... type "WorkflowExecution" (line 88) | CREATE INDEX "WorkflowExecution_workflowId_startedAt_idx" ON "WorkflowEx... type "WorkflowStep" (line 91) | CREATE INDEX "WorkflowStep_workflowId_idx" ON "WorkflowStep"("workflowId... type "WorkflowStep" (line 94) | CREATE UNIQUE INDEX "WorkflowStep_workflowId_stepOrder_key" ON "Workflow... type "WorkflowStepLog" (line 97) | CREATE INDEX "WorkflowStepLog_executionId_idx" ON "WorkflowStepLog"("exe... type "WorkflowStepLog" (line 100) | CREATE INDEX "WorkflowStepLog_workflowStepId_idx" ON "WorkflowStepLog"("... FILE: prisma/migrations/20251208000000_add_chat_model/migration.sql type "ChatMessage" (line 47) | CREATE TABLE "ChatMessage" ( type "ChatMessage" (line 59) | CREATE INDEX "ChatMessage_chatId_createdAt_idx" ON "ChatMessage"("chatId... type "ChatMessage" (line 62) | CREATE INDEX "ChatMessage_chatId_idx" ON "ChatMessage"("chatId" ASC) type "Chat" (line 65) | CREATE INDEX "Chat_createdAt_idx" ON "Chat"("createdAt" DESC) type "Chat" (line 68) | CREATE INDEX "Chat_dataroomId_idx" ON "Chat"("dataroomId" ASC) type "Chat" (line 71) | CREATE INDEX "Chat_documentId_idx" ON "Chat"("documentId" ASC) type "Chat" (line 74) | CREATE INDEX "Chat_linkId_idx" ON "Chat"("linkId" ASC) type "Chat" (line 77) | CREATE INDEX "Chat_teamId_idx" ON "Chat"("teamId" ASC) type "Chat" (line 80) | CREATE INDEX "Chat_userId_idx" ON "Chat"("userId" ASC) type "Chat" (line 83) | CREATE INDEX "Chat_viewId_idx" ON "Chat"("viewId" ASC) type "Chat" (line 86) | CREATE INDEX "Chat_viewerId_idx" ON "Chat"("viewerId" ASC) FILE: prisma/migrations/20260113000000_add_hidden_in_all_documents/migration.sql type "Document" (line 8) | CREATE INDEX "Document_teamId_hiddenInAllDocuments_idx" ON "Document"("t... type "Folder" (line 11) | CREATE INDEX "Folder_teamId_hiddenInAllDocuments_idx" ON "Folder"("teamI... FILE: prisma/migrations/20260210000000_add_saml_scim_to_team/migration.sql type "Team" (line 8) | CREATE UNIQUE INDEX "Team_slug_key" ON "Team"("slug") type "Team" (line 11) | CREATE UNIQUE INDEX "Team_ssoEmailDomain_key" ON "Team"("ssoEmailDomain") type "jackson_index" (line 14) | CREATE TABLE "jackson_index" ( type "jackson_store" (line 22) | CREATE TABLE "jackson_store" ( type "jackson_ttl" (line 34) | CREATE TABLE "jackson_ttl" ( type "jackson_index" (line 42) | CREATE INDEX "_jackson_index_key_store" ON "jackson_index"("key", "store... type "jackson_store" (line 45) | CREATE INDEX "_jackson_store_namespace" ON "jackson_store"("namespace") type "jackson_ttl" (line 48) | CREATE INDEX "_jackson_ttl_expires_at" ON "jackson_ttl"("expiresAt") FILE: prisma/migrations/20260212000000_add_owner_to_link/migration.sql type "Link" (line 5) | CREATE INDEX "Link_ownerId_idx" ON "Link"("ownerId" ASC) FILE: prisma/migrations/20260212000000_add_visitor_groups/migration.sql type "VisitorGroup" (line 2) | CREATE TABLE "VisitorGroup" ( type "LinkVisitorGroup" (line 14) | CREATE TABLE "LinkVisitorGroup" ( type "VisitorGroup" (line 24) | CREATE INDEX "VisitorGroup_teamId_idx" ON "VisitorGroup"("teamId") type "LinkVisitorGroup" (line 27) | CREATE INDEX "LinkVisitorGroup_linkId_idx" ON "LinkVisitorGroup"("linkId") type "LinkVisitorGroup" (line 30) | CREATE INDEX "LinkVisitorGroup_visitorGroupId_idx" ON "LinkVisitorGroup"... type "LinkVisitorGroup" (line 33) | CREATE UNIQUE INDEX "LinkVisitorGroup_linkId_visitorGroupId_key" ON "Lin...