{
  "name": "spreadsheet-context-menu-resize-dialogs",
  "type": "registry:component",
  "registryDependencies": [
    "https://spreadsheet.ui.unsanity.ai/r/spreadsheet-resize-dialog.json"
  ],
  "files": [
    {
      "path": "components/spreadsheet/spreadsheet-context-menu-resize-dialogs.tsx",
      "content": "\"use client\";\n\nimport { useCallback, useState, type ReactNode } from \"react\";\nimport {\n  SpreadsheetColumnResizeDialog,\n  SpreadsheetRowResizeDialog,\n} from \"./spreadsheet-resize-dialog\";\n\nexport function useSpreadsheetContextMenuResizeDialogs(): {\n  openColumnResize: (indices: number[]) => void;\n  openRowResize: (indices: number[]) => void;\n  dialogs: ReactNode;\n} {\n  const [colResizeOpen, setColResizeOpen] = useState(false);\n  const [colResizeIndices, setColResizeIndices] = useState<number[]>([]);\n  const [rowResizeOpen, setRowResizeOpen] = useState(false);\n  const [rowResizeIndices, setRowResizeIndices] = useState<number[]>([]);\n\n  const openColumnResize = useCallback((indices: number[]) => {\n    queueMicrotask(() => {\n      setColResizeIndices([...indices]);\n      setColResizeOpen(true);\n    });\n  }, []);\n\n  const openRowResize = useCallback((indices: number[]) => {\n    queueMicrotask(() => {\n      setRowResizeIndices([...indices]);\n      setRowResizeOpen(true);\n    });\n  }, []);\n\n  const dialogs = (\n    <>\n      <SpreadsheetColumnResizeDialog\n        open={colResizeOpen}\n        onOpenChange={setColResizeOpen}\n        indices={colResizeIndices}\n      />\n      <SpreadsheetRowResizeDialog\n        open={rowResizeOpen}\n        onOpenChange={setRowResizeOpen}\n        indices={rowResizeIndices}\n      />\n    </>\n  );\n\n  return { openColumnResize, openRowResize, dialogs };\n}\n",
      "type": "registry:component"
    }
  ]
}
