import PropTypes from "prop-types"; import React, { ReactElement } from "react"; import { useTooltip } from "../../hooks/useTooltip"; import { FormOptions } from "../../interfaces"; import { iconClass } from "../../utils/iconClass"; export interface FormEditCTAsProps extends Record { saveText?: string; options?: FormOptions; hasUndo?: boolean; hasRedo?: boolean; disabled?: boolean; onCopy?: Function; onSubmit?: Function; onReset?: Function; onUndo?: Function; onRedo?: Function; } export function FormEditCTAs({ saveText = "Save", disabled, options = {}, onCopy, hasUndo, hasRedo, onUndo, onRedo, onReset, onSubmit }: FormEditCTAsProps): ReactElement { const { i18n: t = (t: string): string => t } = options; const copyTooltipRef = useTooltip({ trigger: "hover", placement: "top", title: t("Copy") }); const undoTooltipRef = useTooltip({ trigger: "hover", placement: "top", title: t("Undo last change") }); const redoTooltipRef = useTooltip({ trigger: "hover", placement: "top", title: t("Redo last change") }); const resetTooltipRef = useTooltip({ trigger: "hover", placement: "top", title: t("Reset all changes") }); return (
{onCopy && ( )}
); } FormEditCTAs.propTypes = { saveText: PropTypes.string, options: PropTypes.object, hasUndo: PropTypes.bool, hasRedo: PropTypes.bool, disabled: PropTypes.bool, onCopy: PropTypes.func, onSubmit: PropTypes.func, onReset: PropTypes.func };