UNPKG

suomifi-ui-components

Version:
91 lines (85 loc) 4.18 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'); 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 SuomifiThemeProvider = require('../../theme/SuomifiThemeProvider/SuomifiThemeProvider.js'); require('../../theme/SuomifiTheme/SuomifiTheme.js'); require('../../theme/SpacingProvider/SpacingProvider.js'); var VisuallyHidden = require('../../VisuallyHidden/VisuallyHidden.js'); var InputToggleButton_baseStyles = require('./InputToggleButton.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-input-toggle-button'; var InputToggleButtonClassNames = { icon: "".concat(baseClassName, "_icon") }; var iconProps = { 'aria-hidden': true, className: InputToggleButtonClassNames.icon }; var BaseInputToggleButton = function (_super) { tslib.__extends(BaseInputToggleButton, _super); function BaseInputToggleButton() { return _super !== null && _super.apply(this, arguments) || this; } BaseInputToggleButton.prototype.render = function () { var _a = this.props, className = _a.className, label = _a.label; _a.theme; var open = _a.open, forwardedRef = _a.forwardedRef, onClick = _a.onClick, passProps = tslib.__rest(_a, ["className", "label", "theme", "open", "forwardedRef", "onClick"]); return /*#__PURE__*/React__default.default.createElement(HtmlButton.HtmlButton, tslib.__assign({ forwardedRef: forwardedRef }, passProps, { className: classnames__default.default(baseClassName, className), onClick: onClick }), /*#__PURE__*/React__default.default.createElement(VisuallyHidden.VisuallyHidden, null, label), open ? ( /*#__PURE__*/React__default.default.createElement(suomifiIcons.IconArrowheadUp, tslib.__assign({}, iconProps))) : ( /*#__PURE__*/React__default.default.createElement(suomifiIcons.IconArrowheadDown, tslib.__assign({}, iconProps)))); }; return BaseInputToggleButton; }(React.Component); var StyledInputToggleButton = styled.styled(BaseInputToggleButton).withConfig({ componentId: "sc-yi9s9p-0" })(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) { var theme = _a.theme; return InputToggleButton_baseStyles.baseStyles(theme); }); var InputToggleButton = /*#__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(StyledInputToggleButton, tslib.__assign({ theme: suomifiTheme, forwardedRef: ref }, props)); }); }); InputToggleButton.displayName = 'InputToggleButton'; var templateObject_1; exports.InputToggleButton = InputToggleButton; //# sourceMappingURL=InputToggleButton.js.map