@laerdal/life-react-components 5.0.8-dev.1.full → 5.0.8

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 (55) hide show
  1. package/dist/Chips/ChoiceChips.cjs +0 -1
  2. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  3. package/dist/Chips/ChoiceChips.js +0 -1
  4. package/dist/Chips/ChoiceChips.js.map +1 -1
  5. package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
  6. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  7. package/dist/ChipsInput/ChipDropdownInput.js +1 -1
  8. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  9. package/dist/Dropdown/BasicDropdown.cjs +0 -2
  10. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  11. package/dist/Dropdown/BasicDropdown.js +0 -2
  12. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  13. package/dist/Dropdown/DropdownButton.cjs +0 -4
  14. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  15. package/dist/Dropdown/DropdownButton.js +0 -4
  16. package/dist/Dropdown/DropdownButton.js.map +1 -1
  17. package/dist/Dropdown/DropdownContent.cjs +1 -1
  18. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  19. package/dist/Dropdown/DropdownContent.js +1 -1
  20. package/dist/Dropdown/DropdownContent.js.map +1 -1
  21. package/dist/Dropdown/DropdownFilter.cjs +0 -2
  22. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  23. package/dist/Dropdown/DropdownFilter.js +0 -2
  24. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  25. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -0
  26. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  27. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +1 -0
  28. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  29. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +1 -0
  30. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
  31. package/dist/GlobalNavigationBar/desktop/SubMenu.js +1 -0
  32. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
  33. package/dist/InputFields/QuickSearch.cjs +1 -1
  34. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  35. package/dist/InputFields/QuickSearch.js +1 -1
  36. package/dist/InputFields/QuickSearch.js.map +1 -1
  37. package/dist/Modals/ModalContainer.cjs +142 -106
  38. package/dist/Modals/ModalContainer.cjs.map +1 -1
  39. package/dist/Modals/ModalContainer.d.ts +17 -1
  40. package/dist/Modals/ModalContainer.js +142 -106
  41. package/dist/Modals/ModalContainer.js.map +1 -1
  42. package/dist/Table/TableBody.cjs +1 -1
  43. package/dist/Table/TableBody.cjs.map +1 -1
  44. package/dist/Table/TableBody.js +1 -1
  45. package/dist/Table/TableBody.js.map +1 -1
  46. package/dist/Table/TableFooter.cjs +0 -2
  47. package/dist/Table/TableFooter.cjs.map +1 -1
  48. package/dist/Table/TableFooter.js +0 -2
  49. package/dist/Table/TableFooter.js.map +1 -1
  50. package/dist/styles/typography.cjs +35 -59
  51. package/dist/styles/typography.cjs.map +1 -1
  52. package/dist/styles/typography.d.ts +1 -1
  53. package/dist/styles/typography.js +35 -59
  54. package/dist/styles/typography.js.map +1 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownContent.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_Button","_types","_CommonStyling","_typography","_styles","_InputFields","_zIndexes","_MenuItem","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DropdownContentContainer","styled","div","_taggedTemplateLiteral2","props","COLORS","getColor","theme","Z_INDEXES","dropdown","$isButton","concat","$offsetLeft","$offsetTop","DropdownContentButtonStyling","$size","Size","Large","Medium","$scrollable","$maxHeight","exports","DropdownContentItemsContainer","hover","active","focus","DropdownContentListContainer","$itemsType","scrollBarStyling","Small","DropdownContentMenuContentContainer","ComponentXLStyling","ComponentTextStyle","Bold","ComponentLStyling","ComponentMStyling","Regular","ComponentSStyling","DividerContainer","DropdownContentTopItemContainer","DropdownContentActionButtonContainer","Overlay","modal","DropdownContent","React","forwardRef","_ref","ref","_ref2","_customizationProps$a","id","customizationProps","alignLeft","isButton","size","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","_ref$ariaRolesType","ariaRolesType","_React$useState","useState","_React$useState2","_slicedToArray2","isUp","setIsUp","_React$useState3","_React$useState4","locationDefined","setLocationDefined","_React$useState5","top","left","_React$useState6","offset","setOffset","dropdownContentRef","useRef","itemsType","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","instOffsetWithMenu","height","up","setNewFocusedElement","index","_dropdownContentRef$c","newFocusedElement","elRefs","oldFocusedElement","_oldFocusedElement$cu","_newFocusedElement$cu","_newFocusedElement$cu2","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","_x$value","_x$displayLabel","includes","displayLabel","findNextActiveIndex","direction","i","_items","disabled","handleKeyDown","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","_focusedElement$curre","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","_itemsListRef$current","scrollTop","useLayoutEffect","_scrollPosition$curre","getCorrectRef","createRef","_React$useState7","_React$useState8","setElRefs","fill","map","_","_getSuggestions","pinTopItem","multiSelect","getSuggestions","suggestion","_dropdownContentRef$c2","_dropdownContentRef$c3","_iterator","_step","_elRef$current","elRef","err","blur","_dropdownContentRef$c4","_dropdownContentRef$c5","observer","IntersectionObserver","entries","isIntersecting","_document","_document$activeEleme","activeElement","threshold","rootMargin","observe","calculateOffset","disconnect","handleItemClick","selected","item","newValue","_toConsumableArray2","onValueUpdate","getTopItem","_customizationProps$i","_customizationProps$i2","_selectedFirst$displa","_selectedFirst$displa2","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","jsxs","children","jsx","RadioButton","role","iconPointerEventsTransparent","onFocus","tabIndexVal","className","select","label","Checkbox","newValues","semiSelected","Fragment","tabIndex","onClickHandler","stopPropagation","getElements","_item$displayLabel","_item$displayLabel2","customContent","_containerRef$current","style","cls","$alignLeft","scrollable","maxHeight","onScroll","$outline","menuContent","action","actionLabel","icon","actionIcon","loading","actionLoading","actionDisabled","variant","actionVariant","onClick","propTypes","_propTypes","bool","isRequired","shape","oneOf","node","string","func","arrayOf","noteLabel","showDividerAbove","locked","oneOfType","number","_default"],"sources":["../../src/Dropdown/DropdownContent.tsx"],"sourcesContent":["import React, { MutableRefObject, useCallback } from 'react';\nimport styled, { css } from 'styled-components';\nimport Button from '../Button/Button';\nimport { Size } from '../types';\nimport { DropdownContentButtonStyling } from './CommonStyling';\nimport { ComponentLStyling, ComponentXLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS, focusStyles, scrollBarStyling } from '../styles';\nimport { Checkbox, RadioButton } from '../InputFields';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport MenuItem from '../MenuItem/MenuItem';\nimport { defaultOnMouseDownHandler } from '../common';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DropdownContentContainer = styled.div<{ $offsetTop: string; $offsetLeft: string; $isButton: boolean; $alignLeft?: boolean; $size?: Size; $scrollable?: boolean; $maxHeight?: string }>`\n display: none;\n pointer-events: auto;\n position: absolute;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n\n z-index: ${Z_INDEXES.dropdown};\n margin: ${(props) => (props.$isButton ? '-4px' : '4px 0px')};\n\n inset: 0px auto auto 100%;\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n &.down,\n &.up {\n ${(props) => `transform: translate(${props.$offsetLeft}, ${props.$offsetTop});`}\n }\n }\n\n &.outline:focus:after {\n content: '';\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 4px solid black;\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n ${(props) => (props.$isButton ? DropdownContentButtonStyling : '')};\n\n border: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding: 4px 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\nexport const DropdownContentItemsContainer = styled.div<{ $size?: Size }>`\n > *:hover {\n z-index: ${Z_INDEXES.hover};\n }\n\n > *:active,\n > *.active {\n z-index: ${Z_INDEXES.active};\n }\n\n > *:focus {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nexport const DropdownContentListContainer = styled.div<{ $scrollable?: boolean; $size?: Size; $itemsType?: string; $outline?: boolean }>`\n ${(props) => (props.$scrollable ? 'overflow-y: scroll;' : '')}\n ${(props) => (props.$scrollable ? 'margin-right: 6px;' : '')}\n ${(props) => (props.$scrollable ? 'padding-right: 6px;' : '')}\n ${(props) => (props.$itemsType != 'normal' ? 'margin-left: 4px;' : '')}\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 ${DropdownContentItemsContainer} {\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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst DropdownContentMenuContentContainer = styled.div<{ $size?: Size }>`\n h1,\n h2,\n h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${(props) => props.$size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => props.$size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => (props.$size == Size.Small || !props.$size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n padding: ${(props) => (props.$size == Size.Small || !props.$size ? '10px 16px 6px' : 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.getColor('neutral_500', props.theme))}\n ${(props) => props.$size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => (props.$size == Size.Small || !props.$size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\n padding: ${(props) => (props.$size == Size.Small || !props.$size ? '8px 16px' : 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' : props.$size == Size.Medium ? '12px' : props.$size == Size.Small || !props.$size ? '8px' : '6px')};\n\n div.divider {\n width: 100%;\n margin: 0px;\n }\n`;\n\nconst DropdownContentTopItemContainer = styled.div<{ $size?: Size }>`\n border-bottom-style: solid;\n border-bottom-color: ${props => COLORS.getColor('neutral_200', props.theme)};\n border-bottom-width: 1px;\n margin-right: 22px;\n`;\n\nconst DropdownContentActionButtonContainer = styled.div<{ $size?: Size; $scrollable?: boolean }>`\n ${(props) => (props.$scrollable ? `border-top: 1px solid ${COLORS.getColor('neutral_200', props.theme)};` : '')}\n ${(props) => (props.$scrollable ? 'margin-top: 4px;' : '')}\n\n padding: ${(props) => (props.$size === Size.Small || !props.$size ? '4px 16px 0px' : props.$size === Size.Medium ? '12px 16px 8px' : '16px 16px 12px')};\n\n button {\n width: 100%;\n }\n`;\n\nconst Overlay = styled.div`\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: ${Z_INDEXES.modal};\n`;\n\nexport interface DropdownItem {\n /** Required. Value of the DropdownItem. */\n value: string;\n /** Optional. Display label to show in the MenuItem. If not provided then 'value' will be used as label. */\n displayLabel?: string;\n /** Optional. Note label to be shown under the Display label in the MenuItem. */\n noteLabel?: string;\n /** */\n suggestion?: boolean;\n /** Optional. Show dividing line on the top of the item. */\n showDividerAbove?: boolean;\n /** Optional. If disabled user can not interact with the item. */\n disabled?: boolean;\n /** Optional. If item is locked then user can not interact with the item and 'lock' icon is shown on the right side of the item. */\n locked?: boolean;\n /** Optional. Icon to be shown on the left side of the menu item */\n icon?: React.ReactNode;\n /** */\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.Small | Size.Medium | Size.Large;\n id: string;\n filter: string;\n width?: string;\n onActiveDescendantChanged?: (descendantId?: string) => void;\n selectedValues: string[];\n setSelectedValues: (val: string[]) => void;\n messageOnNoResults: string;\n focused: number | null;\n setFocused: (focused: number | null) => void;\n outline?: boolean;\n containerRef: React.RefObject<HTMLDivElement>;\n ariaRolesType?: 'input' | 'menu';\n}\n\nconst DropdownContent = React.forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n customizationProps,\n alignLeft,\n isButton,\n size,\n isOpen,\n width,\n setIsOpen,\n filter,\n focused,\n setFocused,\n selectedValues,\n setSelectedValues,\n messageOnNoResults,\n outline,\n containerRef,\n onActiveDescendantChanged,\n ariaRolesType = 'menu',\n },\n ref,\n ) => {\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [locationDefined, setLocationDefined] = React.useState<boolean>(false);\n const [offset, setOffset] = React.useState<{ top: string; left: string }>({ top: '0', left: '0' });\n\n const dropdownContentRef = (ref as MutableRefObject<HTMLDivElement>) ?? 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 const actionButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const determineDropUp = () => {\n const options = customizationProps.items;\n\n const rect = containerRef.current!.getBoundingClientRect();\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = rect.top + rect.height + menuHeight;\n\n const up = instOffsetWithMenu >= windowHeight;\n\n setOffset({\n top: up ? `calc(-100% - ${rect.height}px ${isButton ? '' : '- 8px'})` : '0',\n left: alignLeft ? `calc(-${rect.width}px)` : `calc(-100%)`,\n });\n\n setIsUp(up);\n setLocationDefined(true);\n };\n\n const setNewFocusedElement = (index: number) => {\n if (outline) dropdownContentRef.current?.focus();\n\n const newFocusedElement = elRefs[index];\n if (onActiveDescendantChanged) onActiveDescendantChanged(index == 0 ? `${id}_topitem` : `${id}_${index}`);\n\n const oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n setFocused(index);\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n newFocusedElement.current?.classList.add('dropdown-hover');\n newFocusedElement.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\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 findNextActiveIndex = (index: number, direction: number, items: DropdownItem[]) => {\n for (let i = index + direction; i > 0 && i <= items.length; i += direction) {\n if (!items[i - 1]?.disabled) {\n return i;\n }\n }\n\n return index;\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOpen) {\n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n let focusedNow = focused || focused === 0 ? focused : arrLength + 1;\n if (!!focusedNow) {\n focusedNow = focusedNow === 1 && haveTopItem() ? 0 : findNextActiveIndex(focusedNow, -1, getFilteredItems());\n\n setNewFocusedElement(focusedNow);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.preventDefault();\n let focusedNow = focused;\n\n focusedNow = !!focusedNow || focusedNow === 0 ? findNextActiveIndex(focusedNow, 1, getFilteredItems()) : haveTopItem() ? 0 : 1;\n\n setNewFocusedElement(focusedNow);\n } else if (e.key === 'Escape' || e.key === 'Esc') {\n setIsOpen(false);\n setFocused(null);\n if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== actionButtonRef?.current) {\n e.preventDefault();\n const focusedElement = elRefs[focused];\n if (focusedElement) {\n focusedElement.current?.click();\n }\n if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n });\n\n const scrollPosition = React.useRef<number | undefined>(0);\n const handleScroll = () => {\n scrollPosition.current = itemsListRef.current?.scrollTop;\n };\n React.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>) || React.createRef<HTMLButtonElement>();\n default:\n return (ref as React.RefObject<HTMLDivElement>) || React.createRef<HTMLDivElement>();\n }\n };\n\n const arrLength = getFilteredItems().length;\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n\n React.useEffect(() => {\n if (elRefs?.length !== arrLength) {\n setFocused(null);\n }\n\n setElRefs((elRefs) =>\n Array(arrLength + 1)\n .fill(null)\n .map((_, i) => getCorrectRef(elRefs[i])),\n );\n }, [isOpen, arrLength]);\n\n React.useLayoutEffect(() => {\n isOpen && !locationDefined && determineDropUp();\n }, [isOpen, locationDefined]);\n\n const haveTopItem = () => {\n if (!customizationProps.pinTopItem) return false;\n\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 /**\n * when dropdown opens set correct position of focused item\n * */\n React.useLayoutEffect(() => {\n if (isOpen && (focused || focused === 0)) {\n setNewFocusedElement(focused === 0 && !haveTopItem() ? 1 : focused);\n }\n }, [isOpen, focused]);\n\n /**\n * Reset dropdown content state on close\n * */\n React.useEffect(() => {\n if (!isOpen) {\n setLocationDefined(false);\n for (let elRef of elRefs) {\n elRef.current?.classList.remove('dropdown-hover');\n }\n setFocused(null);\n if(onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n dropdownContentRef.current?.classList.remove('outline');\n dropdownContentRef.current?.blur();\n } else {\n if (outline) {\n dropdownContentRef.current?.classList.add('outline');\n dropdownContentRef.current?.focus();\n }\n }\n }, [isOpen, dropdownContentRef, focused, outline]);\n\n /**\n * Scroll item container to top when dropdown opens\n * */\n React.useEffect(() => {\n if (isOpen && itemsListRef.current) {\n itemsListRef.current.scrollTop = 0;\n }\n }, [isOpen]);\n\n React.useEffect(() => {\n if (isOpen) {\n const observer = new IntersectionObserver(function (entries) {\n if (!entries[0].isIntersecting) {\n setIsOpen(false);\n //@ts-ignore\n document?.activeElement?.blur();\n }\n }, {threshold: [0], rootMargin: '8px'});\n\n observer.observe(containerRef.current!);\n\n calculateOffset();\n window.addEventListener('scroll', calculateOffset, true);\n window.addEventListener('resize', calculateOffset);\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', calculateOffset, true);\n window.removeEventListener('resize', calculateOffset);\n }\n }\n return () => {};\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\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 <DropdownContentTopItemContainer $size={size}>\n {customizationProps.itemsType === 'radio' && (\n <RadioButton\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n role='menuitemradio'\n iconPointerEventsTransparent={true}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n select={() => {}}\n 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 role='menuitemcheckbox'\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\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)) setIsOpen(false);\n }}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\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 <MenuItem\n role={ariaRolesType == 'input' ? 'option' : 'menu'} \n key={`${id}_topitem_${x.value}`}\n item={x}\n size={size}\n active={false}\n tabIndex={-1}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\n id={`${id}_topitem`}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([x.value]);\n setSelectedValues([x.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n />\n ))}\n </>\n )}\n </DropdownContentTopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size.Small | Size.Medium | Size.Large) => {\n if (getFilteredItems().length === 0) {\n return <MenuItem item={{ value: messageOnNoResults, disabled: true }} size={size} id=\"noResultsFound\" active={false} onClickHandler={(e) => {}} />;\n }\n return (\n <DropdownContentItemsContainer $size={size}>\n {getFilteredItems()\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\n .map((item, index) => {\n return (\n <React.Fragment key={`key_${id}_${item.value}`}>\n {item.customContent}\n {!item.customContent && customizationProps.itemsType == 'radio' && (\n <RadioButton\n role='menuitemradio'\n select={(selected: boolean) => handleItemClick(selected, item)}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n key={`key_${id}_${index + 1}`}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n role='menuitemcheckbox'\n select={(selected: boolean) => handleItemClick(selected, item)}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n key={`key_${id}_${index + 1}`}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\n <MenuItem\n role={ariaRolesType == 'input' ? 'option' : 'menu'} \n key={`key_${id}_${index + 1}`}\n id={`${id}_${index + 1}`}\n item={item}\n tabIndex={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n size={size}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n active={selectedValues?.includes(item.value)}\n ref={elRefs[index + 1] as React.RefObject<HTMLButtonElement>}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([item.value]);\n setSelectedValues([item.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n />\n )}\n </React.Fragment>\n );\n })}\n </DropdownContentItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.width = width ?? `${rect.width}px`;\n }\n determineDropUp();\n };\n\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? (isUp ? 'up' : 'down') : ''}`;\n\n return (\n <Overlay>\n <DropdownContentContainer\n role={ariaRolesType == \"menu\" ? \"menu\" : \"optionlist\"}\n ref={dropdownContentRef}\n $size={size}\n $offsetTop={offset.top}\n id={id}\n $offsetLeft={offset.left}\n tabIndex={-1}\n $isButton={isButton}\n $alignLeft={alignLeft}\n $scrollable={customizationProps.scrollable}\n $maxHeight={customizationProps.maxHeight}\n className={cls}>\n <DropdownContentListContainer\n role=\"group\"\n $size={size}\n $itemsType={customizationProps.itemsType}\n onScroll={handleScroll}\n ref={itemsListRef}\n $outline={outline}\n $scrollable={customizationProps.scrollable}>\n {customizationProps.menuContent && (\n <DropdownContentMenuContentContainer $size={size}>\n {customizationProps.menuContent}\n <DividerContainer $size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </DropdownContentMenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </DropdownContentListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <DropdownContentActionButtonContainer $size={size} $scrollable={customizationProps.scrollable}>\n <Button\n width=\"100%\"\n role=\"menuitem\"\n icon={customizationProps.actionIcon}\n ref={actionButtonRef}\n loading={customizationProps.actionLoading}\n disabled={customizationProps.actionDisabled}\n variant={customizationProps.actionVariant ?? 'primary'}\n size={size}\n onClick={() => customizationProps.action() && setIsOpen(false)}>\n {customizationProps.actionLabel}\n </Button>\n </DropdownContentActionButtonContainer>\n )}\n </DropdownContentContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownContent.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_Button","_types","_CommonStyling","_typography","_styles","_InputFields","_zIndexes","_MenuItem","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DropdownContentContainer","styled","div","_taggedTemplateLiteral2","props","COLORS","getColor","theme","Z_INDEXES","dropdown","$isButton","concat","$offsetLeft","$offsetTop","DropdownContentButtonStyling","$size","Size","Large","Medium","$scrollable","$maxHeight","exports","DropdownContentItemsContainer","hover","active","focus","DropdownContentListContainer","$itemsType","scrollBarStyling","Small","DropdownContentMenuContentContainer","ComponentXLStyling","ComponentTextStyle","Bold","ComponentLStyling","ComponentMStyling","Regular","ComponentSStyling","DividerContainer","DropdownContentTopItemContainer","DropdownContentActionButtonContainer","Overlay","modal","DropdownContent","React","forwardRef","_ref","ref","_ref2","_customizationProps$a","id","customizationProps","alignLeft","isButton","size","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","_ref$ariaRolesType","ariaRolesType","_React$useState","useState","_React$useState2","_slicedToArray2","isUp","setIsUp","_React$useState3","_React$useState4","locationDefined","setLocationDefined","_React$useState5","top","left","_React$useState6","offset","setOffset","dropdownContentRef","useRef","itemsType","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","instOffsetWithMenu","height","up","setNewFocusedElement","index","_dropdownContentRef$c","newFocusedElement","elRefs","oldFocusedElement","_oldFocusedElement$cu","_newFocusedElement$cu","_newFocusedElement$cu2","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","_x$value","_x$displayLabel","includes","displayLabel","findNextActiveIndex","direction","i","_items","disabled","handleKeyDown","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","_focusedElement$curre","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","_itemsListRef$current","scrollTop","useLayoutEffect","_scrollPosition$curre","getCorrectRef","createRef","_React$useState7","_React$useState8","setElRefs","fill","map","_","_getSuggestions","pinTopItem","multiSelect","getSuggestions","suggestion","_dropdownContentRef$c2","_dropdownContentRef$c3","_iterator","_step","_elRef$current","elRef","err","blur","_dropdownContentRef$c4","_dropdownContentRef$c5","observer","IntersectionObserver","entries","isIntersecting","_document","_document$activeEleme","activeElement","threshold","rootMargin","observe","calculateOffset","disconnect","handleItemClick","selected","item","newValue","_toConsumableArray2","onValueUpdate","getTopItem","_customizationProps$i","_customizationProps$i2","_selectedFirst$displa","_selectedFirst$displa2","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","jsxs","children","jsx","RadioButton","role","iconPointerEventsTransparent","onFocus","tabIndexVal","className","select","label","Checkbox","newValues","semiSelected","Fragment","tabIndex","onClickHandler","stopPropagation","getElements","_item$displayLabel","_item$displayLabel2","customContent","_containerRef$current","style","cls","$alignLeft","scrollable","maxHeight","onScroll","$outline","menuContent","action","actionLabel","icon","actionIcon","loading","actionLoading","actionDisabled","variant","actionVariant","onClick","propTypes","_propTypes","bool","isRequired","shape","oneOf","node","string","func","arrayOf","noteLabel","showDividerAbove","locked","oneOfType","number","_default"],"sources":["../../src/Dropdown/DropdownContent.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport styled, { css } from 'styled-components';\nimport Button from '../Button/Button';\nimport { Size } from '../types';\nimport { DropdownContentButtonStyling } from './CommonStyling';\nimport { ComponentLStyling, ComponentXLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS, focusStyles, scrollBarStyling } from '../styles';\nimport { Checkbox, RadioButton } from '../InputFields';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport MenuItem from '../MenuItem/MenuItem';\nimport { defaultOnMouseDownHandler } from '../common';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DropdownContentContainer = styled.div<{ $offsetTop: string; $offsetLeft: string; $isButton: boolean; $alignLeft?: boolean; $size?: Size; $scrollable?: boolean; $maxHeight?: string }>`\n display: none;\n pointer-events: auto;\n position: absolute;\n background-color: ${props => COLORS.getColor('white', props.theme)};\n\n z-index: ${Z_INDEXES.dropdown};\n margin: ${(props) => (props.$isButton ? '-4px' : '4px 0px')};\n\n inset: 0px auto auto 100%;\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n &.down,\n &.up {\n ${(props) => `transform: translate(${props.$offsetLeft}, ${props.$offsetTop});`}\n }\n }\n\n &.outline:focus:after {\n content: '';\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 4px solid black;\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n ${(props) => (props.$isButton ? DropdownContentButtonStyling : '')};\n\n border: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding: 4px 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\nexport const DropdownContentItemsContainer = styled.div<{ $size?: Size }>`\n > *:hover {\n z-index: ${Z_INDEXES.hover};\n }\n\n > *:active,\n > *.active {\n z-index: ${Z_INDEXES.active};\n }\n\n > *:focus {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nexport const DropdownContentListContainer = styled.div<{ $scrollable?: boolean; $size?: Size; $itemsType?: string; $outline?: boolean }>`\n ${(props) => (props.$scrollable ? 'overflow-y: scroll;' : '')}\n ${(props) => (props.$scrollable ? 'margin-right: 6px;' : '')}\n ${(props) => (props.$scrollable ? 'padding-right: 6px;' : '')}\n ${(props) => (props.$itemsType != 'normal' ? 'margin-left: 4px;' : '')}\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 ${DropdownContentItemsContainer} {\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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst DropdownContentMenuContentContainer = styled.div<{ $size?: Size }>`\n h1,\n h2,\n h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${(props) => props.$size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => props.$size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => (props.$size == Size.Small || !props.$size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_500', props.theme))}\n padding: ${(props) => (props.$size == Size.Small || !props.$size ? '10px 16px 6px' : 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.getColor('neutral_500', props.theme))}\n ${(props) => props.$size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\n ${(props) => (props.$size == Size.Small || !props.$size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\n padding: ${(props) => (props.$size == Size.Small || !props.$size ? '8px 16px' : 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' : props.$size == Size.Medium ? '12px' : props.$size == Size.Small || !props.$size ? '8px' : '6px')};\n\n div.divider {\n width: 100%;\n margin: 0px;\n }\n`;\n\nconst DropdownContentTopItemContainer = styled.div<{ $size?: Size }>`\n border-bottom-style: solid;\n border-bottom-color: ${props => COLORS.getColor('neutral_200', props.theme)};\n border-bottom-width: 1px;\n margin-right: 22px;\n`;\n\nconst DropdownContentActionButtonContainer = styled.div<{ $size?: Size; $scrollable?: boolean }>`\n ${(props) => (props.$scrollable ? `border-top: 1px solid ${COLORS.getColor('neutral_200', props.theme)};` : '')}\n ${(props) => (props.$scrollable ? 'margin-top: 4px;' : '')}\n\n padding: ${(props) => (props.$size === Size.Small || !props.$size ? '4px 16px 0px' : props.$size === Size.Medium ? '12px 16px 8px' : '16px 16px 12px')};\n\n button {\n width: 100%;\n }\n`;\n\nconst Overlay = styled.div`\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: ${Z_INDEXES.modal};\n`;\n\nexport interface DropdownItem {\n /** Required. Value of the DropdownItem. */\n value: string;\n /** Optional. Display label to show in the MenuItem. If not provided then 'value' will be used as label. */\n displayLabel?: string;\n /** Optional. Note label to be shown under the Display label in the MenuItem. */\n noteLabel?: string;\n /** */\n suggestion?: boolean;\n /** Optional. Show dividing line on the top of the item. */\n showDividerAbove?: boolean;\n /** Optional. If disabled user can not interact with the item. */\n disabled?: boolean;\n /** Optional. If item is locked then user can not interact with the item and 'lock' icon is shown on the right side of the item. */\n locked?: boolean;\n /** Optional. Icon to be shown on the left side of the menu item */\n icon?: React.ReactNode;\n /** */\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.Small | Size.Medium | Size.Large;\n id: string;\n filter: string;\n width?: string;\n onActiveDescendantChanged?: (descendantId?: string) => void;\n selectedValues: string[];\n setSelectedValues: (val: string[]) => void;\n messageOnNoResults: string;\n focused: number | null;\n setFocused: (focused: number | null) => void;\n outline?: boolean;\n containerRef: React.RefObject<HTMLDivElement>;\n ariaRolesType?: 'input' | 'menu';\n}\n\nconst DropdownContent = React.forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n customizationProps,\n alignLeft,\n isButton,\n size,\n isOpen,\n width,\n setIsOpen,\n filter,\n focused,\n setFocused,\n selectedValues,\n setSelectedValues,\n messageOnNoResults,\n outline,\n containerRef,\n onActiveDescendantChanged,\n ariaRolesType = 'menu',\n },\n ref,\n ) => {\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [locationDefined, setLocationDefined] = React.useState<boolean>(false);\n const [offset, setOffset] = React.useState<{ top: string; left: string }>({ top: '0', left: '0' });\n\n const dropdownContentRef = (ref as MutableRefObject<HTMLDivElement>) ?? 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 const actionButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const determineDropUp = () => {\n const options = customizationProps.items;\n\n const rect = containerRef.current!.getBoundingClientRect();\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = rect.top + rect.height + menuHeight;\n\n const up = instOffsetWithMenu >= windowHeight;\n\n setOffset({\n top: up ? `calc(-100% - ${rect.height}px ${isButton ? '' : '- 8px'})` : '0',\n left: alignLeft ? `calc(-${rect.width}px)` : `calc(-100%)`,\n });\n\n setIsUp(up);\n setLocationDefined(true);\n };\n\n const setNewFocusedElement = (index: number) => {\n if (outline) dropdownContentRef.current?.focus();\n\n const newFocusedElement = elRefs[index];\n if (onActiveDescendantChanged) onActiveDescendantChanged(index == 0 ? `${id}_topitem` : `${id}_${index}`);\n\n const oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n setFocused(index);\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n newFocusedElement.current?.classList.add('dropdown-hover');\n newFocusedElement.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\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 findNextActiveIndex = (index: number, direction: number, items: DropdownItem[]) => {\n for (let i = index + direction; i > 0 && i <= items.length; i += direction) {\n if (!items[i - 1]?.disabled) {\n return i;\n }\n }\n\n return index;\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOpen) {\n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n let focusedNow = focused || focused === 0 ? focused : arrLength + 1;\n if (!!focusedNow) {\n focusedNow = focusedNow === 1 && haveTopItem() ? 0 : findNextActiveIndex(focusedNow, -1, getFilteredItems());\n\n setNewFocusedElement(focusedNow);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.preventDefault();\n let focusedNow = focused;\n\n focusedNow = !!focusedNow || focusedNow === 0 ? findNextActiveIndex(focusedNow, 1, getFilteredItems()) : haveTopItem() ? 0 : 1;\n\n setNewFocusedElement(focusedNow);\n } else if (e.key === 'Escape' || e.key === 'Esc') {\n setIsOpen(false);\n setFocused(null);\n if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== actionButtonRef?.current) {\n e.preventDefault();\n const focusedElement = elRefs[focused];\n if (focusedElement) {\n focusedElement.current?.click();\n }\n if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n const scrollPosition = React.useRef<number | undefined>(0);\n const handleScroll = () => {\n scrollPosition.current = itemsListRef.current?.scrollTop;\n };\n React.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>) || React.createRef<HTMLButtonElement>();\n default:\n return (ref as React.RefObject<HTMLDivElement>) || React.createRef<HTMLDivElement>();\n }\n };\n\n const arrLength = getFilteredItems().length;\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n\n React.useEffect(() => {\n if (elRefs?.length !== arrLength) {\n setFocused(null);\n }\n\n setElRefs((elRefs) =>\n Array(arrLength + 1)\n .fill(null)\n .map((_, i) => getCorrectRef(elRefs[i])),\n );\n }, [isOpen, arrLength]);\n\n React.useLayoutEffect(() => {\n isOpen && !locationDefined && determineDropUp();\n }, [isOpen, locationDefined]);\n\n const haveTopItem = () => {\n if (!customizationProps.pinTopItem) return false;\n\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 /**\n * when dropdown opens set correct position of focused item\n * */\n React.useLayoutEffect(() => {\n if (isOpen && (focused || focused === 0)) {\n setNewFocusedElement(focused === 0 && !haveTopItem() ? 1 : focused);\n }\n }, [isOpen, focused]);\n\n /**\n * Reset dropdown content state on close\n * */\n React.useEffect(() => {\n if (!isOpen) {\n setLocationDefined(false);\n for (let elRef of elRefs) {\n elRef.current?.classList.remove('dropdown-hover');\n }\n setFocused(null);\n if(onActiveDescendantChanged) onActiveDescendantChanged(undefined);\n dropdownContentRef.current?.classList.remove('outline');\n dropdownContentRef.current?.blur();\n } else {\n if (outline) {\n dropdownContentRef.current?.classList.add('outline');\n dropdownContentRef.current?.focus();\n }\n }\n }, [isOpen, dropdownContentRef, focused, outline]);\n\n /**\n * Scroll item container to top when dropdown opens\n * */\n React.useEffect(() => {\n if (isOpen && itemsListRef.current) {\n itemsListRef.current.scrollTop = 0;\n }\n }, [isOpen]);\n\n React.useEffect(() => {\n if (isOpen) {\n const observer = new IntersectionObserver(function (entries) {\n if (!entries[0].isIntersecting) {\n setIsOpen(false);\n //@ts-ignore\n document?.activeElement?.blur();\n }\n }, {threshold: [0], rootMargin: '8px'});\n\n observer.observe(containerRef.current!);\n\n calculateOffset();\n window.addEventListener('scroll', calculateOffset, true);\n window.addEventListener('resize', calculateOffset);\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', calculateOffset, true);\n window.removeEventListener('resize', calculateOffset);\n }\n }\n return () => {};\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\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 <DropdownContentTopItemContainer $size={size}>\n {customizationProps.itemsType === 'radio' && (\n <RadioButton\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n role='menuitemradio'\n iconPointerEventsTransparent={true}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n select={() => {}}\n 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 role='menuitemcheckbox'\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\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)) setIsOpen(false);\n }}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\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 <MenuItem\n role={ariaRolesType == 'input' ? 'option' : 'menu'} \n key={`${id}_topitem_${x.value}`}\n item={x}\n size={size}\n active={false}\n tabIndex={-1}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_topitem`)}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\n id={`${id}_topitem`}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([x.value]);\n setSelectedValues([x.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n />\n ))}\n </>\n )}\n </DropdownContentTopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size.Small | Size.Medium | Size.Large) => {\n if (getFilteredItems().length === 0) {\n return <MenuItem item={{ value: messageOnNoResults, disabled: true }} size={size} id=\"noResultsFound\" active={false} onClickHandler={(e) => {}} />;\n }\n return (\n <DropdownContentItemsContainer $size={size}>\n {getFilteredItems()\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\n .map((item, index) => {\n return (\n <React.Fragment key={`key_${id}_${item.value}`}>\n {item.customContent}\n {!item.customContent && customizationProps.itemsType == 'radio' && (\n <RadioButton\n role='menuitemradio'\n select={(selected: boolean) => handleItemClick(selected, item)}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n key={`key_${id}_${index + 1}`}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n role='menuitemcheckbox'\n select={(selected: boolean) => handleItemClick(selected, item)}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n key={`key_${id}_${index + 1}`}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\n <MenuItem\n role={ariaRolesType == 'input' ? 'option' : 'menu'} \n key={`key_${id}_${index + 1}`}\n id={`${id}_${index + 1}`}\n item={item}\n tabIndex={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n size={size}\n onFocus={(e) => onActiveDescendantChanged && onActiveDescendantChanged(`${id}_${index + 1}`)}\n active={selectedValues?.includes(item.value)}\n ref={elRefs[index + 1] as React.RefObject<HTMLButtonElement>}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([item.value]);\n setSelectedValues([item.value]);\n setIsOpen(false);\n setFocused(null);\n }}\n />\n )}\n </React.Fragment>\n );\n })}\n </DropdownContentItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.width = width ?? `${rect.width}px`;\n }\n determineDropUp();\n };\n\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? (isUp ? 'up' : 'down') : ''}`;\n\n return (\n <Overlay>\n <DropdownContentContainer\n role={ariaRolesType == \"menu\" ? \"menu\" : \"optionlist\"}\n ref={dropdownContentRef}\n $size={size}\n $offsetTop={offset.top}\n id={id}\n $offsetLeft={offset.left}\n tabIndex={-1}\n $isButton={isButton}\n $alignLeft={alignLeft}\n $scrollable={customizationProps.scrollable}\n $maxHeight={customizationProps.maxHeight}\n className={cls}>\n <DropdownContentListContainer\n role=\"group\"\n $size={size}\n $itemsType={customizationProps.itemsType}\n onScroll={handleScroll}\n ref={itemsListRef}\n $outline={outline}\n $scrollable={customizationProps.scrollable}>\n {customizationProps.menuContent && (\n <DropdownContentMenuContentContainer $size={size}>\n {customizationProps.menuContent}\n <DividerContainer $size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </DropdownContentMenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </DropdownContentListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <DropdownContentActionButtonContainer $size={size} $scrollable={customizationProps.scrollable}>\n <Button\n width=\"100%\"\n role=\"menuitem\"\n icon={customizationProps.actionIcon}\n ref={actionButtonRef}\n loading={customizationProps.actionLoading}\n disabled={customizationProps.actionDisabled}\n variant={customizationProps.actionVariant ?? 'primary'}\n size={size}\n onClick={() => customizationProps.action() && setIsOpen(false)}>\n {customizationProps.actionLabel}\n </Button>\n </DropdownContentActionButtonContainer>\n )}\n </DropdownContentContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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","ignoreList":[]}
@@ -206,7 +206,7 @@ var DropdownContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
206
206
  return function () {
207
207
  document.removeEventListener('keydown', handleKeyDown);
208
208
  };
209
- });
209
+ }, []);
210
210
  var scrollPosition = React.useRef(0);
211
211
  var handleScroll = function handleScroll() {
212
212
  var _itemsListRef$current;