UNPKG

suomifi-ui-components

Version:
96 lines (90 loc) 4.5 kB
'use strict'; var tslib = require('tslib'); var React = require('react'); var styled = require('styled-components'); var classnames = require('classnames'); var suomifiIcons = require('suomifi-icons'); var SuomifiThemeProvider = require('../../theme/SuomifiThemeProvider/SuomifiThemeProvider.js'); require('../../theme/SuomifiTheme/SuomifiTheme.js'); require('../../theme/SpacingProvider/SpacingProvider.js'); require('../../../reset/HtmlA/HtmlA.js'); var HtmlButton = require('../../../reset/HtmlButton/HtmlButton.js'); var HtmlDiv = require('../../../reset/HtmlDiv/HtmlDiv.js'); require('../../../reset/HtmlFieldSet/HtmlFieldSet.js'); require('../../../reset/HtmlH/HtmlH.js'); require('../../../reset/HtmlInput/HtmlInput.js'); require('../../../reset/HtmlLabel/HtmlLabel.js'); require('../../../reset/HtmlLegend/HtmlLegend.js'); require('../../../reset/HtmlLi/HtmlLi.js'); require('../../../reset/HtmlNav/HtmlNav.js'); require('../../../reset/HtmlOl/HtmlOl.js'); require('../../../reset/HtmlSpan/HtmlSpan.js'); require('../../../reset/HtmlTextarea/HtmlTextarea.js'); require('../../../reset/HtmlUl/HtmlUl.js'); require('../../../reset/HtmlTable/HtmlTable.js'); require('../../../reset/HtmlTable/HtmlTableCaption.js'); require('../../../reset/HtmlTable/HtmlTableHeader.js'); require('../../../reset/HtmlTable/HtmlTableRow.js'); require('../../../reset/HtmlTable/HtmlTableBody.js'); require('../../../reset/HtmlTable/HtmlTableHeaderCell.js'); require('../../../reset/HtmlTable/HtmlTableCell.js'); var TooltipContent_baseStyles = require('./TooltipContent.baseStyles.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); var classnames__default = /*#__PURE__*/_interopDefault(classnames); var baseClassName = 'fi-tooltip'; var tooltipContentClassNames = { content: "".concat(baseClassName, "_content"), arrowHidden: "".concat(baseClassName, "_content--arrow-hidden"), closeButton: "".concat(baseClassName, "_close-button"), closeButtonIcon: "".concat(baseClassName, "_close-button_icon") }; var BaseTooltipContent = function (_super) { tslib.__extends(BaseTooltipContent, _super); function BaseTooltipContent() { return _super !== null && _super.apply(this, arguments) || this; } BaseTooltipContent.prototype.render = function () { var _a; var _b = this.props, children = _b.children, arrowOffsetPx = _b.arrowOffsetPx, onCloseButtonClick = _b.onCloseButtonClick, ariaCloseButtonLabelText = _b.ariaCloseButtonLabelText, className = _b.className, passProps = tslib.__rest(_b, ["children", "arrowOffsetPx", "onCloseButtonClick", "ariaCloseButtonLabelText", "className"]); return /*#__PURE__*/React__default.default.createElement(HtmlDiv.HtmlDivWithRef, tslib.__assign({}, passProps, { className: classnames__default.default(tooltipContentClassNames.content, className, (_a = {}, _a[tooltipContentClassNames.arrowHidden] = arrowOffsetPx <= 0, _a)) }), children, /*#__PURE__*/React__default.default.createElement(HtmlButton.HtmlButton, { "aria-label": ariaCloseButtonLabelText, onClick: onCloseButtonClick, className: tooltipContentClassNames.closeButton }, /*#__PURE__*/React__default.default.createElement(suomifiIcons.IconClose, { className: tooltipContentClassNames.closeButtonIcon }))); }; return BaseTooltipContent; }(React.Component); var StyledTooltipContent = styled.styled(function (_a) { _a.theme; var passProps = tslib.__rest(_a, ["theme"]); return /*#__PURE__*/React__default.default.createElement(BaseTooltipContent, tslib.__assign({}, passProps)); }).withConfig({ componentId: "sc-57ceg5-0" })(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) { var theme = _a.theme, arrowOffsetPx = _a.arrowOffsetPx; return TooltipContent_baseStyles.baseStyles(arrowOffsetPx, theme); }); var TooltipContent = /*#__PURE__*/React.forwardRef(function (props, ref) { return /*#__PURE__*/React__default.default.createElement(SuomifiThemeProvider.SuomifiThemeConsumer, null, function (_a) { var suomifiTheme = _a.suomifiTheme; return /*#__PURE__*/React__default.default.createElement(StyledTooltipContent, tslib.__assign({ theme: suomifiTheme, forwardedRef: ref }, props)); }); }); var templateObject_1; exports.TooltipContent = TooltipContent; //# sourceMappingURL=TooltipContent.js.map