@atlaskit/help-layout 6.0.2 → 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 (57) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/afm-cc/tsconfig.json +9 -0
  3. package/afm-jira/tsconfig.json +9 -0
  4. package/dist/cjs/analytics.js +1 -1
  5. package/dist/cjs/components/DynamicHeader/NewChatButton.js +36 -0
  6. package/dist/cjs/components/DynamicHeader/index.compiled.css +4 -0
  7. package/dist/cjs/components/DynamicHeader/index.js +44 -0
  8. package/dist/cjs/components/Header/BackButton.js +1 -1
  9. package/dist/cjs/components/Header/CloseButton.js +6 -15
  10. package/dist/cjs/components/Header/index.js +2 -4
  11. package/dist/cjs/components/Header/styled.compiled.css +0 -6
  12. package/dist/cjs/components/Header/styled.js +18 -30
  13. package/dist/cjs/components/HelpLayoutContent.js +18 -3
  14. package/dist/cjs/components/SideNav/index.compiled.css +28 -0
  15. package/dist/cjs/components/SideNav/index.js +72 -0
  16. package/dist/cjs/messages.js +5 -0
  17. package/dist/es2019/analytics.js +1 -1
  18. package/dist/es2019/components/DynamicHeader/NewChatButton.js +28 -0
  19. package/dist/es2019/components/DynamicHeader/index.compiled.css +4 -0
  20. package/dist/es2019/components/DynamicHeader/index.js +35 -0
  21. package/dist/es2019/components/Header/BackButton.js +1 -1
  22. package/dist/es2019/components/Header/CloseButton.js +6 -16
  23. package/dist/es2019/components/Header/index.js +3 -5
  24. package/dist/es2019/components/Header/styled.compiled.css +0 -6
  25. package/dist/es2019/components/Header/styled.js +9 -15
  26. package/dist/es2019/components/HelpLayoutContent.js +13 -2
  27. package/dist/es2019/components/SideNav/index.compiled.css +28 -0
  28. package/dist/es2019/components/SideNav/index.js +57 -0
  29. package/dist/es2019/messages.js +5 -0
  30. package/dist/esm/analytics.js +1 -1
  31. package/dist/esm/components/DynamicHeader/NewChatButton.js +26 -0
  32. package/dist/esm/components/DynamicHeader/index.compiled.css +4 -0
  33. package/dist/esm/components/DynamicHeader/index.js +34 -0
  34. package/dist/esm/components/Header/BackButton.js +1 -1
  35. package/dist/esm/components/Header/CloseButton.js +7 -16
  36. package/dist/esm/components/Header/index.js +3 -5
  37. package/dist/esm/components/Header/styled.compiled.css +0 -6
  38. package/dist/esm/components/Header/styled.js +17 -29
  39. package/dist/esm/components/HelpLayoutContent.js +15 -3
  40. package/dist/esm/components/SideNav/index.compiled.css +28 -0
  41. package/dist/esm/components/SideNav/index.js +62 -0
  42. package/dist/esm/messages.js +5 -0
  43. package/dist/types/components/DynamicHeader/NewChatButton.d.ts +12 -0
  44. package/dist/types/components/DynamicHeader/index.d.ts +7 -0
  45. package/dist/types/components/Header/CloseButton.d.ts +1 -1
  46. package/dist/types/components/Header/styled.d.ts +2 -7
  47. package/dist/types/components/SideNav/index.d.ts +11 -0
  48. package/dist/types/messages.d.ts +5 -0
  49. package/dist/types/model/HelpLayout.d.ts +15 -1
  50. package/dist/types-ts4.5/components/DynamicHeader/NewChatButton.d.ts +12 -0
  51. package/dist/types-ts4.5/components/DynamicHeader/index.d.ts +7 -0
  52. package/dist/types-ts4.5/components/Header/CloseButton.d.ts +1 -1
  53. package/dist/types-ts4.5/components/Header/styled.d.ts +2 -7
  54. package/dist/types-ts4.5/components/SideNav/index.d.ts +11 -0
  55. package/dist/types-ts4.5/messages.d.ts +5 -0
  56. package/dist/types-ts4.5/model/HelpLayout.d.ts +15 -1
  57. package/package.json +4 -1
@@ -5,7 +5,7 @@ import Tooltip from '@atlaskit/tooltip';
5
5
  import Button from '@atlaskit/button/standard-button';
6
6
  import EditorCloseIcon from '@atlaskit/icon/core/migration/close--editor-close';
7
7
  import { messages } from '../../messages';
8
- import { CloseButtonContainer, CloseButtonContainerAi } from './styled';
8
+ import { CloseButtonContainer } from './styled';
9
9
  /**
10
10
  * This function will return a CloseButton component only if the function
11
11
  * to be executed on the onClick event is passed as a parameter
@@ -14,7 +14,7 @@ import { CloseButtonContainer, CloseButtonContainerAi } from './styled';
14
14
  */
15
15
  export const CloseButton = ({
16
16
  onClick,
17
- isAiEnabled,
17
+ inDynamicHeader = false,
18
18
  intl: {
19
19
  formatMessage
20
20
  }
@@ -30,19 +30,9 @@ export const CloseButton = ({
30
30
  onClick(event, analyticsEvent);
31
31
  }
32
32
  };
33
- return isAiEnabled ? /*#__PURE__*/React.createElement(CloseButtonContainerAi, null, /*#__PURE__*/React.createElement(Tooltip, {
34
- content: formatMessage(messages.help_panel_header_close),
35
- position: "left"
36
- }, /*#__PURE__*/React.createElement(Button, {
37
- onClick: handleOnClick,
38
- appearance: "subtle",
39
- "aria-label": formatMessage(messages.help_panel_header_close_button),
40
- iconBefore: /*#__PURE__*/React.createElement(EditorCloseIcon, {
41
- color: "currentColor",
42
- label: formatMessage(messages.help_panel_header_close),
43
- LEGACY_size: "medium"
44
- })
45
- }))) : /*#__PURE__*/React.createElement(CloseButtonContainer, null, /*#__PURE__*/React.createElement(Tooltip, {
33
+ return /*#__PURE__*/React.createElement(CloseButtonContainer, {
34
+ inDynamicHeader: inDynamicHeader
35
+ }, /*#__PURE__*/React.createElement(Tooltip, {
46
36
  content: formatMessage(messages.help_panel_header_close),
47
37
  position: "left"
48
38
  }, /*#__PURE__*/React.createElement(Button, {
@@ -61,7 +51,7 @@ const CloseButtonWithContext = props => {
61
51
  data: {
62
52
  componentName: 'closeButton',
63
53
  packageName: "@atlaskit/help-layout",
64
- packageVersion: "6.0.2"
54
+ packageVersion: "6.2.0"
65
55
  }
66
56
  }, /*#__PURE__*/React.createElement(CloseButton, props));
67
57
  };
@@ -3,14 +3,13 @@ import { injectIntl } from 'react-intl-next';
3
3
  import { messages } from '../../messages';
4
4
  import CloseButton from './CloseButton';
5
5
  import BackButton from './BackButton';
6
- import { HeaderContainer, HeaderTitle, HeaderContent, HeaderTitleAi } from './styled';
6
+ import { HeaderContainer, HeaderTitle, HeaderContent } from './styled';
7
7
  export const HelpContent = ({
8
8
  headerTitle,
9
9
  headerContent,
10
10
  isBackbuttonVisible = false,
11
11
  onCloseButtonClick,
12
12
  onBackButtonClick,
13
- isAiEnabled,
14
13
  intl: {
15
14
  formatMessage
16
15
  }
@@ -23,9 +22,8 @@ export const HelpContent = ({
23
22
  return /*#__PURE__*/React.createElement(HeaderContainer, null, /*#__PURE__*/React.createElement(BackButton, {
24
23
  onClick: handleOnBackButtonClick,
25
24
  isVisible: isBackbuttonVisible
26
- }), isAiEnabled ? /*#__PURE__*/React.createElement(HeaderTitleAi, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)) : /*#__PURE__*/React.createElement(HeaderTitle, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
27
- onClick: onCloseButtonClick,
28
- isAiEnabled: isAiEnabled
25
+ }), /*#__PURE__*/React.createElement(HeaderTitle, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
26
+ onClick: onCloseButtonClick
29
27
  }), headerContent && /*#__PURE__*/React.createElement(HeaderContent, null, headerContent));
30
28
  };
31
29
  export default injectIntl(HelpContent);
@@ -1,22 +1,17 @@
1
1
  ._11c81ixg{font:var(--ds-font-body-large,normal 400 1pc/24px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._v5641kd4{transition:left .22s,opacity .22s}
3
3
  ._n7zlmfkj{border-bottom:var(--ds-space-025,2px) solid var(--ds-border,#ebecf0)}
4
- ._154i1q64{top:var(--ds-space-200,15px)}
5
4
  ._154iutpp{top:var(--ds-space-150,9pt)}
6
5
  ._18m915vq{overflow-y:hidden}
7
- ._18u0pxbi{margin-left:var(--ds-space-200,1pc)}
8
6
  ._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
9
7
  ._1bah1yb4{justify-content:space-between}
10
8
  ._1bsb1osq{width:100%}
11
- ._1bsbnau3{width:calc(100% - var(--ds-space-200, 1pc))}
12
9
  ._1bto1l2s{text-overflow:ellipsis}
13
10
  ._1e0c1o8l{display:inline-block}
14
11
  ._1ltv1ejb{left:var(--ds-space-300,24px)}
15
12
  ._1reo15vq{overflow-x:hidden}
16
- ._1xi2u2gc{right:var(--ds-space-100,8px)}
17
13
  ._bfhk1gi7{background-color:var(--ds-background-neutral,#fafbfc)}
18
14
  ._ca0qidpf{padding-top:0}
19
- ._ca0qoybe{padding-top:var(--ds-space-250,18px)}
20
15
  ._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
21
16
  ._kqswh2mm{position:relative}
22
17
  ._kqswstnw{position:absolute}
@@ -27,5 +22,4 @@
27
22
  ._tzy4idpf{opacity:0}
28
23
  ._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
29
24
  ._vwz41u3r{line-height:var(--ds-space-800,56px)}
30
- ._y3gn1e5h{text-align:left}
31
25
  ._y3gn1h6o{text-align:center}
@@ -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,17 +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"])
17
- }, children);
18
- const closeButtonContainerAiStyles = null;
19
- export const CloseButtonContainerAi = ({
20
- children
21
- }) => /*#__PURE__*/React.createElement("div", {
22
- className: ax(["_kqswstnw _1xi2u2gc _154i1q64"])
21
+ }) => /*#__PURE__*/React.createElement(Box, {
22
+ xcss: !inDynamicHeader && closeButtonContainerStyles
23
23
  }, children);
24
24
  export const TRANSITION_DURATION_MS = 220;
25
25
  const backButtonContainerStyles = null;
@@ -46,12 +46,6 @@ export const HeaderTitle = ({
46
46
  }) => /*#__PURE__*/React.createElement("h1", {
47
47
  className: ax(["_11c81ixg _1reo15vq _18m915vq _syazjjyb _y3gn1h6o _k48p1pd9 _vwz41u3r _1bsb1osq _o5721q9c _1bto1l2s _1e0c1o8l _s7n4nkob"])
48
48
  }, children);
49
- const headerTitleAiStyles = null;
50
- export const HeaderTitleAi = ({
51
- children
52
- }) => /*#__PURE__*/React.createElement("h1", {
53
- className: ax(["_11c81ixg _1reo15vq _18m915vq _syazjjyb _y3gn1e5h _k48p1pd9 _ca0qoybe _n3tdpxbi _1bsbnau3 _o5721q9c _1bto1l2s _1e0c1o8l _s7n4nkob _18u0pxbi"])
54
- }, children);
55
49
  const headerContentStyles = null;
56
50
  export const HeaderContent = ({
57
51
  children
@@ -1,6 +1,7 @@
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
+ import { SideNav } from './SideNav';
4
5
  import { messages } from '../messages';
5
6
  import { Container, Section, HelpFooter, LoadingContainer, LoadingRectangle } from './styled';
6
7
  export const HelpContent = props => {
@@ -11,9 +12,19 @@ export const HelpContent = props => {
11
12
  intl: {
12
13
  formatMessage
13
14
  },
15
+ sideNavTabs = [],
16
+ onLoad,
14
17
  ...rest
15
18
  } = props;
16
- return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
19
+ useEffect(() => {
20
+ if (onLoad) {
21
+ onLoad();
22
+ }
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
25
+ return sideNavTabs !== null && sideNavTabs !== void 0 && sideNavTabs.length ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(SideNav, {
26
+ sideNavTabs: sideNavTabs
27
+ }))) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
17
28
  "aria-label": formatMessage(messages.help_loading),
18
29
  role: "img"
19
30
  }, /*#__PURE__*/React.createElement(LoadingRectangle, {
@@ -0,0 +1,28 @@
1
+
2
+ ._19it145i{border:var(--ds-border-width,1px) solid transparent}
3
+ ._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
4
+ ._zulpu2gc{gap:var(--ds-space-100,8px)}
5
+ ._1h6d15qp{border-color:var(--ds-border-accent-blue,#1d7afc)}
6
+ ._1rjcu2gc{padding-block:var(--ds-space-100,8px)}._18m91wug{overflow-y:auto}
7
+ ._18u01b66{margin-left:var(--ds-space-050,4px)}
8
+ ._19pk1b66{margin-top:var(--ds-space-050,4px)}
9
+ ._1bsb1osq{width:100%}
10
+ ._1e0c1txw{display:flex}
11
+ ._1reo1wug{overflow-x:auto}
12
+ ._1ul91wqb{min-width:60px}
13
+ ._2hwx1b66{margin-right:var(--ds-space-050,4px)}
14
+ ._2lx21bp4{flex-direction:column}
15
+ ._4cvr1h6o{align-items:center}
16
+ ._4t3i1osq{height:100%}
17
+ ._80omtlke{cursor:pointer}
18
+ ._bfhk1d5g{background-color:var(--ds-background-input-hovered,#f7f8f9)}
19
+ ._bfhk1j28{background-color:transparent}
20
+ ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
21
+ ._o5721q9c{white-space:nowrap}
22
+ ._otyr1b66{margin-bottom:var(--ds-space-050,4px)}
23
+ ._syaz14q2{color:var(--ds-link,#0c66e4)}
24
+ ._vchhusvi{box-sizing:border-box}
25
+ ._30l314q2:hover{color:var(--ds-link,#0c66e4)}
26
+ ._30l31fxt:hover{color:var(--ds-text,#172b4d)}
27
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
28
+ ._irr3i1yw:hover{background-color:var(--ds-background-selected-hovered,#cce0ff)}
@@ -0,0 +1,57 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./index.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import { useState } from 'react';
6
+ import { cx } from '@atlaskit/css';
7
+ import { Box, Flex, Pressable, Stack, Text } from '@atlaskit/primitives/compiled';
8
+ import Tooltip from '@atlaskit/tooltip';
9
+ import { DynamicHeader } from '../DynamicHeader';
10
+ const styles = {
11
+ mainContent: "_1reo1wug _18m91wug _4t3i1osq _1bsb1osq",
12
+ navBarWrapper: "_1reo1wug _18m91wug _4t3i1osq _1bsb1osq",
13
+ navButton: "_2rkoiti9 _zulpu2gc _19it145i _1rjcu2gc _1e0c1txw _bfhk1j28 _2lx21bp4 _4cvr1h6o _80omtlke _vchhusvi _o5721q9c _1bsb1osq _irr3166n _30l31fxt",
14
+ navButtonSelected: "_1h6d15qp _bfhkfg4m _syaz14q2 _irr3i1yw _30l314q2",
15
+ wrapper: "_1reo1wug _18m91wug _4t3i1osq _1ul91wqb _bfhk1d5g",
16
+ navItemWrapper: "_19pk1b66 _2hwx1b66 _otyr1b66 _18u01b66"
17
+ };
18
+ export const SideNav = ({
19
+ sideNavTabs
20
+ }) => {
21
+ const [activeIndex, setActiveIndex] = useState(0);
22
+ return /*#__PURE__*/React.createElement(Flex, {
23
+ xcss: styles.navBarWrapper
24
+ }, /*#__PURE__*/React.createElement(Flex, {
25
+ justifyContent: "space-between",
26
+ xcss: styles.wrapper,
27
+ direction: "column"
28
+ }, /*#__PURE__*/React.createElement(Stack, {
29
+ testId: "side-nav-tabs"
30
+ }, sideNavTabs.map((tab, index) => /*#__PURE__*/React.createElement(Box, {
31
+ xcss: styles.navItemWrapper,
32
+ key: tab.label,
33
+ testId: `side-nav-${tab.label}`
34
+ }, /*#__PURE__*/React.createElement(Tooltip, {
35
+ ignoreTooltipPointerEvents: true,
36
+ position: "left",
37
+ content: tab.label
38
+ }, /*#__PURE__*/React.createElement(Pressable, {
39
+ xcss: cx(styles.navButton, index === activeIndex && styles.navButtonSelected),
40
+ onClick: event => {
41
+ setActiveIndex(index);
42
+ tab.onClick && (tab === null || tab === void 0 ? void 0 : tab.onClick(event));
43
+ },
44
+ testId: `side-nav-button-${tab.label}`
45
+ }, tab.icon, /*#__PURE__*/React.createElement(Text, {
46
+ size: "small",
47
+ color: index === activeIndex ? 'color.link' : 'color.text.subtle'
48
+ }, tab.label))))))), /*#__PURE__*/React.createElement(Flex, {
49
+ direction: "column",
50
+ xcss: styles.mainContent
51
+ }, /*#__PURE__*/React.createElement(DynamicHeader, {
52
+ title: sideNavTabs[activeIndex].header.title,
53
+ onCloseButtonClick: sideNavTabs[activeIndex].header.onCloseButtonClick,
54
+ onNewChatButtonClick: sideNavTabs[activeIndex].header.onNewChatButtonClick,
55
+ newChatButtonDisabled: sideNavTabs[activeIndex].header.newChatButtonDisabled
56
+ }), sideNavTabs[activeIndex].content));
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.0.2"
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
+ };
@@ -0,0 +1,4 @@
1
+ ._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
2
+ ._ca0qpxbi{padding-top:var(--ds-space-200,1pc)}
3
+ ._n3tdpxbi{padding-bottom:var(--ds-space-200,1pc)}
4
+ ._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
@@ -0,0 +1,34 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import "./index.compiled.css";
3
+ import * as React from 'react';
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import Heading from '@atlaskit/heading';
6
+ import CloseButton from '../Header/CloseButton';
7
+ import { Flex, Inline } from '@atlaskit/primitives/compiled';
8
+ import { NewChatButton } from './NewChatButton';
9
+ var styles = {
10
+ container: "_ca0qpxbi _u5f3pxbi _n3tdpxbi _19bvpxbi"
11
+ };
12
+ export var DynamicHeader = function DynamicHeader(_ref) {
13
+ var title = _ref.title,
14
+ onCloseButtonClick = _ref.onCloseButtonClick,
15
+ onNewChatButtonClick = _ref.onNewChatButtonClick,
16
+ newChatButtonDisabled = _ref.newChatButtonDisabled;
17
+ return /*#__PURE__*/React.createElement(Flex, {
18
+ direction: "row",
19
+ justifyContent: "space-between",
20
+ xcss: styles.container
21
+ }, /*#__PURE__*/React.createElement(Heading, {
22
+ size: "medium",
23
+ testId: "header-title-side-nav"
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
+ })));
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.0.2"
52
+ packageVersion: "6.2.0"
53
53
  }
54
54
  }, /*#__PURE__*/React.createElement(BackButton, props));
55
55
  };
@@ -5,7 +5,7 @@ import Tooltip from '@atlaskit/tooltip';
5
5
  import Button from '@atlaskit/button/standard-button';
6
6
  import EditorCloseIcon from '@atlaskit/icon/core/migration/close--editor-close';
7
7
  import { messages } from '../../messages';
8
- import { CloseButtonContainer, CloseButtonContainerAi } from './styled';
8
+ import { CloseButtonContainer } from './styled';
9
9
  /**
10
10
  * This function will return a CloseButton component only if the function
11
11
  * to be executed on the onClick event is passed as a parameter
@@ -14,7 +14,8 @@ import { CloseButtonContainer, CloseButtonContainerAi } from './styled';
14
14
  */
15
15
  export var CloseButton = function CloseButton(_ref) {
16
16
  var onClick = _ref.onClick,
17
- isAiEnabled = _ref.isAiEnabled,
17
+ _ref$inDynamicHeader = _ref.inDynamicHeader,
18
+ inDynamicHeader = _ref$inDynamicHeader === void 0 ? false : _ref$inDynamicHeader,
18
19
  formatMessage = _ref.intl.formatMessage;
19
20
  var _useAnalyticsEvents = useAnalyticsEvents(),
20
21
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
@@ -26,19 +27,9 @@ export var CloseButton = function CloseButton(_ref) {
26
27
  onClick(event, _analyticsEvent);
27
28
  }
28
29
  };
29
- return isAiEnabled ? /*#__PURE__*/React.createElement(CloseButtonContainerAi, null, /*#__PURE__*/React.createElement(Tooltip, {
30
- content: formatMessage(messages.help_panel_header_close),
31
- position: "left"
32
- }, /*#__PURE__*/React.createElement(Button, {
33
- onClick: handleOnClick,
34
- appearance: "subtle",
35
- "aria-label": formatMessage(messages.help_panel_header_close_button),
36
- iconBefore: /*#__PURE__*/React.createElement(EditorCloseIcon, {
37
- color: "currentColor",
38
- label: formatMessage(messages.help_panel_header_close),
39
- LEGACY_size: "medium"
40
- })
41
- }))) : /*#__PURE__*/React.createElement(CloseButtonContainer, null, /*#__PURE__*/React.createElement(Tooltip, {
30
+ return /*#__PURE__*/React.createElement(CloseButtonContainer, {
31
+ inDynamicHeader: inDynamicHeader
32
+ }, /*#__PURE__*/React.createElement(Tooltip, {
42
33
  content: formatMessage(messages.help_panel_header_close),
43
34
  position: "left"
44
35
  }, /*#__PURE__*/React.createElement(Button, {
@@ -57,7 +48,7 @@ var CloseButtonWithContext = function CloseButtonWithContext(props) {
57
48
  data: {
58
49
  componentName: 'closeButton',
59
50
  packageName: "@atlaskit/help-layout",
60
- packageVersion: "6.0.2"
51
+ packageVersion: "6.2.0"
61
52
  }
62
53
  }, /*#__PURE__*/React.createElement(CloseButton, props));
63
54
  };
@@ -3,7 +3,7 @@ import { injectIntl } from 'react-intl-next';
3
3
  import { messages } from '../../messages';
4
4
  import CloseButton from './CloseButton';
5
5
  import BackButton from './BackButton';
6
- import { HeaderContainer, HeaderTitle, HeaderContent, HeaderTitleAi } from './styled';
6
+ import { HeaderContainer, HeaderTitle, HeaderContent } from './styled';
7
7
  export var HelpContent = function HelpContent(_ref) {
8
8
  var headerTitle = _ref.headerTitle,
9
9
  headerContent = _ref.headerContent,
@@ -11,7 +11,6 @@ export var HelpContent = function HelpContent(_ref) {
11
11
  isBackbuttonVisible = _ref$isBackbuttonVisi === void 0 ? false : _ref$isBackbuttonVisi,
12
12
  onCloseButtonClick = _ref.onCloseButtonClick,
13
13
  onBackButtonClick = _ref.onBackButtonClick,
14
- isAiEnabled = _ref.isAiEnabled,
15
14
  formatMessage = _ref.intl.formatMessage;
16
15
  var handleOnBackButtonClick = function handleOnBackButtonClick(event, analyticsEvent) {
17
16
  if (onBackButtonClick) {
@@ -21,9 +20,8 @@ export var HelpContent = function HelpContent(_ref) {
21
20
  return /*#__PURE__*/React.createElement(HeaderContainer, null, /*#__PURE__*/React.createElement(BackButton, {
22
21
  onClick: handleOnBackButtonClick,
23
22
  isVisible: isBackbuttonVisible
24
- }), isAiEnabled ? /*#__PURE__*/React.createElement(HeaderTitleAi, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)) : /*#__PURE__*/React.createElement(HeaderTitle, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
25
- onClick: onCloseButtonClick,
26
- isAiEnabled: isAiEnabled
23
+ }), /*#__PURE__*/React.createElement(HeaderTitle, null, headerTitle ? headerTitle : formatMessage(messages.help_panel_header_title)), onCloseButtonClick && /*#__PURE__*/React.createElement(CloseButton, {
24
+ onClick: onCloseButtonClick
27
25
  }), headerContent && /*#__PURE__*/React.createElement(HeaderContent, null, headerContent));
28
26
  };
29
27
  export default injectIntl(HelpContent);
@@ -1,22 +1,17 @@
1
1
  ._11c81ixg{font:var(--ds-font-body-large,normal 400 1pc/24px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
2
  ._v5641kw6{transition:var(--_ejvfk7)}
3
3
  ._n7zl3yx5{border-bottom:var(--_1it2dty)}
4
- ._154i1q64{top:var(--ds-space-200,15px)}
5
4
  ._154iutpp{top:var(--ds-space-150,9pt)}
6
5
  ._18m915vq{overflow-y:hidden}
7
- ._18u0pxbi{margin-left:var(--ds-space-200,1pc)}
8
6
  ._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
9
7
  ._1bah1yb4{justify-content:space-between}
10
8
  ._1bsb1osq{width:100%}
11
- ._1bsbb8xr{width:var(--_2br7en)}
12
9
  ._1bto1l2s{text-overflow:ellipsis}
13
10
  ._1e0c1o8l{display:inline-block}
14
11
  ._1ltv1ejb{left:var(--ds-space-300,24px)}
15
12
  ._1reo15vq{overflow-x:hidden}
16
- ._1xi2u2gc{right:var(--ds-space-100,8px)}
17
13
  ._bfhk1v7z{background-color:var(--_1xglsrh)}
18
14
  ._ca0qidpf{padding-top:0}
19
- ._ca0qoybe{padding-top:var(--ds-space-250,18px)}
20
15
  ._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
21
16
  ._kqswh2mm{position:relative}
22
17
  ._kqswstnw{position:absolute}
@@ -27,5 +22,4 @@
27
22
  ._tzy4idpf{opacity:0}
28
23
  ._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
29
24
  ._vwz41u3r{line-height:var(--ds-space-800,56px)}
30
- ._y3gn1e5h{text-align:left}
31
25
  ._y3gn1h6o{text-align:center}
@@ -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,18 +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"])
25
- }, children);
26
- };
27
- var closeButtonContainerAiStyles = null;
28
- export var CloseButtonContainerAi = function CloseButtonContainerAi(_ref3) {
29
- var children = _ref3.children;
30
- return /*#__PURE__*/React.createElement("div", {
31
- className: ax(["_kqswstnw _1xi2u2gc _154i1q64"])
27
+ var inDynamicHeader = _ref2.inDynamicHeader,
28
+ children = _ref2.children;
29
+ return /*#__PURE__*/React.createElement(Box, {
30
+ xcss: !inDynamicHeader && closeButtonContainerStyles
32
31
  }, children);
33
32
  };
34
33
  export var TRANSITION_DURATION_MS = 220;
@@ -43,9 +42,9 @@ var backButtonContainerTransitionStyles = {
43
42
  opacity: 0
44
43
  }
45
44
  };
46
- export var BackButtonContainer = function BackButtonContainer(_ref4) {
47
- var transitionState = _ref4.transitionState,
48
- children = _ref4.children;
45
+ export var BackButtonContainer = function BackButtonContainer(_ref3) {
46
+ var transitionState = _ref3.transitionState,
47
+ children = _ref3.children;
49
48
  return /*#__PURE__*/React.createElement("div", {
50
49
  className: ax(["_v5641kw6 _1ltv1ejb _tzy4idpf _kqswstnw _154iutpp"]),
51
50
  style: _objectSpread(_objectSpread({}, backButtonContainerTransitionStyles[transitionState]), {}, {
@@ -54,8 +53,8 @@ export var BackButtonContainer = function BackButtonContainer(_ref4) {
54
53
  }, children);
55
54
  };
56
55
  var headerTitleStyles = null;
57
- export var HeaderTitle = function HeaderTitle(_ref5) {
58
- var children = _ref5.children;
56
+ export var HeaderTitle = function HeaderTitle(_ref4) {
57
+ var children = _ref4.children;
59
58
  return /*#__PURE__*/React.createElement("h1", {
60
59
  className: ax(["_11c81ixg _1reo15vq _18m915vq _syaz1425 _y3gn1h6o _k48p1pd9 _vwz41u3r _1bsb1osq _o5721q9c _1bto1l2s _1e0c1o8l _s7n4nkob"]),
61
60
  style: {
@@ -63,20 +62,9 @@ export var HeaderTitle = function HeaderTitle(_ref5) {
63
62
  }
64
63
  }, children);
65
64
  };
66
- var headerTitleAiStyles = null;
67
- export var HeaderTitleAi = function HeaderTitleAi(_ref6) {
68
- var children = _ref6.children;
69
- return /*#__PURE__*/React.createElement("h1", {
70
- className: ax(["_11c81ixg _1reo15vq _18m915vq _syaz1425 _y3gn1e5h _k48p1pd9 _ca0qoybe _n3tdpxbi _1bsbb8xr _o5721q9c _1bto1l2s _1e0c1o8l _s7n4nkob _18u0pxbi"]),
71
- style: {
72
- "--_13a5t4u": ix("var(--ds-text-subtle, ".concat(N500, ")")),
73
- "--_2br7en": ix("calc(100% - ".concat("var(--ds-space-200, 16px)", ")"))
74
- }
75
- }, children);
76
- };
77
65
  var headerContentStyles = null;
78
- export var HeaderContent = function HeaderContent(_ref7) {
79
- var children = _ref7.children;
66
+ export var HeaderContent = function HeaderContent(_ref5) {
67
+ var children = _ref5.children;
80
68
  return /*#__PURE__*/React.createElement("div", {
81
69
  className: ax(["_ca0qidpf _u5f3pxbi _n3tdpxbi _19bvpxbi"])
82
70
  }, children);
@@ -1,8 +1,9 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- var _excluded = ["isLoading", "footer", "children", "intl"];
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
+ import { SideNav } from './SideNav';
6
7
  import { messages } from '../messages';
7
8
  import { Container, Section, HelpFooter, LoadingContainer, LoadingRectangle } from './styled';
8
9
  export var HelpContent = function HelpContent(props) {
@@ -11,8 +12,19 @@ export var HelpContent = function HelpContent(props) {
11
12
  footer = props.footer,
12
13
  children = props.children,
13
14
  formatMessage = props.intl.formatMessage,
15
+ _props$sideNavTabs = props.sideNavTabs,
16
+ sideNavTabs = _props$sideNavTabs === void 0 ? [] : _props$sideNavTabs,
17
+ onLoad = props.onLoad,
14
18
  rest = _objectWithoutProperties(props, _excluded);
15
- return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
19
+ useEffect(function () {
20
+ if (onLoad) {
21
+ onLoad();
22
+ }
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ }, []);
25
+ return sideNavTabs !== null && sideNavTabs !== void 0 && sideNavTabs.length ? /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(SideNav, {
26
+ sideNavTabs: sideNavTabs
27
+ }))) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Section, null, /*#__PURE__*/React.createElement(Header, rest), isLoading ? /*#__PURE__*/React.createElement(LoadingContainer, {
16
28
  "aria-label": formatMessage(messages.help_loading),
17
29
  role: "img"
18
30
  }, /*#__PURE__*/React.createElement(LoadingRectangle, {
@@ -0,0 +1,28 @@
1
+
2
+ ._19it145i{border:var(--ds-border-width,1px) solid transparent}
3
+ ._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
4
+ ._zulpu2gc{gap:var(--ds-space-100,8px)}
5
+ ._1h6d15qp{border-color:var(--ds-border-accent-blue,#1d7afc)}
6
+ ._1rjcu2gc{padding-block:var(--ds-space-100,8px)}._18m91wug{overflow-y:auto}
7
+ ._18u01b66{margin-left:var(--ds-space-050,4px)}
8
+ ._19pk1b66{margin-top:var(--ds-space-050,4px)}
9
+ ._1bsb1osq{width:100%}
10
+ ._1e0c1txw{display:flex}
11
+ ._1reo1wug{overflow-x:auto}
12
+ ._1ul91wqb{min-width:60px}
13
+ ._2hwx1b66{margin-right:var(--ds-space-050,4px)}
14
+ ._2lx21bp4{flex-direction:column}
15
+ ._4cvr1h6o{align-items:center}
16
+ ._4t3i1osq{height:100%}
17
+ ._80omtlke{cursor:pointer}
18
+ ._bfhk1d5g{background-color:var(--ds-background-input-hovered,#f7f8f9)}
19
+ ._bfhk1j28{background-color:transparent}
20
+ ._bfhkfg4m{background-color:var(--ds-background-selected,#e9f2ff)}
21
+ ._o5721q9c{white-space:nowrap}
22
+ ._otyr1b66{margin-bottom:var(--ds-space-050,4px)}
23
+ ._syaz14q2{color:var(--ds-link,#0c66e4)}
24
+ ._vchhusvi{box-sizing:border-box}
25
+ ._30l314q2:hover{color:var(--ds-link,#0c66e4)}
26
+ ._30l31fxt:hover{color:var(--ds-text,#172b4d)}
27
+ ._irr3166n:hover{background-color:var(--ds-background-neutral-subtle-hovered,#091e420f)}
28
+ ._irr3i1yw:hover{background-color:var(--ds-background-selected-hovered,#cce0ff)}