@laerdal/life-react-components 2.3.1-dev.7 → 2.3.1-dev.9

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 (267) hide show
  1. package/dist/Banners/Banner.cjs.map +1 -1
  2. package/dist/Banners/Banner.js.map +1 -1
  3. package/dist/Button/Iconbutton.cjs.map +1 -1
  4. package/dist/Button/Iconbutton.d.ts +1 -1
  5. package/dist/Button/Iconbutton.js.map +1 -1
  6. package/dist/Card/HorizontalCard/types.cjs.map +1 -1
  7. package/dist/Card/HorizontalCard/types.d.ts +1 -1
  8. package/dist/Card/HorizontalCard/types.js.map +1 -1
  9. package/dist/Dropdown/BasicDropdown.cjs +17 -5
  10. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  11. package/dist/Dropdown/BasicDropdown.d.ts +1 -0
  12. package/dist/Dropdown/BasicDropdown.js +17 -5
  13. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  14. package/dist/Dropdown/CommonStyling.cjs +6 -3
  15. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  16. package/dist/Dropdown/CommonStyling.d.ts +3 -1
  17. package/dist/Dropdown/CommonStyling.js +6 -3
  18. package/dist/Dropdown/CommonStyling.js.map +1 -1
  19. package/dist/Dropdown/DropdownContent.cjs +1 -1
  20. package/dist/Dropdown/DropdownContent.js +1 -1
  21. package/dist/Dropdown/DropdownFilter.cjs +11 -1
  22. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  23. package/dist/Dropdown/DropdownFilter.js +11 -1
  24. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  25. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  26. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  27. package/dist/Footer/SiteFooter.cjs +30 -19
  28. package/dist/Footer/SiteFooter.cjs.map +1 -1
  29. package/dist/Footer/SiteFooter.d.ts +3 -1
  30. package/dist/Footer/SiteFooter.js +31 -19
  31. package/dist/Footer/SiteFooter.js.map +1 -1
  32. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
  33. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  34. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +3 -1
  35. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  36. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  37. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  38. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +6 -1
  39. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  40. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +4 -0
  41. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +5 -4
  42. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  43. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +146 -56
  44. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  45. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +2 -2
  46. package/dist/GlobalNavigationBar/desktop/MainMenu.js +146 -56
  47. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  48. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +176 -0
  49. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -0
  50. package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +18 -0
  51. package/dist/GlobalNavigationBar/desktop/SubMenu.js +166 -0
  52. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -0
  53. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  54. package/dist/GlobalNavigationBar/types.d.ts +12 -2
  55. package/dist/GlobalNavigationBar/types.js.map +1 -1
  56. package/dist/GlobalNavigationBar/utils.cjs +17 -0
  57. package/dist/GlobalNavigationBar/utils.cjs.map +1 -0
  58. package/dist/GlobalNavigationBar/utils.d.ts +2 -0
  59. package/dist/GlobalNavigationBar/utils.js +10 -0
  60. package/dist/GlobalNavigationBar/utils.js.map +1 -0
  61. package/dist/InputFields/DatepickerField.cjs +18 -5
  62. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  63. package/dist/InputFields/DatepickerField.js +18 -5
  64. package/dist/InputFields/DatepickerField.js.map +1 -1
  65. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  66. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  67. package/dist/InputFields/NumberField.cjs +14 -4
  68. package/dist/InputFields/NumberField.cjs.map +1 -1
  69. package/dist/InputFields/NumberField.js +14 -4
  70. package/dist/InputFields/NumberField.js.map +1 -1
  71. package/dist/InputFields/TextField.cjs +11 -1
  72. package/dist/InputFields/TextField.cjs.map +1 -1
  73. package/dist/InputFields/TextField.js +11 -1
  74. package/dist/InputFields/TextField.js.map +1 -1
  75. package/dist/InputFields/styling.cjs +7 -3
  76. package/dist/InputFields/styling.cjs.map +1 -1
  77. package/dist/InputFields/styling.d.ts +1 -0
  78. package/dist/InputFields/styling.js +7 -3
  79. package/dist/InputFields/styling.js.map +1 -1
  80. package/dist/Layouts/index.cjs +4 -6
  81. package/dist/Layouts/index.cjs.map +1 -1
  82. package/dist/Layouts/index.d.ts +0 -1
  83. package/dist/Layouts/index.js +3 -4
  84. package/dist/Layouts/index.js.map +1 -1
  85. package/dist/NavItem/NavItem.cjs +2 -1
  86. package/dist/NavItem/NavItem.cjs.map +1 -1
  87. package/dist/NavItem/NavItem.d.ts +1 -0
  88. package/dist/NavItem/NavItem.js +1 -1
  89. package/dist/NavItem/NavItem.js.map +1 -1
  90. package/dist/{icons/contenticons/Visibility.cjs → NavItem/NestedNavItem.cjs} +25 -28
  91. package/dist/NavItem/NestedNavItem.cjs.map +1 -0
  92. package/dist/NavItem/NestedNavItem.d.ts +13 -0
  93. package/dist/NavItem/NestedNavItem.js +28 -0
  94. package/dist/NavItem/NestedNavItem.js.map +1 -0
  95. package/dist/Paginator/Paginator.cjs.map +1 -1
  96. package/dist/Paginator/Paginator.js.map +1 -1
  97. package/dist/Table/Table.cjs +1 -1
  98. package/dist/Table/Table.js +1 -1
  99. package/dist/Table/TableFooter.cjs.map +1 -1
  100. package/dist/Table/TableFooter.js.map +1 -1
  101. package/dist/Tabs/TabLink.cjs +39 -14
  102. package/dist/Tabs/TabLink.cjs.map +1 -1
  103. package/dist/Tabs/TabLink.d.ts +6 -1
  104. package/dist/Tabs/TabLink.js +39 -14
  105. package/dist/Tabs/TabLink.js.map +1 -1
  106. package/dist/Tabs/VerticalTabs.cjs +2 -0
  107. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  108. package/dist/Tabs/VerticalTabs.d.ts +1 -0
  109. package/dist/Tabs/VerticalTabs.js +2 -0
  110. package/dist/Tabs/VerticalTabs.js.map +1 -1
  111. package/dist/Tooltips/TooltipOverflow.cjs +117 -0
  112. package/dist/Tooltips/TooltipOverflow.cjs.map +1 -0
  113. package/dist/Tooltips/TooltipOverflow.d.ts +10 -0
  114. package/dist/Tooltips/TooltipOverflow.js +107 -0
  115. package/dist/Tooltips/TooltipOverflow.js.map +1 -0
  116. package/dist/Tooltips/TooltipStyles.cjs +5 -2
  117. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  118. package/dist/Tooltips/TooltipStyles.d.ts +1 -0
  119. package/dist/Tooltips/TooltipStyles.js +5 -2
  120. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  121. package/dist/assets/index.cjs.map +1 -1
  122. package/dist/assets/index.js.map +1 -1
  123. package/dist/common/ActionWithin.cjs +1 -1
  124. package/dist/common/ActionWithin.js +1 -1
  125. package/dist/common/FocusVisible.cjs +1 -1
  126. package/dist/common/FocusVisible.js +1 -1
  127. package/dist/icons/contenticons/{Metronome.cjs → NoShockAdvised.cjs} +5 -5
  128. package/dist/icons/contenticons/NoShockAdvised.cjs.map +1 -0
  129. package/dist/icons/contenticons/{ShockAutomated.d.ts → NoShockAdvised.d.ts} +1 -1
  130. package/dist/icons/contenticons/{ShockAutomated.js → NoShockAdvised.js} +3 -3
  131. package/dist/icons/contenticons/NoShockAdvised.js.map +1 -0
  132. package/dist/icons/contenticons/index.cjs +4 -4
  133. package/dist/icons/contenticons/index.cjs.map +1 -1
  134. package/dist/icons/contenticons/index.d.ts +1 -1
  135. package/dist/icons/contenticons/index.js +1 -1
  136. package/dist/icons/contenticons/index.js.map +1 -1
  137. package/dist/icons/systemicons/LoadingMedium.cjs.map +1 -1
  138. package/dist/icons/systemicons/LoadingMedium.js.map +1 -1
  139. package/dist/icons/systemicons/LoadingSmall.cjs.map +1 -1
  140. package/dist/icons/systemicons/LoadingSmall.js.map +1 -1
  141. package/package.json +3 -2
  142. package/dist/icons/contenticons/AedNoShockAdvised.cjs +0 -41
  143. package/dist/icons/contenticons/AedNoShockAdvised.cjs.map +0 -1
  144. package/dist/icons/contenticons/AedNoShockAdvised.d.ts +0 -3
  145. package/dist/icons/contenticons/AedNoShockAdvised.js +0 -30
  146. package/dist/icons/contenticons/AedNoShockAdvised.js.map +0 -1
  147. package/dist/icons/contenticons/AedShockAdvised.cjs +0 -41
  148. package/dist/icons/contenticons/AedShockAdvised.cjs.map +0 -1
  149. package/dist/icons/contenticons/AedShockAdvised.d.ts +0 -3
  150. package/dist/icons/contenticons/AedShockAdvised.js +0 -30
  151. package/dist/icons/contenticons/AedShockAdvised.js.map +0 -1
  152. package/dist/icons/contenticons/Data.cjs +0 -41
  153. package/dist/icons/contenticons/Data.cjs.map +0 -1
  154. package/dist/icons/contenticons/Data.d.ts +0 -3
  155. package/dist/icons/contenticons/Data.js +0 -30
  156. package/dist/icons/contenticons/Data.js.map +0 -1
  157. package/dist/icons/contenticons/DecisionFlow.cjs +0 -41
  158. package/dist/icons/contenticons/DecisionFlow.cjs.map +0 -1
  159. package/dist/icons/contenticons/DecisionFlow.d.ts +0 -3
  160. package/dist/icons/contenticons/DecisionFlow.js +0 -30
  161. package/dist/icons/contenticons/DecisionFlow.js.map +0 -1
  162. package/dist/icons/contenticons/Metronome.cjs.map +0 -1
  163. package/dist/icons/contenticons/Metronome.d.ts +0 -3
  164. package/dist/icons/contenticons/Metronome.js +0 -30
  165. package/dist/icons/contenticons/Metronome.js.map +0 -1
  166. package/dist/icons/contenticons/ShockAutomated.cjs +0 -41
  167. package/dist/icons/contenticons/ShockAutomated.cjs.map +0 -1
  168. package/dist/icons/contenticons/ShockAutomated.js.map +0 -1
  169. package/dist/icons/contenticons/ShockNotAdvised.cjs +0 -41
  170. package/dist/icons/contenticons/ShockNotAdvised.cjs.map +0 -1
  171. package/dist/icons/contenticons/ShockNotAdvised.d.ts +0 -3
  172. package/dist/icons/contenticons/ShockNotAdvised.js +0 -30
  173. package/dist/icons/contenticons/ShockNotAdvised.js.map +0 -1
  174. package/dist/icons/contenticons/Visibility.cjs.map +0 -1
  175. package/dist/icons/contenticons/Visibility.d.ts +0 -3
  176. package/dist/icons/contenticons/Visibility.js +0 -30
  177. package/dist/icons/contenticons/Visibility.js.map +0 -1
  178. package/dist/icons/systemicons/Adult.cjs +0 -41
  179. package/dist/icons/systemicons/Adult.cjs.map +0 -1
  180. package/dist/icons/systemicons/Adult.d.ts +0 -3
  181. package/dist/icons/systemicons/Adult.js +0 -30
  182. package/dist/icons/systemicons/Adult.js.map +0 -1
  183. package/dist/icons/systemicons/AedPads.cjs +0 -41
  184. package/dist/icons/systemicons/AedPads.cjs.map +0 -1
  185. package/dist/icons/systemicons/AedPads.d.ts +0 -3
  186. package/dist/icons/systemicons/AedPads.js +0 -30
  187. package/dist/icons/systemicons/AedPads.js.map +0 -1
  188. package/dist/icons/systemicons/AedPadsCorrect.cjs +0 -41
  189. package/dist/icons/systemicons/AedPadsCorrect.cjs.map +0 -1
  190. package/dist/icons/systemicons/AedPadsCorrect.d.ts +0 -3
  191. package/dist/icons/systemicons/AedPadsCorrect.js +0 -30
  192. package/dist/icons/systemicons/AedPadsCorrect.js.map +0 -1
  193. package/dist/icons/systemicons/AedPadsError.cjs +0 -41
  194. package/dist/icons/systemicons/AedPadsError.cjs.map +0 -1
  195. package/dist/icons/systemicons/AedPadsError.d.ts +0 -3
  196. package/dist/icons/systemicons/AedPadsError.js +0 -30
  197. package/dist/icons/systemicons/AedPadsError.js.map +0 -1
  198. package/dist/icons/systemicons/Archive.cjs +0 -41
  199. package/dist/icons/systemicons/Archive.cjs.map +0 -1
  200. package/dist/icons/systemicons/Archive.d.ts +0 -3
  201. package/dist/icons/systemicons/Archive.js +0 -30
  202. package/dist/icons/systemicons/Archive.js.map +0 -1
  203. package/dist/icons/systemicons/ArrowCollapse.cjs +0 -41
  204. package/dist/icons/systemicons/ArrowCollapse.cjs.map +0 -1
  205. package/dist/icons/systemicons/ArrowCollapse.d.ts +0 -3
  206. package/dist/icons/systemicons/ArrowCollapse.js +0 -30
  207. package/dist/icons/systemicons/ArrowCollapse.js.map +0 -1
  208. package/dist/icons/systemicons/ArrowExpand.cjs +0 -41
  209. package/dist/icons/systemicons/ArrowExpand.cjs.map +0 -1
  210. package/dist/icons/systemicons/ArrowExpand.d.ts +0 -3
  211. package/dist/icons/systemicons/ArrowExpand.js +0 -30
  212. package/dist/icons/systemicons/ArrowExpand.js.map +0 -1
  213. package/dist/icons/systemicons/Child.cjs +0 -41
  214. package/dist/icons/systemicons/Child.cjs.map +0 -1
  215. package/dist/icons/systemicons/Child.d.ts +0 -3
  216. package/dist/icons/systemicons/Child.js +0 -30
  217. package/dist/icons/systemicons/Child.js.map +0 -1
  218. package/dist/icons/systemicons/Copy.cjs +0 -41
  219. package/dist/icons/systemicons/Copy.cjs.map +0 -1
  220. package/dist/icons/systemicons/Copy.d.ts +0 -3
  221. package/dist/icons/systemicons/Copy.js +0 -30
  222. package/dist/icons/systemicons/Copy.js.map +0 -1
  223. package/dist/icons/systemicons/DecisionFlow.cjs +0 -41
  224. package/dist/icons/systemicons/DecisionFlow.cjs.map +0 -1
  225. package/dist/icons/systemicons/DecisionFlow.d.ts +0 -3
  226. package/dist/icons/systemicons/DecisionFlow.js +0 -30
  227. package/dist/icons/systemicons/DecisionFlow.js.map +0 -1
  228. package/dist/icons/systemicons/HeartShock.cjs +0 -41
  229. package/dist/icons/systemicons/HeartShock.cjs.map +0 -1
  230. package/dist/icons/systemicons/HeartShock.d.ts +0 -3
  231. package/dist/icons/systemicons/HeartShock.js +0 -30
  232. package/dist/icons/systemicons/HeartShock.js.map +0 -1
  233. package/dist/icons/systemicons/Infant.cjs +0 -41
  234. package/dist/icons/systemicons/Infant.cjs.map +0 -1
  235. package/dist/icons/systemicons/Infant.d.ts +0 -3
  236. package/dist/icons/systemicons/Infant.js +0 -30
  237. package/dist/icons/systemicons/Infant.js.map +0 -1
  238. package/dist/icons/systemicons/Metronome.cjs +0 -41
  239. package/dist/icons/systemicons/Metronome.cjs.map +0 -1
  240. package/dist/icons/systemicons/Metronome.d.ts +0 -3
  241. package/dist/icons/systemicons/Metronome.js +0 -30
  242. package/dist/icons/systemicons/Metronome.js.map +0 -1
  243. package/dist/icons/systemicons/Shock.cjs +0 -41
  244. package/dist/icons/systemicons/Shock.cjs.map +0 -1
  245. package/dist/icons/systemicons/Shock.d.ts +0 -3
  246. package/dist/icons/systemicons/Shock.js +0 -30
  247. package/dist/icons/systemicons/Shock.js.map +0 -1
  248. package/dist/icons/systemicons/ShockAdvised.cjs +0 -41
  249. package/dist/icons/systemicons/ShockAdvised.cjs.map +0 -1
  250. package/dist/icons/systemicons/ShockAdvised.d.ts +0 -3
  251. package/dist/icons/systemicons/ShockAdvised.js +0 -30
  252. package/dist/icons/systemicons/ShockAdvised.js.map +0 -1
  253. package/dist/icons/systemicons/ShockAutomated.cjs +0 -41
  254. package/dist/icons/systemicons/ShockAutomated.cjs.map +0 -1
  255. package/dist/icons/systemicons/ShockAutomated.d.ts +0 -3
  256. package/dist/icons/systemicons/ShockAutomated.js +0 -30
  257. package/dist/icons/systemicons/ShockAutomated.js.map +0 -1
  258. package/dist/icons/systemicons/ShockNotAdvised.cjs +0 -41
  259. package/dist/icons/systemicons/ShockNotAdvised.cjs.map +0 -1
  260. package/dist/icons/systemicons/ShockNotAdvised.d.ts +0 -3
  261. package/dist/icons/systemicons/ShockNotAdvised.js +0 -30
  262. package/dist/icons/systemicons/ShockNotAdvised.js.map +0 -1
  263. package/dist/icons/systemicons/Translation.cjs +0 -41
  264. package/dist/icons/systemicons/Translation.cjs.map +0 -1
  265. package/dist/icons/systemicons/Translation.d.ts +0 -3
  266. package/dist/icons/systemicons/Translation.js +0 -30
  267. package/dist/icons/systemicons/Translation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","StyledField","Dropdown","InputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","DropdownFilter","forwardRef","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","onFocus","onBlur","dataTestId","rest","useState","isOpen","setIsOpen","input","setInput","activeDescendant","setActiveDescendant","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","inputFocused","setInputFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","focus","focusVisible","detail","renderInput","stopPropagation","blur","Math","floor","random","target","marginLeft","Small","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { SystemIcons } from '../icons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size, Testable } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\n\ninterface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\n list: DropdownItem[];\n placeholder?: string;\n \n value?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n loading?: boolean;\n\n disableFiltering?: boolean;\n\n messageOnNoResults?: string;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n\n buttonFontSize?: string;\n margin?: string;\n scrollable?: boolean;\n}\n\nconst DropdownFilter = React.forwardRef( ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n buttonFontSize,\n margin,\n loading,\n onFocus,\n onBlur,\n dataTestId,\n ...rest\n }: DropdownFilterProps, ref) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen) {\n if (!!selectedItem) {\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n fontSize={buttonFontSize}\n showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <InputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={inputFocused ? '' : placeholder}\n onKeyDown={handleInputKeyDown}\n value={input || ''}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={(e) => {\n setInputFocused(true);\n onFocus && onFocus(e);\n }}\n onBlur={(e) => {\n setInputFocused(false);\n onBlur && onBlur(e);\n }}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n data-testid={dataTestId}\n {...rest}\n />\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n return (\n <>\n <Dropdown ref={containerRef}\n role=\"combobox\"\n aria-multiselectable={true} \n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n aria-expanded={isOpen}\n disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n containerRef={containerRef}\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n ariaRolesType=\"input\"\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <SystemIcons.Information color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default DropdownFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","StyledField","Dropdown","InputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","TooltipOverflow","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","DropdownFilter","forwardRef","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","onFocus","onBlur","dataTestId","rest","useState","isOpen","setIsOpen","input","setInput","activeDescendant","setActiveDescendant","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","inputFocused","setInputFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","focus","focusVisible","detail","renderInput","stopPropagation","blur","Math","floor","random","target","marginLeft","Small","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { SystemIcons } from '../icons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size, Testable } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\n\ninterface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\n list: DropdownItem[];\n placeholder?: string;\n \n value?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n loading?: boolean;\n\n disableFiltering?: boolean;\n\n messageOnNoResults?: string;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n\n buttonFontSize?: string;\n margin?: string;\n scrollable?: boolean;\n}\n\nconst DropdownFilter = React.forwardRef( ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n buttonFontSize,\n margin,\n loading,\n onFocus,\n onBlur,\n dataTestId,\n ...rest\n }: DropdownFilterProps, ref) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen) {\n if (!!selectedItem) {\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n fontSize={buttonFontSize}\n showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <InputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={inputFocused ? '' : placeholder}\n onKeyDown={handleInputKeyDown}\n ellipsis\n value={input || ''}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={(e) => {\n setInputFocused(true);\n onFocus && onFocus(e);\n }}\n onBlur={(e) => {\n setInputFocused(false);\n onBlur && onBlur(e);\n }}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n data-testid={dataTestId}\n {...rest}\n />\n {!isOpen ? <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {input}\n </TooltipOverflow> : null}\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n return (\n <>\n <Dropdown ref={containerRef}\n role=\"combobox\"\n aria-multiselectable={true} \n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n aria-expanded={isOpen}\n disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n containerRef={containerRef}\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n ariaRolesType=\"input\"\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <SystemIcons.Information color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default DropdownFilter;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FooterNewsletterAndSocialSection.cjs","names":["NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","ComponentXXSStyling","ComponentTextStyle","Regular","COLORS","white","NewsletterEmail","InputFieldStyling","invertedFocusStyles","NewsletterButton","button","ComponentLStyling","Bold","SocialMedia","ComponentXSStyling","SocialMediaButtons","neutral_600","primary_800","primary_100","FooterNewsletterAndSocialSection","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","React","useState","emailInput","setEmailInput","value","e","target"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\nimport {TextField} from '../../InputFields';\nimport {SystemIcons} from '../../icons';\nimport {IconButton} from '../../Button';\nimport {\n ComponentLStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../../styles';\nimport {InputFieldStyling} from '../../InputFields';\n\nconst NewsletterAndSocial = styled.section`\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst NewsletterEmailSection = styled.div`\n width: 100%;\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 60%;\n margin: 16px 0 0 0;\n }\n\n label {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin-bottom: 2px;\n }\n div div {\n width: 100%;\n ${BREAKPOINTS.MEDIUM} {\n width: calc(100% - 82px);\n width: 288px;\n }\n }\n input {\n height: 48px;\n }\n`;\n\nconst NewsletterEmail = styled.div`\n display: flex;\n flex-direction: column;\n margin: 2px auto 0;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 2px 0 0 0;\n flex-direction: row;\n }\n\n ${InputFieldStyling} {\n &.focus-visible {\n ${invertedFocusStyles}\n }\n }\n`;\n\nconst NewsletterButton = styled.button`\n background: transparent;\n width: 100%;\n height: 40px;\n border: 2px solid ${COLORS.white};\n box-sizing: border-box;\n border-radius: 8px;\n margin: 8px 0 4px 0;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.white)}\n\n ${BREAKPOINTS.MEDIUM} {\n width: 94px;\n margin: auto 0 4px 8px;\n }\n\n &:hover {\n cursor: pointer;\n }\n \n &:focus {\n ${invertedFocusStyles}\n }\n`;\n\nconst SocialMedia = styled.div`\n color: ${COLORS.white};\n margin: 0 auto;\n\n button div {\n box-sizing: border-box;\n border-radius: 4px;\n }\n\n h4 {\n margin-top: 16px;\n margin-bottom: 8px;\n \n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 auto;\n button {\n margin: 0 0 0 12px;\n }\n }\n`;\n\nconst SocialMediaButtons = styled.div`\n display: flex;\n justify-content: center;\n\n button div {\n display: flex;\n background-color: transparent;\n color: ${COLORS.white};\n margin: 0 0 0 20px;\n\n svg {\n fill: ${COLORS.white};\n path {\n fill: ${COLORS.white};\n }\n }\n\n &:first-child {\n margin: 0;\n }\n &:hover {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n }\n &:active {\n background-color: ${COLORS.primary_800};\n color: ${COLORS.primary_100};\n }\n }\n a {\n &:focus {\n ${invertedFocusStyles}\n }\n }\n\n ${BREAKPOINTS.MEDIUM} {\n justify-content: flex-end;\n }\n`;\n\ninterface FooterNewsletterAndSocialSection {\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel: string;\n placeholderEmail?: string;\n}\n\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\n const [emailInput, setEmailInput] = React.useState<string>('');\n return (\n <NewsletterAndSocial>\n <NewsletterEmailSection>\n <label>{newsletterLabel}</label>\n <NewsletterEmail>\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\n </NewsletterEmail>\n </NewsletterEmailSection>\n <SocialMedia>\n <h4>Follow us on social media</h4>\n <SocialMediaButtons>\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Facebook />\n </IconButton>\n </a>\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Twitter />\n </IconButton>\n </a>\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Youtube />\n </IconButton>\n </a>\n </SocialMediaButtons>\n </SocialMedia>\n </NewsletterAndSocial>\n );\n};\n\nexport default FooterNewsletterAndSocialSection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FooterNewsletterAndSocialSection.cjs","names":["NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","ComponentXXSStyling","ComponentTextStyle","Regular","COLORS","white","NewsletterEmail","InputFieldStyling","invertedFocusStyles","NewsletterButton","button","ComponentLStyling","Bold","SocialMedia","ComponentXSStyling","SocialMediaButtons","neutral_600","primary_800","primary_100","FooterNewsletterAndSocialSection","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","React","useState","emailInput","setEmailInput","value","e","target"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\nimport {TextField} from '../../InputFields';\nimport {SystemIcons} from '../../icons';\nimport {IconButton} from '../../Button';\nimport {\n ComponentLStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../../styles';\nimport {InputFieldStyling} from '../../InputFields';\n\nconst NewsletterAndSocial = styled.section`\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst NewsletterEmailSection = styled.div`\n width: 100%;\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 60%;\n margin: 16px 0 0 0;\n }\n\n label {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin-bottom: 2px;\n }\n div div {\n width: 100%;\n ${BREAKPOINTS.MEDIUM} {\n width: calc(100% - 82px);\n width: 288px;\n }\n }\n input {\n height: 48px;\n }\n`;\n\nconst NewsletterEmail = styled.div`\n display: flex;\n flex-direction: column;\n margin: 2px auto 0;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 2px 0 0 0;\n flex-direction: row;\n }\n\n ${InputFieldStyling} {\n &.focus-visible {\n ${invertedFocusStyles}\n }\n }\n`;\n\nconst NewsletterButton = styled.button`\n background: transparent;\n width: 100%;\n height: 40px;\n border: 2px solid ${COLORS.white};\n box-sizing: border-box;\n border-radius: 8px;\n margin: 8px 0 4px 0;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.white)}\n\n ${BREAKPOINTS.MEDIUM} {\n width: 94px;\n margin: auto 0 4px 8px;\n }\n\n &:hover {\n cursor: pointer;\n }\n \n &:focus {\n ${invertedFocusStyles}\n }\n`;\n\nconst SocialMedia = styled.div`\n color: ${COLORS.white};\n margin: 0 auto;\n\n button div {\n box-sizing: border-box;\n border-radius: 4px;\n }\n\n h4 {\n margin-top: 16px;\n margin-bottom: 8px;\n \n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 auto;\n button {\n margin: 0 0 0 12px;\n }\n }\n`;\n\nconst SocialMediaButtons = styled.div`\n display: flex;\n justify-content: center;\n\n button div {\n display: flex;\n background-color: transparent;\n color: ${COLORS.white};\n margin: 0 0 0 20px;\n\n svg {\n fill: ${COLORS.white};\n path {\n fill: ${COLORS.white};\n }\n }\n\n &:first-child {\n margin: 0;\n }\n &:hover {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n }\n &:active {\n background-color: ${COLORS.primary_800};\n color: ${COLORS.primary_100};\n }\n }\n a {\n &:focus {\n ${invertedFocusStyles}\n }\n }\n\n ${BREAKPOINTS.MEDIUM} {\n justify-content: flex-end;\n }\n`;\n\ninterface FooterNewsletterAndSocialSection {\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel: string;\n placeholderEmail?: string;\n}\n\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\n const [emailInput, setEmailInput] = React.useState<string>('');\n return (\n <NewsletterAndSocial>\n <NewsletterEmailSection>\n <label>{newsletterLabel}</label>\n <NewsletterEmail>\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\n </NewsletterEmail>\n </NewsletterEmailSection>\n <SocialMedia>\n <h4>Follow us on social media</h4>\n <SocialMediaButtons>\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Facebook />\n </IconButton>\n </a>\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Twitter />\n </IconButton>\n </a>\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Youtube />\n </IconButton>\n </a>\n </SocialMediaButtons>\n </SocialMedia>\n </NewsletterAndSocial>\n );\n};\n\nexport default FooterNewsletterAndSocialSection;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FooterNewsletterAndSocialSection.js","names":["React","styled","BREAKPOINTS","COLORS","invertedFocusStyles","TextField","SystemIcons","IconButton","ComponentLStyling","ComponentTextStyle","ComponentXSStyling","ComponentXXSStyling","InputFieldStyling","NewsletterAndSocial","section","MEDIUM","NewsletterEmailSection","div","Regular","white","NewsletterEmail","NewsletterButton","button","Bold","SocialMedia","SocialMediaButtons","neutral_600","primary_800","primary_100","FooterNewsletterAndSocialSection","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","useState","emailInput","setEmailInput","value","e","target"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\nimport {TextField} from '../../InputFields';\nimport {SystemIcons} from '../../icons';\nimport {IconButton} from '../../Button';\nimport {\n ComponentLStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../../styles';\nimport {InputFieldStyling} from '../../InputFields';\n\nconst NewsletterAndSocial = styled.section`\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst NewsletterEmailSection = styled.div`\n width: 100%;\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 60%;\n margin: 16px 0 0 0;\n }\n\n label {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin-bottom: 2px;\n }\n div div {\n width: 100%;\n ${BREAKPOINTS.MEDIUM} {\n width: calc(100% - 82px);\n width: 288px;\n }\n }\n input {\n height: 48px;\n }\n`;\n\nconst NewsletterEmail = styled.div`\n display: flex;\n flex-direction: column;\n margin: 2px auto 0;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 2px 0 0 0;\n flex-direction: row;\n }\n\n ${InputFieldStyling} {\n &.focus-visible {\n ${invertedFocusStyles}\n }\n }\n`;\n\nconst NewsletterButton = styled.button`\n background: transparent;\n width: 100%;\n height: 40px;\n border: 2px solid ${COLORS.white};\n box-sizing: border-box;\n border-radius: 8px;\n margin: 8px 0 4px 0;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.white)}\n\n ${BREAKPOINTS.MEDIUM} {\n width: 94px;\n margin: auto 0 4px 8px;\n }\n\n &:hover {\n cursor: pointer;\n }\n \n &:focus {\n ${invertedFocusStyles}\n }\n`;\n\nconst SocialMedia = styled.div`\n color: ${COLORS.white};\n margin: 0 auto;\n\n button div {\n box-sizing: border-box;\n border-radius: 4px;\n }\n\n h4 {\n margin-top: 16px;\n margin-bottom: 8px;\n \n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 auto;\n button {\n margin: 0 0 0 12px;\n }\n }\n`;\n\nconst SocialMediaButtons = styled.div`\n display: flex;\n justify-content: center;\n\n button div {\n display: flex;\n background-color: transparent;\n color: ${COLORS.white};\n margin: 0 0 0 20px;\n\n svg {\n fill: ${COLORS.white};\n path {\n fill: ${COLORS.white};\n }\n }\n\n &:first-child {\n margin: 0;\n }\n &:hover {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n }\n &:active {\n background-color: ${COLORS.primary_800};\n color: ${COLORS.primary_100};\n }\n }\n a {\n &:focus {\n ${invertedFocusStyles}\n }\n }\n\n ${BREAKPOINTS.MEDIUM} {\n justify-content: flex-end;\n }\n`;\n\ninterface FooterNewsletterAndSocialSection {\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel: string;\n placeholderEmail?: string;\n}\n\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\n const [emailInput, setEmailInput] = React.useState<string>('');\n return (\n <NewsletterAndSocial>\n <NewsletterEmailSection>\n <label>{newsletterLabel}</label>\n <NewsletterEmail>\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\n </NewsletterEmail>\n </NewsletterEmailSection>\n <SocialMedia>\n <h4>Follow us on social media</h4>\n <SocialMediaButtons>\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Facebook />\n </IconButton>\n </a>\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Twitter />\n </IconButton>\n </a>\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Youtube />\n </IconButton>\n </a>\n </SocialMediaButtons>\n </SocialMedia>\n </NewsletterAndSocial>\n );\n};\n\nexport default FooterNewsletterAndSocialSection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FooterNewsletterAndSocialSection.js","names":["React","styled","BREAKPOINTS","COLORS","invertedFocusStyles","TextField","SystemIcons","IconButton","ComponentLStyling","ComponentTextStyle","ComponentXSStyling","ComponentXXSStyling","InputFieldStyling","NewsletterAndSocial","section","MEDIUM","NewsletterEmailSection","div","Regular","white","NewsletterEmail","NewsletterButton","button","Bold","SocialMedia","SocialMediaButtons","neutral_600","primary_800","primary_100","FooterNewsletterAndSocialSection","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","useState","emailInput","setEmailInput","value","e","target"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\nimport {TextField} from '../../InputFields';\nimport {SystemIcons} from '../../icons';\nimport {IconButton} from '../../Button';\nimport {\n ComponentLStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../../styles';\nimport {InputFieldStyling} from '../../InputFields';\n\nconst NewsletterAndSocial = styled.section`\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst NewsletterEmailSection = styled.div`\n width: 100%;\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 60%;\n margin: 16px 0 0 0;\n }\n\n label {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin-bottom: 2px;\n }\n div div {\n width: 100%;\n ${BREAKPOINTS.MEDIUM} {\n width: calc(100% - 82px);\n width: 288px;\n }\n }\n input {\n height: 48px;\n }\n`;\n\nconst NewsletterEmail = styled.div`\n display: flex;\n flex-direction: column;\n margin: 2px auto 0;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 2px 0 0 0;\n flex-direction: row;\n }\n\n ${InputFieldStyling} {\n &.focus-visible {\n ${invertedFocusStyles}\n }\n }\n`;\n\nconst NewsletterButton = styled.button`\n background: transparent;\n width: 100%;\n height: 40px;\n border: 2px solid ${COLORS.white};\n box-sizing: border-box;\n border-radius: 8px;\n margin: 8px 0 4px 0;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.white)}\n\n ${BREAKPOINTS.MEDIUM} {\n width: 94px;\n margin: auto 0 4px 8px;\n }\n\n &:hover {\n cursor: pointer;\n }\n \n &:focus {\n ${invertedFocusStyles}\n }\n`;\n\nconst SocialMedia = styled.div`\n color: ${COLORS.white};\n margin: 0 auto;\n\n button div {\n box-sizing: border-box;\n border-radius: 4px;\n }\n\n h4 {\n margin-top: 16px;\n margin-bottom: 8px;\n \n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 auto;\n button {\n margin: 0 0 0 12px;\n }\n }\n`;\n\nconst SocialMediaButtons = styled.div`\n display: flex;\n justify-content: center;\n\n button div {\n display: flex;\n background-color: transparent;\n color: ${COLORS.white};\n margin: 0 0 0 20px;\n\n svg {\n fill: ${COLORS.white};\n path {\n fill: ${COLORS.white};\n }\n }\n\n &:first-child {\n margin: 0;\n }\n &:hover {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n }\n &:active {\n background-color: ${COLORS.primary_800};\n color: ${COLORS.primary_100};\n }\n }\n a {\n &:focus {\n ${invertedFocusStyles}\n }\n }\n\n ${BREAKPOINTS.MEDIUM} {\n justify-content: flex-end;\n }\n`;\n\ninterface FooterNewsletterAndSocialSection {\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel: string;\n placeholderEmail?: string;\n}\n\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\n const [emailInput, setEmailInput] = React.useState<string>('');\n return (\n <NewsletterAndSocial>\n <NewsletterEmailSection>\n <label>{newsletterLabel}</label>\n <NewsletterEmail>\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\n </NewsletterEmail>\n </NewsletterEmailSection>\n <SocialMedia>\n <h4>Follow us on social media</h4>\n <SocialMediaButtons>\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Facebook />\n </IconButton>\n </a>\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Twitter />\n </IconButton>\n </a>\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <SystemIcons.Youtube />\n </IconButton>\n </a>\n </SocialMediaButtons>\n </SocialMedia>\n </NewsletterAndSocial>\n );\n};\n\nexport default FooterNewsletterAndSocialSection;\n"],"mappings":"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"}
@@ -17,14 +17,15 @@ var _FooterTop = _interopRequireDefault(require("./Components/FooterTop"));
17
17
  var _FooterNewsletterAndSocialSection = _interopRequireDefault(require("./Components/FooterNewsletterAndSocialSection"));
18
18
  var _FooterNavSection = _interopRequireDefault(require("./Components/FooterNavSection"));
19
19
  var _styles = require("../styles");
20
+ var _Layouts = require("../Layouts");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
- var _excluded = ["id", "sitename", "bottomLinks", "showBetaTag", "copyrightText", "toTopText", "placeholderEmailField", "includeNewsletterAndSocialSection", "newsletterLabel", "navOptions", "onNewsletterSignup"];
22
+ var _excluded = ["id", "sitename", "bottomLinks", "showBetaTag", "copyrightText", "toTopText", "placeholderEmailField", "includeNewsletterAndSocialSection", "newsletterLabel", "navOptions", "onNewsletterSignup", "useMaxWidth", "maxWidth"];
22
23
  var _templateObject, _templateObject2;
23
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
26
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
27
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
- var FooterContainer = _styledComponents.default.footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-top: auto;\n background-color: ", ";\n border-top: 8px solid ", ";\n\n padding: 0 16px 16px;\n\n ", " {\n padding: 16px 32px;\n }\n\n ", " {\n padding: 16px 64px;\n }\n"])), _styles.COLORS.neutral_800, _styles.COLORS.neutral_200, _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.LARGE);
28
+ var FooterContainer = _styledComponents.default.footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-top: auto;\n background-color: ", ";\n border-top: 8px solid ", ";\n\n padding-top: 0;\n padding-bottom: 16px;\n\n ", " {\n padding: 16px 0;\n }\n\n ", " {\n padding: 16px 0;\n }\n"])), _styles.COLORS.neutral_800, _styles.COLORS.neutral_200, _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.LARGE);
28
29
  var FooterLine = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px solid ", ";\n display: none;\n ", " {\n display: block;\n }\n"])), _styles.COLORS.white, _styles.BREAKPOINTS.MEDIUM);
29
30
  var SiteFooter = function SiteFooter(_ref) {
30
31
  var id = _ref.id,
@@ -38,26 +39,34 @@ var SiteFooter = function SiteFooter(_ref) {
38
39
  newsletterLabel = _ref.newsletterLabel,
39
40
  navOptions = _ref.navOptions,
40
41
  onNewsletterSignup = _ref.onNewsletterSignup,
42
+ _ref$useMaxWidth = _ref.useMaxWidth,
43
+ useMaxWidth = _ref$useMaxWidth === void 0 ? true : _ref$useMaxWidth,
44
+ maxWidth = _ref.maxWidth,
41
45
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
42
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(FooterContainer, _objectSpread(_objectSpread({
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterContainer, _objectSpread(_objectSpread({
43
47
  id: id,
44
48
  "data-testid": 'footer-container'
45
49
  }, rest), {}, {
46
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterTop.default, {
47
- sitename: sitename,
48
- showBetaTag: showBetaTag,
49
- toTopText: toTopText
50
- }), navOptions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterNavSection.default, {
51
- mainId: id,
52
- navOptions: navOptions
53
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLine, {}), includeNewsletterAndSocialSection && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterNewsletterAndSocialSection.default, {
54
- placeholderEmail: placeholderEmailField,
55
- actionOnNewsletterSignup: onNewsletterSignup,
56
- newsletterLabel: newsletterLabel || ''
57
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterBottomLinks.default, {
58
- bottomLinks: bottomLinks,
59
- copyrightText: copyrightText
60
- })]
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Layouts.PageWidth, {
51
+ unsetMargin: true,
52
+ useMaxWidth: useMaxWidth,
53
+ maxWidth: maxWidth,
54
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterTop.default, {
55
+ sitename: sitename,
56
+ showBetaTag: showBetaTag,
57
+ toTopText: toTopText
58
+ }), navOptions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterNavSection.default, {
59
+ mainId: id,
60
+ navOptions: navOptions
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLine, {}), includeNewsletterAndSocialSection && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterNewsletterAndSocialSection.default, {
62
+ placeholderEmail: placeholderEmailField,
63
+ actionOnNewsletterSignup: onNewsletterSignup,
64
+ newsletterLabel: newsletterLabel || ''
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterBottomLinks.default, {
66
+ bottomLinks: bottomLinks,
67
+ copyrightText: copyrightText
68
+ })]
69
+ })
61
70
  }));
62
71
  };
63
72
  SiteFooter.propTypes = {
@@ -71,7 +80,9 @@ SiteFooter.propTypes = {
71
80
  newsletterLabel: _propTypes.default.string,
72
81
  toTopText: _propTypes.default.string.isRequired,
73
82
  placeholderEmailField: _propTypes.default.string,
74
- onNewsletterSignup: _propTypes.default.func
83
+ onNewsletterSignup: _propTypes.default.func,
84
+ useMaxWidth: _propTypes.default.bool,
85
+ maxWidth: _propTypes.default.number
75
86
  };
76
87
  var _default = SiteFooter;
77
88
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"SiteFooter.cjs","names":["FooterContainer","styled","footer","COLORS","neutral_800","neutral_200","BREAKPOINTS","MEDIUM","LARGE","FooterLine","div","white","SiteFooter","id","sitename","bottomLinks","showBetaTag","copyrightText","toTopText","placeholderEmailField","includeNewsletterAndSocialSection","newsletterLabel","navOptions","onNewsletterSignup","rest","actionOnNewsletterSignup"],"sources":["../../src/Footer/SiteFooter.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport FooterBottomLinks from './Components/FooterBottomLinks';\nimport FooterTop from './Components/FooterTop';\nimport FooterNewsletterAndSocialSection from './Components/FooterNewsletterAndSocialSection';\nimport FooterNavSection from './Components/FooterNavSection';\nimport { BREAKPOINTS, COLORS } from '../styles';\n\n/**\n * Import custom styles.\n */\nimport { NavLink, NavOptions } from '../types';\n\nconst FooterContainer = styled.footer`\n margin-top: auto;\n background-color: ${COLORS.neutral_800};\n border-top: 8px solid ${COLORS.neutral_200};\n\n padding: 0 16px 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n padding: 16px 32px;\n }\n\n ${BREAKPOINTS.LARGE} {\n padding: 16px 64px;\n }\n`;\nconst FooterLine = styled.div`\n border-top: 1px solid ${COLORS.white};\n display: none;\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n`;\n\ninterface NewFooterProps extends Omit<React.HTMLAttributes<HTMLElement>, 'id'> {\n id: string;\n sitename?: string;\n showBetaTag?: boolean;\n bottomLinks?: NavLink[];\n copyrightText?: string;\n includeNewsletterAndSocialSection?: boolean;\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel?: string;\n toTopText: string;\n navOptions?: NavOptions;\n placeholderEmailField?: string;\n onNewsletterSignup?: (email: string) => void;\n}\n\nconst SiteFooter = ({\n id,\n sitename,\n bottomLinks,\n showBetaTag,\n copyrightText,\n toTopText,\n placeholderEmailField,\n includeNewsletterAndSocialSection,\n newsletterLabel,\n navOptions,\n onNewsletterSignup,\n ...rest\n}: NewFooterProps) => {\n return (\n <FooterContainer id={id} data-testid={'footer-container'} {...rest}>\n <FooterTop sitename={sitename} showBetaTag={showBetaTag} toTopText={toTopText} />\n {navOptions && <FooterNavSection mainId={id} navOptions={navOptions} />}\n <FooterLine />\n {includeNewsletterAndSocialSection && (\n <FooterNewsletterAndSocialSection placeholderEmail={placeholderEmailField} actionOnNewsletterSignup={onNewsletterSignup} newsletterLabel={newsletterLabel || ''} />\n )}\n <FooterBottomLinks bottomLinks={bottomLinks} copyrightText={copyrightText} />\n </FooterContainer>\n );\n};\n\nexport default SiteFooter;\n"],"mappings":";;;;;;;;;;;;AAGA;AAKA;AAKA;AACA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOhD,IAAMA,eAAe,GAAGC,yBAAM,CAACC,MAAM,oRAEfC,cAAM,CAACC,WAAW,EACdD,cAAM,CAACE,WAAW,EAIxCC,mBAAW,CAACC,MAAM,EAIlBD,mBAAW,CAACE,KAAK,CAGpB;AACD,IAAMC,UAAU,GAAGR,yBAAM,CAACS,GAAG,6KACHP,cAAM,CAACQ,KAAK,EAElCL,mBAAW,CAACC,MAAM,CAGrB;AAiBD,IAAMK,UAAU,GAAG,SAAbA,UAAU,OAaM;EAAA,IAZpBC,EAAE,QAAFA,EAAE;IACFC,QAAQ,QAARA,QAAQ;IACRC,WAAW,QAAXA,WAAW;IACXC,WAAW,QAAXA,WAAW;IACXC,aAAa,QAAbA,aAAa;IACbC,SAAS,QAATA,SAAS;IACTC,qBAAqB,QAArBA,qBAAqB;IACrBC,iCAAiC,QAAjCA,iCAAiC;IACjCC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,kBAAkB,QAAlBA,kBAAkB;IACfC,IAAI;EAEP,oBACE,sBAAC,eAAe;IAAC,EAAE,EAAEX,EAAG;IAAC,eAAa;EAAmB,GAAKW,IAAI;IAAA,wBAChE,qBAAC,kBAAS;MAAC,QAAQ,EAAEV,QAAS;MAAC,WAAW,EAAEE,WAAY;MAAC,SAAS,EAAEE;IAAU,EAAG,EAChFI,UAAU,iBAAI,qBAAC,yBAAgB;MAAC,MAAM,EAAET,EAAG;MAAC,UAAU,EAAES;IAAW,EAAG,eACvE,qBAAC,UAAU,KAAG,EACbF,iCAAiC,iBAChC,qBAAC,yCAAgC;MAAC,gBAAgB,EAAED,qBAAsB;MAAC,wBAAwB,EAAEI,kBAAmB;MAAC,eAAe,EAAEF,eAAe,IAAI;IAAG,EACjK,eACD,qBAAC,0BAAiB;MAAC,WAAW,EAAEN,WAAY;MAAC,aAAa,EAAEE;IAAc,EAAG;EAAA,GAC7D;AAEtB,CAAC;AAAC;EAvCAJ,EAAE;EACFC,QAAQ;EACRE,WAAW;EACXD,WAAW;EACXE,aAAa;EACbG,iCAAiC;EACjCK,wBAAwB;EACxBJ,eAAe;EACfH,SAAS;EAETC,qBAAqB;EACrBI,kBAAkB;AAAA;AAAA,eA8BLX,UAAU;AAAA"}
1
+ {"version":3,"file":"SiteFooter.cjs","names":["FooterContainer","styled","footer","COLORS","neutral_800","neutral_200","BREAKPOINTS","MEDIUM","LARGE","FooterLine","div","white","SiteFooter","id","sitename","bottomLinks","showBetaTag","copyrightText","toTopText","placeholderEmailField","includeNewsletterAndSocialSection","newsletterLabel","navOptions","onNewsletterSignup","useMaxWidth","maxWidth","rest","actionOnNewsletterSignup"],"sources":["../../src/Footer/SiteFooter.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport FooterBottomLinks from './Components/FooterBottomLinks';\nimport FooterTop from './Components/FooterTop';\nimport FooterNewsletterAndSocialSection from './Components/FooterNewsletterAndSocialSection';\nimport FooterNavSection from './Components/FooterNavSection';\nimport { BREAKPOINTS, COLORS } from '../styles';\n\n/**\n * Import custom styles.\n */\nimport { NavLink, NavOptions } from '../types';\nimport {PageWidth} from \"../Layouts\";\n\nconst FooterContainer = styled.footer`\n margin-top: auto;\n background-color: ${COLORS.neutral_800};\n border-top: 8px solid ${COLORS.neutral_200};\n\n padding-top: 0;\n padding-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n padding: 16px 0;\n }\n\n ${BREAKPOINTS.LARGE} {\n padding: 16px 0;\n }\n`;\nconst FooterLine = styled.div`\n border-top: 1px solid ${COLORS.white};\n display: none;\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n`;\n\ninterface NewFooterProps extends Omit<React.HTMLAttributes<HTMLElement>, 'id'> {\n id: string;\n sitename?: string;\n showBetaTag?: boolean;\n bottomLinks?: NavLink[];\n copyrightText?: string;\n includeNewsletterAndSocialSection?: boolean;\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel?: string;\n toTopText: string;\n navOptions?: NavOptions;\n placeholderEmailField?: string;\n onNewsletterSignup?: (email: string) => void;\n useMaxWidth?: boolean;\n maxWidth?: number;\n}\n\nconst SiteFooter = ({\n id,\n sitename,\n bottomLinks,\n showBetaTag,\n copyrightText,\n toTopText,\n placeholderEmailField,\n includeNewsletterAndSocialSection,\n newsletterLabel,\n navOptions,\n onNewsletterSignup,\n useMaxWidth = true,\n maxWidth,\n ...rest\n}: NewFooterProps) => {\n return (\n <FooterContainer id={id} data-testid={'footer-container'} {...rest}>\n <PageWidth unsetMargin={true} useMaxWidth={useMaxWidth} maxWidth={maxWidth}>\n <FooterTop sitename={sitename} showBetaTag={showBetaTag} toTopText={toTopText} />\n {navOptions && <FooterNavSection mainId={id} navOptions={navOptions} />}\n <FooterLine />\n {includeNewsletterAndSocialSection && (\n <FooterNewsletterAndSocialSection placeholderEmail={placeholderEmailField} actionOnNewsletterSignup={onNewsletterSignup} newsletterLabel={newsletterLabel || ''} />\n )}\n <FooterBottomLinks bottomLinks={bottomLinks} copyrightText={copyrightText} />\n </PageWidth>\n </FooterContainer>\n );\n};\n\nexport default SiteFooter;\n"],"mappings":";;;;;;;;;;;;AAGA;AAKA;AAKA;AACA;AACA;AACA;AACA;AAMA;AAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAErC,IAAMA,eAAe,GAAGC,yBAAM,CAACC,MAAM,iSAEfC,cAAM,CAACC,WAAW,EACdD,cAAM,CAACE,WAAW,EAKxCC,mBAAW,CAACC,MAAM,EAIlBD,mBAAW,CAACE,KAAK,CAGpB;AACD,IAAMC,UAAU,GAAGR,yBAAM,CAACS,GAAG,6KACHP,cAAM,CAACQ,KAAK,EAElCL,mBAAW,CAACC,MAAM,CAGrB;AAmBD,IAAMK,UAAU,GAAG,SAAbA,UAAU,OAeM;EAAA,IAdpBC,EAAE,QAAFA,EAAE;IACFC,QAAQ,QAARA,QAAQ;IACRC,WAAW,QAAXA,WAAW;IACXC,WAAW,QAAXA,WAAW;IACXC,aAAa,QAAbA,aAAa;IACbC,SAAS,QAATA,SAAS;IACTC,qBAAqB,QAArBA,qBAAqB;IACrBC,iCAAiC,QAAjCA,iCAAiC;IACjCC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,kBAAkB,QAAlBA,kBAAkB;IAAA,wBAClBC,WAAW;IAAXA,WAAW,iCAAG,IAAI;IAClBC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEP,oBACE,qBAAC,eAAe;IAAC,EAAE,EAAEb,EAAG;IAAC,eAAa;EAAmB,GAAKa,IAAI;IAAA,uBAChE,sBAAC,kBAAS;MAAC,WAAW,EAAE,IAAK;MAAC,WAAW,EAAEF,WAAY;MAAC,QAAQ,EAAEC,QAAS;MAAA,wBACzE,qBAAC,kBAAS;QAAC,QAAQ,EAAEX,QAAS;QAAC,WAAW,EAAEE,WAAY;QAAC,SAAS,EAAEE;MAAU,EAAG,EAChFI,UAAU,iBAAI,qBAAC,yBAAgB;QAAC,MAAM,EAAET,EAAG;QAAC,UAAU,EAAES;MAAW,EAAG,eACvE,qBAAC,UAAU,KAAG,EACbF,iCAAiC,iBAChC,qBAAC,yCAAgC;QAAC,gBAAgB,EAAED,qBAAsB;QAAC,wBAAwB,EAAEI,kBAAmB;QAAC,eAAe,EAAEF,eAAe,IAAI;MAAG,EACjK,eACD,qBAAC,0BAAiB;QAAC,WAAW,EAAEN,WAAY;QAAC,aAAa,EAAEE;MAAc,EAAG;IAAA;EACnE,GACI;AAEtB,CAAC;AAAC;EA7CAJ,EAAE;EACFC,QAAQ;EACRE,WAAW;EACXD,WAAW;EACXE,aAAa;EACbG,iCAAiC;EACjCO,wBAAwB;EACxBN,eAAe;EACfH,SAAS;EAETC,qBAAqB;EACrBI,kBAAkB;EAClBC,WAAW;EACXC,QAAQ;AAAA;AAAA,eAkCKb,UAAU;AAAA"}
@@ -19,6 +19,8 @@ interface NewFooterProps extends Omit<React.HTMLAttributes<HTMLElement>, 'id'> {
19
19
  navOptions?: NavOptions;
20
20
  placeholderEmailField?: string;
21
21
  onNewsletterSignup?: (email: string) => void;
22
+ useMaxWidth?: boolean;
23
+ maxWidth?: number;
22
24
  }
23
- declare const SiteFooter: ({ id, sitename, bottomLinks, showBetaTag, copyrightText, toTopText, placeholderEmailField, includeNewsletterAndSocialSection, newsletterLabel, navOptions, onNewsletterSignup, ...rest }: NewFooterProps) => JSX.Element;
25
+ declare const SiteFooter: ({ id, sitename, bottomLinks, showBetaTag, copyrightText, toTopText, placeholderEmailField, includeNewsletterAndSocialSection, newsletterLabel, navOptions, onNewsletterSignup, useMaxWidth, maxWidth, ...rest }: NewFooterProps) => JSX.Element;
24
26
  export default SiteFooter;
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
4
  import _pt from "prop-types";
5
- var _excluded = ["id", "sitename", "bottomLinks", "showBetaTag", "copyrightText", "toTopText", "placeholderEmailField", "includeNewsletterAndSocialSection", "newsletterLabel", "navOptions", "onNewsletterSignup"];
5
+ var _excluded = ["id", "sitename", "bottomLinks", "showBetaTag", "copyrightText", "toTopText", "placeholderEmailField", "includeNewsletterAndSocialSection", "newsletterLabel", "navOptions", "onNewsletterSignup", "useMaxWidth", "maxWidth"];
6
6
  var _templateObject, _templateObject2;
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -28,9 +28,11 @@ import { BREAKPOINTS, COLORS } from '../styles';
28
28
  /**
29
29
  * Import custom styles.
30
30
  */
31
+
32
+ import { PageWidth } from "../Layouts";
31
33
  import { jsx as _jsx } from "react/jsx-runtime";
32
34
  import { jsxs as _jsxs } from "react/jsx-runtime";
33
- var FooterContainer = styled.footer(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: auto;\n background-color: ", ";\n border-top: 8px solid ", ";\n\n padding: 0 16px 16px;\n\n ", " {\n padding: 16px 32px;\n }\n\n ", " {\n padding: 16px 64px;\n }\n"])), COLORS.neutral_800, COLORS.neutral_200, BREAKPOINTS.MEDIUM, BREAKPOINTS.LARGE);
35
+ var FooterContainer = styled.footer(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: auto;\n background-color: ", ";\n border-top: 8px solid ", ";\n\n padding-top: 0;\n padding-bottom: 16px;\n\n ", " {\n padding: 16px 0;\n }\n\n ", " {\n padding: 16px 0;\n }\n"])), COLORS.neutral_800, COLORS.neutral_200, BREAKPOINTS.MEDIUM, BREAKPOINTS.LARGE);
34
36
  var FooterLine = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-top: 1px solid ", ";\n display: none;\n ", " {\n display: block;\n }\n"])), COLORS.white, BREAKPOINTS.MEDIUM);
35
37
  var SiteFooter = function SiteFooter(_ref) {
36
38
  var id = _ref.id,
@@ -44,26 +46,34 @@ var SiteFooter = function SiteFooter(_ref) {
44
46
  newsletterLabel = _ref.newsletterLabel,
45
47
  navOptions = _ref.navOptions,
46
48
  onNewsletterSignup = _ref.onNewsletterSignup,
49
+ _ref$useMaxWidth = _ref.useMaxWidth,
50
+ useMaxWidth = _ref$useMaxWidth === void 0 ? true : _ref$useMaxWidth,
51
+ maxWidth = _ref.maxWidth,
47
52
  rest = _objectWithoutProperties(_ref, _excluded);
48
- return /*#__PURE__*/_jsxs(FooterContainer, _objectSpread(_objectSpread({
53
+ return /*#__PURE__*/_jsx(FooterContainer, _objectSpread(_objectSpread({
49
54
  id: id,
50
55
  "data-testid": 'footer-container'
51
56
  }, rest), {}, {
52
- children: [/*#__PURE__*/_jsx(FooterTop, {
53
- sitename: sitename,
54
- showBetaTag: showBetaTag,
55
- toTopText: toTopText
56
- }), navOptions && /*#__PURE__*/_jsx(FooterNavSection, {
57
- mainId: id,
58
- navOptions: navOptions
59
- }), /*#__PURE__*/_jsx(FooterLine, {}), includeNewsletterAndSocialSection && /*#__PURE__*/_jsx(FooterNewsletterAndSocialSection, {
60
- placeholderEmail: placeholderEmailField,
61
- actionOnNewsletterSignup: onNewsletterSignup,
62
- newsletterLabel: newsletterLabel || ''
63
- }), /*#__PURE__*/_jsx(FooterBottomLinks, {
64
- bottomLinks: bottomLinks,
65
- copyrightText: copyrightText
66
- })]
57
+ children: /*#__PURE__*/_jsxs(PageWidth, {
58
+ unsetMargin: true,
59
+ useMaxWidth: useMaxWidth,
60
+ maxWidth: maxWidth,
61
+ children: [/*#__PURE__*/_jsx(FooterTop, {
62
+ sitename: sitename,
63
+ showBetaTag: showBetaTag,
64
+ toTopText: toTopText
65
+ }), navOptions && /*#__PURE__*/_jsx(FooterNavSection, {
66
+ mainId: id,
67
+ navOptions: navOptions
68
+ }), /*#__PURE__*/_jsx(FooterLine, {}), includeNewsletterAndSocialSection && /*#__PURE__*/_jsx(FooterNewsletterAndSocialSection, {
69
+ placeholderEmail: placeholderEmailField,
70
+ actionOnNewsletterSignup: onNewsletterSignup,
71
+ newsletterLabel: newsletterLabel || ''
72
+ }), /*#__PURE__*/_jsx(FooterBottomLinks, {
73
+ bottomLinks: bottomLinks,
74
+ copyrightText: copyrightText
75
+ })]
76
+ })
67
77
  }));
68
78
  };
69
79
  SiteFooter.propTypes = {
@@ -77,7 +87,9 @@ SiteFooter.propTypes = {
77
87
  newsletterLabel: _pt.string,
78
88
  toTopText: _pt.string.isRequired,
79
89
  placeholderEmailField: _pt.string,
80
- onNewsletterSignup: _pt.func
90
+ onNewsletterSignup: _pt.func,
91
+ useMaxWidth: _pt.bool,
92
+ maxWidth: _pt.number
81
93
  };
82
94
  export default SiteFooter;
83
95
  //# sourceMappingURL=SiteFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SiteFooter.js","names":["React","styled","FooterBottomLinks","FooterTop","FooterNewsletterAndSocialSection","FooterNavSection","BREAKPOINTS","COLORS","FooterContainer","footer","neutral_800","neutral_200","MEDIUM","LARGE","FooterLine","div","white","SiteFooter","id","sitename","bottomLinks","showBetaTag","copyrightText","toTopText","placeholderEmailField","includeNewsletterAndSocialSection","newsletterLabel","navOptions","onNewsletterSignup","rest","actionOnNewsletterSignup"],"sources":["../../src/Footer/SiteFooter.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport FooterBottomLinks from './Components/FooterBottomLinks';\nimport FooterTop from './Components/FooterTop';\nimport FooterNewsletterAndSocialSection from './Components/FooterNewsletterAndSocialSection';\nimport FooterNavSection from './Components/FooterNavSection';\nimport { BREAKPOINTS, COLORS } from '../styles';\n\n/**\n * Import custom styles.\n */\nimport { NavLink, NavOptions } from '../types';\n\nconst FooterContainer = styled.footer`\n margin-top: auto;\n background-color: ${COLORS.neutral_800};\n border-top: 8px solid ${COLORS.neutral_200};\n\n padding: 0 16px 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n padding: 16px 32px;\n }\n\n ${BREAKPOINTS.LARGE} {\n padding: 16px 64px;\n }\n`;\nconst FooterLine = styled.div`\n border-top: 1px solid ${COLORS.white};\n display: none;\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n`;\n\ninterface NewFooterProps extends Omit<React.HTMLAttributes<HTMLElement>, 'id'> {\n id: string;\n sitename?: string;\n showBetaTag?: boolean;\n bottomLinks?: NavLink[];\n copyrightText?: string;\n includeNewsletterAndSocialSection?: boolean;\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel?: string;\n toTopText: string;\n navOptions?: NavOptions;\n placeholderEmailField?: string;\n onNewsletterSignup?: (email: string) => void;\n}\n\nconst SiteFooter = ({\n id,\n sitename,\n bottomLinks,\n showBetaTag,\n copyrightText,\n toTopText,\n placeholderEmailField,\n includeNewsletterAndSocialSection,\n newsletterLabel,\n navOptions,\n onNewsletterSignup,\n ...rest\n}: NewFooterProps) => {\n return (\n <FooterContainer id={id} data-testid={'footer-container'} {...rest}>\n <FooterTop sitename={sitename} showBetaTag={showBetaTag} toTopText={toTopText} />\n {navOptions && <FooterNavSection mainId={id} navOptions={navOptions} />}\n <FooterLine />\n {includeNewsletterAndSocialSection && (\n <FooterNewsletterAndSocialSection placeholderEmail={placeholderEmailField} actionOnNewsletterSignup={onNewsletterSignup} newsletterLabel={newsletterLabel || ''} />\n )}\n <FooterBottomLinks bottomLinks={bottomLinks} copyrightText={copyrightText} />\n </FooterContainer>\n );\n};\n\nexport default SiteFooter;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,OAAOC,MAAM,MAAM,mBAAmB;;AAEtC;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,OAAOC,gCAAgC,MAAM,+CAA+C;AAC5F,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,SAASC,WAAW,EAAEC,MAAM,QAAQ,WAAW;;AAE/C;AACA;AACA;AAFA;AAAA;AAKA,IAAMC,eAAe,GAAGP,MAAM,CAACQ,MAAM,sQAEfF,MAAM,CAACG,WAAW,EACdH,MAAM,CAACI,WAAW,EAIxCL,WAAW,CAACM,MAAM,EAIlBN,WAAW,CAACO,KAAK,CAGpB;AACD,IAAMC,UAAU,GAAGb,MAAM,CAACc,GAAG,+JACHR,MAAM,CAACS,KAAK,EAElCV,WAAW,CAACM,MAAM,CAGrB;AAiBD,IAAMK,UAAU,GAAG,SAAbA,UAAU,OAaM;EAAA,IAZpBC,EAAE,QAAFA,EAAE;IACFC,QAAQ,QAARA,QAAQ;IACRC,WAAW,QAAXA,WAAW;IACXC,WAAW,QAAXA,WAAW;IACXC,aAAa,QAAbA,aAAa;IACbC,SAAS,QAATA,SAAS;IACTC,qBAAqB,QAArBA,qBAAqB;IACrBC,iCAAiC,QAAjCA,iCAAiC;IACjCC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,kBAAkB,QAAlBA,kBAAkB;IACfC,IAAI;EAEP,oBACE,MAAC,eAAe;IAAC,EAAE,EAAEX,EAAG;IAAC,eAAa;EAAmB,GAAKW,IAAI;IAAA,wBAChE,KAAC,SAAS;MAAC,QAAQ,EAAEV,QAAS;MAAC,WAAW,EAAEE,WAAY;MAAC,SAAS,EAAEE;IAAU,EAAG,EAChFI,UAAU,iBAAI,KAAC,gBAAgB;MAAC,MAAM,EAAET,EAAG;MAAC,UAAU,EAAES;IAAW,EAAG,eACvE,KAAC,UAAU,KAAG,EACbF,iCAAiC,iBAChC,KAAC,gCAAgC;MAAC,gBAAgB,EAAED,qBAAsB;MAAC,wBAAwB,EAAEI,kBAAmB;MAAC,eAAe,EAAEF,eAAe,IAAI;IAAG,EACjK,eACD,KAAC,iBAAiB;MAAC,WAAW,EAAEN,WAAY;MAAC,aAAa,EAAEE;IAAc,EAAG;EAAA,GAC7D;AAEtB,CAAC;AAAC;EAvCAJ,EAAE;EACFC,QAAQ;EACRE,WAAW;EACXD,WAAW;EACXE,aAAa;EACbG,iCAAiC;EACjCK,wBAAwB;EACxBJ,eAAe;EACfH,SAAS;EAETC,qBAAqB;EACrBI,kBAAkB;AAAA;AA8BpB,eAAeX,UAAU"}
1
+ {"version":3,"file":"SiteFooter.js","names":["React","styled","FooterBottomLinks","FooterTop","FooterNewsletterAndSocialSection","FooterNavSection","BREAKPOINTS","COLORS","PageWidth","FooterContainer","footer","neutral_800","neutral_200","MEDIUM","LARGE","FooterLine","div","white","SiteFooter","id","sitename","bottomLinks","showBetaTag","copyrightText","toTopText","placeholderEmailField","includeNewsletterAndSocialSection","newsletterLabel","navOptions","onNewsletterSignup","useMaxWidth","maxWidth","rest","actionOnNewsletterSignup"],"sources":["../../src/Footer/SiteFooter.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport FooterBottomLinks from './Components/FooterBottomLinks';\nimport FooterTop from './Components/FooterTop';\nimport FooterNewsletterAndSocialSection from './Components/FooterNewsletterAndSocialSection';\nimport FooterNavSection from './Components/FooterNavSection';\nimport { BREAKPOINTS, COLORS } from '../styles';\n\n/**\n * Import custom styles.\n */\nimport { NavLink, NavOptions } from '../types';\nimport {PageWidth} from \"../Layouts\";\n\nconst FooterContainer = styled.footer`\n margin-top: auto;\n background-color: ${COLORS.neutral_800};\n border-top: 8px solid ${COLORS.neutral_200};\n\n padding-top: 0;\n padding-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n padding: 16px 0;\n }\n\n ${BREAKPOINTS.LARGE} {\n padding: 16px 0;\n }\n`;\nconst FooterLine = styled.div`\n border-top: 1px solid ${COLORS.white};\n display: none;\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n`;\n\ninterface NewFooterProps extends Omit<React.HTMLAttributes<HTMLElement>, 'id'> {\n id: string;\n sitename?: string;\n showBetaTag?: boolean;\n bottomLinks?: NavLink[];\n copyrightText?: string;\n includeNewsletterAndSocialSection?: boolean;\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel?: string;\n toTopText: string;\n navOptions?: NavOptions;\n placeholderEmailField?: string;\n onNewsletterSignup?: (email: string) => void;\n useMaxWidth?: boolean;\n maxWidth?: number;\n}\n\nconst SiteFooter = ({\n id,\n sitename,\n bottomLinks,\n showBetaTag,\n copyrightText,\n toTopText,\n placeholderEmailField,\n includeNewsletterAndSocialSection,\n newsletterLabel,\n navOptions,\n onNewsletterSignup,\n useMaxWidth = true,\n maxWidth,\n ...rest\n}: NewFooterProps) => {\n return (\n <FooterContainer id={id} data-testid={'footer-container'} {...rest}>\n <PageWidth unsetMargin={true} useMaxWidth={useMaxWidth} maxWidth={maxWidth}>\n <FooterTop sitename={sitename} showBetaTag={showBetaTag} toTopText={toTopText} />\n {navOptions && <FooterNavSection mainId={id} navOptions={navOptions} />}\n <FooterLine />\n {includeNewsletterAndSocialSection && (\n <FooterNewsletterAndSocialSection placeholderEmail={placeholderEmailField} actionOnNewsletterSignup={onNewsletterSignup} newsletterLabel={newsletterLabel || ''} />\n )}\n <FooterBottomLinks bottomLinks={bottomLinks} copyrightText={copyrightText} />\n </PageWidth>\n </FooterContainer>\n );\n};\n\nexport default SiteFooter;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,OAAOC,MAAM,MAAM,mBAAmB;;AAEtC;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,OAAOC,gCAAgC,MAAM,+CAA+C;AAC5F,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,SAASC,WAAW,EAAEC,MAAM,QAAQ,WAAW;;AAE/C;AACA;AACA;;AAEA,SAAQC,SAAS,QAAO,YAAY;AAAC;AAAA;AAErC,IAAMC,eAAe,GAAGR,MAAM,CAACS,MAAM,mRAEfH,MAAM,CAACI,WAAW,EACdJ,MAAM,CAACK,WAAW,EAKxCN,WAAW,CAACO,MAAM,EAIlBP,WAAW,CAACQ,KAAK,CAGpB;AACD,IAAMC,UAAU,GAAGd,MAAM,CAACe,GAAG,+JACHT,MAAM,CAACU,KAAK,EAElCX,WAAW,CAACO,MAAM,CAGrB;AAmBD,IAAMK,UAAU,GAAG,SAAbA,UAAU,OAeM;EAAA,IAdpBC,EAAE,QAAFA,EAAE;IACFC,QAAQ,QAARA,QAAQ;IACRC,WAAW,QAAXA,WAAW;IACXC,WAAW,QAAXA,WAAW;IACXC,aAAa,QAAbA,aAAa;IACbC,SAAS,QAATA,SAAS;IACTC,qBAAqB,QAArBA,qBAAqB;IACrBC,iCAAiC,QAAjCA,iCAAiC;IACjCC,eAAe,QAAfA,eAAe;IACfC,UAAU,QAAVA,UAAU;IACVC,kBAAkB,QAAlBA,kBAAkB;IAAA,wBAClBC,WAAW;IAAXA,WAAW,iCAAG,IAAI;IAClBC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEP,oBACE,KAAC,eAAe;IAAC,EAAE,EAAEb,EAAG;IAAC,eAAa;EAAmB,GAAKa,IAAI;IAAA,uBAChE,MAAC,SAAS;MAAC,WAAW,EAAE,IAAK;MAAC,WAAW,EAAEF,WAAY;MAAC,QAAQ,EAAEC,QAAS;MAAA,wBACzE,KAAC,SAAS;QAAC,QAAQ,EAAEX,QAAS;QAAC,WAAW,EAAEE,WAAY;QAAC,SAAS,EAAEE;MAAU,EAAG,EAChFI,UAAU,iBAAI,KAAC,gBAAgB;QAAC,MAAM,EAAET,EAAG;QAAC,UAAU,EAAES;MAAW,EAAG,eACvE,KAAC,UAAU,KAAG,EACbF,iCAAiC,iBAChC,KAAC,gCAAgC;QAAC,gBAAgB,EAAED,qBAAsB;QAAC,wBAAwB,EAAEI,kBAAmB;QAAC,eAAe,EAAEF,eAAe,IAAI;MAAG,EACjK,eACD,KAAC,iBAAiB;QAAC,WAAW,EAAEN,WAAY;QAAC,aAAa,EAAEE;MAAc,EAAG;IAAA;EACnE,GACI;AAEtB,CAAC;AAAC;EA7CAJ,EAAE;EACFC,QAAQ;EACRE,WAAW;EACXD,WAAW;EACXE,aAAa;EACbG,iCAAiC;EACjCO,wBAAwB;EACxBN,eAAe;EACfH,SAAS;EAETC,qBAAqB;EACrBI,kBAAkB;EAClBC,WAAW;EACXC,QAAQ;AAAA;AAkCV,eAAeb,UAAU"}
@@ -124,7 +124,9 @@ var GlobalNavigationBar = function GlobalNavigationBar(_ref) {
124
124
  ref: rightSideRef,
125
125
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RightSideNav.default, {
126
126
  items: desktop === null || desktop === void 0 ? void 0 : (_desktop$items = desktop.items) === null || _desktop$items === void 0 ? void 0 : _desktop$items.filter(function (a) {
127
- return a.pinned;
127
+ return a.pinned && a.type == 'item';
128
+ }).map(function (x) {
129
+ return x;
128
130
  }),
129
131
  action: desktop === null || desktop === void 0 ? void 0 : desktop.action
130
132
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MobileWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalNavigationBar.cjs","names":["HeaderWrapper","styled","header","COLORS","neutral_200","Z_INDEXES","sticky_menu","BREAKPOINTS","MEDIUM","LARGE","RowLayout","div","HamburgerButton","RightSide","MobileMenuBackdrop","backdrop","fadeIn","fadeOut","MobileWrapper","UserMenuWrapper","white","props","offsetRight","hasWindow","window","innerWidth","GlobalNavigationBar","name","isAuthenticated","logo","profile","mobile","desktop","testId","useMaxWidth","maxWidth","profileComponent","border","React","useState","showMobileMenu","setShowMobileMenu","wasMobileMenuOpen","usePreviousImmediate","showUserMenu","setShowUserMenu","actionsRef","useRef","profileButtonRef","current","buttons","find","a","type","ref","mobileMenuButtonRef","rightSideRef","avatarRight","setAvatarRight","userMenuRef","useClickOutsideRef","mobileMenuRef","useEffect","handleResize","profileRightOffset","getBoundingClientRect","right","addEventListener","removeEventListener","showBetaTag","onClick","to","items","filter","pinned","reverseRightSideOrder","action","user","undefined","some"],"sources":["../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './desktop/MainMenu';\nimport {PageWidth} from '../Layouts';\nimport {COLORS, BREAKPOINTS} from '../styles';\nimport RightSideNav from './desktop/RightSideNav';\nimport MobileMenu from './mobile/MobileMenu';\nimport {SystemIcons} from '../icons';\nimport UserMenu from './desktop/UserMenu';\nimport {fadeIn, fadeOut, Menu as MobileMenuWrapper} from './mobile/CommonStyles';\nimport {Z_INDEXES} from '../styles';\nimport {\n DesktopNavigationMenuProps,\n MobileNavigationMenuProps,\n ProfileMenu\n} from './types';\nimport {IconButton} from '../Button';\nimport DesktopActions, {DesktopActionsRef} from './desktop/DesktopActions';\nimport {usePreviousImmediate} from 'rooks';\nimport {useClickOutsideRef} from '../common';\nimport { hasWindow } from '../utils/utils';\n\nconst HeaderWrapper = styled.header`\n background: white;\n box-sizing: border-box;\n \n &.border:after{\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: -1px;\n height: 1px;\n background: ${COLORS.neutral_200};\n z-index: 5;\n }\n\n z-index: ${Z_INDEXES.sticky_menu};\n position: relative;\n\n height: 48px;\n\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n ${BREAKPOINTS.LARGE} {\n height: 80px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n`;\n\nconst RowLayout = styled.div`\n display: flex;\n align-items: center;\n`;\n\n\nconst HamburgerButton = styled.div`\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\nconst RightSide = styled.div`\n display: flex;\n align-items: center;\n\n margin: 0 0 0 auto;\n\n &.reverse {\n ${HamburgerButton} {\n order: -1;\n }\n\n flex-direction: row-reverse;\n }\n`;\n\nconst MobileMenuBackdrop = styled.div`\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n z-index: ${Z_INDEXES.backdrop};\n visibility: hidden;\n\n &.open {\n visibility: visible;\n animation: ${fadeIn} 0.3s ease-in-out;\n }\n\n &.closed {\n visibility: hidden;\n animation: ${fadeOut} 0.3s ease-in-out;\n }\n\n ${BREAKPOINTS.LARGE} {\n visibility: hidden !important;\n }\n`;\n\nconst MobileWrapper = styled.div`\n ${BREAKPOINTS.MEDIUM} {\n display: none !important;\n }\n`;\n\n\nconst UserMenuWrapper = styled.div<{ offsetRight?: number }>`\n background-color: ${COLORS.white};\n display: flex;\n position: absolute;\n\n ${BREAKPOINTS.LARGE} {\n top: 80px;\n right: ${(props) => (props.offsetRight && hasWindow() ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n }\n`;\n\n\n\ntype GlobalNavigationBarProps = {\n isAuthenticated?: boolean;\n useMaxWidth?: boolean;\n maxWidth?: number;\n\n name?: string;\n logo?: { onClick?: () => void; to?: string; showBetaTag?: boolean; };\n\n profile?: ProfileMenu;\n\n mobile?: MobileNavigationMenuProps;\n desktop?: DesktopNavigationMenuProps;\n\n testId?: string;\n\n profileComponent?: React.ReactNode\n border?: boolean;\n};\n\n/**\n * @param props\n * @constructor\n * @description This component is a global navigation header bar\n */\nconst GlobalNavigationBar = ({\n name,\n isAuthenticated,\n logo,\n profile,\n mobile,\n desktop,\n testId,\n useMaxWidth = true,\n maxWidth,\n profileComponent,\n border = true\n }: GlobalNavigationBarProps): React.ReactElement<GlobalNavigationBarProps> => {\n const [showMobileMenu, setShowMobileMenu] = React.useState(false);\n const wasMobileMenuOpen = usePreviousImmediate(showMobileMenu);\n\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n\n const actionsRef = React.useRef<DesktopActionsRef>(null);\n const profileButtonRef = React.useRef<HTMLButtonElement | null>() as React.MutableRefObject<HTMLButtonElement | null | undefined>;\n profileButtonRef.current = actionsRef?.current?.buttons?.find(a => a.type === 'profile')?.ref?.current;\n\n const mobileMenuButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n\n const userMenuRef = useClickOutsideRef(() => setShowUserMenu(false), [profileButtonRef]);\n const mobileMenuRef = useClickOutsideRef(() => setShowMobileMenu(false), [mobileMenuButtonRef]);\n\n React.useEffect(() => {\n if (!profileButtonRef.current) return;\n\n const handleResize = () => {\n const profileRightOffset = profileButtonRef.current?.getBoundingClientRect()?.right;\n setAvatarRight(profileRightOffset || 0);\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [profileButtonRef.current]);\n\n\n return (\n <>\n <HeaderWrapper data-testid={testId} className={border ? 'border' : ''}>\n <PageWidth useMaxWidth={useMaxWidth} maxWidth={maxWidth} unsetMargin={true}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={logo?.showBetaTag} onClick={logo?.onClick} to={logo?.to}/>\n {\n isAuthenticated &&\n <MainMenu items={desktop?.items.filter(a => !a.pinned) || []} rightSideRef={rightSideRef}/>\n }\n <RightSide className={`${desktop?.reverseRightSideOrder ? 'reverse' : ''}`}\n ref={rightSideRef}>\n <RightSideNav items={desktop?.items?.filter(a => a.pinned)} action={desktop?.action}/>\n <MobileWrapper>\n {!!profileComponent && profileComponent }\n </MobileWrapper>\n\n <DesktopActions ref={actionsRef}\n buttons={desktop?.buttons}\n onShowUserMenu={() => setShowUserMenu(!showUserMenu)}\n user={profile?.user}\n profileComponent= {profileComponent}\n />\n <HamburgerButton hidden={!isAuthenticated}>\n <IconButton action={() => setShowMobileMenu(!showMobileMenu)}\n ref={mobileMenuButtonRef}\n shape={'circular'}\n variant={'secondary'}>\n <SystemIcons.Menu size=\"24px\"/>\n </IconButton>\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MobileMenuBackdrop className={showMobileMenu ? 'open' : !showUserMenu && wasMobileMenuOpen ? 'closed' : ''}>\n <MobileMenuWrapper ref={mobileMenuRef}\n role=\"menu\"\n aria-labelledby=\"UserMenuButton\">\n <MobileMenu {...mobile}\n show={showMobileMenu}\n onClose={() => setShowMobileMenu(false)}\n profile={!profileComponent ? profile : undefined}/>\n </MobileMenuWrapper>\n </MobileMenuBackdrop>\n {\n desktop?.buttons?.some(a => a.type === 'profile') && !!profile &&\n <UserMenuWrapper ref={userMenuRef}\n offsetRight={avatarRight}\n data-testid=\"testUserMenuWrapper\">\n <UserMenu {...profile}\n show={showUserMenu}\n onHideUserMenu={() => setShowUserMenu(false)}/>\n </UserMenuWrapper>\n }\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GlobalNavigationBar.cjs","names":["HeaderWrapper","styled","header","COLORS","neutral_200","Z_INDEXES","sticky_menu","BREAKPOINTS","MEDIUM","LARGE","RowLayout","div","HamburgerButton","RightSide","MobileMenuBackdrop","backdrop","fadeIn","fadeOut","MobileWrapper","UserMenuWrapper","white","props","offsetRight","hasWindow","window","innerWidth","GlobalNavigationBar","name","isAuthenticated","logo","profile","mobile","desktop","testId","useMaxWidth","maxWidth","profileComponent","border","React","useState","showMobileMenu","setShowMobileMenu","wasMobileMenuOpen","usePreviousImmediate","showUserMenu","setShowUserMenu","actionsRef","useRef","profileButtonRef","current","buttons","find","a","type","ref","mobileMenuButtonRef","rightSideRef","avatarRight","setAvatarRight","userMenuRef","useClickOutsideRef","mobileMenuRef","useEffect","handleResize","profileRightOffset","getBoundingClientRect","right","addEventListener","removeEventListener","showBetaTag","onClick","to","items","filter","pinned","reverseRightSideOrder","map","x","action","user","undefined","some"],"sources":["../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './desktop/MainMenu';\nimport {PageWidth} from '../Layouts';\nimport {COLORS, BREAKPOINTS} from '../styles';\nimport RightSideNav from './desktop/RightSideNav';\nimport MobileMenu from './mobile/MobileMenu';\nimport {SystemIcons} from '../icons';\nimport UserMenu from './desktop/UserMenu';\nimport {fadeIn, fadeOut, Menu as MobileMenuWrapper} from './mobile/CommonStyles';\nimport {Z_INDEXES} from '../styles';\nimport {\n DesktopNavigationMenuProps, MenuNavigationItemTypeItem, MenuProfileButton,\n MobileNavigationMenuProps,\n ProfileMenu\n} from './types';\nimport {IconButton} from '../Button';\nimport DesktopActions, {DesktopActionsRef} from './desktop/DesktopActions';\nimport {usePreviousImmediate} from 'rooks';\nimport {useClickOutsideRef} from '../common';\nimport { hasWindow } from '../utils/utils';\n\nconst HeaderWrapper = styled.header`\n background: white;\n box-sizing: border-box;\n \n &.border:after{\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: -1px;\n height: 1px;\n background: ${COLORS.neutral_200};\n z-index: 5;\n }\n\n z-index: ${Z_INDEXES.sticky_menu};\n position: relative;\n\n height: 48px;\n\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n ${BREAKPOINTS.LARGE} {\n height: 80px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n`;\n\nconst RowLayout = styled.div`\n display: flex;\n align-items: center;\n`;\n\n\nconst HamburgerButton = styled.div`\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\nconst RightSide = styled.div`\n display: flex;\n align-items: center;\n\n margin: 0 0 0 auto;\n\n &.reverse {\n ${HamburgerButton} {\n order: -1;\n }\n\n flex-direction: row-reverse;\n }\n`;\n\nconst MobileMenuBackdrop = styled.div`\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n z-index: ${Z_INDEXES.backdrop};\n visibility: hidden;\n\n &.open {\n visibility: visible;\n animation: ${fadeIn} 0.3s ease-in-out;\n }\n\n &.closed {\n visibility: hidden;\n animation: ${fadeOut} 0.3s ease-in-out;\n }\n\n ${BREAKPOINTS.LARGE} {\n visibility: hidden !important;\n }\n`;\n\nconst MobileWrapper = styled.div`\n ${BREAKPOINTS.MEDIUM} {\n display: none !important;\n }\n`;\n\n\nconst UserMenuWrapper = styled.div<{ offsetRight?: number }>`\n background-color: ${COLORS.white};\n display: flex;\n position: absolute;\n\n ${BREAKPOINTS.LARGE} {\n top: 80px;\n right: ${(props) => (props.offsetRight && hasWindow() ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n }\n`;\n\n\n\ntype GlobalNavigationBarProps = {\n isAuthenticated?: boolean;\n useMaxWidth?: boolean;\n maxWidth?: number;\n\n name?: string;\n logo?: { onClick?: () => void; to?: string; showBetaTag?: boolean; };\n\n profile?: ProfileMenu;\n\n mobile?: MobileNavigationMenuProps;\n desktop?: DesktopNavigationMenuProps;\n\n testId?: string;\n\n profileComponent?: React.ReactNode\n border?: boolean;\n};\n\n/**\n * @param props\n * @constructor\n * @description This component is a global navigation header bar\n */\nconst GlobalNavigationBar = ({\n name,\n isAuthenticated,\n logo,\n profile,\n mobile,\n desktop,\n testId,\n useMaxWidth = true,\n maxWidth,\n profileComponent,\n border = true\n }: GlobalNavigationBarProps): React.ReactElement<GlobalNavigationBarProps> => {\n const [showMobileMenu, setShowMobileMenu] = React.useState(false);\n const wasMobileMenuOpen = usePreviousImmediate(showMobileMenu);\n\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n\n const actionsRef = React.useRef<DesktopActionsRef>(null);\n const profileButtonRef = React.useRef<HTMLButtonElement | null>() as React.MutableRefObject<HTMLButtonElement | null | undefined>;\n profileButtonRef.current = actionsRef?.current?.buttons?.find(a => a.type === 'profile')?.ref?.current;\n\n const mobileMenuButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n\n const userMenuRef = useClickOutsideRef(() => setShowUserMenu(false), [profileButtonRef]);\n const mobileMenuRef = useClickOutsideRef(() => setShowMobileMenu(false), [mobileMenuButtonRef]);\n\n React.useEffect(() => {\n if (!profileButtonRef.current) return;\n\n const handleResize = () => {\n const profileRightOffset = profileButtonRef.current?.getBoundingClientRect()?.right;\n setAvatarRight(profileRightOffset || 0);\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [profileButtonRef.current]);\n\n\n return (\n <>\n <HeaderWrapper data-testid={testId} className={border ? 'border' : ''}>\n <PageWidth useMaxWidth={useMaxWidth} maxWidth={maxWidth} unsetMargin={true}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={logo?.showBetaTag} onClick={logo?.onClick} to={logo?.to}/>\n {\n isAuthenticated &&\n <MainMenu items={desktop?.items.filter(a => !a.pinned) || []} rightSideRef={rightSideRef}/>\n }\n <RightSide className={`${desktop?.reverseRightSideOrder ? 'reverse' : ''}`}\n ref={rightSideRef}>\n <RightSideNav items={desktop?.items?.filter(a => a.pinned && a.type == 'item').map(x => x as MenuNavigationItemTypeItem)} action={desktop?.action}/>\n <MobileWrapper>\n {!!profileComponent && profileComponent }\n </MobileWrapper>\n\n <DesktopActions ref={actionsRef}\n buttons={desktop?.buttons}\n onShowUserMenu={() => setShowUserMenu(!showUserMenu)}\n user={profile?.user}\n profileComponent= {profileComponent}\n />\n <HamburgerButton hidden={!isAuthenticated}>\n <IconButton action={() => setShowMobileMenu(!showMobileMenu)}\n ref={mobileMenuButtonRef}\n shape={'circular'}\n variant={'secondary'}>\n <SystemIcons.Menu size=\"24px\"/>\n </IconButton>\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MobileMenuBackdrop className={showMobileMenu ? 'open' : !showUserMenu && wasMobileMenuOpen ? 'closed' : ''}>\n <MobileMenuWrapper ref={mobileMenuRef}\n role=\"menu\"\n aria-labelledby=\"UserMenuButton\">\n <MobileMenu {...mobile}\n show={showMobileMenu}\n onClose={() => setShowMobileMenu(false)}\n profile={!profileComponent ? profile : undefined}/>\n </MobileMenuWrapper>\n </MobileMenuBackdrop>\n {\n desktop?.buttons?.some(a => a.type === 'profile') && !!profile &&\n <UserMenuWrapper ref={userMenuRef}\n offsetRight={avatarRight}\n data-testid=\"testUserMenuWrapper\">\n <UserMenu {...profile}\n show={showUserMenu}\n onHideUserMenu={() => setShowUserMenu(false)}/>\n </UserMenuWrapper>\n }\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"mappings":"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"}
@@ -117,7 +117,9 @@ var GlobalNavigationBar = function GlobalNavigationBar(_ref) {
117
117
  ref: rightSideRef,
118
118
  children: [/*#__PURE__*/_jsx(RightSideNav, {
119
119
  items: desktop === null || desktop === void 0 ? void 0 : (_desktop$items = desktop.items) === null || _desktop$items === void 0 ? void 0 : _desktop$items.filter(function (a) {
120
- return a.pinned;
120
+ return a.pinned && a.type == 'item';
121
+ }).map(function (x) {
122
+ return x;
121
123
  }),
122
124
  action: desktop === null || desktop === void 0 ? void 0 : desktop.action
123
125
  }), /*#__PURE__*/_jsx(MobileWrapper, {