@twreporter/universal-header 2.2.15-rc.1 → 2.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.3.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.2.15-rc.2...@twreporter/universal-header@2.3.0-rc.0) (2022-10-12)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * address review comment ([2cf0499](https://github.com/twreporter/twreporter-npm-packages/commit/2cf04990d34e0f26c7aee5519fb120ce99c12776))
12
+
13
+
14
+ ### Features
15
+
16
+ * add new info structure desktop header ([855aa82](https://github.com/twreporter/twreporter-npm-packages/commit/855aa8288116610592452e66827f8421b9a99c7e))
17
+
18
+
19
+
20
+
21
+
22
+ ## [2.2.15-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.2.15-rc.1...@twreporter/universal-header@2.2.15-rc.2) (2022-09-27)
23
+
24
+ **Note:** Version bump only for package @twreporter/universal-header
25
+
26
+
27
+
28
+
29
+
6
30
  ## [2.2.15-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/universal-header@2.2.15-rc.0...@twreporter/universal-header@2.2.15-rc.1) (2022-09-21)
7
31
 
8
32
  **Note:** Version bump only for package @twreporter/universal-header
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
15
+
16
+ var _links = _interopRequireDefault(require("../utils/links"));
17
+
18
+ var _theme = _interopRequireDefault(require("../utils/theme"));
19
+
20
+ var _fonts = _interopRequireDefault(require("../constants/fonts"));
21
+
22
+ var _actionsOld = require("../constants/actions-old");
23
+
24
+ var _customizedLink = _interopRequireDefault(require("./customized-link"));
25
+
26
+ var _css = require("@twreporter/core/lib/utils/css");
27
+
28
+ var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
29
+
30
+ var _color = require("@twreporter/core/lib/constants/color");
31
+
32
+ var _map = _interopRequireDefault(require("lodash/map"));
33
+
34
+ var _excluded = ["actions", "direction"];
35
+
36
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
37
+
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
+
40
+ function _extends() { _extends = Object.assign || 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); }
41
+
42
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
43
+
44
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
45
+
46
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
47
+
48
+ var _ = {
49
+ map: _map["default"]
50
+ };
51
+ var styles = {
52
+ itemWidth: {
53
+ mobile: {
54
+ row: '48px',
55
+ column: '100%'
56
+ },
57
+ tablet: {
58
+ row: '70px',
59
+ column: '100%'
60
+ },
61
+ desktop: '70px'
62
+ },
63
+ itemHeight: {
64
+ mobile: {
65
+ row: 24,
66
+ // px
67
+ column: 40 // px
68
+
69
+ },
70
+ tablet: {
71
+ row: 30,
72
+ // px
73
+ column: 40 // px
74
+
75
+ },
76
+ desktop: 30 // px
77
+
78
+ },
79
+ itemMargin: {
80
+ row: [0, 0, 0, 10],
81
+ // px
82
+ column: [7, 0, 0, 0] // px
83
+
84
+ },
85
+ fontSize: {
86
+ mobile: {
87
+ row: _fonts["default"].size.small,
88
+ column: _fonts["default"].size.medium
89
+ },
90
+ tablet: {
91
+ row: _fonts["default"].size.base,
92
+ column: _fonts["default"].size.medium
93
+ },
94
+ desktop: _fonts["default"].size.base
95
+ }
96
+ };
97
+
98
+ var ActionsContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
99
+ displayName: "action-button-old__ActionsContainer",
100
+ componentId: "sc-1lcbmya-0"
101
+ })(["display:flex;align-items:center;flex-direction:", ";width:100%;"], function (props) {
102
+ return props.direction;
103
+ });
104
+
105
+ var ActionContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
106
+ displayName: "action-button-old__ActionContainer",
107
+ componentId: "sc-1lcbmya-1"
108
+ })(["transition:opacity 0.1s;transition-delay:300ms;opacity:", ";pointer-events:", ";margin:", ";width:100%;&:first-child{margin-top:0;margin-left:0;}a,a:link,a:visited{color:", ";font-size:", ";font-weight:", ";", " ", "}"], function (props) {
109
+ return props.isActive ? 1 : 0;
110
+ }, function (props) {
111
+ return props.isActive ? 'auto' : 'none';
112
+ }, function (props) {
113
+ return (0, _css.arrayToCssShorthand)(styles.itemMargin[props.direction]);
114
+ }, function (props) {
115
+ return props.color || 'white';
116
+ }, styles.fontSize.desktop, _fonts["default"].weight.bold, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: default;\n font-size: ", ";\n "])), function (props) {
117
+ return styles.fontSize.tablet[props.direction];
118
+ }), _mediaQuery["default"].mobileOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n cursor: default;\n font-size: ", ";\n "])), function (props) {
119
+ return styles.fontSize.mobile[props.direction];
120
+ }));
121
+
122
+ var ActionItem = /*#__PURE__*/_styledComponents["default"].div.withConfig({
123
+ displayName: "action-button-old__ActionItem",
124
+ componentId: "sc-1lcbmya-2"
125
+ })(["background-color:", ";width:", ";max-width:316px;height:", "px;border-radius:50px;display:flex;align-items:center;justify-content:center;margin:0 auto;&:hover{background-color:", ";}", " ", ""], function (props) {
126
+ return props.bgColor || _color.colorBrand.heavy;
127
+ }, styles.itemWidth.desktop, styles.itemHeight.desktop, function (props) {
128
+ return props.hoverBgColor || _color.colorBrand.heavy;
129
+ }, _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: ", "px;\n width: ", ";\n "])), function (props) {
130
+ return styles.itemHeight.tablet[props.direction];
131
+ }, function (props) {
132
+ return styles.itemWidth.tablet[props.direction];
133
+ }), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: ", "px;\n width: ", ";\n "])), function (props) {
134
+ return styles.itemHeight.mobile[props.direction];
135
+ }, function (props) {
136
+ return styles.itemWidth.mobile[props.direction];
137
+ }));
138
+
139
+ var ActionButtonItem = function ActionButtonItem(_ref) {
140
+ var _action$active;
141
+
142
+ var action = _ref.action,
143
+ direction = _ref.direction,
144
+ themeFunction = _ref.themeFunction,
145
+ callback = _ref.callback;
146
+ var actionKey = action.key;
147
+ var isActive = (_action$active = action.active) !== null && _action$active !== void 0 ? _action$active : true;
148
+ var actionLabel = _actionsOld.actionLabels[actionKey];
149
+
150
+ var actionLink = _links["default"].getActionLinks()[actionKey];
151
+
152
+ return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Consumer, null, function (_ref2) {
153
+ var theme = _ref2.theme;
154
+
155
+ var _themeFunction = themeFunction(theme),
156
+ color = _themeFunction.color,
157
+ bgColor = _themeFunction.bgColor,
158
+ hoverBgColor = _themeFunction.hoverBgColor;
159
+
160
+ return /*#__PURE__*/_react["default"].createElement(ActionContainer, {
161
+ color: color,
162
+ direction: direction,
163
+ isActive: isActive,
164
+ onClick: callback
165
+ }, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], actionLink, /*#__PURE__*/_react["default"].createElement(ActionItem, {
166
+ direction: direction,
167
+ bgColor: bgColor,
168
+ hoverBgColor: hoverBgColor
169
+ }, actionLabel)));
170
+ });
171
+ };
172
+
173
+ ActionButtonItem.propTypes = {
174
+ action: _propTypes["default"].shape({
175
+ key: _propTypes["default"].string,
176
+ active: _propTypes["default"]["boolean"]
177
+ }),
178
+ direction: _propTypes["default"].string,
179
+ themeFunction: _propTypes["default"].func,
180
+ callback: _propTypes["default"].func
181
+ };
182
+ ActionButtonItem.defaultProps = {
183
+ action: {},
184
+ direction: 'row',
185
+ themeFunction: _theme["default"].selectActionButtonTheme,
186
+ callback: function callback() {}
187
+ };
188
+
189
+ var ActionButton = function ActionButton(_ref3) {
190
+ var actions = _ref3.actions,
191
+ direction = _ref3.direction,
192
+ rest = _objectWithoutProperties(_ref3, _excluded);
193
+
194
+ return /*#__PURE__*/_react["default"].createElement(ActionsContainer, {
195
+ direction: direction
196
+ }, _.map(actions, function (action) {
197
+ return /*#__PURE__*/_react["default"].createElement(ActionButtonItem, _extends({
198
+ action: action,
199
+ direction: direction,
200
+ key: action.key
201
+ }, rest));
202
+ }));
203
+ };
204
+
205
+ ActionButton.propTypes = {
206
+ actions: _propTypes["default"].arrayOf(_propTypes["default"].shape(ActionButtonItem.propTypes)),
207
+ direction: _propTypes["default"].string,
208
+ themeFunction: _propTypes["default"].func,
209
+ callback: _propTypes["default"].func
210
+ };
211
+ ActionButton.defaultProps = {
212
+ actions: [],
213
+ direction: 'row',
214
+ themeFunction: _theme["default"].selectActionButtonTheme,
215
+ callback: function callback() {}
216
+ };
217
+ var _default = ActionButton;
218
+ exports["default"] = _default;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
@@ -13,183 +15,113 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
15
 
14
16
  var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
15
17
 
16
- var _links = _interopRequireDefault(require("../utils/links"));
17
-
18
- var _theme = _interopRequireDefault(require("../utils/theme"));
19
-
20
- var _fonts = _interopRequireDefault(require("../constants/fonts"));
18
+ var _links = require("../utils/links");
21
19
 
22
20
  var _actions = require("../constants/actions");
23
21
 
24
- var _customizedLink = _interopRequireDefault(require("./customized-link"));
22
+ var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
25
23
 
26
24
  var _css = require("@twreporter/core/lib/utils/css");
27
25
 
28
- var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
29
-
30
- var _color = require("@twreporter/core/lib/constants/color");
26
+ var _button = require("@twreporter/react-components/lib/button");
31
27
 
32
28
  var _map = _interopRequireDefault(require("lodash/map"));
33
29
 
34
- var _excluded = ["actions", "direction"];
35
-
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
30
+ var _excluded = ["actions", "direction", "callback"];
37
31
 
38
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
33
 
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
40
38
  function _extends() { _extends = Object.assign || 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); }
41
39
 
42
40
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
43
41
 
44
42
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
45
43
 
46
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
47
-
48
44
  var _ = {
49
45
  map: _map["default"]
50
- };
46
+ }; // global var
47
+
48
+ var defaultFunc = function defaultFunc() {};
49
+
51
50
  var styles = {
52
- itemWidth: {
53
- mobile: {
54
- row: '48px',
55
- column: '100%'
56
- },
57
- tablet: {
58
- row: '70px',
59
- column: '100%'
60
- },
61
- desktop: '70px'
62
- },
63
- itemHeight: {
64
- mobile: {
65
- row: 24,
66
- // px
67
- column: 40 // px
68
-
69
- },
70
- tablet: {
71
- row: 30,
72
- // px
73
- column: 40 // px
74
-
75
- },
76
- desktop: 30 // px
77
-
78
- },
79
51
  itemMargin: {
80
- row: [0, 0, 0, 10],
52
+ row: [0, 0, 0, 16],
81
53
  // px
82
- column: [7, 0, 0, 0] // px
83
-
84
- },
85
- fontSize: {
86
- mobile: {
87
- row: _fonts["default"].size.small,
88
- column: _fonts["default"].size.medium
89
- },
90
- tablet: {
91
- row: _fonts["default"].size.base,
92
- column: _fonts["default"].size.medium
93
- },
94
- desktop: _fonts["default"].size.base
54
+ column: [16, 0, 0, 0] // px
55
+
95
56
  }
96
57
  };
97
-
98
- var ActionsContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
99
- displayName: "action-button__ActionsContainer",
58
+ var StyledPillButton = /*#__PURE__*/(0, _styledComponents["default"])(_button.PillButton).withConfig({
59
+ displayName: "action-button__StyledPillButton",
100
60
  componentId: "sc-4wc24t-0"
101
- })(["display:flex;align-items:center;flex-direction:", ";width:100%;"], function (props) {
102
- return props.direction;
61
+ })(["justify-content:center;", ""], function (props) {
62
+ return props.direction === 'column' ? 'width: auto;' : '';
103
63
  });
104
64
 
105
- var ActionContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
106
- displayName: "action-button__ActionContainer",
65
+ var ActionItem = /*#__PURE__*/_styledComponents["default"].div.withConfig({
66
+ displayName: "action-button__ActionItem",
107
67
  componentId: "sc-4wc24t-1"
108
- })(["transition:opacity 0.1s;transition-delay:300ms;opacity:", ";pointer-events:", ";margin:", ";width:100%;&:first-child{margin-top:0;margin-left:0;}a,a:link,a:visited{color:", ";font-size:", ";font-weight:", ";", " ", "}"], function (props) {
109
- return props.isActive ? 1 : 0;
110
- }, function (props) {
111
- return props.isActive ? 'auto' : 'none';
112
- }, function (props) {
68
+ })(["display:flex;align-items:center;justify-content:center;margin:", ";&:first-child{margin-top:0;margin-left:0;}a{text-decoration:none;}"], function (props) {
113
69
  return (0, _css.arrayToCssShorthand)(styles.itemMargin[props.direction]);
114
- }, function (props) {
115
- return props.color || 'white';
116
- }, styles.fontSize.desktop, _fonts["default"].weight.bold, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: default;\n font-size: ", ";\n "])), function (props) {
117
- return styles.fontSize.tablet[props.direction];
118
- }), _mediaQuery["default"].mobileOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n cursor: default;\n font-size: ", ";\n "])), function (props) {
119
- return styles.fontSize.mobile[props.direction];
120
- }));
70
+ });
121
71
 
122
- var ActionItem = /*#__PURE__*/_styledComponents["default"].div.withConfig({
123
- displayName: "action-button__ActionItem",
72
+ var ActionsContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
73
+ displayName: "action-button__ActionsContainer",
124
74
  componentId: "sc-4wc24t-2"
125
- })(["background-color:", ";width:", ";max-width:316px;height:", "px;border-radius:50px;display:flex;align-items:center;justify-content:center;margin:0 auto;&:hover{background-color:", ";}", " ", ""], function (props) {
126
- return props.bgColor || _color.colorBrand.heavy;
127
- }, styles.itemWidth.desktop, styles.itemHeight.desktop, function (props) {
128
- return props.hoverBgColor || _color.colorBrand.heavy;
129
- }, _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: ", "px;\n width: ", ";\n "])), function (props) {
130
- return styles.itemHeight.tablet[props.direction];
131
- }, function (props) {
132
- return styles.itemWidth.tablet[props.direction];
133
- }), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: ", "px;\n width: ", ";\n "])), function (props) {
134
- return styles.itemHeight.mobile[props.direction];
135
- }, function (props) {
136
- return styles.itemWidth.mobile[props.direction];
137
- }));
75
+ })(["display:flex;align-items:center;flex-direction:", ";&,", ",a{", "}"], function (props) {
76
+ return props.direction;
77
+ }, ActionItem, function (props) {
78
+ return props.direction === 'column' ? 'width: 100%;' : '';
79
+ });
138
80
 
139
81
  var ActionButtonItem = function ActionButtonItem(_ref) {
140
- var _action$active;
141
-
142
- var action = _ref.action,
143
- direction = _ref.direction,
144
- themeFunction = _ref.themeFunction,
145
- callback = _ref.callback;
146
- var actionKey = action.key;
147
- var isActive = (_action$active = action.active) !== null && _action$active !== void 0 ? _action$active : true;
148
- var actionLabel = _actions.actionLabels[actionKey];
82
+ var _ref$action = _ref.action,
83
+ action = _ref$action === void 0 ? {} : _ref$action,
84
+ _ref$direction = _ref.direction,
85
+ direction = _ref$direction === void 0 ? 'row' : _ref$direction,
86
+ _ref$callback = _ref.callback,
87
+ callback = _ref$callback === void 0 ? defaultFunc : _ref$callback;
149
88
 
150
- var actionLink = _links["default"].getActionLinks()[actionKey];
89
+ var _useContext = (0, _react.useContext)(_headerContext["default"]),
90
+ theme = _useContext.theme;
151
91
 
152
- return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Consumer, null, function (_ref2) {
153
- var theme = _ref2.theme;
154
-
155
- var _themeFunction = themeFunction(theme),
156
- color = _themeFunction.color,
157
- bgColor = _themeFunction.bgColor,
158
- hoverBgColor = _themeFunction.hoverBgColor;
159
-
160
- return /*#__PURE__*/_react["default"].createElement(ActionContainer, {
161
- color: color,
162
- direction: direction,
163
- isActive: isActive,
164
- onClick: callback
165
- }, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], actionLink, /*#__PURE__*/_react["default"].createElement(ActionItem, {
166
- direction: direction,
167
- bgColor: bgColor,
168
- hoverBgColor: hoverBgColor
169
- }, actionLabel)));
170
- });
92
+ var actionKey = action.key;
93
+ var actionLabel = _actions.ACTION_LABEL[direction][actionKey];
94
+ var actionLink = (0, _links.getActionLinks)()[actionKey];
95
+ var buttonType = _actions.ACTION_BUTTON_TYPE[actionKey];
96
+ var buttonSize = direction === 'column' ? 'L' : 'S';
97
+ return /*#__PURE__*/_react["default"].createElement(ActionItem, {
98
+ onClick: callback,
99
+ direction: direction
100
+ }, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], actionLink, /*#__PURE__*/_react["default"].createElement(StyledPillButton, {
101
+ text: actionLabel,
102
+ theme: theme,
103
+ type: buttonType,
104
+ size: buttonSize,
105
+ direction: direction
106
+ })));
171
107
  };
172
108
 
173
109
  ActionButtonItem.propTypes = {
174
110
  action: _propTypes["default"].shape({
175
- key: _propTypes["default"].string,
176
- active: _propTypes["default"]["boolean"]
111
+ key: _propTypes["default"].string
177
112
  }),
178
- direction: _propTypes["default"].string,
179
- themeFunction: _propTypes["default"].func,
113
+ direction: _propTypes["default"].oneOf(['row', 'column']),
180
114
  callback: _propTypes["default"].func
181
115
  };
182
- ActionButtonItem.defaultProps = {
183
- action: {},
184
- direction: 'row',
185
- themeFunction: _theme["default"].selectActionButtonTheme,
186
- callback: function callback() {}
187
- };
188
116
 
189
- var ActionButton = function ActionButton(_ref3) {
190
- var actions = _ref3.actions,
191
- direction = _ref3.direction,
192
- rest = _objectWithoutProperties(_ref3, _excluded);
117
+ var ActionButton = function ActionButton(_ref2) {
118
+ var _ref2$actions = _ref2.actions,
119
+ actions = _ref2$actions === void 0 ? [] : _ref2$actions,
120
+ _ref2$direction = _ref2.direction,
121
+ direction = _ref2$direction === void 0 ? 'row' : _ref2$direction,
122
+ _ref2$callback = _ref2.callback,
123
+ callback = _ref2$callback === void 0 ? defaultFunc : _ref2$callback,
124
+ rest = _objectWithoutProperties(_ref2, _excluded);
193
125
 
194
126
  return /*#__PURE__*/_react["default"].createElement(ActionsContainer, {
195
127
  direction: direction
@@ -203,16 +135,9 @@ var ActionButton = function ActionButton(_ref3) {
203
135
  };
204
136
 
205
137
  ActionButton.propTypes = {
206
- actions: _propTypes["default"].arrayOf(_propTypes["default"].shape(ActionButtonItem.propTypes)),
207
- direction: _propTypes["default"].string,
208
- themeFunction: _propTypes["default"].func,
138
+ actions: _propTypes["default"].arrayOf(ActionButtonItem.propTypes.action),
139
+ direction: ActionButtonItem.propTypes.direction,
209
140
  callback: _propTypes["default"].func
210
141
  };
211
- ActionButton.defaultProps = {
212
- actions: [],
213
- direction: 'row',
214
- themeFunction: _theme["default"].selectActionButtonTheme,
215
- callback: function callback() {}
216
- };
217
142
  var _default = ActionButton;
218
143
  exports["default"] = _default;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hamburger = exports.transparentTheme = exports.photographyTheme = exports.actionButton = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _actionButton = _interopRequireDefault(require("./action-button"));
13
+
14
+ var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
15
+
16
+ var _theme = require("@twreporter/core/lib/constants/theme");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ /* eslint-disable react/prop-types */
21
+ var _default = {
22
+ title: 'Action Button',
23
+ component: _actionButton["default"],
24
+ argTypes: {
25
+ theme: _theme.THEME_STORYBOOK_ARG_TYPE,
26
+ direction: {
27
+ defaultValue: 'row',
28
+ options: ['row', 'column'],
29
+ control: {
30
+ type: 'radio'
31
+ }
32
+ }
33
+ }
34
+ };
35
+ exports["default"] = _default;
36
+
37
+ var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
38
+ displayName: "action-buttonstories__Container",
39
+ componentId: "dkic70-0"
40
+ })(["max-width:500px;width:100%;"]);
41
+
42
+ var defaultActions = [{
43
+ key: 'newsLetter'
44
+ }, {
45
+ key: 'support'
46
+ }];
47
+
48
+ var actionButton = function actionButton(props) {
49
+ var theme = props.theme;
50
+ var context = {
51
+ theme: theme
52
+ };
53
+ return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
54
+ value: context
55
+ }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], props)));
56
+ };
57
+
58
+ exports.actionButton = actionButton;
59
+ actionButton.args = {
60
+ actions: defaultActions
61
+ };
62
+
63
+ var photographyTheme = function photographyTheme(props) {
64
+ return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
65
+ value: {
66
+ theme: _theme.THEME.photography
67
+ }
68
+ }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], props)));
69
+ };
70
+
71
+ exports.photographyTheme = photographyTheme;
72
+ photographyTheme.args = {
73
+ actions: defaultActions
74
+ };
75
+ photographyTheme.parameters = {
76
+ backgrounds: {
77
+ "default": _theme.THEME.photography
78
+ },
79
+ controls: {
80
+ exclude: ['actions', 'callback', 'theme']
81
+ }
82
+ };
83
+
84
+ var transparentTheme = function transparentTheme(props) {
85
+ return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
86
+ value: {
87
+ theme: _theme.THEME.transparent
88
+ }
89
+ }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], props)));
90
+ };
91
+
92
+ exports.transparentTheme = transparentTheme;
93
+ transparentTheme.args = {
94
+ actions: defaultActions
95
+ };
96
+ transparentTheme.parameters = {
97
+ backgrounds: {
98
+ "default": _theme.THEME.transparent
99
+ },
100
+ controls: {
101
+ exclude: ['actions', 'callback', 'theme']
102
+ }
103
+ };
104
+
105
+ var hamburger = function hamburger(props) {
106
+ return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
107
+ value: {
108
+ theme: _theme.THEME.normal
109
+ }
110
+ }, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], props)));
111
+ };
112
+
113
+ exports.hamburger = hamburger;
114
+ hamburger.args = {
115
+ actions: defaultActions,
116
+ direction: 'column'
117
+ };
118
+ hamburger.parameters = {
119
+ backgrounds: {
120
+ "default": 'white'
121
+ },
122
+ controls: {
123
+ exclude: ['actions', 'callback', 'theme']
124
+ }
125
+ };