@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
45 lines • 1.67 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _Hr;
const _excluded = ["className", "variant", "icon_position", "icon", "toStep", "children"];
import React, { useCallback } from 'react';
import classnames from 'classnames';
import Button from '../../../../components/button/Button';
import ButtonRow from '../../Form/ButtonRow';
import useTranslation from '../../hooks/useTranslation';
import useStep from '../hooks/useStep';
import { edit } from '../../../../icons';
import Hr from '../../../../elements/Hr';
import { omitSpacingProps, pickSpacingProps } from '../../../../components/flex/utils';
function EditButton(props) {
const translations = useTranslation().WizardEditButton;
const {
setActiveIndex
} = useStep();
const {
className,
variant = 'tertiary',
icon_position = 'left',
icon,
toStep,
children = translations.text
} = props,
rest = _objectWithoutProperties(props, _excluded);
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