@laerdal/life-react-components 1.2.2-dev.7 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/esm/Accordion/AccordionItem.js +70 -0
  2. package/dist/esm/Accordion/AccordionItem.js.map +1 -0
  3. package/dist/esm/Accordion/AccordionMenu.js +61 -0
  4. package/dist/esm/Accordion/AccordionMenu.js.map +1 -0
  5. package/dist/esm/Accordion/__tests__/AccordionMenu.test.js +53 -0
  6. package/dist/esm/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  7. package/dist/esm/Accordion/index.js +4 -0
  8. package/dist/esm/Accordion/index.js.map +1 -0
  9. package/dist/esm/Accordion/styles.js +75 -0
  10. package/dist/esm/Accordion/styles.js.map +1 -0
  11. package/dist/esm/Breadcrumb/Breadcrumb.js.map +1 -1
  12. package/dist/esm/Button/Iconbutton.js +5 -2
  13. package/dist/esm/Button/Iconbutton.js.map +1 -1
  14. package/dist/esm/Dropdown/BasicDropdown.js +17 -9
  15. package/dist/esm/Dropdown/BasicDropdown.js.map +1 -1
  16. package/dist/esm/Dropdown/CommonStyling.js +71 -71
  17. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  18. package/dist/esm/Dropdown/DropdownContent.js +13 -1
  19. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  20. package/dist/esm/GlobalNavigationBar/Avatar.js +2 -2
  21. package/dist/esm/GlobalNavigationBar/Avatar.js.map +1 -1
  22. package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js +2 -1
  23. package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  24. package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js +6 -2
  25. package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  26. package/dist/esm/GlobalNavigationBar/Logo.js +10 -10
  27. package/dist/esm/GlobalNavigationBar/Logo.js.map +1 -1
  28. package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js +2 -1
  29. package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  30. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js +2 -1
  31. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  32. package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js +8 -1
  33. package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  34. package/dist/esm/HyperLink/HyperLink.js +20 -17
  35. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  36. package/dist/esm/InputFields/Checkbox.js +27 -16
  37. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  38. package/dist/esm/InputFields/DatepickerField.js +6 -0
  39. package/dist/esm/InputFields/DatepickerField.js.map +1 -1
  40. package/dist/esm/InputFields/PasswordField.js +1 -1
  41. package/dist/esm/InputFields/PasswordField.js.map +1 -1
  42. package/dist/esm/InputFields/RadioButton.js +21 -14
  43. package/dist/esm/InputFields/RadioButton.js.map +1 -1
  44. package/dist/esm/InputFields/SearchBar.js +13 -13
  45. package/dist/esm/InputFields/SearchBar.js.map +1 -1
  46. package/dist/esm/List/ListRow.js +4 -1
  47. package/dist/esm/List/ListRow.js.map +1 -1
  48. package/dist/esm/Modals/ModalContainer.js +8 -1
  49. package/dist/esm/Modals/ModalContainer.js.map +1 -1
  50. package/dist/esm/Modals/ModalDialog.js +76 -26
  51. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  52. package/dist/esm/Modals/ModalStyles.js +38 -21
  53. package/dist/esm/Modals/ModalStyles.js.map +1 -1
  54. package/dist/esm/Modals/ModalTypes.js +2 -0
  55. package/dist/esm/Modals/ModalTypes.js.map +1 -0
  56. package/dist/esm/NavItem/NavItem.js +4 -0
  57. package/dist/esm/NavItem/NavItem.js.map +1 -1
  58. package/dist/esm/Paginator/Paginator.js +60 -48
  59. package/dist/esm/Paginator/Paginator.js.map +1 -1
  60. package/dist/esm/Paginator/__tests__/Paginator.test.js +4 -4
  61. package/dist/esm/Paginator/__tests__/Paginator.test.js.map +1 -1
  62. package/dist/esm/Switcher/MobileSwitcherMenu.js +2 -1
  63. package/dist/esm/Switcher/MobileSwitcherMenu.js.map +1 -1
  64. package/dist/esm/Switcher/SwitcherMenuItem.js +5 -0
  65. package/dist/esm/Switcher/SwitcherMenuItem.js.map +1 -1
  66. package/dist/esm/Tabs/HorizontalTabs.js +10 -4
  67. package/dist/esm/Tabs/HorizontalTabs.js.map +1 -1
  68. package/dist/esm/Tabs/TabLink.js +15 -4
  69. package/dist/esm/Tabs/TabLink.js.map +1 -1
  70. package/dist/esm/Toasters/ToastContext.js +2 -1
  71. package/dist/esm/Toasters/ToastContext.js.map +1 -1
  72. package/dist/esm/Tooltips/TooltipStyles.js +6 -5
  73. package/dist/esm/Tooltips/TooltipStyles.js.map +1 -1
  74. package/dist/esm/Tooltips/TooltipTypes.js.map +1 -1
  75. package/dist/esm/Tooltips/TooltipWrapper.js +4 -1
  76. package/dist/esm/Tooltips/TooltipWrapper.js.map +1 -1
  77. package/dist/esm/icons/index.js +1 -1
  78. package/dist/esm/icons/index.js.map +1 -1
  79. package/dist/esm/index.js +1 -0
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/styles/typography.js +25 -6
  82. package/dist/esm/styles/typography.js.map +1 -1
  83. package/dist/esm/styles/z-indexes.js +14 -0
  84. package/dist/esm/styles/z-indexes.js.map +1 -0
  85. package/dist/js/Accordion/AccordionItem.d.ts +9 -0
  86. package/dist/js/Accordion/AccordionItem.js +101 -0
  87. package/dist/js/Accordion/AccordionItem.js.map +1 -0
  88. package/dist/js/Accordion/AccordionMenu.d.ts +17 -0
  89. package/dist/js/Accordion/AccordionMenu.js +111 -0
  90. package/dist/js/Accordion/AccordionMenu.js.map +1 -0
  91. package/dist/js/Accordion/__tests__/AccordionMenu.test.js +101 -0
  92. package/dist/js/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  93. package/dist/js/Accordion/index.d.ts +3 -0
  94. package/dist/js/Accordion/index.js +30 -0
  95. package/dist/js/Accordion/index.js.map +1 -0
  96. package/dist/js/Accordion/styles.d.ts +11 -0
  97. package/dist/js/Accordion/styles.js +52 -0
  98. package/dist/js/Accordion/styles.js.map +1 -0
  99. package/dist/js/Breadcrumb/Breadcrumb.js.map +1 -1
  100. package/dist/js/Button/Iconbutton.d.ts +1 -1
  101. package/dist/js/Button/Iconbutton.js +16 -9
  102. package/dist/js/Button/Iconbutton.js.map +1 -1
  103. package/dist/js/Dropdown/BasicDropdown.d.ts +4 -1
  104. package/dist/js/Dropdown/BasicDropdown.js +17 -9
  105. package/dist/js/Dropdown/BasicDropdown.js.map +1 -1
  106. package/dist/js/Dropdown/CommonStyling.d.ts +2 -0
  107. package/dist/js/Dropdown/CommonStyling.js +8 -4
  108. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  109. package/dist/js/Dropdown/DropdownContent.js +5 -3
  110. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  111. package/dist/js/GlobalNavigationBar/Avatar.js +2 -2
  112. package/dist/js/GlobalNavigationBar/Avatar.js.map +1 -1
  113. package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js +3 -1
  114. package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  115. package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js +5 -3
  116. package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  117. package/dist/js/GlobalNavigationBar/Logo.js +9 -9
  118. package/dist/js/GlobalNavigationBar/Logo.js.map +1 -1
  119. package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js +3 -1
  120. package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  121. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js +3 -1
  122. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  123. package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js +4 -2
  124. package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  125. package/dist/js/HyperLink/HyperLink.d.ts +2 -2
  126. package/dist/js/HyperLink/HyperLink.js +19 -15
  127. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  128. package/dist/js/InputFields/Checkbox.js +9 -5
  129. package/dist/js/InputFields/Checkbox.js.map +1 -1
  130. package/dist/js/InputFields/DatepickerField.js +3 -1
  131. package/dist/js/InputFields/DatepickerField.js.map +1 -1
  132. package/dist/js/InputFields/PasswordField.js +1 -1
  133. package/dist/js/InputFields/PasswordField.js.map +1 -1
  134. package/dist/js/InputFields/RadioButton.js +3 -3
  135. package/dist/js/InputFields/RadioButton.js.map +1 -1
  136. package/dist/js/InputFields/SearchBar.js +15 -15
  137. package/dist/js/InputFields/SearchBar.js.map +1 -1
  138. package/dist/js/List/ListRow.js +3 -1
  139. package/dist/js/List/ListRow.js.map +1 -1
  140. package/dist/js/Modals/ModalContainer.js +3 -1
  141. package/dist/js/Modals/ModalContainer.js.map +1 -1
  142. package/dist/js/Modals/ModalDialog.d.ts +2 -6
  143. package/dist/js/Modals/ModalDialog.js +77 -46
  144. package/dist/js/Modals/ModalDialog.js.map +1 -1
  145. package/dist/js/Modals/ModalStyles.d.ts +6 -0
  146. package/dist/js/Modals/ModalStyles.js +34 -14
  147. package/dist/js/Modals/ModalStyles.js.map +1 -1
  148. package/dist/js/Modals/ModalTypes.d.ts +18 -0
  149. package/dist/js/Modals/ModalTypes.js +6 -0
  150. package/dist/js/Modals/ModalTypes.js.map +1 -0
  151. package/dist/js/NavItem/NavItem.js +3 -1
  152. package/dist/js/NavItem/NavItem.js.map +1 -1
  153. package/dist/js/Paginator/Paginator.js +39 -38
  154. package/dist/js/Paginator/Paginator.js.map +1 -1
  155. package/dist/js/Paginator/__tests__/Paginator.test.js +6 -6
  156. package/dist/js/Paginator/__tests__/Paginator.test.js.map +1 -1
  157. package/dist/js/Switcher/MobileSwitcherMenu.js +3 -1
  158. package/dist/js/Switcher/MobileSwitcherMenu.js.map +1 -1
  159. package/dist/js/Switcher/SwitcherMenuItem.js +3 -1
  160. package/dist/js/Switcher/SwitcherMenuItem.js.map +1 -1
  161. package/dist/js/Tabs/HorizontalTabs.js +4 -2
  162. package/dist/js/Tabs/HorizontalTabs.js.map +1 -1
  163. package/dist/js/Tabs/TabLink.js +4 -2
  164. package/dist/js/Tabs/TabLink.js.map +1 -1
  165. package/dist/js/Toasters/ToastContext.js +3 -1
  166. package/dist/js/Toasters/ToastContext.js.map +1 -1
  167. package/dist/js/Tooltips/TooltipStyles.d.ts +4 -2
  168. package/dist/js/Tooltips/TooltipStyles.js +12 -4
  169. package/dist/js/Tooltips/TooltipStyles.js.map +1 -1
  170. package/dist/js/Tooltips/TooltipTypes.d.ts +1 -0
  171. package/dist/js/Tooltips/TooltipTypes.js.map +1 -1
  172. package/dist/js/Tooltips/TooltipWrapper.d.ts +1 -1
  173. package/dist/js/Tooltips/TooltipWrapper.js +5 -1
  174. package/dist/js/Tooltips/TooltipWrapper.js.map +1 -1
  175. package/dist/js/icons/index.js +1 -1
  176. package/dist/js/icons/index.js.map +1 -1
  177. package/dist/js/index.d.ts +1 -0
  178. package/dist/js/index.js +13 -0
  179. package/dist/js/index.js.map +1 -1
  180. package/dist/js/styles/typography.d.ts +1 -0
  181. package/dist/js/styles/typography.js +25 -6
  182. package/dist/js/styles/typography.js.map +1 -1
  183. package/dist/js/styles/z-indexes.d.ts +13 -0
  184. package/dist/js/styles/z-indexes.js +21 -0
  185. package/dist/js/styles/z-indexes.js.map +1 -0
  186. package/dist/umd/Accordion/AccordionItem.js +98 -0
  187. package/dist/umd/Accordion/AccordionItem.js.map +1 -0
  188. package/dist/umd/Accordion/AccordionMenu.js +138 -0
  189. package/dist/umd/Accordion/AccordionMenu.js.map +1 -0
  190. package/dist/umd/Accordion/__tests__/AccordionMenu.test.js +74 -0
  191. package/dist/umd/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  192. package/dist/umd/Accordion/index.js +44 -0
  193. package/dist/umd/Accordion/index.js.map +1 -0
  194. package/dist/umd/Accordion/styles.js +101 -0
  195. package/dist/umd/Accordion/styles.js.map +1 -0
  196. package/dist/umd/Breadcrumb/Breadcrumb.js.map +1 -1
  197. package/dist/umd/Button/Iconbutton.js +16 -59
  198. package/dist/umd/Button/Iconbutton.js.map +1 -1
  199. package/dist/umd/Dropdown/BasicDropdown.js +17 -9
  200. package/dist/umd/Dropdown/BasicDropdown.js.map +1 -1
  201. package/dist/umd/Dropdown/CommonStyling.js +74 -75
  202. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  203. package/dist/umd/Dropdown/DropdownContent.js +16 -5
  204. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  205. package/dist/umd/GlobalNavigationBar/Avatar.js +2 -2
  206. package/dist/umd/GlobalNavigationBar/Avatar.js.map +1 -1
  207. package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js +5 -5
  208. package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  209. package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js +9 -6
  210. package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  211. package/dist/umd/GlobalNavigationBar/Logo.js +10 -10
  212. package/dist/umd/GlobalNavigationBar/Logo.js.map +1 -1
  213. package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js +5 -5
  214. package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  215. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js +5 -5
  216. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  217. package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js +11 -5
  218. package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  219. package/dist/umd/HyperLink/HyperLink.js +68 -17
  220. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  221. package/dist/umd/InputFields/Checkbox.js +27 -16
  222. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  223. package/dist/umd/InputFields/DatepickerField.js +9 -4
  224. package/dist/umd/InputFields/DatepickerField.js.map +1 -1
  225. package/dist/umd/InputFields/PasswordField.js +1 -1
  226. package/dist/umd/InputFields/PasswordField.js.map +1 -1
  227. package/dist/umd/InputFields/RadioButton.js +21 -14
  228. package/dist/umd/InputFields/RadioButton.js.map +1 -1
  229. package/dist/umd/InputFields/SearchBar.js +13 -13
  230. package/dist/umd/InputFields/SearchBar.js.map +1 -1
  231. package/dist/umd/List/ListRow.js +7 -5
  232. package/dist/umd/List/ListRow.js.map +1 -1
  233. package/dist/umd/Modals/ModalContainer.js +11 -5
  234. package/dist/umd/Modals/ModalContainer.js.map +1 -1
  235. package/dist/umd/Modals/ModalDialog.js +77 -29
  236. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  237. package/dist/umd/Modals/ModalStyles.js +39 -22
  238. package/dist/umd/Modals/ModalStyles.js.map +1 -1
  239. package/dist/umd/Modals/ModalTypes.js +20 -0
  240. package/dist/umd/Modals/ModalTypes.js.map +1 -0
  241. package/dist/umd/NavItem/NavItem.js +7 -4
  242. package/dist/umd/NavItem/NavItem.js.map +1 -1
  243. package/dist/umd/Paginator/Paginator.js +60 -51
  244. package/dist/umd/Paginator/Paginator.js.map +1 -1
  245. package/dist/umd/Paginator/__tests__/Paginator.test.js +4 -4
  246. package/dist/umd/Paginator/__tests__/Paginator.test.js.map +1 -1
  247. package/dist/umd/Switcher/MobileSwitcherMenu.js +5 -5
  248. package/dist/umd/Switcher/MobileSwitcherMenu.js.map +1 -1
  249. package/dist/umd/Switcher/SwitcherMenuItem.js +8 -4
  250. package/dist/umd/Switcher/SwitcherMenuItem.js.map +1 -1
  251. package/dist/umd/Tabs/HorizontalTabs.js +12 -7
  252. package/dist/umd/Tabs/HorizontalTabs.js.map +1 -1
  253. package/dist/umd/Tabs/TabLink.js +18 -8
  254. package/dist/umd/Tabs/TabLink.js.map +1 -1
  255. package/dist/umd/Toasters/ToastContext.js +5 -5
  256. package/dist/umd/Toasters/ToastContext.js.map +1 -1
  257. package/dist/umd/Tooltips/TooltipStyles.js +11 -9
  258. package/dist/umd/Tooltips/TooltipStyles.js.map +1 -1
  259. package/dist/umd/Tooltips/TooltipTypes.js.map +1 -1
  260. package/dist/umd/Tooltips/TooltipWrapper.js +4 -1
  261. package/dist/umd/Tooltips/TooltipWrapper.js.map +1 -1
  262. package/dist/umd/icons/index.js +1 -1
  263. package/dist/umd/icons/index.js.map +1 -1
  264. package/dist/umd/index.js +13 -4
  265. package/dist/umd/index.js.map +1 -1
  266. package/dist/umd/styles/typography.js +25 -6
  267. package/dist/umd/styles/typography.js.map +1 -1
  268. package/dist/umd/styles/z-indexes.js +33 -0
  269. package/dist/umd/styles/z-indexes.js.map +1 -0
  270. package/package.json +10 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/CommonStyling.tsx"],"names":["Dropdown","styled","div","props","margin","COLORS","primary_600","primary_800","lockedState","css","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","warning_400","placeholderStyling","ComponentMStyling","ComponentTextStyle","InputField","input","black","ComponentSStyling","BREAKPOINTS","MEDIUM","StyledField","neutral_400","ComponentXXSStyling","ComponentXSStyling","primary_200","primary_300","neutral_800","neutral_20","CommonInteractionStyling","ButtonDropdownContentStyling","DropdownContentStyling","neutral_200","DropdownButton","button","DropdownButtonCSS","size","Size","ComponentLStyling","primary_500","primary_20","primary_100","ButtonDropdownWrapper","primary_700"],"mappings":"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","sourcesContent":["import styled, {css} from 'styled-components';\nimport {CommonInteractionStyling} from '../common';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ComponentMStyling, ComponentLStyling, ComponentSStyling, ComponentXSStyling, ComponentXXSStyling} from '../styles/typography';\nimport { Size } from '../types';\n\nexport const Dropdown = styled.div<{ isButton: boolean; locked?: boolean; disabled?: boolean; margin?: string }>`\n position: relative;\n display: inline-block;\n ${(props) => !props.isButton && 'width: 100%; min-width: 344px;'}\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n input {\n color: ${COLORS.neutral_600} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n svg {\n color: ${COLORS.neutral_300} !important;\n }\n input {\n color: ${COLORS.neutral_300} !important;\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; locked: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: 344px;\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n \n input{\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n &:hover {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n cursor: pointer;\n }\n &:active {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.locked ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n right: 0;\n`;\n\nexport const DropdownContentStyling = styled.div<{ isButton: boolean }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n width: 100%;\n z-index: 1;\n margin-top: ${(props) => (props.isButton ? '-4px' : '2px')};\n\n &.show {\n display: block;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n padding: 4px 0;\n\n max-height: 240px;\n overflow-y: auto;\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.white};\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_200};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_400};\n }\n`;\n\nexport const DropdownButton = styled.button<{size? : Size}>`\n ${props => DropdownButtonCSS(props.size)}\n`;\n\nexport const DropdownButtonCSS = (size? : Size) => {\n return css`\n\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n div.item-content {\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n div.item-label {\n flex: 1 0 calc(100% - 40px);\n }\n\n div.item-icon {\n margin-right: 6px;\n }\n div.item-icon-old {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200}\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n`;\n};\n\nexport const ButtonDropdownWrapper = styled.div<{ locked?: boolean; disabled?: boolean }>`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n\n .button {\n min-width: 64px;\n }\n\n .value {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n }\n\n .dropdown-arrow {\n width: 24px;\n height: 24px;\n }\n\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : 'cursor: pointer;')}\n ${(props) => (props.disabled ? 'pointer-events: none;' : '')}\n \n &:hover .button,\n & > .button:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:focus .button,\n & > .button:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2e7fa1;\n outline: none;\n }\n\n &:active .button,\n & > .button:active {\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n}`;\n"],"file":"CommonStyling.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/CommonStyling.tsx"],"names":["Dropdown","styled","div","props","minWidth","margin","COLORS","primary_600","primary_800","lockedState","css","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","warning_400","placeholderStyling","ComponentMStyling","ComponentTextStyle","InputField","input","black","ComponentSStyling","BREAKPOINTS","MEDIUM","StyledField","neutral_400","ComponentXXSStyling","ComponentXSStyling","primary_200","primary_300","neutral_800","neutral_20","CommonInteractionStyling","ButtonDropdownContentStyling","DropdownContentStyling","Z_INDEXES","dropdown","neutral_200","DropdownButton","button","DropdownButtonCSS","size","Size","ComponentLStyling","primary_500","primary_20","primary_100","ButtonDropdownWrapper","primary_700"],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { ComponentMStyling, ComponentLStyling, ComponentSStyling, ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\nimport { Size } from '../types';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const Dropdown = styled.div<{ isButton: boolean; locked?: boolean; disabled?: boolean; margin?: string; minWidth?: string }>`\n position: relative;\n display: inline-block;\n ${(props) => !props.isButton && (props?.minWidth ? `width: 100%; min-width: ${props.minWidth};` : 'width: 100%; min-width: 344px;')}\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n input {\n color: ${COLORS.neutral_600} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n svg {\n color: ${COLORS.neutral_300} !important;\n }\n input {\n color: ${COLORS.neutral_300} !important;\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; locked: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string; minWidth?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: ${(props) => (props.minWidth ? `${props.minWidth}` : '344px')};\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n input {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n &:hover {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n cursor: pointer;\n }\n &:active {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.locked ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n right: 0;\n`;\n\nexport const DropdownContentStyling = styled.div<{ isButton: boolean }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n width: 100%;\n z-index: ${Z_INDEXES.dropdown};\n margin-top: ${(props) => (props.isButton ? '-4px' : '2px')};\n\n &.show {\n display: block;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n padding: 4px 0;\n\n max-height: 240px;\n overflow-y: auto;\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.white};\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_200};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_400};\n }\n`;\n\nexport const DropdownButton = styled.button<{ size?: Size }>`\n ${(props) => DropdownButtonCSS(props.size)}\n`;\n\nexport const DropdownButtonCSS = (size?: Size) => {\n return css`\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n div.item-content {\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n div.item-label {\n flex: 1 0 calc(100% - 40px);\n }\n\n div.item-icon {\n margin-right: 6px;\n }\n div.item-icon-old {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n `;\n};\n\nexport const ButtonDropdownWrapper = styled.div<{ locked?: boolean; disabled?: boolean }>`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n\n .button {\n min-width: 64px;\n }\n\n .value {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n }\n\n .dropdown-arrow {\n width: 24px;\n height: 24px;\n }\n\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : 'cursor: pointer;')}\n ${(props) => (props.disabled ? 'pointer-events: none;' : '')}\n \n &:hover .button,\n & > .button:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:focus .button,\n & > .button:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2e7fa1;\n outline: none;\n }\n\n &:active .button,\n & > .button:active {\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n}`;\n"],"file":"CommonStyling.js"}
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "styled-components", "../Button/Button", "../types", "./CommonStyling", "../styles/typography", "../styles", "../InputFields"], factory);
3
+ define(["exports", "prop-types", "react", "styled-components", "../Button/Button", "../types", "./CommonStyling", "../styles/typography", "../styles", "../InputFields", "../styles/z-indexes"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../Button/Button"), require("../types"), require("./CommonStyling"), require("../styles/typography"), require("../styles"), require("../InputFields"));
5
+ factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../Button/Button"), require("../types"), require("./CommonStyling"), require("../styles/typography"), require("../styles"), require("../InputFields"), require("../styles/z-indexes"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.Button, global.types, global.CommonStyling, global.typography, global.styles, global.InputFields);
10
+ factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.Button, global.types, global.CommonStyling, global.typography, global.styles, global.InputFields, global.zIndexes);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _styledComponents, _Button, _types, _CommonStyling, _typography, _styles, _InputFields) {
13
+ })(this, function (exports, _propTypes, _react, _styledComponents, _Button, _types, _CommonStyling, _typography, _styles, _InputFields, _zIndexes) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -38,7 +38,7 @@
38
38
  background-color: ${_styles.COLORS.white};
39
39
 
40
40
  width: ${props => props.width ? props.width : '100%'};
41
- z-index: 1;
41
+ z-index: ${_zIndexes.Z_INDEXES.dropdown};
42
42
  margin: ${props => props.isButton ? '-4px' : '4px 0px'};
43
43
 
44
44
  &.show {
@@ -70,6 +70,17 @@
70
70
  max-height: ${props => !props.scrollable ? 'auto' : props.maxHeight ? props.maxHeight : props.size == _types.Size.Large ? '320px' : props.size == _types.Size.Medium ? '280px' : '240px'};
71
71
  `;
72
72
  const ItemsContainer = _styledComponents2.default.div`
73
+ > *:hover {
74
+ z-index: ${_zIndexes.Z_INDEXES.hover};
75
+ }
76
+ > *:active,
77
+ > *.active{
78
+ z-index: ${_zIndexes.Z_INDEXES.active};
79
+ }
80
+ > *:focus {
81
+ z-index: ${_zIndexes.Z_INDEXES.focus};
82
+ }
83
+
73
84
  button.dropdownButton {
74
85
  ${props => (0, _CommonStyling.DropdownButtonCSS)(props.size)}
75
86
  }`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/DropdownContent.tsx"],"names":["DDContainer","styled","div","COLORS","white","props","neutral_100","Size","ItemsContainer","DropdownButtonCSS","ListContainer","neutral_600","neutral_500","MenuContentContainer","ComponentXLStyling","ComponentTextStyle","ComponentLStyling","ComponentMStyling","ComponentSStyling","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","value","displayLabel","noteLabel","suggestion","showDividerAbove","disabled","icon","customContent","itemsType","menuContent","scrollable","multiSelect","maxHeight","actionLabel","actionIcon","actionLoading","actionDisabled","action","pinTopItem","onValueUpdate","items","isButton","customizationProps","alignLeft","isOpen","setIsOpen","id","filter","width","hideOnClickOutside","selectedValues","setSelectedValues","messageOnNoResults","focused","setFocused","DropdownContent","React","dropdownContentRef","size","itemsListRef","determineDropUp","options","node","windowHeight","window","menuHeight","Math","instOffsetWithMenu","setIsUp","setNewFocusedElement","index","newFocusedElement","elRefs","getFilteredItems","filtrationString","x","handleKeyDown","e","focusedNow","filtered","i","haveTopItem","document","handleClickOutside","scrollPosition","handleScroll","useLayoutEffect","getCorrectRef","ref","arrLength","setElRefs","Array","getSuggestions","focusThis","handleItemClick","newValue","item","selected","getTopItem","visibleItems","allSelected","y","showTopItem","suggestions","c","selectedFirst","newValues","fontSize","getElements","number","isUp"],"mappings":"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","sourcesContent":["import React, { useLayoutEffect, useMemo, createRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport Button from '../Button/Button';\nimport { Size } from '../types';\nimport { ButtonDropdownContentStyling, DropdownButtonCSS } from './CommonStyling';\nimport { ComponentLStyling, ComponentXLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS } from '../styles';\nimport { Checkbox, RadioButton } from '../InputFields';\n\nexport const DDContainer = styled.div<{ isButton: boolean; width?: string; alignLeft?: boolean; size?: Size; scrollable?: boolean; maxHeight?: string }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n\n width: ${(props) => (props.width ? props.width : '100%')};\n z-index: 1;\n margin: ${(props) => (props.isButton ? '-4px' : '4px 0px')};\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.alignLeft ? 'left: 0px;' : '')}\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding-top: 4px;\n padding-right: 0px;\n padding-bottom: 4px;\n padding-left: 0px;\n\n min-width: ${(props) => (props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n border-radius: ${(props) => (props.size == Size.Large ? '10px' : props.size == Size.Medium ? '8px' : '6px')};\n\n max-height: ${(props) => (!props.scrollable ? 'auto' : props.maxHeight ? props.maxHeight : props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n`;\n\nconst ItemsContainer = styled.div<{size? : Size}>`\n button.dropdownButton {\n ${props => DropdownButtonCSS(props.size)}\n }`;\n \nconst ListContainer = styled.div<{ scrollable?: boolean; size?: Size; itemsType?: string }>`\n ${(props) => (props.scrollable ? 'overflow-y: scroll;' : '')}\n ${(props) => (props.itemsType != 'normal' ? 'margin-left: 4px;' : '')}\n\n\n div.divider {\n display: block;\n width: calc(100% - 40px);\n margin-left: 16px;\n border-top: 1px solid #e5e5e5;\n position: absolute;\n top: 0px;\n }\n\n ${ItemsContainer} {\n padding-top: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px' };\n padding-bottom: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px' };\n }\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n margin: 0 6px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.neutral_100};\n border-radius: 8px;\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_600};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_500};\n }\n`;\n\n\nconst MenuContentContainer = styled.div<{size? : Size}>`\n h1, h2, h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '10px 16px 6px' :\n props.size == Size.Medium ? '16px 24px 8px' : '16px 32px 8px'};\n }\n\n p {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '8px 16px' :\n props.size == Size.Medium ? '12px 24px' : '16px 32px'};\n }\n`;\n\nconst DividerContainer = styled.div<{size? : Size}>`\n position: relative;\n\n margin-top: ${props => props.size == Size.Large ? '16px' : \n props.size == Size.Medium ? '12px' : \n (props.size == Size.Small || !props.size) ? '8px' : '6px'};\n\n div.divider {\n width: 100%;\n margin: 0px;\n }\n`;\n\nconst TopItemContainer = styled.div<{size?:Size}>`\n border-bottom-style: solid;\n border-bottom-color: ${COLORS.neutral_200};\n border-bottom-width: 1px;\n margin-right: 22px;\n\n button {\n ${props => DropdownButtonCSS(props.size)}\n }\n`;\n\nconst ActionButtonContainer = styled.div<{size?:Size}>`\n border-top-style: solid;\n border-top-color: ${COLORS.neutral_200};\n border-top-width: 1px;\n \n padding: ${props => props.size == Size.Small || !props.size ? '0px 16px' : '8px 16px'};\n\n button {\n width: 100%;\n }\n`;\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\n\nexport interface DropdownItem {\n value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n icon?: React.ReactNode;\n customContent?: React.ReactNode;\n}\n\nexport interface DropdownCustomizationProps {\n itemsType?: 'radio' | 'checkbox' | 'normal';\n menuContent?: React.ReactNode;\n scrollable?: boolean;\n multiSelect?: boolean;\n maxHeight?: string;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n action: () => boolean | void | undefined;\n pinTopItem?: boolean;\n onValueUpdate: (values: string[]) => boolean | void | undefined;\n items: DropdownItem[];\n}\n\nexport interface DropdownProps {\n isButton: boolean;\n customizationProps: DropdownCustomizationProps;\n alignLeft?: boolean;\n isOpen: boolean;\n setIsOpen: (open: boolean) => void;\n size?: Size;\n id: string;\n filter: string;\n width?: string;\n hideOnClickOutside: boolean;\n selectedValues: string[];\n setSelectedValues: (val: string[]) => void;\n messageOnNoResults: string;\n focused: number | null;\n setFocused: (focused: number | null) => void;\n}\n\nconst DropdownContent: React.FunctionComponent<DropdownProps> = ({\n id,\n customizationProps,\n alignLeft,\n isButton,\n size,\n isOpen,\n hideOnClickOutside,\n width,\n setIsOpen,\n filter,\n focused,\n setFocused,\n selectedValues,\n setSelectedValues,\n messageOnNoResults,\n}) => {\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n\n if (!customizationProps.itemsType) customizationProps.itemsType = 'normal';\n if (!size) size = Size.Small;\n\n const itemsListRef = React.useRef<HTMLDivElement>(null);\n\n const determineDropUp = () => {\n const options = customizationProps.items;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;\n setIsUp(instOffsetWithMenu >= windowHeight);\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = elRefs[index];\n if (newFocusedElement) {\n setFocused(index);\n newFocusedElement?.current?.focus();\n }\n };\n\n const getFilteredItems = () => {\n const filtrationString = (filter ?? '').toUpperCase();\n return customizationProps.items.filter((x) => x?.value?.toUpperCase().includes(filtrationString) || x?.displayLabel?.toUpperCase().includes(filtrationString));\n };\n\n const handleKeyDown = (e: any) => {\n if (isOpen) {\n if (e.keyCode === 38) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {\n const filtered = getFilteredItems();\n for (let i = focusedNow - 1; i > 0; i--) {\n if (!filtered[i - 1]?.disabled) {\n focusedNow = i;\n break;\n }\n }\n setNewFocusedElement(focusedNow);\n }\n } else if (e.keyCode === 40) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n const filtered = getFilteredItems();\n for (let i = focusedNow + 1; i <= filtered.length; i++) {\n if (!filtered[i - 1]?.disabled) {\n focusedNow = i;\n break;\n }\n }\n } else {\n focusedNow = haveTopItem() ? 0 : 1;\n }\n setNewFocusedElement(focusedNow);\n } else if (e.keyCode === 9) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n const newFocusedElement = document.getElementById(`${id}_${focusedNow}`);\n if (!newFocusedElement) {\n setNewFocusedElement(0);\n } else {\n setNewFocusedElement(focusedNow);\n }\n } else {\n setFocused(null);\n }\n } else if (e.keyCode === 27) {\n setIsOpen(false);\n setFocused(null);\n\n //TODO: add onEscapehandler\n /*\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n styledFieldRef.current?.focus(); */\n }\n }\n };\n\n const handleClickOutside = (e: any) => {\n if (hideOnClickOutside && dropdownContentRef?.current && !dropdownContentRef.current.contains(e.target) && !elRefs.some((x) => x?.current?.contains(e.target))) {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n const scrollPosition = React.useRef<number | undefined>(0);\n const handleScroll = () => {\n scrollPosition.current = itemsListRef.current?.scrollTop;\n };\n useLayoutEffect(() => {\n if (itemsListRef.current) itemsListRef.current.scrollTop = scrollPosition.current ?? 0;\n }, [selectedValues]);\n\n const getCorrectRef = (ref: React.RefObject<HTMLElement>): React.RefObject<HTMLElement> => {\n switch (customizationProps.itemsType) {\n case 'normal':\n return (ref as React.RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n default:\n return (ref as React.RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n }\n };\n\n const arrLength = getFilteredItems().length;\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n\n React.useEffect(() => {\n setElRefs((elRefs) =>\n Array(arrLength + 1)\n .fill(null)\n .map((_, i) => getCorrectRef(elRefs[i])),\n );\n }, [isOpen, arrLength, selectedValues]);\n\n React.useEffect(() => {\n determineDropUp();\n }, [isOpen]);\n\n const haveTopItem = () => {\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) return true;\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) return true;\n else if (customizationProps.itemsType == 'normal' && getSuggestions()?.length > 0) return true;\n return false;\n };\n\n const getSuggestions = () => {\n return getFilteredItems().filter((x) => x.suggestion);\n };\n\n React.useLayoutEffect(() => {\n if (isOpen && (focused || focused == 0)) {\n const focusThis = focused == 0 && !haveTopItem() ? 1 : focused;\n if (focusThis != focused) setFocused(focusThis);\n const newFocusedElement = elRefs[focusThis];\n newFocusedElement?.current?.focus();\n } else setFocused(null); //if the dropdown is closed, we don't to keep saved the focused item\n }, [isOpen]);\n\n const handleItemClick = (selected: boolean, item: DropdownItem) => {\n let newValue: string[] = [];\n if (customizationProps.multiSelect) {\n if (selected) newValue = [...selectedValues, item.value];\n else newValue = selectedValues.filter((x) => x != item.value);\n } else newValue = selected ? [item.value] : [];\n\n setSelectedValues(newValue);\n if(customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValue))\n setIsOpen(false);\n };\n\n const getTopItem = () => {\n if (!customizationProps.pinTopItem) return;\n const visibleItems = getFilteredItems();\n const allSelected = selectedValues?.filter((x) => visibleItems.some((y) => y.value == x)).length == visibleItems.length;\n let showTopItem = false;\n const suggestions = getSuggestions();\n const displayLabel = selectedValues[0] ? customizationProps.items?.find((c) => c.value === selectedValues[0])?.displayLabel : undefined;\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) showTopItem = true;\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) showTopItem = true;\n else if (customizationProps.itemsType == 'normal' && suggestions.length > 0) showTopItem = true;\n\n if (!showTopItem) return;\n\n const selectedFirst = selectedValues.length > 0 ? visibleItems.find(x => x.value == selectedValues[0]) : null;\n \n return (\n <TopItemContainer size={size}>\n {customizationProps.itemsType == 'radio' && (\n <RadioButton\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n iconPointerEventsTransparent={true}\n select={() => {}} label={selectedFirst?.displayLabel ?? selectedFirst?.value} \n size={size}\n id={`${id}_topitem`}\n selected={true}\n />\n )}\n {customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n select={(selected: boolean) => {\n if (!customizationProps.multiSelect) return;\n\n const newValues = selected ? visibleItems.map((x) => x.value) : [];\n setSelectedValues(newValues);\n if(customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValues))\n setIsOpen(false);\n }}\n iconPointerEventsTransparent={true}\n semiSelected={customizationProps.multiSelect && !allSelected && selectedValues?.length > 0}\n size={size}\n id={`${id}_checkbox_selectall`}\n label={customizationProps.multiSelect ? 'Select all' : (selectedFirst?.displayLabel ?? selectedFirst?.value)}\n selected={!customizationProps.multiSelect || allSelected}\n />\n )}\n {customizationProps.itemsType == 'normal' && (\n <>\n {suggestions.map((x) => (\n <button\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\n type=\"button\"\n id={`${id}_topitem`}\n key={`${id}_topitem_${x.value}`}\n onClick={(e: any) => {\n customizationProps.onValueUpdate([x.value]);\n setSelectedValues([x.value]);\n setIsOpen(false);\n setFocused(null);\n }}>\n <div className=\"item-content\">\n {x?.icon && <div className=\"item-icon\">{x?.icon}</div>}\n <div className=\"item-label\">\n {x?.displayLabel ?? x?.value}\n {x?.noteLabel && <div style={{ fontSize: '12px' }}>{x.noteLabel}</div>}\n </div>\n </div>\n </button>))}\n </>\n )}\n </TopItemContainer>\n );\n };\n\n const getElements = () => {\n if (getFilteredItems().length === 0) {\n return (\n <ItemsContainer size={size}>\n <button className=\"dropdownButton\" disabled>\n <span>{messageOnNoResults}</span>\n </button>\n </ItemsContainer>\n );\n }\n let number = 0;\n return (\n <ItemsContainer size={size}>\n {getFilteredItems()\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\n .map((item) => {\n return (\n <React.Fragment key={`key_${id}_${item.value}`}>\n {item.customContent}\n {!item.customContent && customizationProps.itemsType == 'radio' && (\n <RadioButton\n select={(selected:boolean) => handleItemClick(selected, item)}\n ref={elRefs[number + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n select={(selected:boolean) => handleItemClick(selected, item)}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n ref={elRefs[number + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\n <button\n type=\"button\"\n disabled={item?.disabled}\n ref={elRefs[number + 1] as React.RefObject<HTMLButtonElement>}\n onClick={(e: any) => {\n customizationProps.onValueUpdate([item.value]);\n setSelectedValues([item.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n className={ 'dropdownButton ' + (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (selectedValues?.includes(item.value) ? 'active' : '')}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}>\n {item.showDividerAbove && <div className=\"divider\" />}\n <div className=\"item-content\">\n {item.icon && <div className=\"item-icon\">{item.icon}</div>}\n <div className=\"item-label\">\n {item.displayLabel ?? item.value}\n {item.noteLabel && <div style={{ fontSize: '12px' }}>{item.noteLabel}</div>}\n </div>\n </div>\n </button>\n )}\n </React.Fragment>\n );\n })}\n </ItemsContainer>\n );\n };\n\n return (\n <DDContainer\n ref={dropdownContentRef}\n size={size}\n width={width}\n isButton={isButton}\n alignLeft={alignLeft}\n scrollable={customizationProps.scrollable}\n maxHeight={customizationProps.maxHeight}\n className={[isOpen && 'show', isUp && 'up'].filter((e) => !!e).join(' ')}>\n <ListContainer size={size} itemsType={customizationProps.itemsType} onScroll={handleScroll} ref={itemsListRef} scrollable={customizationProps.scrollable}>\n {customizationProps.menuContent &&\n <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements()}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer size={size}>\n <Button width=\"100%\" icon={customizationProps.actionIcon}\n loading={customizationProps.actionLoading}\n disabled={customizationProps.actionDisabled}\n variant={customizationProps.actionVariant ?? 'primary'}\n size={size} onClick={() => \n {\n if(customizationProps.action()) //closing the dropdown if action returns 'true'\n setIsOpen(false);\n }}>\n {customizationProps.actionLabel}\n </Button>\n </ActionButtonContainer>\n )}\n </DDContainer>\n );\n /* ),\n {\n handleClickOutside: () => () => {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n }\n },\n },\n );\n\n return <Wrapped />; */\n};\n\nexport default DropdownContent;\n"],"file":"DropdownContent.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/DropdownContent.tsx"],"names":["DDContainer","styled","div","COLORS","white","props","Z_INDEXES","dropdown","neutral_100","Size","ItemsContainer","hover","active","focus","DropdownButtonCSS","ListContainer","neutral_600","neutral_500","MenuContentContainer","ComponentXLStyling","ComponentTextStyle","ComponentLStyling","ComponentMStyling","ComponentSStyling","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","value","displayLabel","noteLabel","suggestion","showDividerAbove","disabled","icon","customContent","itemsType","menuContent","scrollable","multiSelect","maxHeight","actionLabel","actionIcon","actionLoading","actionDisabled","action","pinTopItem","onValueUpdate","items","isButton","customizationProps","alignLeft","isOpen","setIsOpen","id","filter","width","hideOnClickOutside","selectedValues","setSelectedValues","messageOnNoResults","focused","setFocused","DropdownContent","React","dropdownContentRef","size","itemsListRef","determineDropUp","options","node","windowHeight","window","menuHeight","Math","instOffsetWithMenu","setIsUp","setNewFocusedElement","index","newFocusedElement","elRefs","getFilteredItems","filtrationString","x","handleKeyDown","e","focusedNow","filtered","i","haveTopItem","document","handleClickOutside","scrollPosition","handleScroll","useLayoutEffect","getCorrectRef","ref","arrLength","setElRefs","Array","getSuggestions","focusThis","handleItemClick","newValue","item","selected","getTopItem","visibleItems","allSelected","y","showTopItem","suggestions","c","selectedFirst","newValues","fontSize","getElements","number","isUp"],"mappings":"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","sourcesContent":["import React, { useLayoutEffect, useMemo, createRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport Button from '../Button/Button';\nimport { Size } from '../types';\nimport { ButtonDropdownContentStyling, DropdownButtonCSS } from './CommonStyling';\nimport { ComponentLStyling, ComponentXLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS } from '../styles';\nimport { Checkbox, RadioButton } from '../InputFields';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nexport const DDContainer = styled.div<{ isButton: boolean; width?: string; alignLeft?: boolean; size?: Size; scrollable?: boolean; maxHeight?: string }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n\n width: ${(props) => (props.width ? props.width : '100%')};\n z-index: ${Z_INDEXES.dropdown};\n margin: ${(props) => (props.isButton ? '-4px' : '4px 0px')};\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.alignLeft ? 'left: 0px;' : '')}\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding-top: 4px;\n padding-right: 0px;\n padding-bottom: 4px;\n padding-left: 0px;\n\n min-width: ${(props) => (props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n border-radius: ${(props) => (props.size == Size.Large ? '10px' : props.size == Size.Medium ? '8px' : '6px')};\n\n max-height: ${(props) => (!props.scrollable ? 'auto' : props.maxHeight ? props.maxHeight : props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n`;\n\nconst ItemsContainer = styled.div<{size? : Size}>`\n > *:hover {\n z-index: ${Z_INDEXES.hover};\n }\n > *:active,\n > *.active{\n z-index: ${Z_INDEXES.active};\n }\n > *:focus {\n z-index: ${Z_INDEXES.focus};\n }\n \n button.dropdownButton {\n ${props => DropdownButtonCSS(props.size)}\n }`;\n \nconst ListContainer = styled.div<{ scrollable?: boolean; size?: Size; itemsType?: string }>`\n ${(props) => (props.scrollable ? 'overflow-y: scroll;' : '')}\n ${(props) => (props.itemsType != 'normal' ? 'margin-left: 4px;' : '')}\n\n\n div.divider {\n display: block;\n width: calc(100% - 40px);\n margin-left: 16px;\n border-top: 1px solid #e5e5e5;\n position: absolute;\n top: 0px;\n }\n\n ${ItemsContainer} {\n padding-top: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px' };\n padding-bottom: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px' };\n }\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n margin: 0 6px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.neutral_100};\n border-radius: 8px;\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_600};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_500};\n }\n`;\n\n\nconst MenuContentContainer = styled.div<{size? : Size}>`\n h1, h2, h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '10px 16px 6px' :\n props.size == Size.Medium ? '16px 24px 8px' : '16px 32px 8px'};\n }\n\n p {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '8px 16px' :\n props.size == Size.Medium ? '12px 24px' : '16px 32px'};\n }\n`;\n\nconst DividerContainer = styled.div<{size? : Size}>`\n position: relative;\n\n margin-top: ${props => props.size == Size.Large ? '16px' : \n props.size == Size.Medium ? '12px' : \n (props.size == Size.Small || !props.size) ? '8px' : '6px'};\n\n div.divider {\n width: 100%;\n margin: 0px;\n }\n`;\n\nconst TopItemContainer = styled.div<{size?:Size}>`\n border-bottom-style: solid;\n border-bottom-color: ${COLORS.neutral_200};\n border-bottom-width: 1px;\n margin-right: 22px;\n\n button {\n ${props => DropdownButtonCSS(props.size)}\n }\n`;\n\nconst ActionButtonContainer = styled.div<{size?:Size}>`\n border-top-style: solid;\n border-top-color: ${COLORS.neutral_200};\n border-top-width: 1px;\n \n padding: ${props => props.size == Size.Small || !props.size ? '0px 16px' : '8px 16px'};\n\n button {\n width: 100%;\n }\n`;\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\n\nexport interface DropdownItem {\n value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n icon?: React.ReactNode;\n customContent?: React.ReactNode;\n}\n\nexport interface DropdownCustomizationProps {\n itemsType?: 'radio' | 'checkbox' | 'normal';\n menuContent?: React.ReactNode;\n scrollable?: boolean;\n multiSelect?: boolean;\n maxHeight?: string;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n action: () => boolean | void | undefined;\n pinTopItem?: boolean;\n onValueUpdate: (values: string[]) => boolean | void | undefined;\n items: DropdownItem[];\n}\n\nexport interface DropdownProps {\n isButton: boolean;\n customizationProps: DropdownCustomizationProps;\n alignLeft?: boolean;\n isOpen: boolean;\n setIsOpen: (open: boolean) => void;\n size?: Size;\n id: string;\n filter: string;\n width?: string;\n hideOnClickOutside: boolean;\n selectedValues: string[];\n setSelectedValues: (val: string[]) => void;\n messageOnNoResults: string;\n focused: number | null;\n setFocused: (focused: number | null) => void;\n}\n\nconst DropdownContent: React.FunctionComponent<DropdownProps> = ({\n id,\n customizationProps,\n alignLeft,\n isButton,\n size,\n isOpen,\n hideOnClickOutside,\n width,\n setIsOpen,\n filter,\n focused,\n setFocused,\n selectedValues,\n setSelectedValues,\n messageOnNoResults,\n}) => {\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n\n if (!customizationProps.itemsType) customizationProps.itemsType = 'normal';\n if (!size) size = Size.Small;\n\n const itemsListRef = React.useRef<HTMLDivElement>(null);\n\n const determineDropUp = () => {\n const options = customizationProps.items;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;\n setIsUp(instOffsetWithMenu >= windowHeight);\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = elRefs[index];\n if (newFocusedElement) {\n setFocused(index);\n newFocusedElement?.current?.focus();\n }\n };\n\n const getFilteredItems = () => {\n const filtrationString = (filter ?? '').toUpperCase();\n return customizationProps.items.filter((x) => x?.value?.toUpperCase().includes(filtrationString) || x?.displayLabel?.toUpperCase().includes(filtrationString));\n };\n\n const handleKeyDown = (e: any) => {\n if (isOpen) {\n if (e.keyCode === 38) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {\n const filtered = getFilteredItems();\n for (let i = focusedNow - 1; i > 0; i--) {\n if (!filtered[i - 1]?.disabled) {\n focusedNow = i;\n break;\n }\n }\n setNewFocusedElement(focusedNow);\n }\n } else if (e.keyCode === 40) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n const filtered = getFilteredItems();\n for (let i = focusedNow + 1; i <= filtered.length; i++) {\n if (!filtered[i - 1]?.disabled) {\n focusedNow = i;\n break;\n }\n }\n } else {\n focusedNow = haveTopItem() ? 0 : 1;\n }\n setNewFocusedElement(focusedNow);\n } else if (e.keyCode === 9) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n const newFocusedElement = document.getElementById(`${id}_${focusedNow}`);\n if (!newFocusedElement) {\n setNewFocusedElement(0);\n } else {\n setNewFocusedElement(focusedNow);\n }\n } else {\n setFocused(null);\n }\n } else if (e.keyCode === 27) {\n setIsOpen(false);\n setFocused(null);\n\n //TODO: add onEscapehandler\n /*\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n styledFieldRef.current?.focus(); */\n }\n }\n };\n\n const handleClickOutside = (e: any) => {\n if (hideOnClickOutside && dropdownContentRef?.current && !dropdownContentRef.current.contains(e.target) && !elRefs.some((x) => x?.current?.contains(e.target))) {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n const scrollPosition = React.useRef<number | undefined>(0);\n const handleScroll = () => {\n scrollPosition.current = itemsListRef.current?.scrollTop;\n };\n useLayoutEffect(() => {\n if (itemsListRef.current) itemsListRef.current.scrollTop = scrollPosition.current ?? 0;\n }, [selectedValues]);\n\n const getCorrectRef = (ref: React.RefObject<HTMLElement>): React.RefObject<HTMLElement> => {\n switch (customizationProps.itemsType) {\n case 'normal':\n return (ref as React.RefObject<HTMLButtonElement>) || createRef<HTMLButtonElement>();\n default:\n return (ref as React.RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n }\n };\n\n const arrLength = getFilteredItems().length;\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n\n React.useEffect(() => {\n setElRefs((elRefs) =>\n Array(arrLength + 1)\n .fill(null)\n .map((_, i) => getCorrectRef(elRefs[i])),\n );\n }, [isOpen, arrLength, selectedValues]);\n\n React.useEffect(() => {\n determineDropUp();\n }, [isOpen]);\n\n const haveTopItem = () => {\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) return true;\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) return true;\n else if (customizationProps.itemsType == 'normal' && getSuggestions()?.length > 0) return true;\n return false;\n };\n\n const getSuggestions = () => {\n return getFilteredItems().filter((x) => x.suggestion);\n };\n\n React.useLayoutEffect(() => {\n if (isOpen && (focused || focused == 0)) {\n const focusThis = focused == 0 && !haveTopItem() ? 1 : focused;\n if (focusThis != focused) setFocused(focusThis);\n const newFocusedElement = elRefs[focusThis];\n newFocusedElement?.current?.focus();\n } else setFocused(null); //if the dropdown is closed, we don't to keep saved the focused item\n }, [isOpen]);\n\n const handleItemClick = (selected: boolean, item: DropdownItem) => {\n let newValue: string[] = [];\n if (customizationProps.multiSelect) {\n if (selected) newValue = [...selectedValues, item.value];\n else newValue = selectedValues.filter((x) => x != item.value);\n } else newValue = selected ? [item.value] : [];\n\n setSelectedValues(newValue);\n if(customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValue))\n setIsOpen(false);\n };\n\n const getTopItem = () => {\n if (!customizationProps.pinTopItem) return;\n const visibleItems = getFilteredItems();\n const allSelected = selectedValues?.filter((x) => visibleItems.some((y) => y.value == x)).length == visibleItems.length;\n let showTopItem = false;\n const suggestions = getSuggestions();\n const displayLabel = selectedValues[0] ? customizationProps.items?.find((c) => c.value === selectedValues[0])?.displayLabel : undefined;\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) showTopItem = true;\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) showTopItem = true;\n else if (customizationProps.itemsType == 'normal' && suggestions.length > 0) showTopItem = true;\n\n if (!showTopItem) return;\n\n const selectedFirst = selectedValues.length > 0 ? visibleItems.find(x => x.value == selectedValues[0]) : null;\n \n return (\n <TopItemContainer size={size}>\n {customizationProps.itemsType == 'radio' && (\n <RadioButton\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n iconPointerEventsTransparent={true}\n select={() => {}} label={selectedFirst?.displayLabel ?? selectedFirst?.value} \n size={size}\n id={`${id}_topitem`}\n selected={true}\n />\n )}\n {customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n select={(selected: boolean) => {\n if (!customizationProps.multiSelect) return;\n\n const newValues = selected ? visibleItems.map((x) => x.value) : [];\n setSelectedValues(newValues);\n if(customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValues))\n setIsOpen(false);\n }}\n iconPointerEventsTransparent={true}\n semiSelected={customizationProps.multiSelect && !allSelected && selectedValues?.length > 0}\n size={size}\n id={`${id}_checkbox_selectall`}\n label={customizationProps.multiSelect ? 'Select all' : (selectedFirst?.displayLabel ?? selectedFirst?.value)}\n selected={!customizationProps.multiSelect || allSelected}\n />\n )}\n {customizationProps.itemsType == 'normal' && (\n <>\n {suggestions.map((x) => (\n <button\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\n type=\"button\"\n id={`${id}_topitem`}\n key={`${id}_topitem_${x.value}`}\n onClick={(e: any) => {\n customizationProps.onValueUpdate([x.value]);\n setSelectedValues([x.value]);\n setIsOpen(false);\n setFocused(null);\n }}>\n <div className=\"item-content\">\n {x?.icon && <div className=\"item-icon\">{x?.icon}</div>}\n <div className=\"item-label\">\n {x?.displayLabel ?? x?.value}\n {x?.noteLabel && <div style={{ fontSize: '12px' }}>{x.noteLabel}</div>}\n </div>\n </div>\n </button>))}\n </>\n )}\n </TopItemContainer>\n );\n };\n\n const getElements = () => {\n if (getFilteredItems().length === 0) {\n return (\n <ItemsContainer size={size}>\n <button className=\"dropdownButton\" disabled>\n <span>{messageOnNoResults}</span>\n </button>\n </ItemsContainer>\n );\n }\n let number = 0;\n return (\n <ItemsContainer size={size}>\n {getFilteredItems()\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\n .map((item) => {\n return (\n <React.Fragment key={`key_${id}_${item.value}`}>\n {item.customContent}\n {!item.customContent && customizationProps.itemsType == 'radio' && (\n <RadioButton\n select={(selected:boolean) => handleItemClick(selected, item)}\n ref={elRefs[number + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n select={(selected:boolean) => handleItemClick(selected, item)}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n ref={elRefs[number + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\n <button\n type=\"button\"\n disabled={item?.disabled}\n ref={elRefs[number + 1] as React.RefObject<HTMLButtonElement>}\n onClick={(e: any) => {\n customizationProps.onValueUpdate([item.value]);\n setSelectedValues([item.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n className={ 'dropdownButton ' + (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (selectedValues?.includes(item.value) ? 'active' : '')}\n key={`key_${id}_${number++}`}\n id={`${id}_${number + 1}`}>\n {item.showDividerAbove && <div className=\"divider\" />}\n <div className=\"item-content\">\n {item.icon && <div className=\"item-icon\">{item.icon}</div>}\n <div className=\"item-label\">\n {item.displayLabel ?? item.value}\n {item.noteLabel && <div style={{ fontSize: '12px' }}>{item.noteLabel}</div>}\n </div>\n </div>\n </button>\n )}\n </React.Fragment>\n );\n })}\n </ItemsContainer>\n );\n };\n\n return (\n <DDContainer\n ref={dropdownContentRef}\n size={size}\n width={width}\n isButton={isButton}\n alignLeft={alignLeft}\n scrollable={customizationProps.scrollable}\n maxHeight={customizationProps.maxHeight}\n className={[isOpen && 'show', isUp && 'up'].filter((e) => !!e).join(' ')}>\n <ListContainer size={size} itemsType={customizationProps.itemsType} onScroll={handleScroll} ref={itemsListRef} scrollable={customizationProps.scrollable}>\n {customizationProps.menuContent &&\n <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements()}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer size={size}>\n <Button width=\"100%\" icon={customizationProps.actionIcon}\n loading={customizationProps.actionLoading}\n disabled={customizationProps.actionDisabled}\n variant={customizationProps.actionVariant ?? 'primary'}\n size={size} onClick={() => \n {\n if(customizationProps.action()) //closing the dropdown if action returns 'true'\n setIsOpen(false);\n }}>\n {customizationProps.actionLabel}\n </Button>\n </ActionButtonContainer>\n )}\n </DDContainer>\n );\n /* ),\n {\n handleClickOutside: () => () => {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n }\n },\n },\n );\n\n return <Wrapped />; */\n};\n\nexport default DropdownContent;\n"],"file":"DropdownContent.js"}
@@ -110,7 +110,7 @@
110
110
  }
111
111
  `;
112
112
  const AvatarImage = _styledComponents2.default.div`
113
- background-color: ${props => props.color};
113
+ background-color: ${props => props.$color};
114
114
  display: flex;
115
115
  align-items: center;
116
116
  justify-content: center;
@@ -156,7 +156,7 @@
156
156
  onMouseDown: e => e.preventDefault()
157
157
  }, /*#__PURE__*/React.createElement(AvatarImage, {
158
158
  size: size,
159
- color: color,
159
+ $color: color,
160
160
  useInteractionStyling: useInteractionStyling
161
161
  }, /*#__PURE__*/React.createElement(AvatarLetter, {
162
162
  "data-hj-suppress": true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/Avatar.tsx"],"names":["LinkStyling","css","COLORS","primary_500","primary","ImageStyling","primary_700","primary_800","AvatarLink","styled","div","props","AvatarImage","color","AvatarLetter","AvatarContainer","BREAKPOINTS","MEDIUM","firstName","lastName","size","profileMenuLink","useInteractionStyling","Avatar","e"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { COLORS, BREAKPOINTS } from '../styles';\n\nconst LinkStyling = css`\n &:focus {\n background: ${COLORS.primary_500};\n outline: none;\n }\n &:focus-within {\n box-shadow: 0px 0px 8px ${COLORS.primary}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n`;\n\nconst ImageStyling = css`\n &:hover {\n background-color: ${COLORS.primary_700};\n }\n\n &:active {\n background: ${COLORS.primary_800};\n }\n`;\n\nconst AvatarLink = styled.div<{ size: number; useInteractionStyling: boolean }>`\n text-decoration: none;\n\n ${props => (props.useInteractionStyling ? LinkStyling : '')};\n &:focus {\n outline: none;\n }\n &:focus-within {\n border-radius: ${props => (props.useInteractionStyling ? `${props.size ? props.size : 48}px` : '')};\n }\n`;\n\nconst AvatarImage = styled.div<{ size: number; color: string; useInteractionStyling: boolean }>`\n background-color: ${props => props.color};\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${props => (props.size ? props.size : 48)}px;\n height: ${props => (props.size ? props.size : 48)}px;\n width: ${props => (props.size ? props.size : 48)}px;\n cursor: pointer;\n\n ${props => (props.useInteractionStyling ? ImageStyling : '')};\n`;\n\nconst AvatarLetter = styled.div<{ size: number }>`\n font-size: ${props => props.size / 2 - 2}px;\n color: white;\n font-weight: bold;\n text-transform: uppercase;\n display: inline-block;\n line-height: ${props => (props.size ? props.size : 48)}px;\n`;\n\nexport const AvatarContainer = styled.div<{ hideOnLowWidth?: boolean; inMobileMenu?: boolean; hidePadding?: boolean }>`\n flex-direction: column;\n align-self: center;\n margin-right: ${props => (props.inMobileMenu ? '6px' : '8px')};\n margin-left: ${props => (props.inMobileMenu ? '0' : 'auto')};\n display: ${props => (props.hideOnLowWidth ? 'none' : 'flex')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n ${props => !props.hidePadding ? 'padding: 6px;' : ''};\n }\n`;\n\ninterface AvatarProps {\n firstName: string;\n lastName: string;\n size: number;\n color: string;\n profileMenuLink: string;\n useInteractionStyling?: boolean;\n}\n\nconst Avatar = ({ firstName, lastName, size, color, useInteractionStyling = true }: AvatarProps) => {\n return (\n <AvatarLink size={size} tabIndex={0} useInteractionStyling={useInteractionStyling} onMouseDown={(e: any) => e.preventDefault()}>\n <AvatarImage size={size} color={color} useInteractionStyling={useInteractionStyling}>\n <AvatarLetter data-hj-suppress size={size}>\n {firstName[0]}\n {lastName[0]}\n </AvatarLetter>\n </AvatarImage>\n </AvatarLink>\n );\n};\n\nexport default Avatar;\n"],"file":"Avatar.js"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/Avatar.tsx"],"names":["LinkStyling","css","COLORS","primary_500","primary","ImageStyling","primary_700","primary_800","AvatarLink","styled","div","props","AvatarImage","$color","AvatarLetter","AvatarContainer","BREAKPOINTS","MEDIUM","firstName","lastName","size","color","profileMenuLink","useInteractionStyling","Avatar","e"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { COLORS, BREAKPOINTS } from '../styles';\n\nconst LinkStyling = css`\n &:focus {\n background: ${COLORS.primary_500};\n outline: none;\n }\n &:focus-within {\n box-shadow: 0px 0px 8px ${COLORS.primary}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n`;\n\nconst ImageStyling = css`\n &:hover {\n background-color: ${COLORS.primary_700};\n }\n\n &:active {\n background: ${COLORS.primary_800};\n }\n`;\n\nconst AvatarLink = styled.div<{ size: number; useInteractionStyling: boolean }>`\n text-decoration: none;\n\n ${(props) => (props.useInteractionStyling ? LinkStyling : '')};\n &:focus {\n outline: none;\n }\n &:focus-within {\n border-radius: ${(props) => (props.useInteractionStyling ? `${props.size ? props.size : 48}px` : '')};\n }\n`;\n\nconst AvatarImage = styled.div<{ size: number; $color: string; useInteractionStyling: boolean }>`\n background-color: ${(props) => props.$color};\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ${(props) => (props.size ? props.size : 48)}px;\n height: ${(props) => (props.size ? props.size : 48)}px;\n width: ${(props) => (props.size ? props.size : 48)}px;\n cursor: pointer;\n\n ${(props) => (props.useInteractionStyling ? ImageStyling : '')};\n`;\n\nconst AvatarLetter = styled.div<{ size: number }>`\n font-size: ${(props) => props.size / 2 - 2}px;\n color: white;\n font-weight: bold;\n text-transform: uppercase;\n display: inline-block;\n line-height: ${(props) => (props.size ? props.size : 48)}px;\n`;\n\nexport const AvatarContainer = styled.div<{ hideOnLowWidth?: boolean; inMobileMenu?: boolean; hidePadding?: boolean }>`\n flex-direction: column;\n align-self: center;\n margin-right: ${(props) => (props.inMobileMenu ? '6px' : '8px')};\n margin-left: ${(props) => (props.inMobileMenu ? '0' : 'auto')};\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'flex')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n ${(props) => (!props.hidePadding ? 'padding: 6px;' : '')};\n }\n`;\n\ninterface AvatarProps {\n firstName: string;\n lastName: string;\n size: number;\n color: string;\n profileMenuLink: string;\n useInteractionStyling?: boolean;\n}\n\nconst Avatar = ({ firstName, lastName, size, color, useInteractionStyling = true }: AvatarProps) => {\n return (\n <AvatarLink size={size} tabIndex={0} useInteractionStyling={useInteractionStyling} onMouseDown={(e: any) => e.preventDefault()}>\n <AvatarImage size={size} $color={color} useInteractionStyling={useInteractionStyling}>\n <AvatarLetter data-hj-suppress size={size}>\n {firstName[0]}\n {lastName[0]}\n </AvatarLetter>\n </AvatarImage>\n </AvatarLink>\n );\n};\n\nexport default Avatar;\n"],"file":"Avatar.js"}
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "styled-components", "../styles", "../Tabs", ".."], factory);
3
+ define(["exports", "prop-types", "react", "styled-components", "../styles", "../Tabs", "..", "../styles/z-indexes"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../styles"), require("../Tabs"), require(".."));
5
+ factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../styles"), require("../Tabs"), require(".."), require("../styles/z-indexes"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.styles, global.Tabs, global._);
10
+ factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.styles, global.Tabs, global._, global.zIndexes);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _styledComponents, _styles, _Tabs, _) {
13
+ })(this, function (exports, _propTypes, _react, _styledComponents, _styles, _Tabs, _, _zIndexes) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -103,7 +103,7 @@
103
103
  position: absolute;
104
104
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
105
105
  border-radius: 4px;
106
- z-index: 100;
106
+ z-index: ${_zIndexes.Z_INDEXES.dropdown};
107
107
 
108
108
  top: 12px;
109
109
  ${_styles.BREAKPOINTS.SMALL} {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/ExtendedMainMenu.tsx"],"names":["flowDown","keyframes","Menu","styled","ul","COLORS","white","BREAKPOINTS","SMALL","MEDIUM","MenuSection","li","neutral_100","MenuSectionList","clickMenuAction","navigationOptions","ExtendedMainMenu","React","e","document","list","n","requiredLine","to","disabled","onClick","exact","setEntries","Size","Medium"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,QAAMA,QAAQ,GAAGC,2BAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,CAAA;AAWA,QAAMC,IAAI,GAAGC,2BAAOC,EAAG;AACvB;AACA;AACA;AACA,sBAAsBC,eAAOC,KAAM;AACnC;AACA;AACA;AACA;AACA,uBAAuBN,QAAS;AAChC,eAAeA,QAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAIO,oBAAYC,KAAM;AACtB;AACA;AACA,IAAID,oBAAYE,MAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AA1BA,CAAA;AA6BA,QAAMC,WAAW,GAAGP,2BAAOQ,EAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBN,eAAOO,WAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,CAAA;AAqBA,QAAMC,eAAe,GAAGV,2BAAOC,EAAG;AAClC;AACA;AACA;AAHA,CAAA;;AAWA,QAAMY,gBAAgB,GAAG,CAAC;AAAA,IAAA,eAAA;AAAmBD,IAAAA;AAAnB,GAAD,KAAmD;AAC1E,UAAM,CAAA,OAAA,EAAA,UAAA,IAAwBE,KAAK,CAALA,QAAAA,CAA9B,EAA8BA,CAA9B;AACAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,eAAA,cAAA,CAAA,CAAA,EAAgC;AAC9B,YAAIC,CAAC,CAADA,OAAAA,KAAJ,EAAA,EAAsB;AACpBJ,UAAAA,eAAe;AAChB;AACF;;AAEDK,MAAAA,QAAQ,CAARA,gBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AACA,aAAO,MAAM;AACXA,QAAAA,QAAQ,CAARA,mBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AADF,OAAA;AARFF,KAAAA,EAWG,CAXHA,eAWG,CAXHA;AAaAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,YAAMG,IAAI,GAAG,iBAAiB,EAAjB,GAAA,CAAuBC,CAAC,IAAI;AACvC,eAAO;AAAEC,UAAAA,YAAY,EAAED,CAAC,CAAjB,KAAA;AAAyBE,UAAAA,EAAE,EAAEF,CAAC,CAA9B,EAAA;AAAmCG,UAAAA,QAAQ,EAAEH,CAAC,CAA9C,QAAA;AAAyDI,UAAAA,OAAO,EAAEJ,CAAC,CAAnE,OAAA;AAA6EK,UAAAA,KAAK,EAAEL,CAAC,CAACK;AAAtF,SAAP;AADF,OAAa,CAAb;AAGAC,MAAAA,UAAU,CAAVA,IAAU,CAAVA;AAJFV,KAAAA,EAKG,CALHA,iBAKG,CALHA;AAOA,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAM,MAAA,OAAO,EAAb,eAAA;AAAgC,MAAA,IAAI,EAApC,MAAA;AAA4C,yBAAgB;AAA5D,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAc,MAAA,GAAG,EAAjB,cAAA;AAAiC,MAAA,OAAO,EAAxC,OAAA;AAAmD,MAAA,IAAI,EAAEW,OAAKC;AAA9D,KAAA,CADF,CADF,CADF,CADF;AAtBF,GAAA;;;AAJEf,IAAAA,e;AACAC,IAAAA,iB;;oBAoCF,gB","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { NavOption } from '../types';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { VerticalTabs } from '../Tabs';\nimport { VerticalTabEntry } from '../Tabs/VerticalTabs';\nimport { Size } from '..';\n\nconst flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: 100;\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${COLORS.neutral_100};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: NavOption[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.onClick, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"file":"ExtendedMainMenu.js"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/ExtendedMainMenu.tsx"],"names":["flowDown","keyframes","Menu","styled","ul","COLORS","white","Z_INDEXES","dropdown","BREAKPOINTS","SMALL","MEDIUM","MenuSection","li","neutral_100","MenuSectionList","clickMenuAction","navigationOptions","ExtendedMainMenu","React","e","document","list","n","requiredLine","to","disabled","onClick","exact","setEntries","Size","Medium"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,QAAMA,QAAQ,GAAGC,2BAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,CAAA;AAWA,QAAMC,IAAI,GAAGC,2BAAOC,EAAG;AACvB;AACA;AACA;AACA,sBAAsBC,eAAOC,KAAM;AACnC;AACA;AACA;AACA;AACA,uBAAuBN,QAAS;AAChC,eAAeA,QAAS;AACxB;AACA;AACA;AACA,aAAaO,oBAAUC,QAAS;AAChC;AACA;AACA,IAAIC,oBAAYC,KAAM;AACtB;AACA;AACA,IAAID,oBAAYE,MAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AA1BA,CAAA;AA6BA,QAAMC,WAAW,GAAGT,2BAAOU,EAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBR,eAAOS,WAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,CAAA;AAqBA,QAAMC,eAAe,GAAGZ,2BAAOC,EAAG;AAClC;AACA;AACA;AAHA,CAAA;;AAWA,QAAMc,gBAAgB,GAAG,CAAC;AAAA,IAAA,eAAA;AAAmBD,IAAAA;AAAnB,GAAD,KAAmD;AAC1E,UAAM,CAAA,OAAA,EAAA,UAAA,IAAwBE,KAAK,CAALA,QAAAA,CAA9B,EAA8BA,CAA9B;AACAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,eAAA,cAAA,CAAA,CAAA,EAAgC;AAC9B,YAAIC,CAAC,CAADA,OAAAA,KAAJ,EAAA,EAAsB;AACpBJ,UAAAA,eAAe;AAChB;AACF;;AAEDK,MAAAA,QAAQ,CAARA,gBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AACA,aAAO,MAAM;AACXA,QAAAA,QAAQ,CAARA,mBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AADF,OAAA;AARFF,KAAAA,EAWG,CAXHA,eAWG,CAXHA;AAaAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,YAAMG,IAAI,GAAG,iBAAiB,EAAjB,GAAA,CAAuBC,CAAC,IAAI;AACvC,eAAO;AAAEC,UAAAA,YAAY,EAAED,CAAC,CAAjB,KAAA;AAAyBE,UAAAA,EAAE,EAAEF,CAAC,CAA9B,EAAA;AAAmCG,UAAAA,QAAQ,EAAEH,CAAC,CAA9C,QAAA;AAAyDI,UAAAA,OAAO,EAAEJ,CAAC,CAAnE,OAAA;AAA6EK,UAAAA,KAAK,EAAEL,CAAC,CAACK;AAAtF,SAAP;AADF,OAAa,CAAb;AAGAC,MAAAA,UAAU,CAAVA,IAAU,CAAVA;AAJFV,KAAAA,EAKG,CALHA,iBAKG,CALHA;AAOA,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAM,MAAA,OAAO,EAAb,eAAA;AAAgC,MAAA,IAAI,EAApC,MAAA;AAA4C,yBAAgB;AAA5D,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAc,MAAA,GAAG,EAAjB,cAAA;AAAiC,MAAA,OAAO,EAAxC,OAAA;AAAmD,MAAA,IAAI,EAAEW,OAAKC;AAA9D,KAAA,CADF,CADF,CADF,CADF;AAtBF,GAAA;;;AAJEf,IAAAA,e;AACAC,IAAAA,iB;;oBAoCF,gB","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { NavOption } from '../types';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { VerticalTabs } from '../Tabs';\nimport { VerticalTabEntry } from '../Tabs/VerticalTabs';\nimport { Size } from '..';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n right: -8px;\n min-width: 300px;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n z-index: ${Z_INDEXES.dropdown};\n\n top: 12px;\n ${BREAKPOINTS.SMALL} {\n top: 18px;\n }\n ${BREAKPOINTS.MEDIUM} {\n top: 24px;\n }\n\n .open & {\n display: block;\n }\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n &:not(:first-of-type)::before {\n content: '';\n position: absolute;\n background: ${COLORS.neutral_100};\n height: 1px;\n top: 0;\n left: 16px;\n right: 16px;\n }\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0 2px;\n`;\n\ntype Props = {\n clickMenuAction: () => void;\n navigationOptions: NavOption[];\n};\n\nconst ExtendedMainMenu = ({ clickMenuAction, navigationOptions }: Props) => {\n const [entries, setEntries] = React.useState<VerticalTabEntry[]>([]);\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n React.useEffect(() => {\n const list = navigationOptions?.map(n => {\n return { requiredLine: n.label, to: n.to, disabled: n.disabled, onClick: n.onClick, exact: n.exact };\n }) as VerticalTabEntry[];\n setEntries(list);\n }, [navigationOptions]);\n\n return (\n <Menu onClick={clickMenuAction} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <VerticalTabs key=\"ExtendedMenu\" entries={entries} size={Size.Medium} />\n </MenuSectionList>\n </MenuSection>\n </Menu>\n );\n};\n\nexport default ExtendedMainMenu;\n"],"file":"ExtendedMainMenu.js"}
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "styled-components", "./Logo", "./MainMenu", "./Actions", "../Layouts", "../styles", "./RightSideNav", "./mobile/MobileMenu", "../icons/systemicons/SystemIcons", "./UserMenu/UserMenu", "../hooks/useClickOutside", "./mobile/CommonStyles"], factory);
3
+ define(["exports", "prop-types", "react", "styled-components", "./Logo", "./MainMenu", "./Actions", "../Layouts", "../styles", "./RightSideNav", "./mobile/MobileMenu", "../icons/systemicons/SystemIcons", "./UserMenu/UserMenu", "../hooks/useClickOutside", "./mobile/CommonStyles", "../styles/z-indexes"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("styled-components"), require("./Logo"), require("./MainMenu"), require("./Actions"), require("../Layouts"), require("../styles"), require("./RightSideNav"), require("./mobile/MobileMenu"), require("../icons/systemicons/SystemIcons"), require("./UserMenu/UserMenu"), require("../hooks/useClickOutside"), require("./mobile/CommonStyles"));
5
+ factory(exports, require("prop-types"), require("react"), require("styled-components"), require("./Logo"), require("./MainMenu"), require("./Actions"), require("../Layouts"), require("../styles"), require("./RightSideNav"), require("./mobile/MobileMenu"), require("../icons/systemicons/SystemIcons"), require("./UserMenu/UserMenu"), require("../hooks/useClickOutside"), require("./mobile/CommonStyles"), require("../styles/z-indexes"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.Logo, global.MainMenu, global.Actions, global.Layouts, global.styles, global.RightSideNav, global.MobileMenu, global.SystemIcons, global.UserMenu, global.useClickOutside, global.CommonStyles);
10
+ factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.Logo, global.MainMenu, global.Actions, global.Layouts, global.styles, global.RightSideNav, global.MobileMenu, global.SystemIcons, global.UserMenu, global.useClickOutside, global.CommonStyles, global.zIndexes);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _styledComponents, _Logo, _MainMenu, _Actions, _Layouts, _styles, _RightSideNav, _MobileMenu, _SystemIcons, _UserMenu, _useClickOutside, _CommonStyles) {
13
+ })(this, function (exports, _propTypes, _react, _styledComponents, _Logo, _MainMenu, _Actions, _Layouts, _styles, _RightSideNav, _MobileMenu, _SystemIcons, _UserMenu, _useClickOutside, _CommonStyles, _zIndexes) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -96,7 +96,10 @@
96
96
  const HeaderWrapper = _styledComponents2.default.header`
97
97
  background: white;
98
98
  border-bottom: 1px solid ${_styles.COLORS.neutral_200};
99
-
99
+
100
+ z-index: ${_zIndexes.Z_INDEXES.sticky_menu};
101
+ position: relative;
102
+
100
103
  height: 48px;
101
104
 
102
105
  ${_styles.BREAKPOINTS.SMALL} {
@@ -132,7 +135,7 @@
132
135
  overflow-y: hidden;
133
136
  bottom: 0;
134
137
  right: 0;
135
- z-index: 1;
138
+ z-index: ${_zIndexes.Z_INDEXES.backdrop};
136
139
  `;
137
140
  const UserMenuWrapper = _styledComponents2.default.div`
138
141
  background-color: ${_styles.COLORS.white};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"names":["HeaderWrapper","styled","header","COLORS","neutral_200","BREAKPOINTS","SMALL","MEDIUM","RowLayout","div","RightSide","MenuWrapper","props","UserMenuWrapper","white","window","HamburgerButton","button","name","mainNavigationOptions","secondaryNavigationOptions","firstName","lastName","email","organizationName","signout","isAuthenticated","notifications","switcherAction","reverseRightSideOrder","showBetaTag","accountSection","organizationSection","supportSection","accountMenuHeader","signOutLabel","useUserMenu","trackLogoClick","mainLogoTo","testId","useMaxWidth","GlobalNavigationBar","React","menuRef","userMenuRef","rightSideRef","handleClickMenuAction","setShowMenu","useClickOutside","showUserMenu","setShowUserMenu","setShowMobileUserMenu","handleResize","right","document","setAvatarRight","secondaryButton","showMenu"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './MainMenu';\nimport Actions from './Actions';\nimport { PageWidth } from '../Layouts';\nimport { COLORS, BREAKPOINTS } from '../styles';\nimport RightSideNav from './RightSideNav';\nimport { NavOption, NavButton, ActionOptions, UserMenuItem } from '../types';\nimport MobileMenu from './mobile/MobileMenu';\nimport { Menu } from '../icons/systemicons/SystemIcons';\nimport UserMenu from './UserMenu/UserMenu';\nimport useClickOutside from '../hooks/useClickOutside';\nimport { Menu as MobileMenuWrapper } from './mobile/CommonStyles';\n\nconst HeaderWrapper = styled.header`\n background: white;\n border-bottom: 1px solid ${COLORS.neutral_200};\n\n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\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`;\n\nconst RightSide = styled.div`\n display: flex;\n margin: 0 0 0 auto;\n`;\n\nconst MenuWrapper = styled.div<MenuWrapperProps>`\n background: rgba(0, 0, 0, 0.5);\n display: ${(props) => (props.isVisible ? 'flex' : 'none')};\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow-y: hidden;\n bottom: 0;\n right: 0;\n z-index: 1;\n`;\n\nconst UserMenuWrapper = styled.div<UserMenuWrapperProps>`\n background-color: ${COLORS.white};\n display: flex;\n margin-left: ${(props) => (props.floatRight ? 'auto' : 'unset')};\n position: absolute;\n right: ${(props) => (props.offsetRight ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n top: 56px;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\ninterface UserMenuWrapperProps {\n floatRight: boolean;\n offsetRight: number | null | undefined;\n}\n\nconst HamburgerButton = styled.button`\n border-width: 0;\n background-color: ${COLORS.white};\n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n &:hover {\n cursor: pointer;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\ninterface MenuWrapperProps {\n isVisible: boolean;\n}\n\ntype Props = {\n name?: string;\n mainNavigationOptions?: NavOption[];\n secondaryNavigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n actions?: ActionOptions;\n firstName?: string;\n lastName?: string;\n email?: string;\n organizationName?: string;\n signout?: (e: any) => void;\n isAuthenticated?: boolean;\n mobileActions?: ActionOptions;\n notifications?: NavOption[];\n switcherAction?: () => void;\n reverseRightSideOrder?: boolean;\n showBetaTag?: boolean;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n accountMenuHeader?: string;\n signOutLabel?: string;\n useUserMenu?: boolean;\n trackLogoClick?: () => void;\n mainLogoTo?: string;\n testId?: string;\n useMaxWidth?: 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 mainNavigationOptions,\n secondaryNavigationOptions,\n secondaryButton,\n actions,\n firstName,\n lastName,\n email,\n organizationName,\n signout,\n isAuthenticated,\n mobileActions,\n notifications,\n switcherAction,\n reverseRightSideOrder = false,\n showBetaTag,\n accountSection,\n organizationSection,\n supportSection,\n accountMenuHeader,\n signOutLabel,\n useUserMenu,\n mainLogoTo,\n trackLogoClick,\n testId,\n useMaxWidth = true,\n}: Props): React.ReactElement<Props> => {\n const [showMenu, setShowMenu] = React.useState(false);\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n const [showMobileUserMenu, setShowMobileUserMenu] = React.useState<boolean>(false);\n const menuRef = React.useRef(null);\n const userMenuRef = React.useRef<HTMLDivElement>(null);\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n const handleClickMenuAction = () => {\n setShowMenu(false);\n };\n\n useClickOutside(userMenuRef, () => (showUserMenu ? setShowUserMenu(false) : null));\n useClickOutside(menuRef, () => {\n if (showMenu) {\n setShowMobileUserMenu(false);\n setShowMenu(false);\n }\n });\n\n React.useEffect(() => {\n const handleResize = () => {\n const right = document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right;\n if (right) {\n setAvatarRight(right);\n }\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right]);\n\n return (\n <>\n <HeaderWrapper data-testid={testId}>\n <PageWidth useMaxWidth={useMaxWidth}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={showBetaTag} onClick={trackLogoClick} to={mainLogoTo} />\n {isAuthenticated && <MainMenu navigationOptions={mainNavigationOptions || []} rightSideRef={rightSideRef} />}\n <RightSide className=\"GlobalNavigationRightSide\" ref={rightSideRef}>\n {reverseRightSideOrder ? (\n <>\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n </>\n ) : (\n <>\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n </>\n )}\n <HamburgerButton onClick={() => setShowMenu(!showMenu)} hidden={!isAuthenticated}>\n <Menu size=\"24px\" />\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MenuWrapper className={showMenu ? 'open' : 'closed'} isVisible={showMenu}>\n <MobileMenuWrapper ref={menuRef} onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MobileMenu\n name={name || ''}\n clickMenuAction={() => {\n setShowMobileUserMenu(false);\n handleClickMenuAction();\n }}\n navigationOptions={mainNavigationOptions || []}\n secondaryNavigationOptions={secondaryNavigationOptions}\n secondaryButton={secondaryButton}\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n signout={signout}\n notifications={notifications}\n actions={mobileActions}\n switcherAction={switcherAction}\n isAuthenticated={isAuthenticated}\n accountSection={accountSection || []}\n organizationSection={organizationSection || []}\n supportSection={supportSection || []}\n accountMenuHeader={accountMenuHeader || ''}\n signOutLabel={signOutLabel || ''}\n organizationName={organizationName || ''}\n useUserMenu={useUserMenu}\n showUserMenu={showMobileUserMenu}\n setShowUserMenu={setShowMobileUserMenu}\n />\n </MobileMenuWrapper>\n </MenuWrapper>\n {useUserMenu && (\n <UserMenuWrapper ref={userMenuRef} className={showUserMenu ? 'open' : 'closed'} floatRight={false} offsetRight={avatarRight} data-testid=\"testUserMenuWrapper\">\n <UserMenu\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n organizationName={organizationName || ''}\n clickMenuAction={() => setShowUserMenu(false)}\n accountSection={accountSection}\n organizationSection={organizationSection}\n supportSection={supportSection}\n signOut={signout}\n signOutLabel={signOutLabel || ''}\n />\n </UserMenuWrapper>\n )}\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"file":"GlobalNavigationBar.js"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"names":["HeaderWrapper","styled","header","COLORS","neutral_200","Z_INDEXES","sticky_menu","BREAKPOINTS","SMALL","MEDIUM","RowLayout","div","RightSide","MenuWrapper","props","backdrop","UserMenuWrapper","white","window","HamburgerButton","button","name","mainNavigationOptions","secondaryNavigationOptions","firstName","lastName","email","organizationName","signout","isAuthenticated","notifications","switcherAction","reverseRightSideOrder","showBetaTag","accountSection","organizationSection","supportSection","accountMenuHeader","signOutLabel","useUserMenu","trackLogoClick","mainLogoTo","testId","useMaxWidth","GlobalNavigationBar","React","menuRef","userMenuRef","rightSideRef","handleClickMenuAction","setShowMenu","useClickOutside","showUserMenu","setShowUserMenu","setShowMobileUserMenu","handleResize","right","document","setAvatarRight","secondaryButton","showMenu"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './MainMenu';\nimport Actions from './Actions';\nimport { PageWidth } from '../Layouts';\nimport { COLORS, BREAKPOINTS } from '../styles';\nimport RightSideNav from './RightSideNav';\nimport { NavOption, NavButton, ActionOptions, UserMenuItem } from '../types';\nimport MobileMenu from './mobile/MobileMenu';\nimport { Menu } from '../icons/systemicons/SystemIcons';\nimport UserMenu from './UserMenu/UserMenu';\nimport useClickOutside from '../hooks/useClickOutside';\nimport { Menu as MobileMenuWrapper } from './mobile/CommonStyles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst HeaderWrapper = styled.header`\n background: white;\n border-bottom: 1px solid ${COLORS.neutral_200};\n \n z-index: ${Z_INDEXES.sticky_menu};\n position: relative;\n \n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\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`;\n\nconst RightSide = styled.div`\n display: flex;\n margin: 0 0 0 auto;\n`;\n\nconst MenuWrapper = styled.div<MenuWrapperProps>`\n background: rgba(0, 0, 0, 0.5);\n display: ${(props) => (props.isVisible ? 'flex' : 'none')};\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow-y: hidden;\n bottom: 0;\n right: 0;\n z-index: ${Z_INDEXES.backdrop};\n`;\n\nconst UserMenuWrapper = styled.div<UserMenuWrapperProps>`\n background-color: ${COLORS.white};\n display: flex;\n margin-left: ${(props) => (props.floatRight ? 'auto' : 'unset')};\n position: absolute;\n right: ${(props) => (props.offsetRight ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n top: 56px;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\ninterface UserMenuWrapperProps {\n floatRight: boolean;\n offsetRight: number | null | undefined;\n}\n\nconst HamburgerButton = styled.button`\n border-width: 0;\n background-color: ${COLORS.white};\n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n &:hover {\n cursor: pointer;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\ninterface MenuWrapperProps {\n isVisible: boolean;\n}\n\ntype Props = {\n name?: string;\n mainNavigationOptions?: NavOption[];\n secondaryNavigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n actions?: ActionOptions;\n firstName?: string;\n lastName?: string;\n email?: string;\n organizationName?: string;\n signout?: (e: any) => void;\n isAuthenticated?: boolean;\n mobileActions?: ActionOptions;\n notifications?: NavOption[];\n switcherAction?: () => void;\n reverseRightSideOrder?: boolean;\n showBetaTag?: boolean;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n accountMenuHeader?: string;\n signOutLabel?: string;\n useUserMenu?: boolean;\n trackLogoClick?: () => void;\n mainLogoTo?: string;\n testId?: string;\n useMaxWidth?: 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 mainNavigationOptions,\n secondaryNavigationOptions,\n secondaryButton,\n actions,\n firstName,\n lastName,\n email,\n organizationName,\n signout,\n isAuthenticated,\n mobileActions,\n notifications,\n switcherAction,\n reverseRightSideOrder = false,\n showBetaTag,\n accountSection,\n organizationSection,\n supportSection,\n accountMenuHeader,\n signOutLabel,\n useUserMenu,\n mainLogoTo,\n trackLogoClick,\n testId,\n useMaxWidth = true,\n}: Props): React.ReactElement<Props> => {\n const [showMenu, setShowMenu] = React.useState(false);\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n const [showMobileUserMenu, setShowMobileUserMenu] = React.useState<boolean>(false);\n const menuRef = React.useRef(null);\n const userMenuRef = React.useRef<HTMLDivElement>(null);\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n const handleClickMenuAction = () => {\n setShowMenu(false);\n };\n\n useClickOutside(userMenuRef, () => (showUserMenu ? setShowUserMenu(false) : null));\n useClickOutside(menuRef, () => {\n if (showMenu) {\n setShowMobileUserMenu(false);\n setShowMenu(false);\n }\n });\n\n React.useEffect(() => {\n const handleResize = () => {\n const right = document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right;\n if (right) {\n setAvatarRight(right);\n }\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right]);\n\n return (\n <>\n <HeaderWrapper data-testid={testId}>\n <PageWidth useMaxWidth={useMaxWidth}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={showBetaTag} onClick={trackLogoClick} to={mainLogoTo} />\n {isAuthenticated && <MainMenu navigationOptions={mainNavigationOptions || []} rightSideRef={rightSideRef} />}\n <RightSide className=\"GlobalNavigationRightSide\" ref={rightSideRef}>\n {reverseRightSideOrder ? (\n <>\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n </>\n ) : (\n <>\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n </>\n )}\n <HamburgerButton onClick={() => setShowMenu(!showMenu)} hidden={!isAuthenticated}>\n <Menu size=\"24px\" />\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MenuWrapper className={showMenu ? 'open' : 'closed'} isVisible={showMenu}>\n <MobileMenuWrapper ref={menuRef} onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MobileMenu\n name={name || ''}\n clickMenuAction={() => {\n setShowMobileUserMenu(false);\n handleClickMenuAction();\n }}\n navigationOptions={mainNavigationOptions || []}\n secondaryNavigationOptions={secondaryNavigationOptions}\n secondaryButton={secondaryButton}\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n signout={signout}\n notifications={notifications}\n actions={mobileActions}\n switcherAction={switcherAction}\n isAuthenticated={isAuthenticated}\n accountSection={accountSection || []}\n organizationSection={organizationSection || []}\n supportSection={supportSection || []}\n accountMenuHeader={accountMenuHeader || ''}\n signOutLabel={signOutLabel || ''}\n organizationName={organizationName || ''}\n useUserMenu={useUserMenu}\n showUserMenu={showMobileUserMenu}\n setShowUserMenu={setShowMobileUserMenu}\n />\n </MobileMenuWrapper>\n </MenuWrapper>\n {useUserMenu && (\n <UserMenuWrapper ref={userMenuRef} className={showUserMenu ? 'open' : 'closed'} floatRight={false} offsetRight={avatarRight} data-testid=\"testUserMenuWrapper\">\n <UserMenu\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n organizationName={organizationName || ''}\n clickMenuAction={() => setShowUserMenu(false)}\n accountSection={accountSection}\n organizationSection={organizationSection}\n supportSection={supportSection}\n signOut={signout}\n signOutLabel={signOutLabel || ''}\n />\n </UserMenuWrapper>\n )}\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"file":"GlobalNavigationBar.js"}