@atlaskit/help 7.14.0 → 7.14.2

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 (97) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/analytics.js +1 -1
  3. package/dist/cjs/components/Article/ArticleLoadingFail/index.js +1 -1
  4. package/dist/cjs/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulNoButton.js +1 -1
  5. package/dist/cjs/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulYesButton.js +1 -1
  6. package/dist/cjs/components/Article/HelpArticle/WasHelpfulForm/index.js +1 -1
  7. package/dist/cjs/components/Article/HelpArticle/index.js +1 -1
  8. package/dist/cjs/components/Article/WhatsNewArticle/index.js +1 -1
  9. package/dist/cjs/components/Article/index.js +20 -2
  10. package/dist/cjs/components/Article/styled.js +20 -1
  11. package/dist/cjs/components/ArticlesList/ArticlesListItem/index.js +1 -1
  12. package/dist/cjs/components/BackButton/index.js +83 -0
  13. package/dist/cjs/components/Help.js +1 -1
  14. package/dist/cjs/components/HelpContent.js +30 -9
  15. package/dist/cjs/components/HelpContentButton/index.js +1 -1
  16. package/dist/cjs/components/RelatedArticles/index.js +1 -1
  17. package/dist/cjs/components/Search/SearchInput/index.js +40 -3
  18. package/dist/cjs/components/Search/SearchInput/styled.js +15 -1
  19. package/dist/cjs/components/Search/SearchResults/index.js +45 -2
  20. package/dist/cjs/components/Search/SearchResults/styled.js +17 -1
  21. package/dist/cjs/components/WhatsNew/WhatsNewButton/index.js +1 -1
  22. package/dist/cjs/components/WhatsNew/WhatsNewResults/WhatsNewResultsList/WhatsNewResultItem/index.js +1 -1
  23. package/dist/cjs/components/constants.js +4 -2
  24. package/dist/cjs/components/contexts/navigationContext.js +5 -2
  25. package/dist/cjs/components/styled.js +34 -1
  26. package/dist/cjs/messages.js +5 -0
  27. package/dist/es2019/analytics.js +1 -1
  28. package/dist/es2019/components/Article/ArticleLoadingFail/index.js +1 -1
  29. package/dist/es2019/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulNoButton.js +1 -1
  30. package/dist/es2019/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulYesButton.js +1 -1
  31. package/dist/es2019/components/Article/HelpArticle/WasHelpfulForm/index.js +1 -1
  32. package/dist/es2019/components/Article/HelpArticle/index.js +1 -1
  33. package/dist/es2019/components/Article/WhatsNewArticle/index.js +1 -1
  34. package/dist/es2019/components/Article/index.js +29 -3
  35. package/dist/es2019/components/Article/styled.js +19 -0
  36. package/dist/es2019/components/ArticlesList/ArticlesListItem/index.js +1 -1
  37. package/dist/es2019/components/BackButton/index.js +79 -0
  38. package/dist/es2019/components/Help.js +1 -1
  39. package/dist/es2019/components/HelpContent.js +31 -10
  40. package/dist/es2019/components/HelpContentButton/index.js +1 -1
  41. package/dist/es2019/components/RelatedArticles/index.js +1 -1
  42. package/dist/es2019/components/Search/SearchInput/index.js +41 -4
  43. package/dist/es2019/components/Search/SearchInput/styled.js +14 -0
  44. package/dist/es2019/components/Search/SearchResults/index.js +49 -3
  45. package/dist/es2019/components/Search/SearchResults/styled.js +16 -0
  46. package/dist/es2019/components/WhatsNew/WhatsNewButton/index.js +1 -1
  47. package/dist/es2019/components/WhatsNew/WhatsNewResults/WhatsNewResultsList/WhatsNewResultItem/index.js +1 -1
  48. package/dist/es2019/components/constants.js +3 -1
  49. package/dist/es2019/components/contexts/navigationContext.js +6 -2
  50. package/dist/es2019/components/styled.js +31 -0
  51. package/dist/es2019/messages.js +5 -0
  52. package/dist/esm/analytics.js +1 -1
  53. package/dist/esm/components/Article/ArticleLoadingFail/index.js +1 -1
  54. package/dist/esm/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulNoButton.js +1 -1
  55. package/dist/esm/components/Article/HelpArticle/WasHelpfulForm/WasHelpfulYesButton.js +1 -1
  56. package/dist/esm/components/Article/HelpArticle/WasHelpfulForm/index.js +1 -1
  57. package/dist/esm/components/Article/HelpArticle/index.js +1 -1
  58. package/dist/esm/components/Article/WhatsNewArticle/index.js +1 -1
  59. package/dist/esm/components/Article/index.js +21 -3
  60. package/dist/esm/components/Article/styled.js +19 -0
  61. package/dist/esm/components/ArticlesList/ArticlesListItem/index.js +1 -1
  62. package/dist/esm/components/BackButton/index.js +76 -0
  63. package/dist/esm/components/Help.js +1 -1
  64. package/dist/esm/components/HelpContent.js +31 -10
  65. package/dist/esm/components/HelpContentButton/index.js +1 -1
  66. package/dist/esm/components/RelatedArticles/index.js +1 -1
  67. package/dist/esm/components/Search/SearchInput/index.js +41 -4
  68. package/dist/esm/components/Search/SearchInput/styled.js +14 -0
  69. package/dist/esm/components/Search/SearchResults/index.js +46 -3
  70. package/dist/esm/components/Search/SearchResults/styled.js +16 -0
  71. package/dist/esm/components/WhatsNew/WhatsNewButton/index.js +1 -1
  72. package/dist/esm/components/WhatsNew/WhatsNewResults/WhatsNewResultsList/WhatsNewResultItem/index.js +1 -1
  73. package/dist/esm/components/constants.js +3 -1
  74. package/dist/esm/components/contexts/navigationContext.js +5 -2
  75. package/dist/esm/components/styled.js +33 -0
  76. package/dist/esm/messages.js +5 -0
  77. package/dist/types/components/Article/index.d.ts +5 -2
  78. package/dist/types/components/Article/styled.d.ts +4 -0
  79. package/dist/types/components/BackButton/index.d.ts +12 -0
  80. package/dist/types/components/Search/SearchInput/index.d.ts +6 -3
  81. package/dist/types/components/Search/SearchInput/styled.d.ts +4 -0
  82. package/dist/types/components/Search/SearchResults/index.d.ts +5 -2
  83. package/dist/types/components/Search/SearchResults/styled.d.ts +4 -0
  84. package/dist/types/components/constants.d.ts +1 -0
  85. package/dist/types/components/styled.d.ts +12 -0
  86. package/dist/types/messages.d.ts +5 -0
  87. package/dist/types-ts4.5/components/Article/index.d.ts +5 -2
  88. package/dist/types-ts4.5/components/Article/styled.d.ts +4 -0
  89. package/dist/types-ts4.5/components/BackButton/index.d.ts +12 -0
  90. package/dist/types-ts4.5/components/Search/SearchInput/index.d.ts +6 -3
  91. package/dist/types-ts4.5/components/Search/SearchInput/styled.d.ts +4 -0
  92. package/dist/types-ts4.5/components/Search/SearchResults/index.d.ts +5 -2
  93. package/dist/types-ts4.5/components/Search/SearchResults/styled.d.ts +4 -0
  94. package/dist/types-ts4.5/components/constants.d.ts +1 -0
  95. package/dist/types-ts4.5/components/styled.d.ts +12 -0
  96. package/dist/types-ts4.5/messages.d.ts +5 -0
  97. package/package.json +3 -3
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.Home = exports.HelpFooter = exports.HelpBodyContainer = exports.HelpBody = void 0;
8
+ exports.HomeAi = exports.Home = exports.HelpFooter = exports.HelpBodyContainer = exports.HelpBodyAi = exports.HelpBody = exports.BackButtonContainer = void 0;
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
10
  var colors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
11
11
  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); }
@@ -43,6 +43,16 @@ var HelpBody = exports.HelpBody = _styled.default.div({
43
43
  overflowX: 'hidden',
44
44
  overflowY: 'auto'
45
45
  });
46
+
47
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
48
+ var HelpBodyAi = exports.HelpBodyAi = _styled.default.div({
49
+ width: '100%',
50
+ boxSizing: 'border-box',
51
+ order: 0,
52
+ flex: '1 1 auto',
53
+ alignSelf: 'auto',
54
+ position: 'relative'
55
+ });
46
56
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/ui-styling-standard/no-dynamic-styles -- Ignored via go/DSP-18766
47
57
  var Home = exports.Home = _styled.default.div(function (props) {
48
58
  return {
@@ -56,6 +66,21 @@ var Home = exports.Home = _styled.default.div(function (props) {
56
66
  };
57
67
  });
58
68
 
69
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles, @atlaskit/ui-styling-standard/no-dynamic-styles -- Ignored via go/DSP-18766
70
+ var HomeAi = exports.HomeAi = _styled.default.div(function (props) {
71
+ return {
72
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
73
+ display: props.isOverlayFullyVisible ? 'none' : 'block',
74
+ // height: `calc(100% - ${token('space.800', '60px')})`,
75
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
76
+ overflow: props.isOverlayVisible ? 'hidden' : 'auto',
77
+ paddingLeft: "var(--ds-space-200, 16px)",
78
+ paddingRight: "var(--ds-space-200, 16px)",
79
+ paddingBottom: "var(--ds-space-200, 16px)",
80
+ boxSizing: 'border-box'
81
+ };
82
+ });
83
+
59
84
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
60
85
  var HelpFooter = exports.HelpFooter = _styled.default.div({
61
86
  padding: "var(--ds-space-100, 8px)".concat(" 0"),
@@ -66,4 +91,12 @@ var HelpFooter = exports.HelpFooter = _styled.default.div({
66
91
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
67
92
  borderTop: "var(--ds-space-025, 2px)".concat(" solid ", "var(--ds-border, ".concat(colors.N30, ")")),
68
93
  justifyContent: 'space-between'
94
+ });
95
+
96
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
97
+ var BackButtonContainer = exports.BackButtonContainer = _styled.default.div({
98
+ position: 'absolute',
99
+ marginTop: "var(--ds-space-200, 14px)",
100
+ left: "var(--ds-space-100, 8px)",
101
+ height: "var(--ds-space-400, 32px)"
69
102
  });
@@ -265,5 +265,10 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
265
265
  id: 'help.show_more_button.label_less',
266
266
  defaultMessage: 'Show less',
267
267
  description: '"Show less" text'
268
+ },
269
+ help_panel_search_back: {
270
+ id: 'helpPanel.search.back',
271
+ defaultMessage: 'Back',
272
+ description: ''
268
273
  }
269
274
  });
@@ -5,5 +5,5 @@ export const createAndFire = x.createAndFireEvent('atlaskit');
5
5
  export const defaultAnalyticsAttributes = {
6
6
  componentName: 'help',
7
7
  packageName: "@atlaskit/help",
8
- packageVersion: "7.14.0"
8
+ packageVersion: "7.14.2"
9
9
  };
@@ -10,7 +10,7 @@ import { LoadingErrorMessage, LoadingErrorButtonContainer, LoadingErrorHeading }
10
10
  const ANALYTICS_CONTEXT_DATA = {
11
11
  componentName: 'ArticleLoadingFail',
12
12
  packageName: "@atlaskit/help",
13
- packageVersion: "7.14.0"
13
+ packageVersion: "7.14.2"
14
14
  };
15
15
  export const ArticleLoadingFail = ({
16
16
  onTryAgainButtonClick,
@@ -6,7 +6,7 @@ import { messages } from '../../../../messages';
6
6
  const ANALYTICS_CONTEXT_DATA = {
7
7
  componentName: 'ArticleWasHelpfulNoButton',
8
8
  packageName: "@atlaskit/help",
9
- packageVersion: "7.14.0"
9
+ packageVersion: "7.14.2"
10
10
  };
11
11
  export const ArticleWasHelpfulNoButton = ({
12
12
  isSelected = false,
@@ -6,7 +6,7 @@ import { messages } from '../../../../messages';
6
6
  const ANALYTICS_CONTEXT_DATA = {
7
7
  componentName: 'ArticleWasHelpfulYesButton',
8
8
  packageName: "@atlaskit/help",
9
- packageVersion: "7.14.0"
9
+ packageVersion: "7.14.2"
10
10
  };
11
11
  export const ArticleWasHelpfulYesButton = ({
12
12
  isSelected = false,
@@ -30,7 +30,7 @@ const FEEDBACK_REASON_TEXT_MAX_LENGTH = '16000';
30
30
  const ANALYTICS_CONTEXT_DATA = {
31
31
  componentName: 'ArticleWasHelpfulForm',
32
32
  packageName: "@atlaskit/help",
33
- packageVersion: "7.14.0"
33
+ packageVersion: "7.14.2"
34
34
  };
35
35
  const buttonStyles = css({
36
36
  padding: '0',
@@ -60,7 +60,7 @@ export const HelpArticle = ({
60
60
  analyticsEvent.payload.attributes = {
61
61
  componentName: 'Article',
62
62
  packageName: "@atlaskit/help",
63
- packageVersion: "7.14.0"
63
+ packageVersion: "7.14.2"
64
64
  };
65
65
  if (onRelatedArticlesShowMoreClick) {
66
66
  onRelatedArticlesShowMoreClick(event, analyticsEvent, isCollapsed);
@@ -13,7 +13,7 @@ import { WhatsNewTypeTitle, WhatsNewTitleText, WhatsNewIconContainer, RelatedLin
13
13
  const analyticsContextData = {
14
14
  componentName: 'ArticlesListItem',
15
15
  packageName: "@atlaskit/help",
16
- packageVersion: "7.14.0"
16
+ packageVersion: "7.14.2"
17
17
  };
18
18
  export const WhatsNewArticle = ({
19
19
  intl: {
@@ -3,7 +3,7 @@ import { Transition } from 'react-transition-group';
3
3
  import { useNavigationContext } from '../contexts/navigationContext';
4
4
  import { useHelpArticleContext } from '../contexts/helpArticleContext';
5
5
  import { SLIDEIN_OVERLAY_TRANSITION_DURATION_MS, VIEW } from '../constants';
6
- import { ArticleContainer } from './styled';
6
+ import { ArticleContainer, ArticleContainerAi } from './styled';
7
7
  import ArticleContent from './ArticleContent';
8
8
  // Animation
9
9
  const defaultStyle = {
@@ -22,7 +22,9 @@ const transitionStyles = {
22
22
  left: '100%'
23
23
  }
24
24
  };
25
- export const Article = () => {
25
+ export const Article = ({
26
+ isAiEnabled
27
+ }) => {
26
28
  var _history$length;
27
29
  const {
28
30
  view,
@@ -93,7 +95,31 @@ export const Article = () => {
93
95
  setShowArticle(view === VIEW.ARTICLE || view === VIEW.WHATS_NEW_ARTICLE);
94
96
  }
95
97
  }, [view, showArticle]);
96
- return /*#__PURE__*/React.createElement(Transition, {
98
+ return isAiEnabled ? /*#__PURE__*/React.createElement(Transition, {
99
+ in: showArticle,
100
+ timeout: SLIDEIN_OVERLAY_TRANSITION_DURATION_MS,
101
+ enter: !skipArticleSlideInAnimation,
102
+ onEntered: onArticleEntered,
103
+ onExit: onArticleExit,
104
+ unmountOnExit: true,
105
+ mountOnEnter: true
106
+ }, state => {
107
+ return /*#__PURE__*/React.createElement(ArticleContainerAi, {
108
+ ref: articleContainerRef,
109
+ style: {
110
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
111
+ ...defaultStyle,
112
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
113
+ ...transitionStyles[state],
114
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
115
+ ...enableTransition[!skipArticleSlideInAnimation ? 'enabled' : 'disabled']
116
+ }
117
+ }, /*#__PURE__*/React.createElement(ArticleContent, {
118
+ currentArticle: currentArticle,
119
+ onHelpArticleLoadingFailTryAgainButtonClick: reloadHelpArticle && handleOnHelpArticleLoadingFailTryAgainButtonClick,
120
+ onWhatsNewArticleLoadingFailTryAgainButtonClick: reloadWhatsNewArticle && handleOnWhatsNewArticleLoadingFailTryAgainButtonClick
121
+ }));
122
+ }) : /*#__PURE__*/React.createElement(Transition, {
97
123
  in: showArticle,
98
124
  timeout: SLIDEIN_OVERLAY_TRANSITION_DURATION_MS,
99
125
  enter: !skipArticleSlideInAnimation,
@@ -20,4 +20,23 @@ export const ArticleContainer = styled.div({
20
20
  overflowX: 'hidden',
21
21
  overflowY: 'auto',
22
22
  zIndex: 2
23
+ });
24
+
25
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
26
+ export const ArticleContainerAi = styled.div({
27
+ paddingLeft: "var(--ds-space-300, 24px)",
28
+ paddingRight: "var(--ds-space-300, 24px)",
29
+ paddingBottom: "var(--ds-space-200, 16px)",
30
+ position: 'absolute',
31
+ height: `calc(100% - ${"var(--ds-space-800, 60px)"})`,
32
+ width: '100%',
33
+ top: "var(--ds-space-800, 60px)",
34
+ backgroundColor: "var(--ds-surface, #FFFFFF)",
35
+ left: '100%',
36
+ flex: 1,
37
+ flexDirection: 'column',
38
+ boxSizing: 'border-box',
39
+ overflowX: 'hidden',
40
+ overflowY: 'auto',
41
+ zIndex: 2
23
42
  });
@@ -8,7 +8,7 @@ import { ArticlesListItemWrapper, ArticlesListItemContainer, ArticlesListItemTit
8
8
  const ANALYTICS_CONTEXT_DATA = {
9
9
  componentName: 'ArticlesListItem',
10
10
  packageName: "@atlaskit/help",
11
- packageVersion: "7.14.0"
11
+ packageVersion: "7.14.2"
12
12
  };
13
13
  const highlightText = text => {
14
14
  if (!text) {
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import { injectIntl } from 'react-intl-next';
3
+ import { useAnalyticsEvents, AnalyticsContext } from '@atlaskit/analytics-next';
4
+ import { Transition } from 'react-transition-group';
5
+ import ArrowleftIcon from '@atlaskit/icon/core/migration/arrow-left';
6
+ import Button from '@atlaskit/button/standard-button';
7
+ import { messages } from '../../messages';
8
+ import { BackButtonContainer } from '../styled';
9
+ import { TRANSITION_DURATION_MS } from '../constants';
10
+ // Animation
11
+ const defaultStyle = {
12
+ transition: `left ${TRANSITION_DURATION_MS}ms, opacity ${TRANSITION_DURATION_MS}ms`,
13
+ left: "var(--ds-space-300, 24px)",
14
+ opacity: 0
15
+ };
16
+ const transitionStyles = {
17
+ entered: {
18
+ left: "var(--ds-space-100, 8px)",
19
+ opacity: 1
20
+ },
21
+ exited: {
22
+ left: "var(--ds-space-100, 8px)",
23
+ opacity: 0
24
+ }
25
+ };
26
+ export const BackButton = ({
27
+ onClick,
28
+ isVisible = true,
29
+ intl: {
30
+ formatMessage
31
+ }
32
+ }) => {
33
+ const {
34
+ createAnalyticsEvent
35
+ } = useAnalyticsEvents();
36
+ const handleOnClick = event => {
37
+ if (onClick) {
38
+ const analyticsEvent = createAnalyticsEvent({
39
+ action: 'clicked'
40
+ });
41
+ onClick(event, analyticsEvent);
42
+ }
43
+ };
44
+ return /*#__PURE__*/React.createElement(Transition, {
45
+ in: isVisible,
46
+ timeout: TRANSITION_DURATION_MS,
47
+ mountOnEnter: true,
48
+ unmountOnExit: true
49
+ }, state => /*#__PURE__*/React.createElement(BackButtonContainer, {
50
+ style: {
51
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
52
+ ...defaultStyle,
53
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
54
+ ...transitionStyles[state]
55
+ }
56
+ }, /*#__PURE__*/React.createElement(Button, {
57
+ onClick: event => {
58
+ if (state === 'entered') {
59
+ handleOnClick(event);
60
+ }
61
+ },
62
+ appearance: "subtle",
63
+ iconBefore: /*#__PURE__*/React.createElement(ArrowleftIcon, {
64
+ color: "currentColor",
65
+ label: "",
66
+ LEGACY_size: "medium"
67
+ })
68
+ }, formatMessage(messages.help_panel_search_back))));
69
+ };
70
+ const BackButtonWithContext = props => {
71
+ return /*#__PURE__*/React.createElement(AnalyticsContext, {
72
+ data: {
73
+ componentName: 'backButton',
74
+ packageName: "@atlaskit/help",
75
+ packageVersion: "7.14.2"
76
+ }
77
+ }, /*#__PURE__*/React.createElement(BackButton, props));
78
+ };
79
+ export default injectIntl(BackButtonWithContext);
@@ -28,7 +28,7 @@ export class Help extends React.PureComponent {
28
28
  } = this.props;
29
29
  return /*#__PURE__*/React.createElement(LocaleIntlProvider, null, /*#__PURE__*/React.createElement(HeaderContextProvider, rest.header, /*#__PURE__*/React.createElement(HomeContextProvider, _extends({}, rest.home, {
30
30
  homeContent: children
31
- }), /*#__PURE__*/React.createElement(HelpArticleContextProvider, rest.helpArticle, /*#__PURE__*/React.createElement(RelatedArticlesContextProvider, rest.relatedArticles, /*#__PURE__*/React.createElement(SearchContextProvider, rest.search, /*#__PURE__*/React.createElement(WhatsNewArticleProvider, rest.whatsNew, /*#__PURE__*/React.createElement(NavigationContextProvider, rest.navigation, /*#__PURE__*/React.createElement(AiContextProvider, rest.ai, /*#__PURE__*/React.createElement(HelpContent, {
31
+ }), /*#__PURE__*/React.createElement(HelpArticleContextProvider, rest.helpArticle, /*#__PURE__*/React.createElement(RelatedArticlesContextProvider, rest.relatedArticles, /*#__PURE__*/React.createElement(SearchContextProvider, rest.search, /*#__PURE__*/React.createElement(WhatsNewArticleProvider, rest.whatsNew, /*#__PURE__*/React.createElement(AiContextProvider, rest.ai, /*#__PURE__*/React.createElement(NavigationContextProvider, rest.navigation, /*#__PURE__*/React.createElement(HelpContent, {
32
32
  footer: footer
33
33
  }))))))))));
34
34
  }
@@ -14,7 +14,8 @@ import ArticleComponent from './Article';
14
14
  import WhatsNewButton from './WhatsNew/WhatsNewButton';
15
15
  import WhatsNewResults from './WhatsNew/WhatsNewResults';
16
16
  import HelpContentButton from './HelpContentButton';
17
- import { HelpBodyContainer, HelpBody, Home } from './styled';
17
+ import BackButton from './BackButton';
18
+ import { HelpBodyContainer, HelpBody, Home, HomeAi, HelpBodyAi } from './styled';
18
19
  import { HelpFooter } from './styled';
19
20
  export const HelpContent = ({
20
21
  footer
@@ -55,7 +56,7 @@ export const HelpContent = ({
55
56
  }, [navigateBack, onBackButtonClick]);
56
57
  useEffect(() => {
57
58
  let handler;
58
- if (isOverlayVisible) {
59
+ if (isOverlayVisible && !isAiEnabled) {
59
60
  handler = setTimeout(() => {
60
61
  setIsOverlayFullyVisible(isOverlayVisible);
61
62
  }, HIDE_CONTENT_DELAY);
@@ -67,14 +68,36 @@ export const HelpContent = ({
67
68
  clearTimeout(handler);
68
69
  }
69
70
  };
70
- }, [isOverlayVisible]);
71
- return /*#__PURE__*/React.createElement(HelpLayout, {
71
+ }, [isOverlayVisible, isAiEnabled]);
72
+ return isAiEnabled ? /*#__PURE__*/React.createElement(HelpLayout, {
73
+ onCloseButtonClick: onClose,
74
+ isAiEnabled: true
75
+ }, /*#__PURE__*/React.createElement(HelpBodyContainer, null, /*#__PURE__*/React.createElement(HelpBodyAi, null, /*#__PURE__*/React.createElement(BackButton, {
76
+ onClick: handleOnBackButtonClick,
77
+ isVisible: canNavigateBack
78
+ }), onSearch && /*#__PURE__*/React.createElement(SearchInput, {
79
+ isAiEnabled: true
80
+ }), /*#__PURE__*/React.createElement(SearchResults, {
81
+ isAiEnabled: true
82
+ }), /*#__PURE__*/React.createElement(ArticleComponent, {
83
+ isAiEnabled: true
84
+ }), /*#__PURE__*/React.createElement(HomeAi, {
85
+ isOverlayFullyVisible: isOverlayFullyVisible,
86
+ isOverlayVisible: isOverlayVisible
87
+ }, homeContent, onSearchWhatsNewArticles && onGetWhatsNewArticle && /*#__PURE__*/React.createElement(WhatsNewButton, {
88
+ productName: productName
89
+ }), homeOptions && homeOptions.map(defaultOption => {
90
+ return /*#__PURE__*/React.createElement(HelpContentButton, _extends({
91
+ key: defaultOption.id
92
+ }, defaultOption));
93
+ }))), /*#__PURE__*/React.createElement(WhatsNewResults, null), footer && /*#__PURE__*/React.createElement(HelpFooter, {
94
+ "data-testid": "inside-footer"
95
+ }, footer))) : /*#__PURE__*/React.createElement(HelpLayout, {
72
96
  onBackButtonClick: handleOnBackButtonClick,
73
97
  onCloseButtonClick: onClose,
74
98
  isBackbuttonVisible: canNavigateBack,
75
- footer: !isAiEnabled ? footer : undefined,
76
- headerContent: onSearch && /*#__PURE__*/React.createElement(SearchInput, null),
77
- isAiEnabled: isAiEnabled
99
+ footer: footer,
100
+ headerContent: onSearch && /*#__PURE__*/React.createElement(SearchInput, null)
78
101
  }, /*#__PURE__*/React.createElement(HelpBodyContainer, null, /*#__PURE__*/React.createElement(HelpBody, null, /*#__PURE__*/React.createElement(SearchResults, null), /*#__PURE__*/React.createElement(ArticleComponent, null), /*#__PURE__*/React.createElement(Home, {
79
102
  isOverlayFullyVisible: isOverlayFullyVisible,
80
103
  isOverlayVisible: isOverlayVisible
@@ -84,8 +107,6 @@ export const HelpContent = ({
84
107
  return /*#__PURE__*/React.createElement(HelpContentButton, _extends({
85
108
  key: defaultOption.id
86
109
  }, defaultOption));
87
- }))), /*#__PURE__*/React.createElement(WhatsNewResults, null), isAiEnabled && footer && /*#__PURE__*/React.createElement(HelpFooter, {
88
- "data-testid": "inside-footer"
89
- }, footer)));
110
+ }))), /*#__PURE__*/React.createElement(WhatsNewResults, null)));
90
111
  };
91
112
  export default HelpContent;
@@ -7,7 +7,7 @@ import { HelpContentButtonContainer, HelpContentButtonIcon, HelpContentButtonTex
7
7
  const analitycsContextData = {
8
8
  componentName: 'HelpContentButton',
9
9
  packageName: "@atlaskit/help",
10
- packageVersion: "7.14.0"
10
+ packageVersion: "7.14.2"
11
11
  };
12
12
  const HelpContentButton = ({
13
13
  id = '',
@@ -21,7 +21,7 @@ import { Text } from '@atlaskit/primitives';
21
21
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
22
22
  import { css, jsx } from '@emotion/react';
23
23
  const packageName = "@atlaskit/help";
24
- const packageVersion = "7.14.0";
24
+ const packageVersion = "7.14.2";
25
25
  const buttonStyles = css({
26
26
  padding: '0',
27
27
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
@@ -17,11 +17,13 @@ import { injectIntl } from 'react-intl-next';
17
17
  import { REQUEST_STATE } from '../../../model/Requests';
18
18
  import { useSearchContext } from '../../contexts/searchContext';
19
19
  import { messages } from '../../../messages';
20
- import { SearchInputContainer, SearchIconContainer, CloseButtonAndSpinnerContainer } from './styled';
20
+ import { VIEW } from '../../constants';
21
+ import { SearchInputContainer, SearchInputContainerAi, SearchIconContainer, CloseButtonAndSpinnerContainer } from './styled';
22
+ import { useNavigationContext } from '../../contexts/navigationContext';
21
23
  const ANALYTICS_CONTEXT_DATA = {
22
24
  componentName: 'searchInput',
23
25
  packageName: "@atlaskit/help",
24
- packageVersion: "7.14.0"
26
+ packageVersion: "7.14.2"
25
27
  };
26
28
  const buttonStyles = css({
27
29
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
@@ -32,8 +34,12 @@ const buttonStyles = css({
32
34
  export const SearchInput = ({
33
35
  intl: {
34
36
  formatMessage
35
- }
37
+ },
38
+ isAiEnabled = false
36
39
  }) => {
40
+ const {
41
+ view
42
+ } = useNavigationContext();
37
43
  const {
38
44
  searchValue,
39
45
  searchState,
@@ -82,7 +88,38 @@ export const SearchInput = ({
82
88
  if (inputRef && inputRef.current) {
83
89
  inputRef.current.value = searchValue;
84
90
  }
85
- return jsx(SearchInputContainer, null, jsx(Textfield, {
91
+ if (view === VIEW.ARTICLE || view === VIEW.WHATS_NEW_ARTICLE) {
92
+ return null;
93
+ }
94
+ return isAiEnabled ? jsx(SearchInputContainerAi, null, jsx(Textfield, {
95
+ title: "Help articles search input",
96
+ autoComplete: "off",
97
+ ref: inputRef,
98
+ name: "help-search-input",
99
+ elemBeforeInput: jsx(SearchIconContainer, null, jsx(SearchIcon, {
100
+ LEGACY_margin: "0 2px",
101
+ color: "currentColor",
102
+ spacing: "spacious",
103
+ label: ""
104
+ })),
105
+ elemAfterInput: jsx(CloseButtonAndSpinnerContainer, null, searchState === REQUEST_STATE.loading && jsx(Spinner, {
106
+ size: "small"
107
+ }), searchValue !== '' && jsx(Button, {
108
+ css: buttonStyles,
109
+ appearance: "subtle",
110
+ onClick: handleOnClearButtonClick,
111
+ spacing: "none",
112
+ "aria-label": "Clear field"
113
+ }, jsx(EditorCloseIcon, {
114
+ color: "currentColor",
115
+ spacing: "spacious",
116
+ label: ""
117
+ }))),
118
+ placeholder: formatMessage(messages.help_search_placeholder),
119
+ onChange: handleOnInputChange,
120
+ onKeyPress: handleOnKeyPress,
121
+ value: searchValue
122
+ })) : jsx(SearchInputContainer, null, jsx(Textfield, {
86
123
  title: "Help articles search input",
87
124
  autoComplete: "off",
88
125
  ref: inputRef,
@@ -13,6 +13,20 @@ export const SearchInputContainer = styled.div({
13
13
  boxSizing: 'border-box'
14
14
  });
15
15
 
16
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
17
+ export const SearchInputContainerAi = styled.div({
18
+ width: `calc(100% - ${"var(--ds-space-300, 24px)"} - ${"var(--ds-space-300, 24px)"})`,
19
+ height: "var(--ds-space-400, 32px)",
20
+ marginLeft: "var(--ds-space-300, 24px)",
21
+ marginRight: "var(--ds-space-300, 24px)",
22
+ marginTop: "var(--ds-space-200, 14px)",
23
+ marginBottom: "var(--ds-space-200, 14px)",
24
+ order: 0,
25
+ flex: '0 1 auto',
26
+ alignSelf: 'auto',
27
+ boxSizing: 'border-box'
28
+ });
29
+
16
30
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
17
31
  export const SearchIconContainer = styled.div({
18
32
  width: "var(--ds-space-300, 24px)",
@@ -9,7 +9,7 @@ import SearchResultsList from './SearchResults';
9
9
  import SearchExternalSite from './SearchExternalSite';
10
10
  import SearchResultsEmpty from './SearchResultsEmpty';
11
11
  import SearchResultsError from './SearchResultsError';
12
- import { SearchResultsContainer } from './styled';
12
+ import { SearchResultsContainer, SearchResultsContainerAi } from './styled';
13
13
  const defaultStyle = {
14
14
  transition: `opacity ${FADEIN_OVERLAY_TRANSITION_DURATION_MS}ms`,
15
15
  opacity: 0,
@@ -33,7 +33,9 @@ const transitionStyles = {
33
33
  visibility: 'hidden'
34
34
  }
35
35
  };
36
- export const SearchResults = () => {
36
+ export const SearchResults = ({
37
+ isAiEnabled = false
38
+ }) => {
37
39
  const {
38
40
  searchState,
39
41
  searchResult,
@@ -69,7 +71,51 @@ export const SearchResults = () => {
69
71
  setSuggestionsCount(0);
70
72
  }
71
73
  }, [searchResult]);
72
- return /*#__PURE__*/React.createElement(Transition, {
74
+ return isAiEnabled ? /*#__PURE__*/React.createElement(Transition, {
75
+ in: view === VIEW.SEARCH && isSearchResultVisible,
76
+ timeout: FADEIN_OVERLAY_TRANSITION_DURATION_MS
77
+ }, state => /*#__PURE__*/React.createElement(SearchResultsContainerAi, {
78
+ style: {
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
80
+ ...defaultStyle,
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
82
+ ...transitionStyles[state]
83
+ }
84
+ }, /*#__PURE__*/React.createElement("div", {
85
+ ref: liveRegionRef,
86
+ "aria-live": "polite",
87
+ "aria-atomic": "true",
88
+ style: {
89
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
90
+ position: 'absolute',
91
+ // hidden visually, but accessible
92
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
93
+ width: 1,
94
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
95
+ height: 1,
96
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
97
+ margin: -1,
98
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
99
+ border: 0,
100
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
101
+ padding: 0,
102
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
103
+ clip: 'rect(0 0 0 0)',
104
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
105
+ overflow: 'hidden'
106
+ }
107
+ }, suggestionsCount > 0 && `${suggestionsCount} suggestion${suggestionsCount !== 1 ? 's' : ''} available for typed text.`, suggestionsCount === 0 && 'No suggestions available.'), searchState !== REQUEST_STATE.error && searchResult !== null && searchResult.length > 0 && state !== 'exited' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SearchResultsList, {
108
+ searchResult: searchResult,
109
+ onSearchResultItemClick: handleOnSearchResultItemClick
110
+ }), /*#__PURE__*/React.createElement(SearchExternalSite, {
111
+ searchExternalUrl: searchExternalUrl,
112
+ onSearchExternalUrlClick: onSearchExternalUrlClick
113
+ })), searchState !== REQUEST_STATE.error && searchResult !== null && searchResult.length === 0 && /*#__PURE__*/React.createElement(SearchResultsEmpty, {
114
+ searchExternalUrl: searchExternalUrl,
115
+ onSearchExternalUrlClick: onSearchExternalUrlClick
116
+ }), searchState === REQUEST_STATE.error && /*#__PURE__*/React.createElement(SearchResultsError, {
117
+ onSearch: onSearch
118
+ }))) : /*#__PURE__*/React.createElement(Transition, {
73
119
  in: view === VIEW.SEARCH && isSearchResultVisible,
74
120
  timeout: FADEIN_OVERLAY_TRANSITION_DURATION_MS
75
121
  }, state => /*#__PURE__*/React.createElement(SearchResultsContainer, {
@@ -21,6 +21,22 @@ export const SearchResultsContainer = styled.div({
21
21
  padding: `0 ${"var(--ds-space-200, 16px)"}`
22
22
  });
23
23
 
24
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
25
+ export const SearchResultsContainerAi = styled.div({
26
+ position: 'absolute',
27
+ height: `calc(100% - ${"var(--ds-space-800, 60px)"})`,
28
+ width: '100%',
29
+ top: "var(--ds-space-800, 60px)",
30
+ backgroundColor: "var(--ds-surface, #FFFFFF)",
31
+ flex: 1,
32
+ flexDirection: 'column',
33
+ boxSizing: 'border-box',
34
+ overflowX: 'hidden',
35
+ overflowY: 'auto',
36
+ zIndex: 10,
37
+ padding: `0 ${"var(--ds-space-200, 16px)"}`
38
+ });
39
+
24
40
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
25
41
  export const SearchResultsList = styled.div({
26
42
  paddingTop: "var(--ds-space-300, 24px)",
@@ -11,7 +11,7 @@ import { ARTICLE_TYPE } from '../../../model/Help';
11
11
  const ANALYTICS_CONTEXT_DATA = {
12
12
  componentName: 'WhatsNewButton',
13
13
  packageName: "@atlaskit/help",
14
- packageVersion: "7.14.0"
14
+ packageVersion: "7.14.2"
15
15
  };
16
16
  export const WhatsNewButton = ({
17
17
  productName,
@@ -8,7 +8,7 @@ import { WhatsNewResultListItemWrapper, WhatsNewResultListItemTitleContainer, Wh
8
8
  const ANALYTICS_CONTEXT_DATA = {
9
9
  componentName: 'ArticlesListItem',
10
10
  packageName: "@atlaskit/help",
11
- packageVersion: "7.14.0"
11
+ packageVersion: "7.14.2"
12
12
  };
13
13
  export const WhatsNewResultListItem = ({
14
14
  intl: {
@@ -13,4 +13,6 @@ export let VIEW = /*#__PURE__*/function (VIEW) {
13
13
  // Animation related consts
14
14
  export const SLIDEIN_OVERLAY_TRANSITION_DURATION_MS = 300;
15
15
  export const FADEIN_OVERLAY_TRANSITION_DURATION_MS = 440;
16
- export const HIDE_CONTENT_DELAY = FADEIN_OVERLAY_TRANSITION_DURATION_MS + 200;
16
+ export const HIDE_CONTENT_DELAY = FADEIN_OVERLAY_TRANSITION_DURATION_MS + 200;
17
+ // Animation related consts
18
+ export const TRANSITION_DURATION_MS = 220;