@planningcenter/tapestry-react 1.0.0 → 1.3.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.
Files changed (40) hide show
  1. package/dist/cjs/ActionsDropdown/ActionsDropdown.js +9 -8
  2. package/dist/cjs/Button/Button.js +6 -1
  3. package/dist/cjs/ChurchCenterStatus/ChurchCenterStatus.js +25 -12
  4. package/dist/cjs/Menu/Heading.js +3 -2
  5. package/dist/cjs/Menu/Item.js +5 -5
  6. package/dist/cjs/NumberField/NumberField.js +19 -10
  7. package/dist/cjs/Page/PageActions.js +5 -0
  8. package/dist/cjs/Page/PageHeader.js +17 -21
  9. package/dist/cjs/Page/PageTab.js +11 -2
  10. package/dist/cjs/Page/PageTabList.js +5 -10
  11. package/dist/cjs/Page/PageTitle.js +3 -2
  12. package/dist/cjs/Page/PageToolbar.js +30 -6
  13. package/dist/esm/ActionsDropdown/ActionsDropdown.js +9 -8
  14. package/dist/esm/Button/Button.js +6 -1
  15. package/dist/esm/ChurchCenterStatus/ChurchCenterStatus.js +23 -11
  16. package/dist/esm/Menu/Heading.js +3 -2
  17. package/dist/esm/Menu/Item.js +5 -5
  18. package/dist/esm/NumberField/NumberField.js +19 -10
  19. package/dist/esm/Page/PageActions.js +5 -0
  20. package/dist/esm/Page/PageHeader.js +17 -18
  21. package/dist/esm/Page/PageTab.js +10 -2
  22. package/dist/esm/Page/PageTabList.js +5 -8
  23. package/dist/esm/Page/PageTitle.js +3 -2
  24. package/dist/esm/Page/PageToolbar.js +28 -6
  25. package/dist/types/ChurchCenterStatus/ChurchCenterStatus.d.ts +15 -1
  26. package/package.json +1 -1
  27. package/src/ActionsDropdown/ActionsDropdown.tsx +8 -7
  28. package/src/Button/Button.tsx +6 -1
  29. package/src/ChurchCenterStatus/ChurchCenterStatus.mdx +18 -0
  30. package/src/ChurchCenterStatus/ChurchCenterStatus.tsx +48 -16
  31. package/src/Menu/Heading.js +6 -1
  32. package/src/Menu/Item.js +5 -5
  33. package/src/NumberField/NumberField.js +19 -9
  34. package/src/Page/Page.mdx +56 -1
  35. package/src/Page/PageActions.js +12 -1
  36. package/src/Page/PageHeader.js +19 -25
  37. package/src/Page/PageTab.js +15 -1
  38. package/src/Page/PageTabList.js +10 -8
  39. package/src/Page/PageTitle.js +9 -1
  40. package/src/Page/PageToolbar.js +29 -6
@@ -38,13 +38,13 @@ function ActionsDropdown(_ref) {
38
38
  duplicates = _ref.duplicates,
39
39
  _ref$duplicatesButton = _ref.duplicatesButtonProps,
40
40
  duplicatesButtonProps = _ref$duplicatesButton === void 0 ? {
41
- color: 'white',
42
- backgroundColor: 'hsl(25deg 79% 57%)',
41
+ backgroundColor: 'hsl(42deg 87% 94%)',
42
+ color: 'hsl(0deg 0% 24%)',
43
43
  hover: {
44
- backgroundColor: 'hsl(25deg 80% 54%)'
44
+ backgroundColor: 'hsl(42deg 87% 90%)'
45
45
  },
46
46
  active: {
47
- backgroundColor: 'hsl(25deg 82% 51%)'
47
+ backgroundColor: 'hsl(42deg 87% 87%)'
48
48
  }
49
49
  } : _ref$duplicatesButton,
50
50
  inactive = _ref.inactive,
@@ -61,8 +61,9 @@ function ActionsDropdown(_ref) {
61
61
  return /*#__PURE__*/React.createElement(_Dropdown["default"], (0, _extends2["default"])({
62
62
  title: "Actions",
63
63
  iconLeft: hasDuplicates || hasInactiveDate ? {
64
+ color: hasDuplicates ? '#E6A714' : 'white',
64
65
  name: hasDuplicates ? 'exclamation-triangle-filled' : 'inactive',
65
- size: 'lg'
66
+ size: 'md'
66
67
  } : undefined,
67
68
  fontSize: "14px",
68
69
  fontWeight: 400,
@@ -78,9 +79,9 @@ function ActionsDropdown(_ref) {
78
79
  padding: 2,
79
80
  spacing: 1
80
81
  }, /*#__PURE__*/React.createElement(_Icon["default"], {
81
- name: "exclamation-triangle-filled",
82
- color: "#e8833a",
83
- marginTop: "3px"
82
+ color: "#E6A714",
83
+ marginTop: "3px",
84
+ name: "exclamation-triangle-filled"
84
85
  }), /*#__PURE__*/React.createElement(_Text["default"], {
85
86
  size: 4
86
87
  }, "There ", duplicates.amount > 1 ? 'are' : 'is', " ", duplicates.amount, ' ', "potential ", duplicates.amount > 1 ? 'duplicates' : 'duplicate', " for this profile.", ' ', isBelowManager ? "An administrator can resolve " + (duplicates.amount > 1 ? "them" : "it") + " in People." : /*#__PURE__*/React.createElement(_Link["default"], duplicates.linkProps, isPeopleProduct ? 'Review' : 'Review in People'))), /*#__PURE__*/React.createElement(_Divider["default"], null)) : null, hasInactiveDate ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_StackView["default"], {
@@ -68,6 +68,7 @@ function Button(_ref) {
68
68
 
69
69
  var buttonProps = {
70
70
  alignment: 'center',
71
+ as: restProps.href || to ? 'a' : 'div',
71
72
  axis: 'horizontal',
72
73
  distribution: 'center',
73
74
  fontSize: fontSize,
@@ -79,7 +80,6 @@ function Button(_ref) {
79
80
  role: 'button',
80
81
  strokeAlign: 'inside',
81
82
  strokeWeight: 1,
82
- as: restProps.href || to ? 'a' : 'div',
83
83
  userSelect: 'none',
84
84
  zIndex: 1
85
85
  };
@@ -227,6 +227,11 @@ function Button(_ref) {
227
227
  zIndex: 2
228
228
  }, buttonProps.hover)
229
229
  });
230
+ } // pass to if as is defined
231
+
232
+
233
+ if (restProps.as) {
234
+ buttonProps.to = to;
230
235
  }
231
236
 
232
237
  if (process.env.NODE_ENV !== 'production') {
@@ -30,7 +30,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
30
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
31
 
32
32
  function ChurchCenterStatus(_ref) {
33
- var _ref$ccAppEnabled = _ref.ccAppEnabled,
33
+ var _ref$buttonProps = _ref.buttonProps,
34
+ passedButtonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
35
+ _ref$ccAppEnabled = _ref.ccAppEnabled,
34
36
  ccAppEnabled = _ref$ccAppEnabled === void 0 ? false : _ref$ccAppEnabled,
35
37
  _ref$ccPublishingEnab = _ref.ccPublishingEnabled,
36
38
  ccPublishingEnabled = _ref$ccPublishingEnab === void 0 ? false : _ref$ccPublishingEnab,
@@ -44,16 +46,23 @@ function ChurchCenterStatus(_ref) {
44
46
  dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
45
47
  icons = _ref.icons,
46
48
  productUrl = _ref.productUrl,
49
+ _ref$renderPopoverFoo = _ref.renderPopoverFooter,
50
+ renderPopoverFooter = _ref$renderPopoverFoo === void 0 ? function () {} : _ref$renderPopoverFoo,
47
51
  settingsUrl = _ref.settingsUrl,
48
- props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["ccAppEnabled", "ccPublishingEnabled", "ccWebEnabled", "description", "destinationLabel", "disabledDescription", "dropdownProps", "icons", "productUrl", "settingsUrl"]);
49
- var buttonProps = {
52
+ _ref$showSettingsLink = _ref.showSettingsLink,
53
+ showSettingsLink = _ref$showSettingsLink === void 0 ? true : _ref$showSettingsLink,
54
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["buttonProps", "ccAppEnabled", "ccPublishingEnabled", "ccWebEnabled", "description", "destinationLabel", "disabledDescription", "dropdownProps", "icons", "productUrl", "renderPopoverFooter", "settingsUrl", "showSettingsLink"]);
55
+
56
+ var buttonProps = _objectSpread({
50
57
  distribution: 'start',
51
58
  fontWeight: 400,
52
59
  paddingHorizontal: 2,
53
60
  radius: 0,
54
61
  variant: 'naked'
55
- };
62
+ }, passedButtonProps);
63
+
56
64
  var ccEnabled = ccAppEnabled || ccWebEnabled;
65
+ var hasLinks = showSettingsLink || ccEnabled && ccPublishingEnabled || !!renderPopoverFooter();
57
66
 
58
67
  var icon = _objectSpread({
59
68
  check: 'checkmark',
@@ -113,19 +122,23 @@ function ChurchCenterStatus(_ref) {
113
122
  }), /*#__PURE__*/_react["default"].createElement(_Text["default"], {
114
123
  size: "14px",
115
124
  weight: 700
116
- }, "Mobile app")))), /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
125
+ }, "Mobile app")))), hasLinks && /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
117
126
  margin: 0.5
118
- }), /*#__PURE__*/_react["default"].createElement(_StackView["default"], null, /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
127
+ }), /*#__PURE__*/_react["default"].createElement(_StackView["default"], null, showSettingsLink && /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
119
128
  external: true,
120
129
  title: "Update settings",
121
130
  to: settingsUrl
122
131
  }, buttonProps)), ccEnabled && ccPublishingEnabled && /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
123
132
  external: true,
133
+ iconRight: {
134
+ color: 'primary',
135
+ name: icon.external,
136
+ marginLeft: 1,
137
+ size: 'xs'
138
+ },
139
+ title: "Visit " + destinationLabel,
124
140
  to: productUrl
125
- }, buttonProps), "Visit ", destinationLabel, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
126
- color: "primary",
127
- name: icon.external,
128
- marginLeft: 1,
129
- size: "sm"
130
- })))));
141
+ }, buttonProps, {
142
+ as: "a"
143
+ })), renderPopoverFooter(buttonProps))));
131
144
  }
@@ -17,8 +17,9 @@ function Heading(_ref) {
17
17
  var children = _ref.children,
18
18
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children"]);
19
19
  return /*#__PURE__*/_react["default"].createElement(_HeadingUppercase["default"], (0, _extends2["default"])({
20
- padding: 1,
21
- paddingBottom: 0.5
20
+ paddingBottom: 0.5,
21
+ paddingHorizontal: 2,
22
+ paddingTop: 1
22
23
  }, restProps), children);
23
24
  }
24
25
 
@@ -35,7 +35,7 @@ function Item(_ref) {
35
35
  minHeight: 4,
36
36
  fontSize: '14px',
37
37
  paddingVertical: 0.75,
38
- paddingHorizontal: 1,
38
+ paddingHorizontal: 2,
39
39
  whiteSpace: 'nowrap',
40
40
  position: 'relative',
41
41
  userSelect: 'none',
@@ -43,11 +43,11 @@ function Item(_ref) {
43
43
  };
44
44
 
45
45
  if (renderLeft) {
46
- css.paddingLeft = 4;
46
+ css.paddingLeft = 5;
47
47
  }
48
48
 
49
49
  if (renderRight) {
50
- css.paddingRight = 4;
50
+ css.paddingRight = 5;
51
51
  }
52
52
 
53
53
  if (isHighlighted) {
@@ -69,7 +69,7 @@ function Item(_ref) {
69
69
  height: "100%",
70
70
  position: "absolute",
71
71
  top: 0,
72
- left: "-1px"
72
+ left: 0.5
73
73
  }, typeof renderLeft === 'function' ? renderRight() : /*#__PURE__*/(0, _react.cloneElement)(renderLeft, {
74
74
  size: renderLeft.props && renderLeft.props.size || 'md'
75
75
  })), children, renderRight && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
@@ -80,7 +80,7 @@ function Item(_ref) {
80
80
  height: "100%",
81
81
  position: "absolute",
82
82
  top: 0,
83
- right: "-1px"
83
+ right: 0.5
84
84
  }, typeof renderRight === 'function' ? renderRight() : /*#__PURE__*/(0, _react.cloneElement)(renderRight, {
85
85
  size: renderRight.props && renderRight.props.size || 'md'
86
86
  })));
@@ -139,12 +139,25 @@ var NumberField = /*#__PURE__*/function (_Component) {
139
139
  maxValue = _this$getParsedValues5.maxValue;
140
140
 
141
141
  if (_this.props.pad) {
142
- var targetValue = event.target.value === '' ? event.target.value : parseFloat(event.target.value);
142
+ var deleteKeyPressed = event.target.value === '';
143
+ var targetValue = deleteKeyPressed ? event.target.value : parseFloat(event.target.value);
143
144
 
144
- if (targetValue !== '') {
145
- var nextValue = _this.clampValue(targetValue);
145
+ if (deleteKeyPressed) {
146
+ var nextValue = ("" + _this.props.value).slice(0, -1);
146
147
 
147
- if (_this.props.moveFocusOnMax && nextValue / maxValue > 0.1) {
148
+ _this.props.onChange((0, _utils.padNumber)(nextValue, _this.props.pad));
149
+ } else {
150
+ var _nextValue = _this.clampValue(targetValue);
151
+
152
+ var paddedValue = parseFloat("" + _this.props.value + targetValue);
153
+
154
+ if (!_this.firstTouch && !isNaN(targetValue) && _this.isValueValid(paddedValue)) {
155
+ _nextValue = paddedValue;
156
+ }
157
+
158
+ _this.firstTouch = false;
159
+
160
+ if (_this.props.moveFocusOnMax && _nextValue / maxValue > 0.1) {
148
161
  var _getTabbableSiblings = (0, _utils.getTabbableSiblings)(event.target),
149
162
  next = _getTabbableSiblings.next;
150
163
 
@@ -155,11 +168,7 @@ var NumberField = /*#__PURE__*/function (_Component) {
155
168
  }
156
169
  }
157
170
 
158
- _this.firstTouch = false;
159
-
160
- _this.changeIfValid(nextValue);
161
- } else {
162
- _this.props.onChange('');
171
+ _this.changeIfValid(_nextValue);
163
172
  }
164
173
  } else {
165
174
  _this.props.onChange(event.target.value);
@@ -222,7 +231,7 @@ var NumberField = /*#__PURE__*/function (_Component) {
222
231
  textOverflow: undefined,
223
232
  autoComplete: 'off',
224
233
  value: numberValue,
225
- highlightOnInteraction: highlightOnInteraction,
234
+ highlightOnInteraction: highlightOnInteraction || pad,
226
235
  onBlur: this.handleBlur,
227
236
  onInput: this.handleInput,
228
237
  onKeyDown: this.handleKeyDown
@@ -13,7 +13,12 @@ var _StackView = _interopRequireDefault(require("../StackView"));
13
13
 
14
14
  function PageActions(props) {
15
15
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
16
+ alignment: "center",
17
+ alignSelf: "end",
16
18
  axis: "horizontal",
19
+ distribution: "end",
20
+ flex: "1",
21
+ paddingBottom: 2,
17
22
  spacing: 1
18
23
  }, props));
19
24
  }
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  exports.__esModule = true;
@@ -11,37 +9,35 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
9
 
12
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
11
 
14
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = _interopRequireDefault(require("react"));
15
13
 
16
14
  var _system = require("../system");
17
15
 
18
16
  var _StackView = _interopRequireDefault(require("../StackView"));
19
17
 
20
- var _PageTabList = require("./PageTabList");
21
-
22
18
  function PageHeader(_ref) {
23
19
  var children = _ref.children,
24
20
  toolbar = _ref.toolbar,
25
21
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children", "toolbar"]);
26
22
  var themeProps = (0, _system.useThemeValue)('pageHeader');
27
- var tabsPresent = toolbar ? _react.Children.toArray(toolbar.props.children).some(function (child) {
28
- return child && child.type.displayName === _PageTabList.PAGE_TABLIST_DISPLAY_NAME;
29
- }) : false;
30
- var childrenToRender = toolbar ? children ? _react.Children.toArray([/*#__PURE__*/_react["default"].createElement(_StackView["default"], {
31
- axis: "horizontal",
32
- alignment: "center",
33
- width: "100%"
34
- }, children), toolbar]) : toolbar : children;
35
23
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
36
24
  as: "header",
37
- axis: children && toolbar ? 'vertical' : 'horizontal',
38
- alignment: children && toolbar ? 'start' : 'center',
39
- paddingHorizontal: 3,
40
- paddingTop: 1.5,
41
- paddingBottom: tabsPresent ? null : 1.5,
42
- spacing: 1.5,
43
- backgroundColor: "primary-light"
44
- }, themeProps, restProps), childrenToRender);
25
+ axis: "vertical",
26
+ backgroundColor: "primary-light",
27
+ paddingHorizontal: 2,
28
+ minHeight: 8,
29
+ mediaQueries: {
30
+ sm: {
31
+ paddingHorizontal: 3
32
+ }
33
+ },
34
+ spacing: 0
35
+ }, themeProps, restProps), children && /*#__PURE__*/_react["default"].createElement(_StackView["default"], {
36
+ alignment: "center",
37
+ axis: "horizontal",
38
+ paddingTop: 2,
39
+ width: "100%"
40
+ }, children), toolbar);
45
41
  }
46
42
 
47
43
  var _default = PageHeader;
@@ -11,10 +11,19 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _Tab = _interopRequireDefault(require("../Tab"));
13
13
 
14
+ var _system = require("../system");
15
+
14
16
  function PageTab(props) {
15
- return /*#__PURE__*/_react["default"].createElement(_Tab["default"], (0, _extends2["default"])({}, props, {
17
+ var themeProps = (0, _system.useThemeValue)('pageTab');
18
+ return /*#__PURE__*/_react["default"].createElement(_Tab["default"], (0, _extends2["default"])({
19
+ mediaQueries: {
20
+ sm: {
21
+ paddingHorizontal: 3
22
+ }
23
+ },
24
+ paddingHorizontal: 1.5,
16
25
  size: "lg"
17
- }));
26
+ }, themeProps, props));
18
27
  }
19
28
 
20
29
  var _default = PageTab;
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = exports.PAGE_TABLIST_DISPLAY_NAME = void 0;
6
+ exports["default"] = PageTabList;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
@@ -11,16 +11,11 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _StackView = _interopRequireDefault(require("../StackView"));
13
13
 
14
- var PAGE_TABLIST_DISPLAY_NAME = 'PageTabList';
15
- exports.PAGE_TABLIST_DISPLAY_NAME = PAGE_TABLIST_DISPLAY_NAME;
16
-
17
14
  function PageTabList(props) {
18
15
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
19
16
  axis: "horizontal",
20
- spacing: 0.5
17
+ paddingTop: 2,
18
+ spacing: 0.5,
19
+ alignSelf: "end"
21
20
  }, props));
22
- }
23
-
24
- PageTabList.displayName = PAGE_TABLIST_DISPLAY_NAME;
25
- var _default = PageTabList;
26
- exports["default"] = _default;
21
+ }
@@ -16,8 +16,9 @@ var _Heading = _interopRequireDefault(require("../Heading"));
16
16
  function PageTitle(props) {
17
17
  var themeProps = (0, _system.useThemeValue)('pageTitle');
18
18
  return /*#__PURE__*/_react["default"].createElement(_Heading["default"], (0, _extends2["default"])({
19
- level: 2,
20
- color: "white"
19
+ color: "white",
20
+ fontSize: "25px",
21
+ level: 2
21
22
  }, themeProps, props));
22
23
  }
23
24
 
@@ -5,18 +5,42 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
8
12
  var _react = _interopRequireDefault(require("react"));
9
13
 
10
14
  var _StackView = _interopRequireDefault(require("../StackView"));
11
15
 
16
+ var _system = require("../system");
17
+
12
18
  function PageToolbar(_ref) {
13
- var children = _ref.children;
14
- return /*#__PURE__*/_react["default"].createElement(_StackView["default"], {
15
- grow: 1,
19
+ var _mediaQueries;
20
+
21
+ var stackBelow = _ref.stackBelow,
22
+ restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["stackBelow"]);
23
+ var themeBreakpoints = (0, _system.useThemeValue)('breakpoints');
24
+ var breakpoint = Object.keys(themeBreakpoints).includes(stackBelow) ? stackBelow : 'sm';
25
+ var stackProps = stackBelow ? {
26
+ axis: 'vertical',
27
+ alignment: 'stretch',
28
+ spacing: 2,
29
+ mediaQueries: (_mediaQueries = {}, _mediaQueries[breakpoint] = {
30
+ axis: 'horizontal',
31
+ alignment: 'center',
32
+ paddingBottom: 0,
33
+ spacing: 0
34
+ }, _mediaQueries)
35
+ } : null;
36
+ return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
37
+ alignment: "center",
16
38
  axis: "horizontal",
17
- alignment: "start",
18
- distribution: "space-between"
19
- }, children);
39
+ distribution: "space-between",
40
+ flex: 1,
41
+ spacing: 2,
42
+ width: "100%"
43
+ }, stackProps, restProps));
20
44
  }
21
45
 
22
46
  var _default = PageToolbar;
@@ -12,9 +12,9 @@ import Text from '../Text';
12
12
  import { cloneChildren } from '../utils';
13
13
 
14
14
  var _ref2 = /*#__PURE__*/React.createElement(Icon, {
15
- name: "exclamation-triangle-filled",
16
- color: "#e8833a",
17
- marginTop: "3px"
15
+ color: "#E6A714",
16
+ marginTop: "3px",
17
+ name: "exclamation-triangle-filled"
18
18
  });
19
19
 
20
20
  var _ref3 = /*#__PURE__*/React.createElement(Divider, null);
@@ -52,13 +52,13 @@ export function ActionsDropdown(_ref) {
52
52
  duplicates = _ref.duplicates,
53
53
  _ref$duplicatesButton = _ref.duplicatesButtonProps,
54
54
  duplicatesButtonProps = _ref$duplicatesButton === void 0 ? {
55
- color: 'white',
56
- backgroundColor: 'hsl(25deg 79% 57%)',
55
+ backgroundColor: 'hsl(42deg 87% 94%)',
56
+ color: 'hsl(0deg 0% 24%)',
57
57
  hover: {
58
- backgroundColor: 'hsl(25deg 80% 54%)'
58
+ backgroundColor: 'hsl(42deg 87% 90%)'
59
59
  },
60
60
  active: {
61
- backgroundColor: 'hsl(25deg 82% 51%)'
61
+ backgroundColor: 'hsl(42deg 87% 87%)'
62
62
  }
63
63
  } : _ref$duplicatesButton,
64
64
  inactive = _ref.inactive,
@@ -75,8 +75,9 @@ export function ActionsDropdown(_ref) {
75
75
  return /*#__PURE__*/React.createElement(Dropdown, _extends({
76
76
  title: "Actions",
77
77
  iconLeft: hasDuplicates || hasInactiveDate ? {
78
+ color: hasDuplicates ? '#E6A714' : 'white',
78
79
  name: hasDuplicates ? 'exclamation-triangle-filled' : 'inactive',
79
- size: 'lg'
80
+ size: 'md'
80
81
  } : undefined,
81
82
  fontSize: "14px",
82
83
  fontWeight: 400,
@@ -61,6 +61,7 @@ export function Button(_ref) {
61
61
 
62
62
  var buttonProps = {
63
63
  alignment: 'center',
64
+ as: restProps.href || to ? 'a' : 'div',
64
65
  axis: 'horizontal',
65
66
  distribution: 'center',
66
67
  fontSize: fontSize,
@@ -72,7 +73,6 @@ export function Button(_ref) {
72
73
  role: 'button',
73
74
  strokeAlign: 'inside',
74
75
  strokeWeight: 1,
75
- as: restProps.href || to ? 'a' : 'div',
76
76
  userSelect: 'none',
77
77
  zIndex: 1
78
78
  };
@@ -220,6 +220,11 @@ export function Button(_ref) {
220
220
  zIndex: 2
221
221
  }, buttonProps.hover)
222
222
  });
223
+ } // pass to if as is defined
224
+
225
+
226
+ if (restProps.as) {
227
+ buttonProps.to = to;
223
228
  }
224
229
 
225
230
  if (process.env.NODE_ENV !== 'production') {
@@ -33,7 +33,9 @@ var _ref6 = /*#__PURE__*/React.createElement(Divider, {
33
33
  });
34
34
 
35
35
  export function ChurchCenterStatus(_ref) {
36
- var _ref$ccAppEnabled = _ref.ccAppEnabled,
36
+ var _ref$buttonProps = _ref.buttonProps,
37
+ passedButtonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
38
+ _ref$ccAppEnabled = _ref.ccAppEnabled,
37
39
  ccAppEnabled = _ref$ccAppEnabled === void 0 ? false : _ref$ccAppEnabled,
38
40
  _ref$ccPublishingEnab = _ref.ccPublishingEnabled,
39
41
  ccPublishingEnabled = _ref$ccPublishingEnab === void 0 ? false : _ref$ccPublishingEnab,
@@ -47,17 +49,23 @@ export function ChurchCenterStatus(_ref) {
47
49
  dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
48
50
  icons = _ref.icons,
49
51
  productUrl = _ref.productUrl,
52
+ _ref$renderPopoverFoo = _ref.renderPopoverFooter,
53
+ renderPopoverFooter = _ref$renderPopoverFoo === void 0 ? function () {} : _ref$renderPopoverFoo,
50
54
  settingsUrl = _ref.settingsUrl,
51
- props = _objectWithoutPropertiesLoose(_ref, ["ccAppEnabled", "ccPublishingEnabled", "ccWebEnabled", "description", "destinationLabel", "disabledDescription", "dropdownProps", "icons", "productUrl", "settingsUrl"]);
55
+ _ref$showSettingsLink = _ref.showSettingsLink,
56
+ showSettingsLink = _ref$showSettingsLink === void 0 ? true : _ref$showSettingsLink,
57
+ props = _objectWithoutPropertiesLoose(_ref, ["buttonProps", "ccAppEnabled", "ccPublishingEnabled", "ccWebEnabled", "description", "destinationLabel", "disabledDescription", "dropdownProps", "icons", "productUrl", "renderPopoverFooter", "settingsUrl", "showSettingsLink"]);
52
58
 
53
- var buttonProps = {
59
+ var buttonProps = _objectSpread({
54
60
  distribution: 'start',
55
61
  fontWeight: 400,
56
62
  paddingHorizontal: 2,
57
63
  radius: 0,
58
64
  variant: 'naked'
59
- };
65
+ }, passedButtonProps);
66
+
60
67
  var ccEnabled = ccAppEnabled || ccWebEnabled;
68
+ var hasLinks = showSettingsLink || ccEnabled && ccPublishingEnabled || !!renderPopoverFooter();
61
69
 
62
70
  var icon = _objectSpread({
63
71
  check: 'checkmark',
@@ -111,17 +119,21 @@ export function ChurchCenterStatus(_ref) {
111
119
  color: ccAppEnabled ? 'success' : 'error',
112
120
  name: ccAppEnabled ? icon.check : icon.x,
113
121
  size: "sm"
114
- }), _ref5))), _ref6, /*#__PURE__*/React.createElement(StackView, null, /*#__PURE__*/React.createElement(Button, _extends({
122
+ }), _ref5))), hasLinks && _ref6, /*#__PURE__*/React.createElement(StackView, null, showSettingsLink && /*#__PURE__*/React.createElement(Button, _extends({
115
123
  external: true,
116
124
  title: "Update settings",
117
125
  to: settingsUrl
118
126
  }, buttonProps)), ccEnabled && ccPublishingEnabled && /*#__PURE__*/React.createElement(Button, _extends({
119
127
  external: true,
128
+ iconRight: {
129
+ color: 'primary',
130
+ name: icon.external,
131
+ marginLeft: 1,
132
+ size: 'xs'
133
+ },
134
+ title: "Visit " + destinationLabel,
120
135
  to: productUrl
121
- }, buttonProps), "Visit ", destinationLabel, /*#__PURE__*/React.createElement(Icon, {
122
- color: "primary",
123
- name: icon.external,
124
- marginLeft: 1,
125
- size: "sm"
126
- })))));
136
+ }, buttonProps, {
137
+ as: "a"
138
+ })), renderPopoverFooter(buttonProps))));
127
139
  }
@@ -8,8 +8,9 @@ function Heading(_ref) {
8
8
  restProps = _objectWithoutPropertiesLoose(_ref, ["children"]);
9
9
 
10
10
  return /*#__PURE__*/React.createElement(HeadingUppercase, _extends({
11
- padding: 1,
12
- paddingBottom: 0.5
11
+ paddingBottom: 0.5,
12
+ paddingHorizontal: 2,
13
+ paddingTop: 1
13
14
  }, restProps), children);
14
15
  }
15
16
 
@@ -23,7 +23,7 @@ function Item(_ref) {
23
23
  minHeight: 4,
24
24
  fontSize: '14px',
25
25
  paddingVertical: 0.75,
26
- paddingHorizontal: 1,
26
+ paddingHorizontal: 2,
27
27
  whiteSpace: 'nowrap',
28
28
  position: 'relative',
29
29
  userSelect: 'none',
@@ -31,11 +31,11 @@ function Item(_ref) {
31
31
  };
32
32
 
33
33
  if (renderLeft) {
34
- css.paddingLeft = 4;
34
+ css.paddingLeft = 5;
35
35
  }
36
36
 
37
37
  if (renderRight) {
38
- css.paddingRight = 4;
38
+ css.paddingRight = 5;
39
39
  }
40
40
 
41
41
  if (isHighlighted) {
@@ -57,7 +57,7 @@ function Item(_ref) {
57
57
  height: "100%",
58
58
  position: "absolute",
59
59
  top: 0,
60
- left: "-1px"
60
+ left: 0.5
61
61
  }, typeof renderLeft === 'function' ? renderRight() : /*#__PURE__*/cloneElement(renderLeft, {
62
62
  size: renderLeft.props && renderLeft.props.size || 'md'
63
63
  })), children, renderRight && /*#__PURE__*/React.createElement(Box, {
@@ -68,7 +68,7 @@ function Item(_ref) {
68
68
  height: "100%",
69
69
  position: "absolute",
70
70
  top: 0,
71
- right: "-1px"
71
+ right: 0.5
72
72
  }, typeof renderRight === 'function' ? renderRight() : /*#__PURE__*/cloneElement(renderRight, {
73
73
  size: renderRight.props && renderRight.props.size || 'md'
74
74
  })));