@innovaccer/design-system 2.13.2 → 2.13.4-1

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 (243) hide show
  1. package/core/components/atoms/checkbox/__stories__/Alignment.story.jsx +11 -13
  2. package/core/components/atoms/dropdown/Dropdown.tsx +18 -2
  3. package/core/components/atoms/dropdown/DropdownList.tsx +47 -57
  4. package/core/components/atoms/dropdown/__stories__/LabelInline.story.jsx +58 -0
  5. package/core/components/atoms/dropdown/__stories__/{LabelPositionInDropdown.story.jsx → LabelOnTop.story.jsx} +8 -9
  6. package/core/components/atoms/dropdown/option/DefaultOption.tsx +1 -1
  7. package/core/components/atoms/dropdown/utility.tsx +6 -0
  8. package/core/components/atoms/icon/__stories__/variants/Image.story.jsx +3 -3
  9. package/core/components/css-utilities/Miscellaneous/Miscellaneous.story.tsx +4 -0
  10. package/core/components/molecules/dropzone/FileSelectorUtils.tsx +3 -0
  11. package/core/components/molecules/sidesheet/__stories__/variants/twoSteps.story.jsx +6 -4
  12. package/core/components/organisms/calendar/__stories__/index.story.jsx +4 -6
  13. package/core/components/organisms/dateRangePicker/__stories__/variants/withSingleInput.story.jsx +3 -0
  14. package/core/components/organisms/horizontalNav/__stories__/leftAlign.story.jsx +35 -19
  15. package/core/components/organisms/pageHeader/__stories__/Responsiveness.story.jsx +2 -2
  16. package/core/components/organisms/pageHeader/__stories__/variants/withNavigation.story.jsx +2 -2
  17. package/core/components/organisms/pageHeader/__stories__/variants/withNavigationL1.story.jsx +2 -2
  18. package/core/components/organisms/pageHeader/__stories__/variants/withStepper.story.jsx +2 -2
  19. package/core/components/organisms/pageHeader/__stories__/variants/withStepperL1.story.jsx +2 -2
  20. package/core/components/organisms/pageHeader/__stories__/variants/withTabs.story.jsx +2 -2
  21. package/core/components/organisms/pageHeader/__stories__/variants/withTabsL1.story.jsx +2 -2
  22. package/core/components/organisms/pageHeader/__stories__/withFilter.story.jsx +2 -2
  23. package/core/components/organisms/pageHeader/__stories__/withFilterL1.story.jsx +2 -2
  24. package/core/components/organisms/pageHeader/__stories__/withNavigation.story.jsx +2 -2
  25. package/core/components/organisms/pageHeader/__stories__/withNavigationL1.story.jsx +2 -2
  26. package/core/components/organisms/pageHeader/__stories__/withStepperL1.story.jsx +4 -4
  27. package/core/components/organisms/table/__stories__/TableAsDescriptionList.story.jsx +4 -4
  28. package/core/components/organisms/timePicker/TimePicker.tsx +6 -113
  29. package/core/components/organisms/timePicker/TimePickerWithInput.tsx +124 -0
  30. package/core/components/organisms/timePicker/TimePickerWithSearch.tsx +198 -0
  31. package/core/components/organisms/timePicker/__stories__/TimeIntervals.story.jsx +52 -0
  32. package/core/components/organisms/timePicker/__stories__/disabledOption.story.jsx +52 -0
  33. package/core/components/organisms/timePicker/__stories__/fromTo.story.jsx +72 -0
  34. package/core/components/organisms/timePicker/__stories__/showDuration.story.jsx +52 -0
  35. package/core/components/organisms/timePicker/__stories__/withDatePicker.story.jsx +88 -0
  36. package/core/components/organisms/timePicker/__stories__/{index.story.jsx → withInput.story.jsx} +6 -3
  37. package/core/components/organisms/timePicker/__stories__/withSearch.story.jsx +89 -0
  38. package/core/components/organisms/timePicker/__tests__/TimePickerWithSearch.test.tsx +486 -0
  39. package/core/components/organisms/timePicker/__tests__/__snapshots__/TimePickerWithSearch.test.tsx.snap +169 -0
  40. package/core/components/organisms/timePicker/index.tsx +2 -0
  41. package/core/components/organisms/timePicker/utility/searchUtils.tsx +295 -0
  42. package/core/components/organisms/timePicker/utility/timePickerUtility.tsx +219 -0
  43. package/core/components/organisms/timePicker/utils.tsx +1 -1
  44. package/core/index.tsx +1 -0
  45. package/css/dist/index.css +4 -10
  46. package/css/dist/index.css.map +1 -1
  47. package/css/src/components/dropdown.css +2 -6
  48. package/css/src/components/metricInput.css +1 -0
  49. package/css/src/components/modal.css +1 -2
  50. package/dist/core/components/atoms/dropdown/Dropdown.d.ts +2 -0
  51. package/dist/core/components/atoms/dropdown/DropdownList.d.ts +1 -0
  52. package/dist/core/components/atoms/dropdown/utility.d.ts +1 -0
  53. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +22 -22
  54. package/dist/core/components/organisms/timePicker/TimePicker.d.ts +5 -13
  55. package/dist/core/components/organisms/timePicker/TimePickerWithInput.d.ts +24 -0
  56. package/dist/core/components/organisms/timePicker/TimePickerWithSearch.d.ts +32 -0
  57. package/dist/core/components/organisms/timePicker/index.d.ts +2 -0
  58. package/dist/core/components/organisms/timePicker/utility/searchUtils.d.ts +7 -0
  59. package/dist/core/components/organisms/timePicker/utility/timePickerUtility.d.ts +19 -0
  60. package/dist/core/index.d.ts +1 -0
  61. package/dist/index.esm.js +709 -46
  62. package/dist/index.js +638 -68
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.umd.js +1 -1
  65. package/dist/index.umd.js.br +0 -0
  66. package/dist/index.umd.js.gz +0 -0
  67. package/docs/.eslintrc.json +32 -1
  68. package/docs/.prettierrc +6 -0
  69. package/docs/README.md +14 -0
  70. package/docs/cypress/e2e/main.cy.js +35 -0
  71. package/docs/cypress/fixtures/example.json +5 -0
  72. package/docs/cypress/support/commands.ts +37 -0
  73. package/docs/cypress/support/e2e.ts +20 -0
  74. package/docs/cypress.config.js +9 -0
  75. package/docs/package.json +16 -2
  76. package/docs/src/components/Colors/Colors.js +13 -41
  77. package/docs/src/components/Container/ComponentsContainer.js +10 -30
  78. package/docs/src/components/Container/Container.js +10 -41
  79. package/docs/src/components/ErrorBoundary.js +9 -3
  80. package/docs/src/components/Footer/Footer.js +11 -10
  81. package/docs/src/components/GlobalSearch/index.js +47 -44
  82. package/docs/src/components/Header/Header.css +4 -0
  83. package/docs/src/components/Header/Header.js +25 -19
  84. package/docs/src/components/Layout.js +110 -172
  85. package/docs/src/components/LeftNav/LeftNav.js +12 -28
  86. package/docs/src/components/Logos/Logos.js +12 -26
  87. package/docs/src/components/MDXHeading.js +12 -18
  88. package/docs/src/components/Meta.js +9 -9
  89. package/docs/src/components/PropsTable/ArgJsDoc.tsx +2 -6
  90. package/docs/src/components/PropsTable/ArgRow.tsx +19 -47
  91. package/docs/src/components/PropsTable/ArgValue.tsx +50 -93
  92. package/docs/src/components/PropsTable/EmptyBlock.tsx +2 -5
  93. package/docs/src/components/PropsTable/SectionRow.tsx +7 -18
  94. package/docs/src/components/PropsTable/Table.tsx +43 -130
  95. package/docs/src/components/PropsTable/generateImports.tsx +1 -3
  96. package/docs/src/components/PropsTable/index.js +94 -140
  97. package/docs/src/components/PropsTable/prism.css +19 -20
  98. package/docs/src/components/Rules/DONTs.js +1 -6
  99. package/docs/src/components/Rules/DOs.js +1 -6
  100. package/docs/src/components/Rules/IconWrapper.js +6 -7
  101. package/docs/src/components/Rules/InlineMessage.js +1 -5
  102. package/docs/src/components/Rules/Rules.js +18 -28
  103. package/docs/src/components/TableOfContent/TableOfContent.js +49 -54
  104. package/docs/src/components/css/global.css +1 -1
  105. package/docs/src/components/css/prism.css +1 -1
  106. package/docs/src/components/css/style.css +7 -3
  107. package/docs/src/components/templates/Default.js +1 -1
  108. package/docs/src/components/templates/Homepage.js +4 -6
  109. package/docs/src/data/components/Overview.js +49 -56
  110. package/docs/src/data/components/images/Calendar.png +0 -0
  111. package/docs/src/data/components/images/MetaList.png +0 -0
  112. package/docs/src/data/components/images/PageHeader.png +0 -0
  113. package/docs/src/data/components/images/TimePicker.png +0 -0
  114. package/docs/src/data/components/images/mobile/Badge.png +0 -0
  115. package/docs/src/data/components/images/mobile/Dropdown.png +0 -0
  116. package/docs/src/data/components/images/mobile/Message.png +0 -0
  117. package/docs/src/data/components/images/mobile/MetaList.png +0 -0
  118. package/docs/src/data/components/images/mobile/Slider.png +0 -0
  119. package/docs/src/data/components/images/mobile/StatusHint.png +0 -0
  120. package/docs/src/data/components/images/mobile/Stepper.png +0 -0
  121. package/docs/src/data/components/index.js +168 -321
  122. package/docs/src/data/components/mobile.js +85 -125
  123. package/docs/src/data/components/overview.css +4 -2
  124. package/docs/src/data/components/patterns.js +25 -59
  125. package/docs/src/data/header-items.yaml +1 -0
  126. package/docs/src/data/nav/components.yaml +1 -7
  127. package/docs/src/pages/404.js +7 -17
  128. package/docs/src/pages/components/avatar/usage.mdx +1 -0
  129. package/docs/src/pages/components/button/usage.mdx +2 -2
  130. package/docs/src/pages/components/calendar/usage.mdx +3 -3
  131. package/docs/src/pages/components/chips/images/actionchip-state.png +0 -0
  132. package/docs/src/pages/components/chips/images/inputchips-state.png +0 -0
  133. package/docs/src/pages/components/chips/images/selectionchip-state.png +0 -0
  134. package/docs/src/pages/components/chips/usage.mdx +24 -2
  135. package/docs/src/pages/components/datePicker/images/datePicker-3.png +0 -0
  136. package/docs/src/pages/components/datePicker/images/datePicker-6.png +0 -0
  137. package/docs/src/pages/components/datePicker/usage.mdx +9 -2
  138. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableField-2.png +0 -0
  139. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableField-3.png +0 -0
  140. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableFields-1.png +0 -0
  141. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableFields-4.png +0 -0
  142. package/docs/src/pages/components/inlineEditableFields/usage.mdx +4 -4
  143. package/docs/src/pages/components/inputs/usage.mdx +7 -7
  144. package/docs/src/pages/components/tabs/images/tabs-1.png +0 -0
  145. package/docs/src/pages/content/button-guidelines/tabs/button-glossary.mdx +1776 -1
  146. package/docs/src/pages/content/button-guidelines/tabs/confusing-buttons.mdx +479 -8
  147. package/docs/src/pages/content/email-guidelines.mdx +3 -3
  148. package/docs/src/pages/content/house-rules/tabs/date,-time-&-numbers.mdx +24 -0
  149. package/docs/src/pages/content/house-rules/tabs/grammer.mdx +42 -2
  150. package/docs/src/pages/content/house-rules/tabs/punctuations.mdx +32 -0
  151. package/docs/src/pages/foundations/colors.mdx +338 -24
  152. package/docs/src/pages/foundations/layout/index.mdx +57 -82
  153. package/docs/src/pages/foundations/response-time.mdx +32 -77
  154. package/docs/src/pages/index.js +92 -121
  155. package/docs/src/pages/mobile/components/badges/images/badge-1.png +0 -0
  156. package/docs/src/pages/mobile/components/badges/images/badge-2.png +0 -0
  157. package/docs/src/pages/mobile/components/badges/images/badge-3.png +0 -0
  158. package/docs/src/pages/mobile/components/badges/images/badge-4.png +0 -0
  159. package/docs/src/pages/mobile/components/badges/images/badge-5.png +0 -0
  160. package/docs/src/pages/mobile/components/badges/usage.mdx +100 -0
  161. package/docs/src/pages/mobile/components/card/images/mcard-1.png +0 -0
  162. package/docs/src/pages/mobile/components/card/images/mcard-2.png +0 -0
  163. package/docs/src/pages/mobile/components/card/images/mcard-3.png +0 -0
  164. package/docs/src/pages/mobile/components/card/images/mcard-4.png +0 -0
  165. package/docs/src/pages/mobile/components/card/images/mcard-5.png +0 -0
  166. package/docs/src/pages/mobile/components/card/images/mcard-6.png +0 -0
  167. package/docs/src/pages/mobile/components/card/usage.mdx +54 -67
  168. package/docs/src/pages/mobile/components/checkbox/images/checkbox-1.png +0 -0
  169. package/docs/src/pages/mobile/components/checkbox/usage.mdx +26 -2
  170. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-1.png +0 -0
  171. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-10.png +0 -0
  172. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-11.png +0 -0
  173. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-2.png +0 -0
  174. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-3.png +0 -0
  175. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-4.png +0 -0
  176. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-5.png +0 -0
  177. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-6.png +0 -0
  178. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-7.png +0 -0
  179. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-8.png +0 -0
  180. package/docs/src/pages/mobile/components/dropdowns/images/dropdown-9.png +0 -0
  181. package/docs/src/pages/mobile/components/dropdowns/usage.mdx +88 -0
  182. package/docs/src/pages/mobile/components/message/images/messages-1.png +0 -0
  183. package/docs/src/pages/mobile/components/message/images/messages-10.png +0 -0
  184. package/docs/src/pages/mobile/components/message/images/messages-11.png +0 -0
  185. package/docs/src/pages/mobile/components/message/images/messages-12.png +0 -0
  186. package/docs/src/pages/mobile/components/message/images/messages-2.png +0 -0
  187. package/docs/src/pages/mobile/components/message/images/messages-3.png +0 -0
  188. package/docs/src/pages/mobile/components/message/images/messages-4.png +0 -0
  189. package/docs/src/pages/mobile/components/message/images/messages-5.png +0 -0
  190. package/docs/src/pages/mobile/components/message/images/messages-6.png +0 -0
  191. package/docs/src/pages/mobile/components/message/images/messages-7.png +0 -0
  192. package/docs/src/pages/mobile/components/message/images/messages-8.png +0 -0
  193. package/docs/src/pages/mobile/components/message/images/messages-9.png +0 -0
  194. package/docs/src/pages/mobile/components/message/usage.mdx +170 -0
  195. package/docs/src/pages/mobile/components/metaList/images/metaList-1.png +0 -0
  196. package/docs/src/pages/mobile/components/metaList/images/metaList-2.png +0 -0
  197. package/docs/src/pages/mobile/components/metaList/images/metaList-3.png +0 -0
  198. package/docs/src/pages/mobile/components/metaList/images/metaList-4.png +0 -0
  199. package/docs/src/pages/mobile/components/metaList/usage.mdx +71 -0
  200. package/docs/src/pages/mobile/components/slider/images/slider-1.png +0 -0
  201. package/docs/src/pages/mobile/components/slider/images/slider-2.png +0 -0
  202. package/docs/src/pages/mobile/components/slider/images/slider-3.png +0 -0
  203. package/docs/src/pages/mobile/components/slider/images/slider-4.png +0 -0
  204. package/docs/src/pages/mobile/components/slider/images/slider-5.png +0 -0
  205. package/docs/src/pages/mobile/components/slider/usage.mdx +83 -0
  206. package/docs/src/pages/mobile/components/statusHint/images/statushint-1.png +0 -0
  207. package/docs/src/pages/mobile/components/statusHint/images/statushint-2.png +0 -0
  208. package/docs/src/pages/mobile/components/statusHint/images/statushint-3.png +0 -0
  209. package/docs/src/pages/mobile/components/statusHint/images/statushint-4.png +0 -0
  210. package/docs/src/pages/mobile/components/statusHint/images/statushint-5.png +0 -0
  211. package/docs/src/pages/mobile/components/statusHint/images/statushint-6.png +0 -0
  212. package/docs/src/pages/mobile/components/statusHint/images/statushint-7.png +0 -0
  213. package/docs/src/pages/mobile/components/statusHint/usage.mdx +108 -0
  214. package/docs/src/pages/mobile/components/steppers/images/stepper-1.png +0 -0
  215. package/docs/src/pages/mobile/components/steppers/images/stepper-2.png +0 -0
  216. package/docs/src/pages/mobile/components/steppers/images/stepper-3.png +0 -0
  217. package/docs/src/pages/mobile/components/steppers/images/stepper-4.png +0 -0
  218. package/docs/src/pages/mobile/components/steppers/images/stepper-5.png +0 -0
  219. package/docs/src/pages/mobile/components/steppers/images/stepper-6.png +0 -0
  220. package/docs/src/pages/mobile/components/steppers/usage.mdx +111 -0
  221. package/docs/src/pages/mobile/foundations/layout/images/layout-2.png +0 -0
  222. package/docs/src/pages/mobile/foundations/layout/index.mdx +3 -1
  223. package/docs/src/pages/mobile/foundations/page-types/index.mdx +0 -214
  224. package/docs/src/pages/mobile/foundations/spacing/index.mdx +5 -0
  225. package/docs/src/pages/mobile/foundations/typography.mdx +1 -1
  226. package/docs/src/pages/patterns/uiStates/usage.mdx +92 -0
  227. package/docs/src/util/Frontmatter.js +4 -4
  228. package/docs/src/util/HeaderItems.js +2 -1
  229. package/docs/src/util/Helpers.js +3 -3
  230. package/docs/src/util/HomeIcons.js +91 -53
  231. package/docs/src/util/InPageNavItems.js +2 -6
  232. package/docs/src/util/Logos.js +2 -2
  233. package/docs/src/util/MdsChangelog.js +5 -10
  234. package/docs/src/util/MediumBlogs.js +13 -13
  235. package/docs/src/util/NavItems.js +14 -17
  236. package/docs/src/util/Search.js +2 -2
  237. package/docs/src/util/StorybookData.js +2 -4
  238. package/docs/src/util/constants.js +1 -5
  239. package/docs/src/util/context/NavContext.js +1 -4
  240. package/docs/src/util/hooks/useMetadata.js +1 -1
  241. package/package.json +1 -1
  242. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableFields-2.png +0 -0
  243. package/docs/src/pages/components/inlineEditableFields/images/inlineEditableFields-3.png +0 -0
@@ -1,13 +1,13 @@
1
1
  import React, { useState, useEffect, useRef, useCallback } from 'react';
2
2
  import { useSearchItems } from '../../util/Search';
3
3
  import { Input, Popover, Icon, Text, Subheading } from '@innovaccer/design-system';
4
- import { Link } from "gatsby";
5
- import "./search.css";
4
+ import { Link } from 'gatsby';
5
+ import './search.css';
6
6
  import { debounce } from '../../util/Helpers';
7
7
 
8
8
  const getHighlightedText = (text, query) => {
9
- return text.replace(new RegExp(query, "gi"), (match) => `<b>${match}</b>`)
10
- }
9
+ return text.replace(new RegExp(query, 'gi'), (match) => `<b>${match}</b>`);
10
+ };
11
11
 
12
12
  const CustomResultEntry = ({ data, query }) => {
13
13
  return (
@@ -16,32 +16,38 @@ const CustomResultEntry = ({ data, query }) => {
16
16
  <div className="Search-result__entry px-5 py-4">
17
17
  <div className="d-flex align-items-center overflow-hidden">
18
18
  <Text dangerouslySetInnerHTML={{ __html: getHighlightedText(data.frontmatter.title, query) }}></Text>
19
- {
20
- data.slug.includes('mobile') ?
21
- <Icon className="ml-4" appearance='subtle' size={16} name='phone_iphone' /> :
22
- <Icon className="ml-4" appearance='subtle' size={16} name='desktop_windows' />
23
- }
19
+ {data.slug.includes('mobile') ? (
20
+ <Icon className="ml-4" appearance="subtle" size={16} name="phone_iphone" />
21
+ ) : (
22
+ <Icon className="ml-4" appearance="subtle" size={16} name="desktop_windows" />
23
+ )}
24
24
  </div>
25
25
  <div>
26
- <Text appearance='subtle' dangerouslySetInnerHTML={{ __html: getHighlightedText(data.frontmatter.description, query) }}></Text>
26
+ <Text
27
+ appearance="subtle"
28
+ dangerouslySetInnerHTML={{ __html: getHighlightedText(data.frontmatter.description, query) }}
29
+ ></Text>
27
30
  </div>
28
31
  </div>
29
32
  </Link>
30
33
  </div>
31
- )
32
- }
34
+ );
35
+ };
33
36
 
34
37
  const ShowResults = ({ name, list, query }) => {
35
38
  return (
36
39
  <div>
37
- <Subheading className="pb-2 px-5" appearance="subtle">{name}</Subheading>
38
- {list.map((data, key) => <CustomResultEntry key={key} query={query} data={data.node} />)}
40
+ <Subheading className="pb-2 px-5" appearance="subtle">
41
+ {name}
42
+ </Subheading>
43
+ {list.map((data, key) => (
44
+ <CustomResultEntry key={key} query={query} data={data.node} />
45
+ ))}
39
46
  </div>
40
- )
41
- }
47
+ );
48
+ };
42
49
 
43
50
  const PageHit = ({ searchList, query }) => {
44
-
45
51
  const components = [],
46
52
  patterns = [],
47
53
  foundations = [],
@@ -86,10 +92,10 @@ const PageHit = ({ searchList, query }) => {
86
92
  default:
87
93
  break;
88
94
  }
89
- })
95
+ });
90
96
 
91
97
  return (
92
- <div className='w-100'>
98
+ <div className="w-100">
93
99
  {components.length > 0 && <ShowResults query={query} name="Components" list={components} />}
94
100
  {patterns.length > 0 && <ShowResults query={query} name="Patterns" list={patterns} />}
95
101
  {foundations.length > 0 && <ShowResults query={query} name="Foundations" list={foundations} />}
@@ -97,51 +103,46 @@ const PageHit = ({ searchList, query }) => {
97
103
  {resources.length > 0 && <ShowResults query={query} name="Resources" list={resources} />}
98
104
  {introduction.length > 0 && <ShowResults query={query} name="Introduction" list={introduction} />}
99
105
  </div>
100
- )
101
- }
106
+ );
107
+ };
102
108
 
103
109
  const NoQueryResult = () => {
104
110
  return (
105
111
  <div className="p-7 d-flex align-items-center overflow-hidden">
106
- <Icon className="mr-6" appearance='subtle' size={24} name='touch_app' />
107
- <Text weight="medium" appearance='subtle'>
112
+ <Icon className="mr-6" appearance="subtle" size={24} name="touch_app" />
113
+ <Text weight="medium" appearance="subtle">
108
114
  Tip: Press ’cmd + k’ to quickly start searching.
109
115
  </Text>
110
116
  </div>
111
- )
112
- }
117
+ );
118
+ };
113
119
 
114
120
  const NoResultFound = ({ query }) => {
115
121
  return (
116
122
  <div className="p-7 d-flex align-items-center overflow-hidden">
117
- <Icon className="mr-6" appearance='subtle' size={24} name='search_off' />
118
- <Text weight="medium">
119
- {`No results found for '${query}'`}
120
- </Text>
123
+ <Icon className="mr-6" appearance="subtle" size={24} name="search_off" />
124
+ <Text weight="medium">{`No results found for '${query}'`}</Text>
121
125
  </div>
122
- )
123
- }
126
+ );
127
+ };
124
128
 
125
129
  const ShowQueryResult = ({ query, searchResult }) => {
126
130
  return (
127
131
  <div className="pt-6 pb-4 d-flex align-items-center overflow-hidden">
128
132
  <PageHit query={query} searchList={searchResult} />
129
133
  </div>
130
- )
131
- }
134
+ );
135
+ };
132
136
 
133
137
  const Content = ({ query, searchResult }) => {
134
138
  return (
135
139
  <>
136
140
  {query === '' && <NoQueryResult />}
137
141
  {query && searchResult.length === 0 && <NoResultFound query={query} />}
138
- {
139
- query && searchResult.length != 0 &&
140
- <ShowQueryResult query={query} searchResult={searchResult} />
141
- }
142
+ {query && searchResult.length != 0 && <ShowQueryResult query={query} searchResult={searchResult} />}
142
143
  </>
143
- )
144
- }
144
+ );
145
+ };
145
146
 
146
147
  const Search = ({ parentRef }) => {
147
148
  const [query, setQuery] = useState('');
@@ -156,7 +157,7 @@ const Search = ({ parentRef }) => {
156
157
 
157
158
  return () => {
158
159
  element.removeEventListener('keydown', handleInstantSearch);
159
- }
160
+ };
160
161
  }, []);
161
162
 
162
163
  const handleInstantSearch = (e) => {
@@ -165,14 +166,16 @@ const Search = ({ parentRef }) => {
165
166
  e.preventDefault();
166
167
  inputField.click();
167
168
  }
168
- }
169
+ };
169
170
 
170
171
  const handleSearchQuery = debounce((target) => {
171
172
  const query = target.value;
172
173
  setOpenPopover(true);
173
174
  const list = searchList.filter((data) => {
174
175
  const { title, description } = data.node.frontmatter;
175
- return title.toLowerCase().includes(query?.toLowerCase()) || description.toLowerCase().includes(query?.toLowerCase());
176
+ return (
177
+ title.toLowerCase().includes(query?.toLowerCase()) || description.toLowerCase().includes(query?.toLowerCase())
178
+ );
176
179
  });
177
180
  setSearchResult(list);
178
181
  });
@@ -182,7 +185,7 @@ const Search = ({ parentRef }) => {
182
185
  }, []);
183
186
 
184
187
  return (
185
- <div className='d-flex justify-content-end align-items-center'>
188
+ <div className="d-flex justify-content-end align-items-center">
186
189
  <Popover
187
190
  position="bottom-start"
188
191
  open={openPopover}
@@ -201,7 +204,7 @@ const Search = ({ parentRef }) => {
201
204
  onBlur={() => setOpenPopover(false)}
202
205
  onChange={({ target }) => {
203
206
  setQuery(target.value);
204
- handleSearchQuery(target)
207
+ handleSearchQuery(target);
205
208
  }}
206
209
  />
207
210
  }
@@ -30,3 +30,7 @@
30
30
  .HeaderLink--default {
31
31
  color: var(--inverse);
32
32
  }
33
+
34
+ .HeaderIcon {
35
+ top: 2px;
36
+ }
@@ -2,8 +2,14 @@ import React from 'react';
2
2
  import { Link } from 'gatsby';
3
3
  import { useHeaderItems } from '../../util/HeaderItems';
4
4
  import './Header.css';
5
- import { Link as MDSLink } from '@innovaccer/design-system';
5
+ import { Link as MDSLink, Icon } from '@innovaccer/design-system';
6
6
  import Search from '../GlobalSearch';
7
+ import * as HomeIcons from '../../util/HomeIcons';
8
+
9
+ const MenuIcons = ({ name }) => {
10
+ const SvgIcons = HomeIcons[name] || (() => <div></div>);
11
+ return <SvgIcons />;
12
+ };
7
13
 
8
14
  const Header = ({ relativePagePath }) => {
9
15
  const ref = React.createRef();
@@ -13,27 +19,21 @@ const Header = ({ relativePagePath }) => {
13
19
  const pagePath = relativePagePath.split('/');
14
20
  if (pagePath[1] === label.toLowerCase() || pagePath[2] === label.toLowerCase()) return true;
15
21
  return false;
16
- }
22
+ };
17
23
 
18
24
  const onClickHandler = () => {
19
25
  localStorage.removeItem('leftNavScrollPosition');
20
- }
26
+ };
21
27
 
22
28
  return (
23
- <div
24
- id="mainHeader"
25
- ref={ref}
26
- className='header bg-light d-flex w-100 position-sticky px-5'
27
- >
28
- <div className='d-flex justify-content-start align-items-center'>
29
- <Link to='/' className='HeaderLink ml-0'>
29
+ <div id="mainHeader" ref={ref} className="header bg-light d-flex w-100 position-sticky px-5">
30
+ <div className="d-flex justify-content-start align-items-center">
31
+ <Link to="/" className="HeaderLink ml-0">
30
32
  <img src="/images/headerLogo.png" width="290px" height="28px" />
31
33
  </Link>
32
34
  <div>
33
- {items.map(({ link, label }, index) => {
34
- const isExternal =
35
- link.startsWith('http://') ||
36
- link.startsWith('https://');
35
+ {items.map(({ link, label, img }, index) => {
36
+ const isExternal = link.startsWith('http://') || link.startsWith('https://');
37
37
 
38
38
  if (isExternal) {
39
39
  return (
@@ -45,20 +45,26 @@ const Header = ({ relativePagePath }) => {
45
45
  className="HeaderLink HeaderLink--default"
46
46
  >
47
47
  {label}
48
+ {img &&
49
+ <Icon className="HeaderIcon position-relative pl-4">
50
+ <MenuIcons name={img} />
51
+ </Icon>
52
+ }
48
53
  </MDSLink>
49
- )
54
+ );
50
55
  }
51
56
  return (
52
57
  <Link
53
58
  to={link}
54
59
  key={index}
55
60
  onClick={onClickHandler}
56
- className={`HeaderLink ${checkActive(label)
57
- ? 'HeaderLink--active'
58
- : 'HeaderLink--default'
59
- }`}
61
+ className={`HeaderLink ${checkActive(label) ? 'HeaderLink--active' : 'HeaderLink--default'}`}
60
62
  >
61
63
  {label}
64
+ {img && <Icon className="HeaderIcon position-relative pl-8">
65
+ <MenuIcons name={img} />
66
+ </Icon>
67
+ }
62
68
  </Link>
63
69
  );
64
70
  })}