@atlaskit/help-layout 6.1.0 → 6.2.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 (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/afm-jira/tsconfig.json +9 -0
  3. package/dist/cjs/analytics.js +1 -1
  4. package/dist/cjs/components/DynamicHeader/NewChatButton.js +36 -0
  5. package/dist/cjs/components/DynamicHeader/index.js +13 -4
  6. package/dist/cjs/components/Header/BackButton.js +1 -1
  7. package/dist/cjs/components/Header/CloseButton.js +6 -2
  8. package/dist/cjs/components/Header/styled.compiled.css +0 -1
  9. package/dist/cjs/components/Header/styled.js +10 -4
  10. package/dist/cjs/components/HelpLayoutContent.js +12 -2
  11. package/dist/cjs/components/SideNav/index.js +4 -2
  12. package/dist/cjs/messages.js +5 -0
  13. package/dist/es2019/analytics.js +1 -1
  14. package/dist/es2019/components/DynamicHeader/NewChatButton.js +28 -0
  15. package/dist/es2019/components/DynamicHeader/index.js +14 -5
  16. package/dist/es2019/components/Header/BackButton.js +1 -1
  17. package/dist/es2019/components/Header/CloseButton.js +5 -2
  18. package/dist/es2019/components/Header/styled.compiled.css +0 -1
  19. package/dist/es2019/components/Header/styled.js +9 -3
  20. package/dist/es2019/components/HelpLayoutContent.js +8 -1
  21. package/dist/es2019/components/SideNav/index.js +4 -2
  22. package/dist/es2019/messages.js +5 -0
  23. package/dist/esm/analytics.js +1 -1
  24. package/dist/esm/components/DynamicHeader/NewChatButton.js +26 -0
  25. package/dist/esm/components/DynamicHeader/index.js +14 -5
  26. package/dist/esm/components/Header/BackButton.js +1 -1
  27. package/dist/esm/components/Header/CloseButton.js +6 -2
  28. package/dist/esm/components/Header/styled.compiled.css +0 -1
  29. package/dist/esm/components/Header/styled.js +10 -4
  30. package/dist/esm/components/HelpLayoutContent.js +9 -2
  31. package/dist/esm/components/SideNav/index.js +4 -2
  32. package/dist/esm/messages.js +5 -0
  33. package/dist/types/components/DynamicHeader/NewChatButton.d.ts +12 -0
  34. package/dist/types/components/DynamicHeader/index.d.ts +1 -1
  35. package/dist/types/components/Header/CloseButton.d.ts +1 -0
  36. package/dist/types/components/Header/styled.d.ts +2 -1
  37. package/dist/types/messages.d.ts +5 -0
  38. package/dist/types/model/HelpLayout.d.ts +2 -0
  39. package/dist/types-ts4.5/components/DynamicHeader/NewChatButton.d.ts +12 -0
  40. package/dist/types-ts4.5/components/DynamicHeader/index.d.ts +1 -1
  41. package/dist/types-ts4.5/components/Header/CloseButton.d.ts +1 -0
  42. package/dist/types-ts4.5/components/Header/styled.d.ts +2 -1
  43. package/dist/types-ts4.5/messages.d.ts +5 -0
  44. package/dist/types-ts4.5/model/HelpLayout.d.ts +2 -0
  45. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/help-layout
2
2
 
3
+ ## 6.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#150389](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/150389)
8
+ [`c80e7098610aa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c80e7098610aa) -
9
+ [ux] Adding dynamic header for side tab experience
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 6.1.0
4
16
 
5
17
  ### Minor Changes
@@ -23,9 +23,18 @@
23
23
  {
24
24
  "path": "../../../design-system/button/afm-jira/tsconfig.json"
25
25
  },
26
+ {
27
+ "path": "../../../design-system/css/afm-jira/tsconfig.json"
28
+ },
29
+ {
30
+ "path": "../../../design-system/heading/afm-jira/tsconfig.json"
31
+ },
26
32
  {
27
33
  "path": "../../../design-system/icon/afm-jira/tsconfig.json"
28
34
  },
35
+ {
36
+ "path": "../../../design-system/primitives/afm-jira/tsconfig.json"
37
+ },
29
38
  {
30
39
  "path": "../../../design-system/theme/afm-jira/tsconfig.json"
31
40
  },
@@ -14,5 +14,5 @@ var createAndFire = exports.createAndFire = x.createAndFireEvent('atlaskit');
14
14
  var defaultAnalyticsAttributes = exports.defaultAnalyticsAttributes = {
15
15
  componentName: 'helpPanel',
16
16
  packageName: "@atlaskit/help-layout",
17
- packageVersion: "6.1.0"
17
+ packageVersion: "6.2.0"
18
18
  };
@@ -0,0 +1,36 @@
1
+ /* NewChatButton.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.NewChatButton = void 0;
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _runtime = require("@compiled/react/runtime");
12
+ var _compiled = require("@atlaskit/primitives/compiled");
13
+ var _new = _interopRequireDefault(require("@atlaskit/button/new"));
14
+ var _edit = _interopRequireDefault(require("@atlaskit/icon/core/edit"));
15
+ var _reactIntlNext = require("react-intl-next");
16
+ var _messages = require("../../messages");
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ var NewChatButton = exports.NewChatButton = function NewChatButton(_ref) {
20
+ var onClick = _ref.onClick,
21
+ isDisabled = _ref.isDisabled;
22
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
23
+ formatMessage = _useIntl.formatMessage;
24
+ return /*#__PURE__*/React.createElement(_new.default, {
25
+ onClick: onClick,
26
+ isDisabled: isDisabled,
27
+ testId: "new-chat-button"
28
+ }, /*#__PURE__*/React.createElement(_compiled.Inline, {
29
+ space: "space.100",
30
+ alignBlock: "center",
31
+ alignInline: "center"
32
+ }, /*#__PURE__*/React.createElement(_edit.default, {
33
+ color: "currentColor",
34
+ label: 'New chat'
35
+ }), formatMessage(_messages.messages.help_panel_new_chat_button)));
36
+ };
@@ -13,6 +13,7 @@ var _runtime = require("@compiled/react/runtime");
13
13
  var _heading = _interopRequireDefault(require("@atlaskit/heading"));
14
14
  var _CloseButton = _interopRequireDefault(require("../Header/CloseButton"));
15
15
  var _compiled = require("@atlaskit/primitives/compiled");
16
+ var _NewChatButton = require("./NewChatButton");
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
19
  var styles = {
@@ -21,7 +22,8 @@ var styles = {
21
22
  var DynamicHeader = exports.DynamicHeader = function DynamicHeader(_ref) {
22
23
  var title = _ref.title,
23
24
  onCloseButtonClick = _ref.onCloseButtonClick,
24
- onNewChatButtonClick = _ref.onNewChatButtonClick;
25
+ onNewChatButtonClick = _ref.onNewChatButtonClick,
26
+ newChatButtonDisabled = _ref.newChatButtonDisabled;
25
27
  return /*#__PURE__*/React.createElement(_compiled.Flex, {
26
28
  direction: "row",
27
29
  justifyContent: "space-between",
@@ -29,7 +31,14 @@ var DynamicHeader = exports.DynamicHeader = function DynamicHeader(_ref) {
29
31
  }, /*#__PURE__*/React.createElement(_heading.default, {
30
32
  size: "medium",
31
33
  testId: "header-title-side-nav"
32
- }, title), onCloseButtonClick && /*#__PURE__*/React.createElement(_CloseButton.default, {
33
- onClick: onCloseButtonClick
34
- }));
34
+ }, title), /*#__PURE__*/React.createElement(_compiled.Inline, {
35
+ space: "space.050",
36
+ alignBlock: "center"
37
+ }, onNewChatButtonClick && /*#__PURE__*/React.createElement(_NewChatButton.NewChatButton, {
38
+ onClick: onNewChatButtonClick,
39
+ isDisabled: newChatButtonDisabled
40
+ }), onCloseButtonClick && /*#__PURE__*/React.createElement(_CloseButton.default, {
41
+ onClick: onCloseButtonClick,
42
+ inDynamicHeader: true
43
+ })));
35
44
  };
@@ -56,7 +56,7 @@ var BackButtonWithContext = function BackButtonWithContext(props) {
56
56
  data: {
57
57
  componentName: 'backButton',
58
58
  packageName: "@atlaskit/help-layout",
59
- packageVersion: "6.1.0"
59
+ packageVersion: "6.2.0"
60
60
  }
61
61
  }, /*#__PURE__*/_react.default.createElement(BackButton, props));
62
62
  };
@@ -21,6 +21,8 @@ var _styled = require("./styled");
21
21
  */
22
22
  var CloseButton = exports.CloseButton = function CloseButton(_ref) {
23
23
  var onClick = _ref.onClick,
24
+ _ref$inDynamicHeader = _ref.inDynamicHeader,
25
+ inDynamicHeader = _ref$inDynamicHeader === void 0 ? false : _ref$inDynamicHeader,
24
26
  formatMessage = _ref.intl.formatMessage;
25
27
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
26
28
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
@@ -32,7 +34,9 @@ var CloseButton = exports.CloseButton = function CloseButton(_ref) {
32
34
  onClick(event, _analyticsEvent);
33
35
  }
34
36
  };
35
- return /*#__PURE__*/_react.default.createElement(_styled.CloseButtonContainer, null, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
37
+ return /*#__PURE__*/_react.default.createElement(_styled.CloseButtonContainer, {
38
+ inDynamicHeader: inDynamicHeader
39
+ }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
36
40
  content: formatMessage(_messages.messages.help_panel_header_close),
37
41
  position: "left"
38
42
  }, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
@@ -51,7 +55,7 @@ var CloseButtonWithContext = function CloseButtonWithContext(props) {
51
55
  data: {
52
56
  componentName: 'closeButton',
53
57
  packageName: "@atlaskit/help-layout",
54
- packageVersion: "6.1.0"
58
+ packageVersion: "6.2.0"
55
59
  }
56
60
  }, /*#__PURE__*/_react.default.createElement(CloseButton, props));
57
61
  };
@@ -10,7 +10,6 @@
10
10
  ._1e0c1o8l{display:inline-block}
11
11
  ._1ltv1ejb{left:var(--ds-space-300,24px)}
12
12
  ._1reo15vq{overflow-x:hidden}
13
- ._1xi2u2gc{right:var(--ds-space-100,8px)}
14
13
  ._bfhk1v7z{background-color:var(--_1xglsrh)}
15
14
  ._ca0qidpf{padding-top:0}
16
15
  ._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
@@ -9,6 +9,7 @@ exports.TRANSITION_DURATION_MS = exports.HeaderTitle = exports.HeaderContent = e
9
9
  require("./styled.compiled.css");
10
10
  var _runtime = require("@compiled/react/runtime");
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _primitives = require("@atlaskit/primitives");
12
13
  var _react = _interopRequireDefault(require("react"));
13
14
  var _colors = require("@atlaskit/theme/colors");
14
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -24,11 +25,16 @@ var HeaderContainer = exports.HeaderContainer = function HeaderContainer(_ref) {
24
25
  }
25
26
  }, children);
26
27
  };
27
- var closeButtonContainerStyles = null;
28
+ var closeButtonContainerStyles = (0, _primitives.xcss)({
29
+ position: 'absolute',
30
+ right: 'space.100',
31
+ top: 'space.150'
32
+ });
28
33
  var CloseButtonContainer = exports.CloseButtonContainer = function CloseButtonContainer(_ref2) {
29
- var children = _ref2.children;
30
- return /*#__PURE__*/_react.default.createElement("div", {
31
- className: (0, _runtime.ax)(["_kqswstnw _1xi2u2gc _154iutpp"])
34
+ var inDynamicHeader = _ref2.inDynamicHeader,
35
+ children = _ref2.children;
36
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
37
+ xcss: !inDynamicHeader && closeButtonContainerStyles
32
38
  }, children);
33
39
  };
34
40
  var TRANSITION_DURATION_MS = exports.TRANSITION_DURATION_MS = 220;
@@ -1,18 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = exports.HelpContent = void 0;
8
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _reactIntlNext = require("react-intl-next");
11
12
  var _Header = _interopRequireDefault(require("./Header"));
12
13
  var _SideNav = require("./SideNav");
13
14
  var _messages = require("../messages");
14
15
  var _styled = require("./styled");
15
- var _excluded = ["isLoading", "footer", "children", "intl", "sideNavTabs"];
16
+ var _excluded = ["isLoading", "footer", "children", "intl", "sideNavTabs", "onLoad"];
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
19
  var HelpContent = exports.HelpContent = function HelpContent(props) {
17
20
  var _props$isLoading = props.isLoading,
18
21
  isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
@@ -21,7 +24,14 @@ var HelpContent = exports.HelpContent = function HelpContent(props) {
21
24
  formatMessage = props.intl.formatMessage,
22
25
  _props$sideNavTabs = props.sideNavTabs,
23
26
  sideNavTabs = _props$sideNavTabs === void 0 ? [] : _props$sideNavTabs,
27
+ onLoad = props.onLoad,
24
28
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
29
+ (0, _react.useEffect)(function () {
30
+ if (onLoad) {
31
+ onLoad();
32
+ }
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ }, []);
25
35
  return sideNavTabs !== null && sideNavTabs !== void 0 && sideNavTabs.length ? /*#__PURE__*/_react.default.createElement(_styled.Container, null, /*#__PURE__*/_react.default.createElement(_styled.Section, null, /*#__PURE__*/_react.default.createElement(_SideNav.SideNav, {
26
36
  sideNavTabs: sideNavTabs
27
37
  }))) : /*#__PURE__*/_react.default.createElement(_styled.Container, null, /*#__PURE__*/_react.default.createElement(_styled.Section, null, /*#__PURE__*/_react.default.createElement(_Header.default, rest), isLoading ? /*#__PURE__*/_react.default.createElement(_styled.LoadingContainer, {
@@ -51,8 +51,9 @@ var SideNav = exports.SideNav = function SideNav(_ref) {
51
51
  content: tab.label
52
52
  }, /*#__PURE__*/React.createElement(_compiled.Pressable, {
53
53
  xcss: (0, _css.cx)(styles.navButton, index === activeIndex && styles.navButtonSelected),
54
- onClick: function onClick() {
54
+ onClick: function onClick(event) {
55
55
  setActiveIndex(index);
56
+ tab.onClick && (tab === null || tab === void 0 ? void 0 : tab.onClick(event));
56
57
  },
57
58
  testId: "side-nav-button-".concat(tab.label)
58
59
  }, tab.icon, /*#__PURE__*/React.createElement(_compiled.Text, {
@@ -65,6 +66,7 @@ var SideNav = exports.SideNav = function SideNav(_ref) {
65
66
  }, /*#__PURE__*/React.createElement(_DynamicHeader.DynamicHeader, {
66
67
  title: sideNavTabs[activeIndex].header.title,
67
68
  onCloseButtonClick: sideNavTabs[activeIndex].header.onCloseButtonClick,
68
- onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick
69
+ onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick,
70
+ newChatButtonDisabled: sideNavTabs[activeIndex].header.newChatButtonDisabled
69
71
  }), sideNavTabs[activeIndex].content));
70
72
  };
@@ -30,5 +30,10 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
30
30
  id: 'helpPanel.header.close.button',
31
31
  defaultMessage: 'Close Help Panel',
32
32
  description: ''
33
+ },
34
+ help_panel_new_chat_button: {
35
+ id: 'helpPanel.header.new.chat.button',
36
+ defaultMessage: 'New',
37
+ description: 'Start a new chat with CSM agent'
33
38
  }
34
39
  });
@@ -5,5 +5,5 @@ export const createAndFire = x.createAndFireEvent('atlaskit');
5
5
  export const defaultAnalyticsAttributes = {
6
6
  componentName: 'helpPanel',
7
7
  packageName: "@atlaskit/help-layout",
8
- packageVersion: "6.1.0"
8
+ packageVersion: "6.2.0"
9
9
  };
@@ -0,0 +1,28 @@
1
+ /* NewChatButton.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import * as React from 'react';
3
+ import { ax, ix } from "@compiled/react/runtime";
4
+ import { Inline } from '@atlaskit/primitives/compiled';
5
+ import Button from '@atlaskit/button/new';
6
+ import EditIcon from '@atlaskit/icon/core/edit';
7
+ import { useIntl } from 'react-intl-next';
8
+ import { messages } from '../../messages';
9
+ export const NewChatButton = ({
10
+ onClick,
11
+ isDisabled
12
+ }) => {
13
+ const {
14
+ formatMessage
15
+ } = useIntl();
16
+ return /*#__PURE__*/React.createElement(Button, {
17
+ onClick: onClick,
18
+ isDisabled: isDisabled,
19
+ testId: "new-chat-button"
20
+ }, /*#__PURE__*/React.createElement(Inline, {
21
+ space: "space.100",
22
+ alignBlock: "center",
23
+ alignInline: "center"
24
+ }, /*#__PURE__*/React.createElement(EditIcon, {
25
+ color: "currentColor",
26
+ label: 'New chat'
27
+ }), formatMessage(messages.help_panel_new_chat_button)));
28
+ };
@@ -4,14 +4,16 @@ import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import Heading from '@atlaskit/heading';
6
6
  import CloseButton from '../Header/CloseButton';
7
- import { Flex } from '@atlaskit/primitives/compiled';
7
+ import { Flex, Inline } from '@atlaskit/primitives/compiled';
8
+ import { NewChatButton } from './NewChatButton';
8
9
  const styles = {
9
10
  container: "_ca0qpxbi _u5f3pxbi _n3tdpxbi _19bvpxbi"
10
11
  };
11
12
  export const DynamicHeader = ({
12
13
  title,
13
14
  onCloseButtonClick,
14
- onNewChatButtonClick
15
+ onNewChatButtonClick,
16
+ newChatButtonDisabled
15
17
  }) => {
16
18
  return /*#__PURE__*/React.createElement(Flex, {
17
19
  direction: "row",
@@ -20,7 +22,14 @@ export const DynamicHeader = ({
20
22
  }, /*#__PURE__*/React.createElement(Heading, {
21
23
  size: "medium",
22
24
  testId: "header-title-side-nav"
23
- }, title), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
24
- onClick: onCloseButtonClick
25
- }));
25
+ }, title), /*#__PURE__*/React.createElement(Inline, {
26
+ space: "space.050",
27
+ alignBlock: "center"
28
+ }, onNewChatButtonClick && /*#__PURE__*/React.createElement(NewChatButton, {
29
+ onClick: onNewChatButtonClick,
30
+ isDisabled: newChatButtonDisabled
31
+ }), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
32
+ onClick: onCloseButtonClick,
33
+ inDynamicHeader: true
34
+ })));
26
35
  };
@@ -50,7 +50,7 @@ const BackButtonWithContext = props => {
50
50
  data: {
51
51
  componentName: 'backButton',
52
52
  packageName: "@atlaskit/help-layout",
53
- packageVersion: "6.1.0"
53
+ packageVersion: "6.2.0"
54
54
  }
55
55
  }, /*#__PURE__*/React.createElement(BackButton, props));
56
56
  };
@@ -14,6 +14,7 @@ import { CloseButtonContainer } from './styled';
14
14
  */
15
15
  export const CloseButton = ({
16
16
  onClick,
17
+ inDynamicHeader = false,
17
18
  intl: {
18
19
  formatMessage
19
20
  }
@@ -29,7 +30,9 @@ export const CloseButton = ({
29
30
  onClick(event, analyticsEvent);
30
31
  }
31
32
  };
32
- return /*#__PURE__*/React.createElement(CloseButtonContainer, null, /*#__PURE__*/React.createElement(Tooltip, {
33
+ return /*#__PURE__*/React.createElement(CloseButtonContainer, {
34
+ inDynamicHeader: inDynamicHeader
35
+ }, /*#__PURE__*/React.createElement(Tooltip, {
33
36
  content: formatMessage(messages.help_panel_header_close),
34
37
  position: "left"
35
38
  }, /*#__PURE__*/React.createElement(Button, {
@@ -48,7 +51,7 @@ const CloseButtonWithContext = props => {
48
51
  data: {
49
52
  componentName: 'closeButton',
50
53
  packageName: "@atlaskit/help-layout",
51
- packageVersion: "6.1.0"
54
+ packageVersion: "6.2.0"
52
55
  }
53
56
  }, /*#__PURE__*/React.createElement(CloseButton, props));
54
57
  };
@@ -10,7 +10,6 @@
10
10
  ._1e0c1o8l{display:inline-block}
11
11
  ._1ltv1ejb{left:var(--ds-space-300,24px)}
12
12
  ._1reo15vq{overflow-x:hidden}
13
- ._1xi2u2gc{right:var(--ds-space-100,8px)}
14
13
  ._bfhk1gi7{background-color:var(--ds-background-neutral,#fafbfc)}
15
14
  ._ca0qidpf{padding-top:0}
16
15
  ._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
@@ -1,6 +1,7 @@
1
1
  /* styled.tsx generated by @compiled/babel-plugin v0.36.1 */
2
2
  import "./styled.compiled.css";
3
3
  import { ax, ix } from "@compiled/react/runtime";
4
+ import { Box, xcss } from '@atlaskit/primitives';
4
5
  import React from 'react';
5
6
  import { N10, N30, N500 } from '@atlaskit/theme/colors';
6
7
  const headerContainerStyles = null;
@@ -9,11 +10,16 @@ export const HeaderContainer = ({
9
10
  }) => /*#__PURE__*/React.createElement("div", {
10
11
  className: ax(["_n7zlmfkj _bfhk1gi7 _1bah1yb4 _kqswh2mm"])
11
12
  }, children);
12
- const closeButtonContainerStyles = null;
13
+ const closeButtonContainerStyles = xcss({
14
+ position: 'absolute',
15
+ right: 'space.100',
16
+ top: 'space.150'
17
+ });
13
18
  export const CloseButtonContainer = ({
19
+ inDynamicHeader,
14
20
  children
15
- }) => /*#__PURE__*/React.createElement("div", {
16
- className: ax(["_kqswstnw _1xi2u2gc _154iutpp"])
21
+ }) => /*#__PURE__*/React.createElement(Box, {
22
+ xcss: !inDynamicHeader && closeButtonContainerStyles
17
23
  }, children);
18
24
  export const TRANSITION_DURATION_MS = 220;
19
25
  const backButtonContainerStyles = null;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import { injectIntl } from 'react-intl-next';
3
3
  import Header from './Header';
4
4
  import { SideNav } from './SideNav';
@@ -13,8 +13,15 @@ export const HelpContent = props => {
13
13
  formatMessage
14
14
  },
15
15
  sideNavTabs = [],
16
+ onLoad,
16
17
  ...rest
17
18
  } = props;
19
+ useEffect(() => {
20
+ if (onLoad) {
21
+ onLoad();
22
+ }
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
18
25
  return sideNavTabs !== null && sideNavTabs !== void 0 && sideNavTabs.length ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(SideNav, {
19
26
  sideNavTabs: sideNavTabs
20
27
  }))) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
@@ -37,8 +37,9 @@ export const SideNav = ({
37
37
  content: tab.label
38
38
  }, /*#__PURE__*/React.createElement(Pressable, {
39
39
  xcss: cx(styles.navButton, index === activeIndex && styles.navButtonSelected),
40
- onClick: () => {
40
+ onClick: event => {
41
41
  setActiveIndex(index);
42
+ tab.onClick && (tab === null || tab === void 0 ? void 0 : tab.onClick(event));
42
43
  },
43
44
  testId: `side-nav-button-${tab.label}`
44
45
  }, tab.icon, /*#__PURE__*/React.createElement(Text, {
@@ -50,6 +51,7 @@ export const SideNav = ({
50
51
  }, /*#__PURE__*/React.createElement(DynamicHeader, {
51
52
  title: sideNavTabs[activeIndex].header.title,
52
53
  onCloseButtonClick: sideNavTabs[activeIndex].header.onCloseButtonClick,
53
- onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick
54
+ onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick,
55
+ newChatButtonDisabled: sideNavTabs[activeIndex].header.newChatButtonDisabled
54
56
  }), sideNavTabs[activeIndex].content));
55
57
  };
@@ -24,5 +24,10 @@ export const messages = defineMessages({
24
24
  id: 'helpPanel.header.close.button',
25
25
  defaultMessage: 'Close Help Panel',
26
26
  description: ''
27
+ },
28
+ help_panel_new_chat_button: {
29
+ id: 'helpPanel.header.new.chat.button',
30
+ defaultMessage: 'New',
31
+ description: 'Start a new chat with CSM agent'
27
32
  }
28
33
  });
@@ -5,5 +5,5 @@ export var createAndFire = x.createAndFireEvent('atlaskit');
5
5
  export var defaultAnalyticsAttributes = {
6
6
  componentName: 'helpPanel',
7
7
  packageName: "@atlaskit/help-layout",
8
- packageVersion: "6.1.0"
8
+ packageVersion: "6.2.0"
9
9
  };
@@ -0,0 +1,26 @@
1
+ /* NewChatButton.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import * as React from 'react';
3
+ import { ax, ix } from "@compiled/react/runtime";
4
+ import { Inline } from '@atlaskit/primitives/compiled';
5
+ import Button from '@atlaskit/button/new';
6
+ import EditIcon from '@atlaskit/icon/core/edit';
7
+ import { useIntl } from 'react-intl-next';
8
+ import { messages } from '../../messages';
9
+ export var NewChatButton = function NewChatButton(_ref) {
10
+ var onClick = _ref.onClick,
11
+ isDisabled = _ref.isDisabled;
12
+ var _useIntl = useIntl(),
13
+ formatMessage = _useIntl.formatMessage;
14
+ return /*#__PURE__*/React.createElement(Button, {
15
+ onClick: onClick,
16
+ isDisabled: isDisabled,
17
+ testId: "new-chat-button"
18
+ }, /*#__PURE__*/React.createElement(Inline, {
19
+ space: "space.100",
20
+ alignBlock: "center",
21
+ alignInline: "center"
22
+ }, /*#__PURE__*/React.createElement(EditIcon, {
23
+ color: "currentColor",
24
+ label: 'New chat'
25
+ }), formatMessage(messages.help_panel_new_chat_button)));
26
+ };
@@ -4,14 +4,16 @@ import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import Heading from '@atlaskit/heading';
6
6
  import CloseButton from '../Header/CloseButton';
7
- import { Flex } from '@atlaskit/primitives/compiled';
7
+ import { Flex, Inline } from '@atlaskit/primitives/compiled';
8
+ import { NewChatButton } from './NewChatButton';
8
9
  var styles = {
9
10
  container: "_ca0qpxbi _u5f3pxbi _n3tdpxbi _19bvpxbi"
10
11
  };
11
12
  export var DynamicHeader = function DynamicHeader(_ref) {
12
13
  var title = _ref.title,
13
14
  onCloseButtonClick = _ref.onCloseButtonClick,
14
- onNewChatButtonClick = _ref.onNewChatButtonClick;
15
+ onNewChatButtonClick = _ref.onNewChatButtonClick,
16
+ newChatButtonDisabled = _ref.newChatButtonDisabled;
15
17
  return /*#__PURE__*/React.createElement(Flex, {
16
18
  direction: "row",
17
19
  justifyContent: "space-between",
@@ -19,7 +21,14 @@ export var DynamicHeader = function DynamicHeader(_ref) {
19
21
  }, /*#__PURE__*/React.createElement(Heading, {
20
22
  size: "medium",
21
23
  testId: "header-title-side-nav"
22
- }, title), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
23
- onClick: onCloseButtonClick
24
- }));
24
+ }, title), /*#__PURE__*/React.createElement(Inline, {
25
+ space: "space.050",
26
+ alignBlock: "center"
27
+ }, onNewChatButtonClick && /*#__PURE__*/React.createElement(NewChatButton, {
28
+ onClick: onNewChatButtonClick,
29
+ isDisabled: newChatButtonDisabled
30
+ }), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
31
+ onClick: onCloseButtonClick,
32
+ inDynamicHeader: true
33
+ })));
25
34
  };
@@ -49,7 +49,7 @@ var BackButtonWithContext = function BackButtonWithContext(props) {
49
49
  data: {
50
50
  componentName: 'backButton',
51
51
  packageName: "@atlaskit/help-layout",
52
- packageVersion: "6.1.0"
52
+ packageVersion: "6.2.0"
53
53
  }
54
54
  }, /*#__PURE__*/React.createElement(BackButton, props));
55
55
  };
@@ -14,6 +14,8 @@ import { CloseButtonContainer } from './styled';
14
14
  */
15
15
  export var CloseButton = function CloseButton(_ref) {
16
16
  var onClick = _ref.onClick,
17
+ _ref$inDynamicHeader = _ref.inDynamicHeader,
18
+ inDynamicHeader = _ref$inDynamicHeader === void 0 ? false : _ref$inDynamicHeader,
17
19
  formatMessage = _ref.intl.formatMessage;
18
20
  var _useAnalyticsEvents = useAnalyticsEvents(),
19
21
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
@@ -25,7 +27,9 @@ export var CloseButton = function CloseButton(_ref) {
25
27
  onClick(event, _analyticsEvent);
26
28
  }
27
29
  };
28
- return /*#__PURE__*/React.createElement(CloseButtonContainer, null, /*#__PURE__*/React.createElement(Tooltip, {
30
+ return /*#__PURE__*/React.createElement(CloseButtonContainer, {
31
+ inDynamicHeader: inDynamicHeader
32
+ }, /*#__PURE__*/React.createElement(Tooltip, {
29
33
  content: formatMessage(messages.help_panel_header_close),
30
34
  position: "left"
31
35
  }, /*#__PURE__*/React.createElement(Button, {
@@ -44,7 +48,7 @@ var CloseButtonWithContext = function CloseButtonWithContext(props) {
44
48
  data: {
45
49
  componentName: 'closeButton',
46
50
  packageName: "@atlaskit/help-layout",
47
- packageVersion: "6.1.0"
51
+ packageVersion: "6.2.0"
48
52
  }
49
53
  }, /*#__PURE__*/React.createElement(CloseButton, props));
50
54
  };
@@ -10,7 +10,6 @@
10
10
  ._1e0c1o8l{display:inline-block}
11
11
  ._1ltv1ejb{left:var(--ds-space-300,24px)}
12
12
  ._1reo15vq{overflow-x:hidden}
13
- ._1xi2u2gc{right:var(--ds-space-100,8px)}
14
13
  ._bfhk1v7z{background-color:var(--_1xglsrh)}
15
14
  ._ca0qidpf{padding-top:0}
16
15
  ._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
@@ -4,6 +4,7 @@ import "./styled.compiled.css";
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ import { Box, xcss } from '@atlaskit/primitives';
7
8
  import React from 'react';
8
9
  import { N10, N30, N500 } from '@atlaskit/theme/colors';
9
10
  var headerContainerStyles = null;
@@ -17,11 +18,16 @@ export var HeaderContainer = function HeaderContainer(_ref) {
17
18
  }
18
19
  }, children);
19
20
  };
20
- var closeButtonContainerStyles = null;
21
+ var closeButtonContainerStyles = xcss({
22
+ position: 'absolute',
23
+ right: 'space.100',
24
+ top: 'space.150'
25
+ });
21
26
  export var CloseButtonContainer = function CloseButtonContainer(_ref2) {
22
- var children = _ref2.children;
23
- return /*#__PURE__*/React.createElement("div", {
24
- className: ax(["_kqswstnw _1xi2u2gc _154iutpp"])
27
+ var inDynamicHeader = _ref2.inDynamicHeader,
28
+ children = _ref2.children;
29
+ return /*#__PURE__*/React.createElement(Box, {
30
+ xcss: !inDynamicHeader && closeButtonContainerStyles
25
31
  }, children);
26
32
  };
27
33
  export var TRANSITION_DURATION_MS = 220;
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- var _excluded = ["isLoading", "footer", "children", "intl", "sideNavTabs"];
3
- import React from 'react';
2
+ var _excluded = ["isLoading", "footer", "children", "intl", "sideNavTabs", "onLoad"];
3
+ import React, { useEffect } from 'react';
4
4
  import { injectIntl } from 'react-intl-next';
5
5
  import Header from './Header';
6
6
  import { SideNav } from './SideNav';
@@ -14,7 +14,14 @@ export var HelpContent = function HelpContent(props) {
14
14
  formatMessage = props.intl.formatMessage,
15
15
  _props$sideNavTabs = props.sideNavTabs,
16
16
  sideNavTabs = _props$sideNavTabs === void 0 ? [] : _props$sideNavTabs,
17
+ onLoad = props.onLoad,
17
18
  rest = _objectWithoutProperties(props, _excluded);
19
+ useEffect(function () {
20
+ if (onLoad) {
21
+ onLoad();
22
+ }
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
18
25
  return sideNavTabs !== null && sideNavTabs !== void 0 && sideNavTabs.length ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(SideNav, {
19
26
  sideNavTabs: sideNavTabs
20
27
  }))) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
@@ -41,8 +41,9 @@ export var SideNav = function SideNav(_ref) {
41
41
  content: tab.label
42
42
  }, /*#__PURE__*/React.createElement(Pressable, {
43
43
  xcss: cx(styles.navButton, index === activeIndex && styles.navButtonSelected),
44
- onClick: function onClick() {
44
+ onClick: function onClick(event) {
45
45
  setActiveIndex(index);
46
+ tab.onClick && (tab === null || tab === void 0 ? void 0 : tab.onClick(event));
46
47
  },
47
48
  testId: "side-nav-button-".concat(tab.label)
48
49
  }, tab.icon, /*#__PURE__*/React.createElement(Text, {
@@ -55,6 +56,7 @@ export var SideNav = function SideNav(_ref) {
55
56
  }, /*#__PURE__*/React.createElement(DynamicHeader, {
56
57
  title: sideNavTabs[activeIndex].header.title,
57
58
  onCloseButtonClick: sideNavTabs[activeIndex].header.onCloseButtonClick,
58
- onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick
59
+ onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick,
60
+ newChatButtonDisabled: sideNavTabs[activeIndex].header.newChatButtonDisabled
59
61
  }), sideNavTabs[activeIndex].content));
60
62
  };
@@ -24,5 +24,10 @@ export var messages = defineMessages({
24
24
  id: 'helpPanel.header.close.button',
25
25
  defaultMessage: 'Close Help Panel',
26
26
  description: ''
27
+ },
28
+ help_panel_new_chat_button: {
29
+ id: 'helpPanel.header.new.chat.button',
30
+ defaultMessage: 'New',
31
+ description: 'Start a new chat with CSM agent'
27
32
  }
28
33
  });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ /// <reference types="react" />
6
+ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
7
+ interface Props {
8
+ onClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
9
+ isDisabled?: boolean;
10
+ }
11
+ export declare const NewChatButton: ({ onClick, isDisabled }: Props) => JSX.Element;
12
+ export {};
@@ -4,4 +4,4 @@
4
4
  */
5
5
  /// <reference types="react" />
6
6
  import { type HeaderContent } from '../../model/HelpLayout';
7
- export declare const DynamicHeader: ({ title, onCloseButtonClick, onNewChatButtonClick, }: HeaderContent) => JSX.Element;
7
+ export declare const DynamicHeader: ({ title, onCloseButtonClick, onNewChatButtonClick, newChatButtonDisabled, }: HeaderContent) => JSX.Element;
@@ -3,6 +3,7 @@ import { type WrappedComponentProps } from 'react-intl-next';
3
3
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
4
4
  interface Props {
5
5
  onClick(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent?: UIAnalyticsEvent): void;
6
+ inDynamicHeader?: boolean;
6
7
  }
7
8
  /**
8
9
  * This function will return a CloseButton component only if the function
@@ -7,7 +7,8 @@ import { TransitionStatus } from '../constants';
7
7
  export declare const HeaderContainer: ({ children }: {
8
8
  children: React.ReactNode;
9
9
  }) => JSX.Element;
10
- export declare const CloseButtonContainer: ({ children }: {
10
+ export declare const CloseButtonContainer: ({ inDynamicHeader, children, }: {
11
+ inDynamicHeader: boolean;
11
12
  children: React.ReactNode;
12
13
  }) => JSX.Element;
13
14
  export declare const TRANSITION_DURATION_MS = 220;
@@ -24,4 +24,9 @@ export declare const messages: {
24
24
  defaultMessage: string;
25
25
  description: string;
26
26
  };
27
+ help_panel_new_chat_button: {
28
+ id: string;
29
+ defaultMessage: string;
30
+ description: string;
31
+ };
27
32
  };
@@ -12,6 +12,7 @@ export interface HeaderContent {
12
12
  title: string;
13
13
  onNewChatButtonClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
14
14
  onCloseButtonClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
15
+ newChatButtonDisabled?: boolean;
15
16
  }
16
17
  export interface SideNavTab {
17
18
  icon: React.ReactNode;
@@ -25,4 +26,5 @@ export interface HelpLayout extends HelpPanelHeader {
25
26
  footer?: React.ReactNode;
26
27
  children?: React.ReactNode;
27
28
  sideNavTabs?: SideNavTab[];
29
+ onLoad?: () => void;
28
30
  }
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * @jsxRuntime classic
4
+ * @jsx jsx
5
+ */
6
+ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
7
+ interface Props {
8
+ onClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
9
+ isDisabled?: boolean;
10
+ }
11
+ export declare const NewChatButton: ({ onClick, isDisabled }: Props) => JSX.Element;
12
+ export {};
@@ -4,4 +4,4 @@
4
4
  * @jsx jsx
5
5
  */
6
6
  import { type HeaderContent } from '../../model/HelpLayout';
7
- export declare const DynamicHeader: ({ title, onCloseButtonClick, onNewChatButtonClick, }: HeaderContent) => JSX.Element;
7
+ export declare const DynamicHeader: ({ title, onCloseButtonClick, onNewChatButtonClick, newChatButtonDisabled, }: HeaderContent) => JSX.Element;
@@ -3,6 +3,7 @@ import { type WrappedComponentProps } from 'react-intl-next';
3
3
  import { type UIAnalyticsEvent } from '@atlaskit/analytics-next';
4
4
  interface Props {
5
5
  onClick(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent?: UIAnalyticsEvent): void;
6
+ inDynamicHeader?: boolean;
6
7
  }
7
8
  /**
8
9
  * This function will return a CloseButton component only if the function
@@ -7,7 +7,8 @@ import { TransitionStatus } from '../constants';
7
7
  export declare const HeaderContainer: ({ children }: {
8
8
  children: React.ReactNode;
9
9
  }) => JSX.Element;
10
- export declare const CloseButtonContainer: ({ children }: {
10
+ export declare const CloseButtonContainer: ({ inDynamicHeader, children, }: {
11
+ inDynamicHeader: boolean;
11
12
  children: React.ReactNode;
12
13
  }) => JSX.Element;
13
14
  export declare const TRANSITION_DURATION_MS = 220;
@@ -24,4 +24,9 @@ export declare const messages: {
24
24
  defaultMessage: string;
25
25
  description: string;
26
26
  };
27
+ help_panel_new_chat_button: {
28
+ id: string;
29
+ defaultMessage: string;
30
+ description: string;
31
+ };
27
32
  };
@@ -12,6 +12,7 @@ export interface HeaderContent {
12
12
  title: string;
13
13
  onNewChatButtonClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
14
14
  onCloseButtonClick?(event: React.MouseEvent<HTMLElement, MouseEvent>, analyticsEvent: UIAnalyticsEvent): void;
15
+ newChatButtonDisabled?: boolean;
15
16
  }
16
17
  export interface SideNavTab {
17
18
  icon: React.ReactNode;
@@ -25,4 +26,5 @@ export interface HelpLayout extends HelpPanelHeader {
25
26
  footer?: React.ReactNode;
26
27
  children?: React.ReactNode;
27
28
  sideNavTabs?: SideNavTab[];
29
+ onLoad?: () => void;
28
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/help-layout",
3
- "version": "6.1.0",
3
+ "version": "6.2.0",
4
4
  "description": "Layout for the atlaskit/help component.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -37,7 +37,7 @@
37
37
  "@atlaskit/css": "^0.10.0",
38
38
  "@atlaskit/heading": "^5.2.0",
39
39
  "@atlaskit/icon": "^25.6.0",
40
- "@atlaskit/primitives": "^14.4.0",
40
+ "@atlaskit/primitives": "^14.7.0",
41
41
  "@atlaskit/theme": "^18.0.0",
42
42
  "@atlaskit/tokens": "^4.8.0",
43
43
  "@atlaskit/tooltip": "^20.0.0",