UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

45 lines 1.67 kB
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