@clayui/modal
Version:
ClayModal component
140 lines (139 loc) • 6.78 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.TitleSection = exports.TitleIndicator = exports.Title = exports.SubtitleSection = exports.Subtitle = exports.ItemGroup = exports.Item = void 0;
var _button = _interopRequireDefault(require("@clayui/button"));
var _icon = _interopRequireDefault(require("@clayui/icon"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireDefault(require("react"));
var _Context = _interopRequireDefault(require("./Context"));
var _excluded = ["children", "className"],
_excluded2 = ["children", "className", "shrink"],
_excluded3 = ["children", "className"],
_excluded4 = ["children", "className"],
_excluded5 = ["children", "className"],
_excluded6 = ["children", "className"],
_excluded7 = ["children", "className"],
_excluded8 = ["children", "className"],
_excluded9 = ["children", "withTitle"];
/**
* SPDX-FileCopyrightText: © 2019 Liferay, Inc. <https://liferay.com>
* SPDX-License-Identifier: BSD-3-Clause
*/
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) { o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) { if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } } return t; }
var ItemGroup = exports.ItemGroup = function ItemGroup(_ref) {
var children = _ref.children,
className = _ref.className,
otherProps = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-item-group', className)
}, otherProps), children);
};
var Item = exports.Item = function Item(_ref2) {
var children = _ref2.children,
className = _ref2.className,
shrink = _ref2.shrink,
otherProps = _objectWithoutProperties(_ref2, _excluded2);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-item', className, {
'modal-item-shrink': shrink
})
}, otherProps), children);
};
var TitleSection = exports.TitleSection = function TitleSection(_ref3) {
var children = _ref3.children,
className = _ref3.className,
otherProps = _objectWithoutProperties(_ref3, _excluded3);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-title-section', className)
}, otherProps), children);
};
var Title = exports.Title = function Title(_ref4) {
var children = _ref4.children,
className = _ref4.className,
otherProps = _objectWithoutProperties(_ref4, _excluded4);
var _React$useContext = _react.default.useContext(_Context.default),
ariaLabelledby = _React$useContext.ariaLabelledby;
return /*#__PURE__*/_react.default.createElement("h1", _extends({
className: (0, _classnames.default)('modal-title', className),
tabIndex: -1
}, otherProps, {
id: ariaLabelledby
}), children);
};
var TitleIndicator = exports.TitleIndicator = function TitleIndicator(_ref5) {
var children = _ref5.children,
className = _ref5.className,
otherProps = _objectWithoutProperties(_ref5, _excluded5);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-title-indicator', className)
}, otherProps), children);
};
var SubtitleSection = exports.SubtitleSection = function SubtitleSection(_ref6) {
var children = _ref6.children,
className = _ref6.className,
otherProps = _objectWithoutProperties(_ref6, _excluded6);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-subtitle-section', className)
}, otherProps), children);
};
var Subtitle = exports.Subtitle = function Subtitle(_ref7) {
var children = _ref7.children,
className = _ref7.className,
otherProps = _objectWithoutProperties(_ref7, _excluded7);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-subtitle', className)
}, otherProps), children);
};
var ICON_MAP = {
danger: 'exclamation-full',
info: 'info-circle',
success: 'check-circle-full',
warning: 'warning-full'
};
var HighLevel = function HighLevel(_ref8) {
var children = _ref8.children,
onClose = _ref8.onClose,
spritemap = _ref8.spritemap,
status = _ref8.status;
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Title, null, status && /*#__PURE__*/_react.default.createElement(TitleIndicator, null, /*#__PURE__*/_react.default.createElement(_icon.default, {
spritemap: spritemap,
symbol: ICON_MAP[status]
})), children), /*#__PURE__*/_react.default.createElement(_button.default, {
"aria-label": "close",
className: "close",
displayType: "unstyled",
onClick: onClose
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
spritemap: spritemap,
symbol: "times"
})));
};
var ClayModalHeader = function ClayModalHeader(_ref9) {
var children = _ref9.children,
className = _ref9.className,
otherProps = _objectWithoutProperties(_ref9, _excluded8);
return /*#__PURE__*/_react.default.createElement("div", _extends({
className: (0, _classnames.default)('modal-header', className)
}, otherProps), children);
};
var Header = function Header(_ref10) {
var children = _ref10.children,
_ref10$withTitle = _ref10.withTitle,
withTitle = _ref10$withTitle === void 0 ? true : _ref10$withTitle,
otherProps = _objectWithoutProperties(_ref10, _excluded9);
var _React$useContext2 = _react.default.useContext(_Context.default),
onClose = _React$useContext2.onClose,
spritemap = _React$useContext2.spritemap,
status = _React$useContext2.status;
return /*#__PURE__*/_react.default.createElement(ClayModalHeader, otherProps, withTitle && /*#__PURE__*/_react.default.createElement(HighLevel, {
onClose: onClose,
spritemap: spritemap,
status: status
}, children), !withTitle && children);
};
var _default = exports.default = Header;