// Rôle : rend le formulaire de création et édition des combos. import { Icon } from "../../../components/Icon.jsx"; import { ComboInputToken, ComboSequence } from "./CombosParts.jsx"; import { DEVICE_OPTIONS, createInput, getHoldSeconds } from "./combosUtils.js"; export function CombosEditor({ data, textContent, comboCategory, comboName, customKey, keyboardLayout, paletteColumns, draftInputs, cleanDraftInputs, activeStepIndex, selectedInput, selectedDraftInput, simultaneousMode, editingComboId, onDeviceChange, onKeyboardLayoutChange, onComboCategoryChange, onComboNameChange, onCustomKeyChange, onCustomKeyAdd, onComboSave, onDraftInputAdd, onPaletteInputDrag, onDraftInputDrag, onInputDrop, onNewStepDrop, onStepSelect, onInputSelect, onSelectedInputHoldToggle, onSelectedInputHoldChange, onSimultaneousModeToggle, onLastInputRemove, onActiveStepRemove, onComboEditCancel }) { return (
{data.device === "keyboardMouse" && (
{[ { value: "azerty", label: "AZERTY" }, { value: "qwerty", label: "QWERTY" } ].map((layout) => ( ))}
)}
{paletteColumns.map((columnGroups, columnIndex) => (
{columnGroups.map((group) => (
{group.title}
{group.inputs.map((input, inputIndex) => { if (!input) return
))}
))}
{data.device === "keyboardMouse" && (
onCustomKeyChange(event.target.value)} placeholder={textContent.customKeyPlaceholder || "Touche personnalisée"} />
)}
{editingComboId && ( )}
); }