// // SPDX-FileCopyrightText: Copyright (c) 1993-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // "use client" import type React from "react" import { useState } from "react" import type { Triple } from "@/utils/text-processing" import { Check, X } from "lucide-react" interface TripleEditorProps { triple?: Triple index?: number onSave: (triple: Triple, index?: number) => void onCancel: () => void } export function TripleEditor({ triple, index, onSave, onCancel }: TripleEditorProps) { const [subject, setSubject] = useState(triple?.subject || "") const [predicate, setPredicate] = useState(triple?.predicate || "") const [object, setObject] = useState(triple?.object || "") const handleSubmit = (e: React.FormEvent) => { e.preventDefault() if (subject.trim() && predicate.trim() && object.trim()) { onSave({ subject, predicate, object }, index) } } return (
) }