@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
43 lines • 1.47 kB
JavaScript
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
var _Hr;
import React, { useCallback } from 'react';
import classnames from 'classnames';
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";
function EditButton(props) {
const translations = useTranslation().WizardEditButton;
const {
setActiveIndex
} = useStep();
const {
className,
variant = 'tertiary',
icon_position = 'left',
icon,
toStep,
children = translations.text,
...rest
} = props;
const handleClick = useCallback(() => {
if (toStep > -1) {
setActiveIndex(toStep);
}
}, [toStep, setActiveIndex]);
return React.createElement(ButtonRow, pickSpacingProps(props), _Hr || (_Hr = React.createElement(Hr, {
space: 0
})), React.createElement(Button, _extends({
className: classnames('dnb-forms-edit-button', className),
variant: variant,
icon_position: icon_position,
icon: edit || icon,
on_click: handleClick
}, omitSpacingProps(rest)), children));
}
EditButton._supportsSpacingProps = true;
export default EditButton;
//# sourceMappingURL=EditButton.js.map