"use client" import type { ReactNode } from "react" import { DOCS_BULLET_STYLE_PRESETS, DOCS_ORDERED_STYLE_PRESETS, type DocsBulletStyleId, type DocsChecklistStyleId, type DocsOrderedStyleId, } from "@/lib/drive/docs-list-styles" import { cn } from "@/lib/utils" function PresetButton({ disabled, active, onClick, children, className, label, }: { disabled?: boolean active?: boolean onClick?: () => void children: ReactNode className?: string label: string }) { return ( ) } export function DocsFormatColumnPresets({ disabled }: { disabled?: boolean }) { return (
{[1, 2, 3].map((count) => ( 1 ? "s" : ""}`} className="flex h-14 items-stretch justify-center gap-0.5 p-1.5" > {Array.from({ length: count }, (_, index) => ( ))} ))}
) } const NUMBERED_PRESET_LINES: Record = { decimal: ["1.", " a.", " i."], "decimal-paren": ["1)", " a)", " i)"], outline: ["1.", " 1.1.", " 1.1.1."], "upper-alpha": ["A.", " a.", " i.", "B."], "upper-roman": ["I.", " A.", " 1.", "II."], "zero-padded": ["01.", "02."], } export function DocsFormatNumberedPresets({ disabled, activeStyleId, onSelect, }: { disabled?: boolean activeStyleId?: DocsOrderedStyleId | null | "mixed" onSelect: (styleId: DocsOrderedStyleId) => void }) { return (
{DOCS_ORDERED_STYLE_PRESETS.map((preset) => ( onSelect(preset.id)} className="min-h-[72px] font-mono" > {NUMBERED_PRESET_LINES[preset.id].map((line) => ( {line} ))} ))}
) } export function DocsFormatBulletPresets({ disabled, activeStyleId, onSelect, }: { disabled?: boolean activeStyleId?: DocsBulletStyleId | null | "mixed" onSelect: (styleId: DocsBulletStyleId) => void }) { const symbols: Record = { disc: "•", circle: "◦", square: "▪", arrow: "➤", check: "✓", dash: "–", } return (
{DOCS_BULLET_STYLE_PRESETS.map((preset) => ( onSelect(preset.id)} className="min-h-[56px]" > {symbols[preset.id]} Élément {symbols[preset.id]} Élément ))}
) } export function DocsFormatChecklistPresets({ disabled, activeStyleId, onSelect, }: { disabled?: boolean activeStyleId?: DocsChecklistStyleId | null | "mixed" onSelect: (styleId: DocsChecklistStyleId) => void }) { return (
onSelect("strikethrough")} > Tâche Terminé onSelect("simple")} > Tâche Tâche
) }