@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
46 lines (45 loc) • 1.36 kB
JavaScript
"use client";
import React, { useCallback, useContext } from 'react';
import clsx from 'clsx';
import { useTranslation } from "../../hooks/index.js";
import DataContext from "../../DataContext/Context.js";
import Button from "../../../../components/button/Button.js";
import { check } from "../../../../icons/index.js";
import withComponentMarkers from "../../../../shared/helpers/withComponentMarkers.js";
import { jsx as _jsx } from "react/jsx-runtime";
function IsolationCommitButton(props) {
const translations = useTranslation().Isolation;
const {
className,
children,
text,
...rest
} = props;
const content = text || children || translations.commitButtonText;
const {
handleSubmit,
props: dataContextProps
} = useContext(DataContext) || {};
const {
isolate
} = dataContextProps || {};
const onClickHandler = useCallback(() => {
if (isolate) {
handleSubmit?.();
}
}, [handleSubmit, isolate]);
return _jsx(Button, {
variant: "secondary",
className: clsx('dnb-forms-isolate__commit-button', className),
icon: check,
iconPosition: "left",
onClick: onClickHandler,
...rest,
children: content
});
}
withComponentMarkers(IsolationCommitButton, {
_supportsSpacingProps: true
});
export default IsolationCommitButton;
//# sourceMappingURL=IsolationCommitButton.js.map