UNPKG

suomifi-ui-components

Version:
102 lines (96 loc) 5.1 kB
'use strict'; var tslib = require('tslib'); var React = require('react'); var styled = require('styled-components'); var classnames = require('classnames'); 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'); var HtmlSpan = 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 VisuallyHidden = require('../../VisuallyHidden/VisuallyHidden.js'); var SuomifiThemeProvider = require('../../theme/SuomifiThemeProvider/SuomifiThemeProvider.js'); require('../../theme/SuomifiTheme/SuomifiTheme.js'); require('../../theme/SpacingProvider/SpacingProvider.js'); var Expander = require('../Expander/Expander.js'); var ExpanderTitle_baseStyles = require('./ExpanderTitle.baseStyles.js'); var suomifiIcons = require('suomifi-icons'); 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-expander_title'; var titleOpenClassName = "".concat(baseClassName, "--open"); var titleContentClassName = "".concat(baseClassName, "-content"); var titleButtonClassName = "".concat(baseClassName, "-button"); var iconClassName = "".concat(baseClassName, "-icon"); var iconOpenClassName = "".concat(iconClassName, "--open"); var BaseExpanderTitle = function (_super) { tslib.__extends(BaseExpanderTitle, _super); function BaseExpanderTitle() { return _super !== null && _super.apply(this, arguments) || this; } BaseExpanderTitle.prototype.render = function () { var _a, _b; var _c = this.props, toggleButtonAriaLabel = _c.toggleButtonAriaLabel, children = _c.children, className = _c.className; _c.theme; var toggleButtonAriaDescribedBy = _c.toggleButtonAriaDescribedBy, toggleButtonProps = _c.toggleButtonProps, consumer = _c.consumer, passProps = tslib.__rest(_c, ["toggleButtonAriaLabel", "children", "className", "theme", "toggleButtonAriaDescribedBy", "toggleButtonProps", "consumer"]); return /*#__PURE__*/React__default.default.createElement(HtmlDiv.HtmlDiv, tslib.__assign({}, passProps, { className: classnames__default.default(className, baseClassName, (_a = {}, _a[titleOpenClassName] = !!consumer.open, _a)) }), /*#__PURE__*/React__default.default.createElement(HtmlSpan.HtmlSpan, { className: titleContentClassName, id: consumer.titleId }, children), /*#__PURE__*/React__default.default.createElement(HtmlButton.HtmlButton, tslib.__assign({}, toggleButtonProps, { onClick: consumer.onToggleExpander, "aria-expanded": !!consumer.open, className: titleButtonClassName, "aria-controls": consumer.contentId, "aria-describedby": toggleButtonAriaDescribedBy }), /*#__PURE__*/React__default.default.createElement(VisuallyHidden.VisuallyHidden, null, toggleButtonAriaLabel), /*#__PURE__*/React__default.default.createElement(suomifiIcons.IconChevronDown, { className: classnames__default.default(iconClassName, (_b = {}, _b[iconOpenClassName] = consumer.open, _b)) }))); }; return BaseExpanderTitle; }(React.Component); var StyledExpanderTitle = styled.styled(BaseExpanderTitle).withConfig({ componentId: "sc-sany8c-0" })(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) { var theme = _a.theme; return ExpanderTitle_baseStyles.expanderTitleBaseStyles(theme); }); var ExpanderTitle = function ExpanderTitle(props) { return /*#__PURE__*/React__default.default.createElement(SuomifiThemeProvider.SuomifiThemeConsumer, null, function (_a) { var suomifiTheme = _a.suomifiTheme; return /*#__PURE__*/React__default.default.createElement(Expander.ExpanderConsumer, null, function (consumer) { return /*#__PURE__*/React__default.default.createElement(StyledExpanderTitle, tslib.__assign({ theme: suomifiTheme, consumer: consumer }, props)); }); }); }; ExpanderTitle.displayName = 'ExpanderTitle'; var templateObject_1; exports.ExpanderTitle = ExpanderTitle; //# sourceMappingURL=ExpanderTitle.js.map