import { ReactElement } from "react"; import { Icon as DefaultIcon } from "../../../atoms/icon/Icon"; import { useI18n } from "../../../hooks/useI18n"; import { useTooltip } from "../../../hooks/useTooltip"; import type { FormOptions } from "../../../interfaces/index.js"; import { Button as DefaultButton } from "../../../molecules/button/Button"; import { getComponent, registerComponent } from "../../../registries/components"; export interface FormEditCTAsProps extends Record { saveText?: string; options?: FormOptions; hasUndo?: boolean; hasRedo?: boolean; disabled?: boolean; onCopy?: () => void; onSubmit?: () => void; onReset?: () => void; onUndo?: () => void; onRedo?: () => void; } export function FormEditCTAs({ saveText = "Save", disabled, onCopy, hasUndo, hasRedo, onUndo, onRedo, onReset, onSubmit, options }: FormEditCTAsProps): ReactElement { const { t } = useI18n(options?.i18n); const copyTooltipRef: any = useTooltip({ trigger: "hover", placement: "top", title: t("Copy") }); const undoTooltipRef: any = useTooltip({ trigger: "hover", placement: "top", title: t("Undo last change") }); const redoTooltipRef: any = useTooltip({ trigger: "hover", placement: "top", title: t("Redo last change") }); const resetTooltipRef: any = useTooltip({ trigger: "hover", placement: "top", title: t("Reset all changes") }); const Button = getComponent("Button"); const Icon = getComponent("Icon"); return (
{onCopy && ( )}
); } registerComponent("FormEditCTAs", FormEditCTAs);