UNPKG

@clayui/modal

Version:

ClayModal component

140 lines (139 loc) 6.78 kB
"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;