@npm_leadtech/legal-lib-components 7.15.0 → 7.16.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 (221) hide show
  1. package/dist/css/styles.css +30 -15
  2. package/dist/images/componentsSvg/SearchIcon.d.ts +4 -0
  3. package/dist/images/componentsSvg/SearchIcon.js +4 -0
  4. package/dist/images/componentsSvg/SearchIcon.tsx +26 -0
  5. package/dist/images/svg/arrow-down.svg +3 -0
  6. package/dist/images/svg/business-type.svg +3 -0
  7. package/dist/images/svg/clear-24-px.svg +14 -0
  8. package/dist/images/svg/men.svg +5 -0
  9. package/dist/src/components/atoms/DropdownInput/DropdownInput.d.ts +3 -0
  10. package/dist/src/components/atoms/DropdownInput/DropdownInput.js +24 -0
  11. package/dist/src/components/atoms/DropdownInput/DropdownInput.styled.d.ts +1 -0
  12. package/dist/src/components/atoms/DropdownInput/DropdownInput.styled.js +147 -0
  13. package/dist/src/components/atoms/DropdownInput/DropdownInput.styled.ts +149 -0
  14. package/dist/src/components/atoms/DropdownInput/DropdownInput.tsx +60 -0
  15. package/dist/src/components/atoms/DropdownInput/DropdownInputProps.types.d.ts +8 -0
  16. package/dist/src/components/atoms/DropdownInput/DropdownInputProps.types.js +2 -0
  17. package/dist/src/components/atoms/DropdownInput/DropdownInputProps.types.ts +10 -0
  18. package/dist/src/components/atoms/DropdownInput/index.d.ts +2 -0
  19. package/dist/src/components/atoms/DropdownInput/index.js +1 -0
  20. package/dist/src/components/atoms/DropdownInput/index.ts +2 -0
  21. package/dist/src/components/atoms/MenuItemsDeprecated/MenuItemsDeprecated.d.ts +4 -0
  22. package/dist/src/components/atoms/{MenuItems/MenuItems.js → MenuItemsDeprecated/MenuItemsDeprecated.js} +4 -4
  23. package/dist/src/components/atoms/MenuItemsDeprecated/MenuItemsDeprecated.styled.d.ts +1 -0
  24. package/dist/src/components/atoms/{MenuItems/MenuItems.styled.js → MenuItemsDeprecated/MenuItemsDeprecated.styled.js} +1 -1
  25. package/dist/src/components/atoms/{MenuItems/MenuItems.styled.ts → MenuItemsDeprecated/MenuItemsDeprecated.styled.ts} +1 -1
  26. package/dist/src/components/atoms/{MenuItems/MenuItems.tsx → MenuItemsDeprecated/MenuItemsDeprecated.tsx} +12 -6
  27. package/dist/src/components/atoms/{MenuItems/MenuItemProps.types.d.ts → MenuItemsDeprecated/MenuItemsDeprecatedProps.types.d.ts} +1 -1
  28. package/dist/src/components/atoms/{MenuItems/MenuItemProps.types.ts → MenuItemsDeprecated/MenuItemsDeprecatedProps.types.ts} +1 -1
  29. package/dist/src/components/atoms/MenuItemsDeprecated/index.d.ts +2 -0
  30. package/dist/src/components/atoms/MenuItemsDeprecated/index.js +1 -0
  31. package/dist/src/components/atoms/MenuItemsDeprecated/index.ts +2 -0
  32. package/dist/src/components/atoms/SidemenuTab/SidemenuTab.js +2 -2
  33. package/dist/src/components/atoms/SidemenuTab/SidemenuTab.tsx +2 -2
  34. package/dist/src/components/atoms/TopBar/TopBar.styled.js +48 -1
  35. package/dist/src/components/atoms/TopBar/TopBar.styled.ts +48 -1
  36. package/dist/src/components/atoms/TopBar/TopBar.tsx +1 -1
  37. package/dist/src/components/atoms/index.d.ts +2 -2
  38. package/dist/src/components/atoms/index.js +2 -2
  39. package/dist/src/components/atoms/index.ts +2 -2
  40. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.d.ts +3 -0
  41. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.js +6 -0
  42. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.styled.d.ts +1 -0
  43. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.styled.js +18 -0
  44. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.styled.ts +19 -0
  45. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenu.tsx +22 -0
  46. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenuProps.types.d.ts +8 -0
  47. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenuProps.types.js +1 -0
  48. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/AllTypeDocumentsItemMenuProps.types.ts +9 -0
  49. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/index.d.ts +2 -0
  50. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/index.js +1 -0
  51. package/dist/src/components/molecules/AllTypeDocumentsItemMenu/index.ts +2 -0
  52. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.d.ts +3 -0
  53. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.js +7 -0
  54. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.styled.d.ts +1 -0
  55. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.styled.js +20 -0
  56. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.styled.ts +21 -0
  57. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSection.tsx +35 -0
  58. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSectionProps.types.d.ts +16 -0
  59. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSectionProps.types.js +1 -0
  60. package/dist/src/components/molecules/DocumentListMenuSection/DocumentListMenuSectionProps.types.ts +18 -0
  61. package/dist/src/components/molecules/DocumentListMenuSection/index.d.ts +2 -0
  62. package/dist/src/components/molecules/DocumentListMenuSection/index.js +1 -0
  63. package/dist/src/components/molecules/DocumentListMenuSection/index.ts +2 -0
  64. package/dist/src/components/molecules/MenuItemsSection/MenuItemsSection.js +2 -2
  65. package/dist/src/components/molecules/MenuItemsSection/MenuItemsSection.tsx +2 -2
  66. package/dist/src/components/molecules/MenuItemsSection/MenuItemsSectionProps.types.d.ts +1 -1
  67. package/dist/src/components/molecules/MenuItemsSection/MenuItemsSectionProps.types.ts +1 -1
  68. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.d.ts +3 -0
  69. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.js +5 -0
  70. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.styled.d.ts +1 -0
  71. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.styled.js +26 -0
  72. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.styled.ts +27 -0
  73. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitle.tsx +17 -0
  74. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitleProps.types.d.ts +4 -0
  75. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitleProps.types.js +1 -0
  76. package/dist/src/components/molecules/MenuSectionTitle/MenuSectionTitleProps.types.ts +4 -0
  77. package/dist/src/components/molecules/MenuSectionTitle/index.d.ts +2 -0
  78. package/dist/src/components/molecules/MenuSectionTitle/index.js +1 -0
  79. package/dist/src/components/molecules/MenuSectionTitle/index.ts +2 -0
  80. package/dist/src/components/molecules/NavBarDropDown/NavBarDropDown.js +2 -2
  81. package/dist/src/components/molecules/NavBarDropDown/NavBarDropDown.tsx +2 -2
  82. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.d.ts +4 -0
  83. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.js +7 -0
  84. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.styled.d.ts +1 -0
  85. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.styled.js +34 -0
  86. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.styled.ts +35 -0
  87. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBar.tsx +23 -0
  88. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBarProps.types.d.ts +4 -0
  89. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBarProps.types.js +1 -0
  90. package/dist/src/components/molecules/NavMobileContactBar/NavMobileContactBarProps.types.ts +4 -0
  91. package/dist/src/components/molecules/NavMobileContactBar/index.d.ts +2 -0
  92. package/dist/src/components/molecules/NavMobileContactBar/index.js +1 -0
  93. package/dist/src/components/molecules/NavMobileContactBar/index.ts +2 -0
  94. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.d.ts +3 -0
  95. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.js +5 -0
  96. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.styled.d.ts +1 -0
  97. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.styled.js +18 -0
  98. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.styled.ts +19 -0
  99. package/dist/src/components/molecules/ProductListMenu/ProductListMenu.tsx +25 -0
  100. package/dist/src/components/molecules/ProductListMenu/ProductListMenuProps.types.d.ts +8 -0
  101. package/dist/src/components/molecules/ProductListMenu/ProductListMenuProps.types.js +1 -0
  102. package/dist/src/components/molecules/ProductListMenu/ProductListMenuProps.types.ts +9 -0
  103. package/dist/src/components/molecules/ProductListMenu/index.d.ts +2 -0
  104. package/dist/src/components/molecules/ProductListMenu/index.js +1 -0
  105. package/dist/src/components/molecules/ProductListMenu/index.ts +2 -0
  106. package/dist/src/components/molecules/SearchBar/SearchBar.d.ts +3 -0
  107. package/dist/src/components/molecules/SearchBar/SearchBar.js +33 -0
  108. package/dist/src/components/molecules/SearchBar/SearchBar.styled.d.ts +1 -0
  109. package/dist/src/components/molecules/SearchBar/SearchBar.styled.js +62 -0
  110. package/dist/src/components/molecules/SearchBar/SearchBar.styled.ts +63 -0
  111. package/dist/src/components/molecules/SearchBar/SearchBar.tsx +72 -0
  112. package/dist/src/components/molecules/SearchBar/SearchBarProps.types.d.ts +37 -0
  113. package/dist/src/components/molecules/SearchBar/SearchBarProps.types.js +1 -0
  114. package/dist/src/components/molecules/SearchBar/SearchBarProps.types.ts +41 -0
  115. package/dist/src/components/molecules/SearchBar/index.d.ts +2 -0
  116. package/dist/src/components/molecules/SearchBar/index.js +1 -0
  117. package/dist/src/components/molecules/SearchBar/index.ts +2 -0
  118. package/dist/src/components/molecules/TextInput/TextInput.scss +31 -15
  119. package/dist/src/components/molecules/TextInput/stories/TextInput.stories.tsx +13 -2
  120. package/dist/src/components/molecules/TooltipMenu/TooltipMenu.js +2 -2
  121. package/dist/src/components/molecules/TooltipMenu/TooltipMenu.tsx +2 -2
  122. package/dist/src/components/molecules/index.d.ts +5 -0
  123. package/dist/src/components/molecules/index.js +5 -0
  124. package/dist/src/components/molecules/index.ts +5 -0
  125. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.d.ts +3 -0
  126. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.js +7 -0
  127. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.styled.d.ts +1 -0
  128. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.styled.js +67 -0
  129. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.styled.ts +68 -0
  130. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenu.tsx +47 -0
  131. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenuProps.types.d.ts +21 -0
  132. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenuProps.types.js +1 -0
  133. package/dist/src/components/organisms/DocumentListMenu/DocumentListMenuProps.types.ts +24 -0
  134. package/dist/src/components/organisms/DocumentListMenu/index.d.ts +2 -0
  135. package/dist/src/components/organisms/DocumentListMenu/index.js +1 -0
  136. package/dist/src/components/organisms/DocumentListMenu/index.ts +2 -0
  137. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.d.ts +3 -0
  138. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.js +11 -0
  139. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.styled.d.ts +1 -0
  140. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.styled.js +94 -0
  141. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.styled.ts +95 -0
  142. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenu.tsx +59 -0
  143. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenuProps.types.d.ts +22 -0
  144. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenuProps.types.js +1 -0
  145. package/dist/src/components/organisms/DocumentMainMenu/DocumentMainMenuProps.types.ts +25 -0
  146. package/dist/src/components/organisms/DocumentMainMenu/index.d.ts +2 -0
  147. package/dist/src/components/organisms/DocumentMainMenu/index.js +1 -0
  148. package/dist/src/components/organisms/DocumentMainMenu/index.ts +2 -0
  149. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.d.ts +4 -0
  150. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.js +7 -0
  151. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.styled.d.ts +1 -0
  152. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.styled.js +27 -0
  153. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.styled.ts +28 -0
  154. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenu.tsx +21 -0
  155. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenuProps.types.d.ts +7 -0
  156. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenuProps.types.js +1 -0
  157. package/dist/src/components/organisms/DocumentSubMenu/DocumentSubMenuProps.types.ts +8 -0
  158. package/dist/src/components/organisms/DocumentSubMenu/index.d.ts +2 -0
  159. package/dist/src/components/organisms/DocumentSubMenu/index.js +1 -0
  160. package/dist/src/components/organisms/DocumentSubMenu/index.ts +2 -0
  161. package/dist/src/components/organisms/MenuItems/MenuItems.d.ts +3 -0
  162. package/dist/src/components/organisms/MenuItems/MenuItems.js +10 -0
  163. package/dist/src/components/{atoms → organisms}/MenuItems/MenuItems.styled.d.ts +1 -1
  164. package/dist/src/components/organisms/MenuItems/MenuItems.styled.js +719 -0
  165. package/dist/src/components/organisms/MenuItems/MenuItems.styled.ts +723 -0
  166. package/dist/src/components/organisms/MenuItems/MenuItems.tsx +81 -0
  167. package/dist/src/components/organisms/MenuItems/MenuItemsProps.types.d.ts +45 -0
  168. package/dist/src/components/organisms/MenuItems/MenuItemsProps.types.js +1 -0
  169. package/dist/src/components/organisms/MenuItems/MenuItemsProps.types.ts +46 -0
  170. package/dist/src/components/organisms/MenuItems/index.d.ts +2 -0
  171. package/dist/src/components/organisms/MenuItems/index.js +1 -0
  172. package/dist/src/components/organisms/MenuItems/index.ts +2 -0
  173. package/dist/src/components/organisms/NavMenu/NavMenu.d.ts +3 -0
  174. package/dist/src/components/organisms/NavMenu/NavMenu.js +10 -0
  175. package/dist/src/components/organisms/NavMenu/NavMenu.styled.d.ts +1 -0
  176. package/dist/src/components/organisms/NavMenu/NavMenu.styled.js +644 -0
  177. package/dist/src/components/organisms/NavMenu/NavMenu.styled.ts +648 -0
  178. package/dist/src/components/organisms/NavMenu/NavMenu.tsx +121 -0
  179. package/dist/src/components/organisms/NavMenu/NavMenuProps.types.d.ts +80 -0
  180. package/dist/src/components/organisms/NavMenu/NavMenuProps.types.js +1 -0
  181. package/dist/src/components/organisms/NavMenu/NavMenuProps.types.ts +82 -0
  182. package/dist/src/components/organisms/NavMenu/index.d.ts +2 -0
  183. package/dist/src/components/organisms/NavMenu/index.js +1 -0
  184. package/dist/src/components/organisms/NavMenu/index.ts +2 -0
  185. package/dist/src/components/organisms/index.d.ts +4 -0
  186. package/dist/src/components/organisms/index.js +4 -0
  187. package/dist/src/components/organisms/index.ts +4 -0
  188. package/dist/src/components/sections/Header/Header.d.ts +4 -0
  189. package/dist/src/components/sections/Header/Header.js +11 -0
  190. package/dist/src/components/sections/Header/Header.styled.d.ts +1 -0
  191. package/dist/src/components/sections/Header/Header.styled.js +136 -0
  192. package/dist/src/components/sections/Header/Header.styled.ts +137 -0
  193. package/dist/src/components/sections/Header/Header.tsx +28 -0
  194. package/dist/src/components/sections/Header/HeaderProps.types.d.ts +97 -0
  195. package/dist/src/components/sections/Header/HeaderProps.types.js +1 -0
  196. package/dist/src/components/sections/Header/HeaderProps.types.ts +101 -0
  197. package/dist/src/components/sections/Header/index.d.ts +2 -0
  198. package/dist/src/components/sections/Header/index.js +1 -0
  199. package/dist/src/components/sections/Header/index.ts +2 -0
  200. package/dist/src/components/sections/index.d.ts +1 -0
  201. package/dist/src/components/sections/index.js +1 -0
  202. package/dist/src/components/sections/index.ts +1 -0
  203. package/dist/src/hooks/useWindowSize.d.ts +6 -0
  204. package/dist/src/hooks/useWindowSize.js +43 -0
  205. package/dist/src/hooks/useWindowSize.tsx +51 -0
  206. package/dist/tsconfig.build.tsbuildinfo +1 -1
  207. package/package.json +1 -1
  208. package/dist/src/components/atoms/MenuItems/MenuItems.d.ts +0 -4
  209. package/dist/src/components/atoms/MenuItems/index.d.ts +0 -2
  210. package/dist/src/components/atoms/MenuItems/index.js +0 -1
  211. package/dist/src/components/atoms/MenuItems/index.ts +0 -2
  212. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.d.ts +0 -7
  213. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.js +0 -10
  214. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.styled.d.ts +0 -1
  215. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.styled.js +0 -49
  216. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.styled.ts +0 -50
  217. package/dist/src/components/atoms/TopBarMobile/TopBarMobile.tsx +0 -22
  218. package/dist/src/components/atoms/TopBarMobile/index.d.ts +0 -1
  219. package/dist/src/components/atoms/TopBarMobile/index.js +0 -1
  220. package/dist/src/components/atoms/TopBarMobile/index.ts +0 -1
  221. /package/dist/src/components/atoms/{MenuItems/MenuItemProps.types.js → MenuItemsDeprecated/MenuItemsDeprecatedProps.types.js} +0 -0
@@ -0,0 +1,121 @@
1
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
2
+ import React from 'react'
3
+
4
+ import { LanguageSelector } from '../LanguageSelector'
5
+ import { MenuItems } from '../MenuItems'
6
+ import { type NavMenuProps } from './NavMenuProps.types'
7
+ import { NavMenuStyled } from './NavMenu.styled'
8
+ import { NavMobileContactBar } from '../../molecules/NavMobileContactBar'
9
+ import { PhoneIcon } from '../../../../images/componentsSvg/PhoneIcon'
10
+ import { SearchBar } from '../../../components/molecules/SearchBar/SearchBar'
11
+
12
+ export const NavMenu: React.FC<NavMenuProps> = ({
13
+ isLeftNavHidden,
14
+ isHeaderProductsHidden,
15
+ isSearchBarHidden,
16
+ isResourcesHidden,
17
+ showHeaderPhone,
18
+ toggleMenuOpen,
19
+ isMenuOpen,
20
+ languageSelectorProps,
21
+ configVars,
22
+ searchableProducts,
23
+ finalMenu,
24
+ userActions,
25
+ menuStrings,
26
+ routes,
27
+ searchBarTexts,
28
+ sitePhone,
29
+ handleResultClick,
30
+ languageSelectorConfigEnabled,
31
+ isJonSnow,
32
+ isMobile,
33
+ triggerMenuClose,
34
+ triggerMenuOpen,
35
+ setCookiePolicyFunc,
36
+ navMenuItems,
37
+ extraMenu
38
+ }) => {
39
+ return (
40
+ <NavMenuStyled>
41
+ {isMobile ? (
42
+ <nav
43
+ itemScope
44
+ itemType='https://www.schema.org/SiteNavigationElement'
45
+ className={`navigation-pane --is-mobile ${isHeaderProductsHidden ? '--no-products' : ''}`}
46
+ >
47
+ <div
48
+ onClick={toggleMenuOpen}
49
+ onKeyDown={toggleMenuOpen}
50
+ className={'navigation-pane__trigger sans-serif --small'}
51
+ >
52
+ {!isMenuOpen ? triggerMenuOpen : triggerMenuClose}
53
+ </div>
54
+ {isMenuOpen && (
55
+ <div className={'navigation-pane__wrapper'}>
56
+ {userActions}
57
+ {!isSearchBarHidden && (
58
+ <SearchBar
59
+ products={searchableProducts}
60
+ searchBarTexts={searchBarTexts}
61
+ routes={routes}
62
+ handleResultClick={handleResultClick}
63
+ />
64
+ )}
65
+ <MenuItems
66
+ hasProducts={!isHeaderProductsHidden}
67
+ isResourcesHidden={isResourcesHidden}
68
+ seeAllDocumentsText={menuStrings}
69
+ setCookiePolicyFunc={setCookiePolicyFunc}
70
+ routes={routes}
71
+ finalMenu={finalMenu}
72
+ isMobile={isMobile}
73
+ configVars={configVars}
74
+ navMenuItems={navMenuItems}
75
+ extraMenu={extraMenu}
76
+ />
77
+ {!isJonSnow && <NavMobileContactBar phone={sitePhone} />}
78
+ </div>
79
+ )}
80
+ </nav>
81
+ ) : (
82
+ <nav className={`navigation-pane --is-desktop ${isHeaderProductsHidden ? '--no-products' : ''}`}>
83
+ {!isLeftNavHidden && (
84
+ <div className='left-nav'>
85
+ <MenuItems
86
+ hasProducts={!isHeaderProductsHidden}
87
+ isResourcesHidden={isResourcesHidden}
88
+ seeAllDocumentsText={menuStrings}
89
+ setCookiePolicyFunc={setCookiePolicyFunc}
90
+ routes={routes}
91
+ finalMenu={finalMenu}
92
+ isMobile={isMobile}
93
+ configVars={configVars}
94
+ navMenuItems={navMenuItems}
95
+ extraMenu={extraMenu}
96
+ />
97
+ </div>
98
+ )}
99
+ <div className='right-nav'>
100
+ {showHeaderPhone && (
101
+ <div className='header-phone'>
102
+ <PhoneIcon />
103
+ <b>{sitePhone} </b>
104
+ </div>
105
+ )}
106
+ {!isSearchBarHidden && (
107
+ <SearchBar
108
+ products={searchableProducts}
109
+ searchBarTexts={searchBarTexts}
110
+ routes={routes}
111
+ handleResultClick={handleResultClick}
112
+ />
113
+ )}
114
+ {languageSelectorConfigEnabled && languageSelectorProps && <LanguageSelector {...languageSelectorProps} />}
115
+ {userActions}
116
+ </div>
117
+ </nav>
118
+ )}
119
+ </NavMenuStyled>
120
+ )
121
+ }
@@ -0,0 +1,80 @@
1
+ import { DocumentListMenuSectionProps } from '../../molecules/DocumentListMenuSection';
2
+ import { type LanguageSelectorProps } from '../LanguageSelector/LanguageSelectorProps';
3
+ import { Routes } from '../../sections/Header/HeaderProps.types';
4
+ export interface Products {
5
+ categoryUrl?: string;
6
+ isFeatured?: boolean;
7
+ popularOrder: number;
8
+ jumboTitle: string;
9
+ linkText: string;
10
+ slug: string;
11
+ footerPopularDocument?: boolean;
12
+ logoImgBig?: string;
13
+ logoImgSmall?: string;
14
+ categoryProduct?: {
15
+ name: string;
16
+ icon: string;
17
+ };
18
+ }
19
+ export interface StrapiSearchBar {
20
+ title: string;
21
+ placeholder: string;
22
+ }
23
+ export interface NavMenuProps {
24
+ isLeftNavHidden?: boolean;
25
+ isHeaderProductsHidden?: boolean;
26
+ isSearchBarHidden?: boolean;
27
+ isResourcesHidden?: boolean;
28
+ showHeaderPhone?: boolean;
29
+ languageSelectorProps?: LanguageSelectorProps;
30
+ userActions: React.ReactNode;
31
+ menuStrings: {
32
+ seeAllLegalDocs: string;
33
+ seeAllTypeDocs: string;
34
+ allLegalDocs: string;
35
+ allTypeDocs: string;
36
+ };
37
+ routes: Routes;
38
+ searchBarTexts: StrapiSearchBar;
39
+ sitePhone: string;
40
+ handleResultClick: (product: string, link: string) => void;
41
+ searchableProducts: Products[];
42
+ isMenuOpen: boolean;
43
+ languageSelectorConfigEnabled: boolean;
44
+ isJonSnow: boolean;
45
+ isMobile: boolean;
46
+ triggerMenuOpen: React.ReactNode;
47
+ triggerMenuClose: React.ReactNode;
48
+ toggleMenuOpen: () => void;
49
+ setCookiePolicyFunc: (url?: string, setCookiePolicyAccepted?: boolean) => void;
50
+ finalMenu: DocumentListMenuSectionProps[];
51
+ configVars: {
52
+ TARGET_ADDRESS: string;
53
+ ESIGNATURE_CONFIG: {
54
+ ENABLED: boolean;
55
+ SIGN_SUBDOMAIN: string;
56
+ };
57
+ IS_JONSNOW: boolean;
58
+ HAS_GRAV_SITEMAP: boolean;
59
+ RATAFIA_CONFIG: {
60
+ ENABLED: boolean;
61
+ CLAUSES_ENABLED: boolean;
62
+ };
63
+ HAS_SUBCATEGORY_PAGE: boolean;
64
+ };
65
+ navMenuItems: {
66
+ title: string;
67
+ dataQa: string;
68
+ href: string;
69
+ label: string;
70
+ }[];
71
+ extraMenu?: {
72
+ title: string;
73
+ items: {
74
+ title: string;
75
+ dataQa: string;
76
+ href: string;
77
+ label: string;
78
+ }[];
79
+ };
80
+ }
@@ -0,0 +1,82 @@
1
+ import { DocumentListMenuSectionProps } from '../../molecules/DocumentListMenuSection'
2
+ import { type LanguageSelectorProps } from '../LanguageSelector/LanguageSelectorProps'
3
+ import { Routes } from '../../sections/Header/HeaderProps.types'
4
+
5
+ export interface Products {
6
+ categoryUrl?: string
7
+ isFeatured?: boolean
8
+ popularOrder: number
9
+ jumboTitle: string
10
+ linkText: string
11
+ slug: string
12
+ footerPopularDocument?: boolean
13
+ logoImgBig?: string
14
+ logoImgSmall?: string
15
+ categoryProduct?: {
16
+ name: string
17
+ icon: string
18
+ }
19
+ }
20
+ export interface StrapiSearchBar {
21
+ title: string
22
+ placeholder: string
23
+ }
24
+
25
+ export interface NavMenuProps {
26
+ isLeftNavHidden?: boolean
27
+ isHeaderProductsHidden?: boolean
28
+ isSearchBarHidden?: boolean
29
+ isResourcesHidden?: boolean
30
+ showHeaderPhone?: boolean
31
+ languageSelectorProps?: LanguageSelectorProps
32
+ userActions: React.ReactNode
33
+ menuStrings: {
34
+ seeAllLegalDocs: string
35
+ seeAllTypeDocs: string
36
+ allLegalDocs: string
37
+ allTypeDocs: string
38
+ }
39
+ routes: Routes
40
+ searchBarTexts: StrapiSearchBar
41
+ sitePhone: string
42
+ handleResultClick: (product: string, link: string) => void
43
+ searchableProducts: Products[]
44
+ isMenuOpen: boolean
45
+ languageSelectorConfigEnabled: boolean
46
+ isJonSnow: boolean
47
+ isMobile: boolean
48
+ triggerMenuOpen: React.ReactNode
49
+ triggerMenuClose: React.ReactNode
50
+ toggleMenuOpen: () => void
51
+ setCookiePolicyFunc: (url?: string, setCookiePolicyAccepted?: boolean) => void
52
+ finalMenu: DocumentListMenuSectionProps[]
53
+ configVars: {
54
+ TARGET_ADDRESS: string
55
+ ESIGNATURE_CONFIG: {
56
+ ENABLED: boolean
57
+ SIGN_SUBDOMAIN: string
58
+ }
59
+ IS_JONSNOW: boolean
60
+ HAS_GRAV_SITEMAP: boolean
61
+ RATAFIA_CONFIG: {
62
+ ENABLED: boolean
63
+ CLAUSES_ENABLED: boolean
64
+ }
65
+ HAS_SUBCATEGORY_PAGE: boolean
66
+ }
67
+ navMenuItems: {
68
+ title: string
69
+ dataQa: string
70
+ href: string
71
+ label: string
72
+ }[]
73
+ extraMenu?: {
74
+ title: string
75
+ items: {
76
+ title: string
77
+ dataQa: string
78
+ href: string
79
+ label: string
80
+ }[]
81
+ }
82
+ }
@@ -0,0 +1,2 @@
1
+ export { NavMenu } from './NavMenu';
2
+ export { type NavMenuProps } from './NavMenuProps.types';
@@ -0,0 +1 @@
1
+ export { NavMenu } from './NavMenu';
@@ -0,0 +1,2 @@
1
+ export { NavMenu } from './NavMenu'
2
+ export { type NavMenuProps } from './NavMenuProps.types'
@@ -7,6 +7,9 @@ export * from './CardFunctionality';
7
7
  export * from './ContactContent';
8
8
  export * from './ContactJumbotron';
9
9
  export * from './CookiePolicyBar';
10
+ export * from './DocumentListMenu';
11
+ export * from './DocumentMainMenu';
12
+ export * from './DocumentSubMenu';
10
13
  export * from './ErrorContentRatafia';
11
14
  export * from './FaqGroup';
12
15
  export * from './FeaturesRatafiaContent';
@@ -21,6 +24,7 @@ export * from './LimitReachedContentRatafia';
21
24
  export * from './ListStepsGetForm';
22
25
  export * from './LoginRatafiaContent';
23
26
  export * from './MobileBottomBar';
27
+ export * from './NavMenu';
24
28
  export * from './RatafiaLoadingResultContent';
25
29
  export * from './RatafiaResultContent';
26
30
  export * from './StepsRatafiaContent';
@@ -7,6 +7,9 @@ export * from './CardFunctionality';
7
7
  export * from './ContactContent';
8
8
  export * from './ContactJumbotron';
9
9
  export * from './CookiePolicyBar';
10
+ export * from './DocumentListMenu';
11
+ export * from './DocumentMainMenu';
12
+ export * from './DocumentSubMenu';
10
13
  export * from './ErrorContentRatafia';
11
14
  export * from './FaqGroup';
12
15
  export * from './FeaturesRatafiaContent';
@@ -21,6 +24,7 @@ export * from './LimitReachedContentRatafia';
21
24
  export * from './ListStepsGetForm';
22
25
  export * from './LoginRatafiaContent';
23
26
  export * from './MobileBottomBar';
27
+ export * from './NavMenu';
24
28
  export * from './RatafiaLoadingResultContent';
25
29
  export * from './RatafiaResultContent';
26
30
  export * from './StepsRatafiaContent';
@@ -7,6 +7,9 @@ export * from './CardFunctionality'
7
7
  export * from './ContactContent'
8
8
  export * from './ContactJumbotron'
9
9
  export * from './CookiePolicyBar'
10
+ export * from './DocumentListMenu'
11
+ export * from './DocumentMainMenu'
12
+ export * from './DocumentSubMenu'
10
13
  export * from './ErrorContentRatafia'
11
14
  export * from './FaqGroup'
12
15
  export * from './FeaturesRatafiaContent'
@@ -21,6 +24,7 @@ export * from './LimitReachedContentRatafia'
21
24
  export * from './ListStepsGetForm'
22
25
  export * from './LoginRatafiaContent'
23
26
  export * from './MobileBottomBar'
27
+ export * from './NavMenu'
24
28
  export * from './RatafiaLoadingResultContent'
25
29
  export * from './RatafiaResultContent'
26
30
  export * from './StepsRatafiaContent'
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type HeaderProps } from './HeaderProps.types';
3
+ declare const Header: React.ForwardRefExoticComponent<Omit<HeaderProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export default Header;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { Logo, TopBar } from '../../atoms';
4
+ import { HeaderStyled } from './Header.styled';
5
+ import { NavMenu } from '../../organisms/NavMenu';
6
+ const Header = forwardRef(({ mainHeaderProps, topBarProps, navMenuProps }, ref) => {
7
+ const { classnames, siteName } = mainHeaderProps;
8
+ return (_jsxs(HeaderStyled, { className: `header ${classnames}`, ref: ref, id: 'header', children: [_jsx(TopBar, { ...topBarProps }), _jsxs("span", { itemScope: true, itemType: 'https://www.schema.org/Brand', className: 'wrapper flex header__inner', children: [_jsx("a", { "data-qa": 'Header_Logo', className: 'header__logo', href: '/', children: _jsx(Logo, { siteName: siteName, width: '188', height: '32' }) }), _jsx(NavMenu, { ...navMenuProps })] })] }));
9
+ });
10
+ Header.displayName = 'Header';
11
+ export default Header;
@@ -0,0 +1 @@
1
+ export declare const HeaderStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
@@ -0,0 +1,136 @@
1
+ import { device, size } from '../../../globalStyles/breakpoints';
2
+ import styled from 'styled-components';
3
+ export const HeaderStyled = styled.header `
4
+ position: sticky;
5
+ top: 0;
6
+ transition: all 0.3s ease;
7
+ z-index: 1000;
8
+
9
+ @media (max-width: ${size.sm}) {
10
+ position: sticky;
11
+ top: 0;
12
+ width: 100%;
13
+ z-index: 111111111111;
14
+ }
15
+
16
+ html[data-theme='lawdistrict'] {
17
+ .header {
18
+ &.product-header-background {
19
+ background-color: var(--secondary-main-light-4);
20
+ }
21
+ }
22
+ }
23
+
24
+ .header__inner {
25
+ align-items: center;
26
+ justify-content: space-between;
27
+ max-width: 1200px;
28
+ padding: 1rem 1.5rem;
29
+
30
+ @media (min-width: ${size.sm}) {
31
+ padding: 1rem 1rem 1.5rem 1rem;
32
+ }
33
+ }
34
+
35
+ &.scrollDown {
36
+ background-color: var(--others-white) !important;
37
+ box-shadow: var(--box-shadow-small);
38
+ }
39
+
40
+ .top-bar-wrapper {
41
+ .top-bar {
42
+ @media (max-width: ${size.sm}) {
43
+ font-size: 0.78rem;
44
+ letter-spacing: -0.5px;
45
+ }
46
+ }
47
+
48
+ .top-bar-content {
49
+ width: 100%;
50
+ display: flex;
51
+ justify-content: space-around;
52
+ @media ${device['landscape-tablets']} {
53
+ justify-content: center;
54
+ width: auto;
55
+ }
56
+ span {
57
+ display: none;
58
+
59
+ @media ${device['laptop']} {
60
+ display: inline;
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ .top-bar-mobile {
67
+ font-size: 14px;
68
+ padding: 8px 10px;
69
+ letter-spacing: normal;
70
+ }
71
+
72
+ &.hide-header-in-mobile {
73
+ position: relative;
74
+
75
+ @media ${device['landscape-tablets']} {
76
+ position: sticky;
77
+ }
78
+ }
79
+
80
+ &__inner {
81
+ max-width: 1200px;
82
+ padding: 1rem 1.5rem;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+
86
+ @media (min-width: ${size.sm}) {
87
+ padding: 1rem;
88
+ }
89
+ }
90
+
91
+ .header__logo {
92
+ z-index: 200;
93
+ min-width: max-content;
94
+ }
95
+
96
+ &.product-header-background {
97
+ background-color: var(--primary-main-light-6);
98
+ }
99
+
100
+ &.transparent-header-background {
101
+ background-color: transparent;
102
+ }
103
+
104
+ &.form-header-background {
105
+ background-color: var(--others-white);
106
+ }
107
+
108
+ &.esignature-header-background {
109
+ background-color: var(--neutral-neutral-5);
110
+ }
111
+
112
+ .--no-grid {
113
+ padding: 0 2rem;
114
+ }
115
+
116
+ &.--is-open {
117
+ background: var(--others-white);
118
+ position: fixed;
119
+ width: 100%;
120
+ }
121
+
122
+ a {
123
+ text-decoration: none;
124
+ }
125
+
126
+ .refresh-container {
127
+ height: 70px;
128
+ padding-top: 10px;
129
+
130
+ .e-button {
131
+ width: 140px;
132
+ margin-left: auto;
133
+ margin-right: auto;
134
+ }
135
+ }
136
+ `;
@@ -0,0 +1,137 @@
1
+ import { device, size } from '../../../globalStyles/breakpoints'
2
+ import styled from 'styled-components'
3
+
4
+ export const HeaderStyled = styled.header`
5
+ position: sticky;
6
+ top: 0;
7
+ transition: all 0.3s ease;
8
+ z-index: 1000;
9
+
10
+ @media (max-width: ${size.sm}) {
11
+ position: sticky;
12
+ top: 0;
13
+ width: 100%;
14
+ z-index: 111111111111;
15
+ }
16
+
17
+ html[data-theme='lawdistrict'] {
18
+ .header {
19
+ &.product-header-background {
20
+ background-color: var(--secondary-main-light-4);
21
+ }
22
+ }
23
+ }
24
+
25
+ .header__inner {
26
+ align-items: center;
27
+ justify-content: space-between;
28
+ max-width: 1200px;
29
+ padding: 1rem 1.5rem;
30
+
31
+ @media (min-width: ${size.sm}) {
32
+ padding: 1rem 1rem 1.5rem 1rem;
33
+ }
34
+ }
35
+
36
+ &.scrollDown {
37
+ background-color: var(--others-white) !important;
38
+ box-shadow: var(--box-shadow-small);
39
+ }
40
+
41
+ .top-bar-wrapper {
42
+ .top-bar {
43
+ @media (max-width: ${size.sm}) {
44
+ font-size: 0.78rem;
45
+ letter-spacing: -0.5px;
46
+ }
47
+ }
48
+
49
+ .top-bar-content {
50
+ width: 100%;
51
+ display: flex;
52
+ justify-content: space-around;
53
+ @media ${device['landscape-tablets']} {
54
+ justify-content: center;
55
+ width: auto;
56
+ }
57
+ span {
58
+ display: none;
59
+
60
+ @media ${device['laptop']} {
61
+ display: inline;
62
+ }
63
+ }
64
+ }
65
+ }
66
+
67
+ .top-bar-mobile {
68
+ font-size: 14px;
69
+ padding: 8px 10px;
70
+ letter-spacing: normal;
71
+ }
72
+
73
+ &.hide-header-in-mobile {
74
+ position: relative;
75
+
76
+ @media ${device['landscape-tablets']} {
77
+ position: sticky;
78
+ }
79
+ }
80
+
81
+ &__inner {
82
+ max-width: 1200px;
83
+ padding: 1rem 1.5rem;
84
+ align-items: center;
85
+ justify-content: space-between;
86
+
87
+ @media (min-width: ${size.sm}) {
88
+ padding: 1rem;
89
+ }
90
+ }
91
+
92
+ .header__logo {
93
+ z-index: 200;
94
+ min-width: max-content;
95
+ }
96
+
97
+ &.product-header-background {
98
+ background-color: var(--primary-main-light-6);
99
+ }
100
+
101
+ &.transparent-header-background {
102
+ background-color: transparent;
103
+ }
104
+
105
+ &.form-header-background {
106
+ background-color: var(--others-white);
107
+ }
108
+
109
+ &.esignature-header-background {
110
+ background-color: var(--neutral-neutral-5);
111
+ }
112
+
113
+ .--no-grid {
114
+ padding: 0 2rem;
115
+ }
116
+
117
+ &.--is-open {
118
+ background: var(--others-white);
119
+ position: fixed;
120
+ width: 100%;
121
+ }
122
+
123
+ a {
124
+ text-decoration: none;
125
+ }
126
+
127
+ .refresh-container {
128
+ height: 70px;
129
+ padding-top: 10px;
130
+
131
+ .e-button {
132
+ width: 140px;
133
+ margin-left: auto;
134
+ margin-right: auto;
135
+ }
136
+ }
137
+ `
@@ -0,0 +1,28 @@
1
+ import React, { ReactElement, forwardRef } from 'react'
2
+
3
+ import { Logo, TopBar } from '../../atoms'
4
+ import { type HeaderProps } from './HeaderProps.types'
5
+ import { HeaderStyled } from './Header.styled'
6
+ import { NavMenu } from '../../organisms/NavMenu'
7
+
8
+ const Header = forwardRef<HTMLDivElement, HeaderProps>(
9
+ ({ mainHeaderProps, topBarProps, navMenuProps }, ref): ReactElement => {
10
+ const { classnames, siteName } = mainHeaderProps
11
+
12
+ return (
13
+ <HeaderStyled className={`header ${classnames}`} ref={ref} id='header'>
14
+ <TopBar {...topBarProps} />
15
+ <span itemScope itemType='https://www.schema.org/Brand' className={'wrapper flex header__inner'}>
16
+ <a data-qa={'Header_Logo'} className='header__logo' href='/'>
17
+ <Logo siteName={siteName} width='188' height='32' />
18
+ </a>
19
+ <NavMenu {...navMenuProps} />
20
+ </span>
21
+ </HeaderStyled>
22
+ )
23
+ }
24
+ )
25
+
26
+ Header.displayName = 'Header'
27
+
28
+ export default Header