"use client" import type { ReactNode } from "react" import { CheckCircle2, Copy, Download, FileText, FolderInput, FolderOpen, Globe2, HardDrive, History, Info, Mail, Pencil, Printer, Share2, Shield, Trash2, UserPlus, } from "lucide-react" import { MenubarContent, MenubarItem, MenubarMenu, MenubarSeparator, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, } from "@/components/ui/menubar" import { DocsExclusiveMenuSub, DocsExclusiveMenuSubRoot, } from "@/components/drive/richtext/docs-exclusive-menu-sub" import { DOCS_MENUBAR_CONTENT_PROPS } from "@/components/drive/richtext/docs-menubar-props" import { DocsLogoIcon } from "@/components/drive/richtext/docs-logo-icon" import { DocsMenuShortcut } from "@/components/drive/richtext/docs-menu-shortcut" import { DOCS_DOWNLOAD_FORMATS, type DocsDownloadFormat } from "@/lib/drive/docs-file-menu-export" import { cn } from "@/lib/utils" export type DocsFileMenuActions = { onNewDocument: () => void onNewFromTemplate: () => void onOpen: () => void onMakeCopy: () => void onShareWithUsers: () => void onPublishToWeb: () => void onEmailFile: () => void onEmailCollaborators: () => void onEmailDraft: () => void onDownload: (format: DocsDownloadFormat) => void onRename: () => void onMove: () => void onAddShortcut: () => void onMoveToTrash: () => void onNameCurrentVersion: () => void onShowVersionHistory: () => void onToggleOffline: () => void onDetails: () => void onSecurityLimits: () => void onPageSetup: () => void onPrint: () => void /** Dev-only: purge .ultidoc.json sidecar and force DOCX reimport. */ onPurgeSidecarAndReimport?: () => void } function MenuIcon({ children }: { children: ReactNode }) { return {children} } export function DocsFileMenu({ actions, disabled, }: { actions: DocsFileMenuActions disabled?: boolean }) { return ( Fichier Nouveau Document À partir de la galerie de modèles Ouvrir Créer une copie Partager Partager avec d'autres utilisateurs Publier sur le Web Envoyer par e-mail Envoyer ce fichier par e-mail Envoyer par e-mail aux collaborateurs Brouillon d'e-mail Télécharger {DOCS_DOWNLOAD_FORMATS.map((format) => ( actions.onDownload(format.id)} > {format.label} ))} Renommer Déplacer Ajouter un raccourci dans Drive Placer dans la corbeille Historique des versions Nommer la version actuelle Afficher l'historique des versions Rendre disponible hors connexion Détails Limites de sécurité Configuration de la page {actions.onPurgeSidecarAndReimport ? ( <> Purger sidecar et réimporter doc ) : null} Imprimer ) }