"use client" import { useMemo, useState } from "react" import { buildParagraphStyleMenuEntries, type DocParagraphStyleDefinition, type DocParagraphStylesCatalog, } from "@/lib/drive/docs-paragraph-styles" import { paragraphStylePreviewStyle } from "@/lib/drive/docs-paragraph-styles-css" import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, } from "@/components/ui/select" import { cn } from "@/lib/utils" export function DocsParagraphStyleSelect({ value, disabled, documentStyles, userStyles, onValueChange, triggerClassName, }: { value: string disabled?: boolean documentStyles: DocParagraphStylesCatalog userStyles: DocParagraphStylesCatalog onValueChange: (styleId: string) => void triggerClassName?: string }) { const entries = useMemo( () => buildParagraphStyleMenuEntries(documentStyles, userStyles), [documentStyles, userStyles] ) const documentEntries = entries.filter((entry) => entry.section === "document") const userEntries = entries.filter((entry) => entry.section === "user") const active = entries.find((entry) => entry.definition.id === value)?.definition return ( ) } export function DocsCreateStyleDialog({ open, onOpenChange, onCreate, }: { open: boolean onOpenChange: (open: boolean) => void onCreate: (input: { name: string; basedOn: string }) => void }) { const [name, setName] = useState("") const [basedOn, setBasedOn] = useState("normal") return open ? (

Créer un style

Le nouveau style sera enregistré dans vos styles personnels.

) : null } export function paragraphStyleSubmenuLabel(definition: DocParagraphStyleDefinition) { return definition.name }