UNPKG

@twreporter/universal-header

Version:
119 lines (118 loc) 4.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transparentTheme = exports.photographyTheme = exports.hamburger = exports["default"] = exports.actionButton = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _actionButtonItem = _interopRequireDefault(require("./action-button-item")); var _headerContext = _interopRequireDefault(require("../contexts/header-context")); var _actionItemTypes = require("../constants/action-item-types"); var _constants = require("../storybook/constants"); var _theme = require("@twreporter/core/lib/constants/theme"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable react/prop-types */ /* eslint react/display-name:0 */ var _default = exports["default"] = { title: 'Action Button', component: _actionButtonItem["default"], argTypes: { theme: _constants.THEME_STORYBOOK_ARG_TYPE, direction: _actionItemTypes.DIRECTION_STORYBOOK_ARG_TYPE, textType: _actionItemTypes.TEXT_STORYBOOK_ARG_TYPE, buttonWidth: _actionItemTypes.BUTTON_WIDTH_STORYBOOK_ARG_TYPE, buttonSize: _actionItemTypes.BUTTON_SIZE_STORYBOOK_ARG_TYPE } }; var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({ displayName: "action-button-itemstories__Container", componentId: "sc-1bpjnxr-0" })(["max-width:500px;width:100%;"]); var defaultActions = [{ key: 'newsLetter' }, { key: 'support' }]; var actionButton = exports.actionButton = { render: function render(props) { var theme = props.theme; var context = { theme: theme, isLinkExternal: true }; return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, { value: context }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButtonItem["default"], props))); }, args: { actions: defaultActions } }; var photographyTheme = exports.photographyTheme = { render: function render(props) { return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, { value: { theme: _theme.THEME.photography, isLinkExternal: true } }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButtonItem["default"], props))); }, args: { actions: defaultActions }, parameters: { backgrounds: { "default": _theme.THEME.photography }, controls: { exclude: ['actions', 'callback', 'theme'] } } }; var transparentTheme = exports.transparentTheme = { render: function render(props) { return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, { value: { theme: _theme.THEME.transparent, isLinkExternal: true } }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButtonItem["default"], props))); }, args: { actions: defaultActions }, parameters: { backgrounds: { "default": _theme.THEME.transparent }, controls: { exclude: ['actions', 'callback', 'theme'] } } }; var hamburger = exports.hamburger = { render: function render(props) { return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, { value: { theme: props.theme, isLinkExternal: true } }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButtonItem["default"], _extends({ isForHambuger: true }, props)))); }, args: { actions: defaultActions, direction: _actionItemTypes.DIRECTION_TYPE.column, textType: _actionItemTypes.TEXT_TYPE.full, buttonWidth: _actionItemTypes.BUTTON_WIDTH_TYPE.stretch, buttonSize: _actionItemTypes.BUTTON_SIZE_TYPE.L }, parameters: { backgrounds: { "default": 'white' }, controls: { exclude: ['actions', 'callback', 'direction', 'textType', 'buttonWidth', 'buttonSize'] } } };