@atlaskit/modal-dialog
Version:
A modal dialog displays content that requires user interaction, in a layer above the page.
57 lines • 2.34 kB
JavaScript
/* modal-title.tsx generated by @compiled/babel-plugin v0.39.1 */
import "./modal-title.compiled.css";
import * as React from 'react';
import { ax, ix } from "@compiled/react/runtime";
import ErrorIcon from '@atlaskit/icon/core/status-error';
import WarningIcon from '@atlaskit/icon/core/status-warning';
import { useModal } from './hooks';
var iconColor = {
danger: "var(--ds-icon-danger, #C9372C)",
warning: "var(--ds-icon-warning, #E06C00)"
};
var iconStyles = null;
var titleStyles = null;
var textStyles = null;
var truncatedTextStyles = null;
var TitleIcon = function TitleIcon(_ref) {
var appearance = _ref.appearance;
var Icon = appearance === 'danger' ? ErrorIcon : WarningIcon;
return /*#__PURE__*/React.createElement("span", {
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _syaz1kw7 _1wyb1kw7 _zg8l1kw7 _k48p1kw7 _1dyz1kw7 _vwz41kw7"])
}, /*#__PURE__*/React.createElement(Icon, {
label: appearance,
color: iconColor[appearance],
spacing: "spacious"
}));
};
/**
* __Modal title__
*
* A modal title is used to display a title within a modal.
*
* - [Examples](https://atlassian.design/components/modal-dialog/examples)
* - [Code](https://atlassian.design/components/modal-dialog/code)
* - [Usage](https://atlassian.design/components/modal-dialog/usage)
*/
var ModalTitle = function ModalTitle(props) {
var appearance = props.appearance,
children = props.children,
_props$isMultiline = props.isMultiline,
isMultiline = _props$isMultiline === void 0 ? true : _props$isMultiline,
userDefinedTestId = props.testId;
var _useModal = useModal(),
titleId = _useModal.titleId,
modalTestId = _useModal.testId;
var testId = userDefinedTestId || modalTestId && "".concat(modalTestId, "--title");
return /*#__PURE__*/React.createElement("h1", {
"data-testid": testId,
className: ax(["_zulpu2gc _11c81af2 _1e0c1txw _1ul9idpf _6rthze3t _1pfhze3t _12l2ze3t _ahbqze3t"])
}, appearance && /*#__PURE__*/React.createElement(TitleIcon, {
appearance: appearance
}), /*#__PURE__*/React.createElement("span", {
id: titleId,
"data-testid": testId && "".concat(testId, "-text"),
className: ax(["_16jlkb7n _1o9zkb7n _i0dl1wug _11c81af2 _1ul9idpf _slp31hna", !isMultiline && "_1reo15vq _18m915vq _1bto1l2s _o5721q9c"])
}, children));
};
export default ModalTitle;