@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
51 lines • 1.58 kB
JavaScript
var _Hr;
import React, { useCallback } from 'react';
import clsx from 'clsx';
import Button from "../../../../components/button/Button.js";
import ButtonRow from "../../Form/ButtonRow/index.js";
import useTranslation from "../../hooks/useTranslation.js";
import useStep from "../hooks/useStep.js";
import { edit } from "../../../../icons/index.js";
import Hr from "../../../../elements/Hr.js";
import { omitSpacingProps, pickSpacingProps } from "../../../../components/flex/utils.js";
import withComponentMarkers from "../../../../shared/helpers/withComponentMarkers.js";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
function EditButton(props) {
const translations = useTranslation().WizardEditButton;
const {
setActiveIndex
} = useStep();
const {
className,
variant = 'tertiary',
iconPosition = 'left',
icon,
toStep,
children = translations.text,
...rest
} = props;
const handleClick = useCallback(() => {
if (toStep > -1) {
setActiveIndex(toStep);
}
}, [toStep, setActiveIndex]);
return _jsxs(ButtonRow, {
...pickSpacingProps(props),
children: [_Hr || (_Hr = _jsx(Hr, {
space: 0
})), _jsx(Button, {
className: clsx('dnb-forms-edit-button', className),
variant: variant,
iconPosition: iconPosition,
icon: edit || icon,
onClick: handleClick,
...omitSpacingProps(rest),
children: children
})]
});
}
withComponentMarkers(EditButton, {
_supportsSpacingProps: true
});
export default EditButton;
//# sourceMappingURL=EditButton.js.map