@laerdal/life-react-components 2.1.0 → 2.1.1-dev.15.full
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.
- package/dist/AuthPage/AuthPage.d.ts +1 -1
- package/dist/Banners/Banner.d.ts +1 -1
- package/dist/Banners/OverviewBanner.d.ts +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/Button/BackButton.cjs +3 -1
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.d.ts +2 -2
- package/dist/Button/BackButton.js +3 -1
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +1 -0
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +1 -0
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +9 -6
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +3 -1
- package/dist/Button/Iconbutton.js +9 -6
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +1 -1
- package/dist/Card/HorizontalCard/types.d.ts +4 -4
- package/dist/Chips/ActionChip.cjs +3 -1
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.js +3 -1
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipTypes.cjs.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +5 -5
- package/dist/Chips/ChipTypes.js.map +1 -1
- package/dist/Chips/ChoiceChips.cjs +3 -1
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +3 -1
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +3 -1
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +3 -1
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +3 -1
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +3 -1
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/ChipInput.cjs +13 -2
- package/dist/ChipsInput/ChipInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipInput.js +14 -3
- package/dist/ChipsInput/ChipInput.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +3 -1
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.js +3 -1
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
- package/dist/ChipsInput/ChipInputTypes.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +4 -1
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +5 -5
- package/dist/Dropdown/BasicDropdown.js +4 -1
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +1 -1
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +1 -1
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +6 -1
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +6 -1
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +5 -5
- package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +20 -5
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +20 -5
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +4 -2
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +2 -2
- package/dist/Dropdown/DropdownFilter.js +4 -2
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +13 -7
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +3 -2
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +13 -7
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/Logo.d.ts +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +3 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +1 -0
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +3 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +17 -5
- package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +1 -1
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js +17 -5
- package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -2
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -2
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +2 -2
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js +3 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +2 -2
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +3 -2
- package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
- package/dist/GlobalNavigationBar/types.cjs.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +11 -12
- package/dist/GlobalNavigationBar/types.js.map +1 -1
- package/dist/HyperLink/index.cjs +10 -2
- package/dist/HyperLink/index.cjs.map +1 -1
- package/dist/HyperLink/index.d.ts +2 -2
- package/dist/HyperLink/index.js +2 -2
- package/dist/HyperLink/index.js.map +1 -1
- package/dist/Image/ImageWithFallbacks.d.ts +1 -1
- package/dist/InputFields/Checkbox.cjs +3 -1
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +3 -1
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +5 -1
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +2 -1
- package/dist/InputFields/DatepickerField.js +5 -1
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/Label.cjs +39 -6
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +2 -1
- package/dist/InputFields/Label.js +41 -9
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +5 -2
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.d.ts +2 -2
- package/dist/InputFields/NumberField.js +5 -2
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +3 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +2 -2
- package/dist/InputFields/PasswordField.js +3 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +2 -0
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.d.ts +1 -1
- package/dist/InputFields/QuickSearch.js +2 -0
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +3 -1
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +2 -2
- package/dist/InputFields/RadioButton.js +3 -1
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.d.ts +1 -1
- package/dist/InputFields/SearchBar.d.ts +1 -1
- package/dist/InputFields/TextField.cjs +3 -1
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +2 -2
- package/dist/InputFields/TextField.js +3 -1
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +3 -1
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +1 -1
- package/dist/InputFields/Textarea.js +3 -1
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.d.ts +1 -1
- package/dist/InputFields/types.cjs.map +1 -1
- package/dist/InputFields/types.d.ts +5 -5
- package/dist/InputFields/types.js.map +1 -1
- package/dist/List/ListRow.d.ts +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -1
- package/dist/MiniProductCard/MiniProductCard.d.ts +1 -1
- package/dist/Modals/Modal.d.ts +1 -1
- package/dist/Modals/ModalContainer.d.ts +2 -2
- package/dist/Modals/ModalContent.cjs +1 -0
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +1 -0
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalTypes.d.ts +1 -1
- package/dist/NavItem/NavItem.d.ts +1 -1
- package/dist/Paginator/Paginator.d.ts +1 -1
- package/dist/Popover/Popover.d.ts +4 -4
- package/dist/ProfileButton/ProfileButton.d.ts +1 -1
- package/dist/QuizButton/QuizButton.d.ts +1 -1
- package/dist/SideMenu/types.d.ts +3 -3
- package/dist/SkipToContent/SkipToContent.d.ts +1 -1
- package/dist/Table/TableTypes.d.ts +4 -4
- package/dist/Tabs/TabLink.d.ts +1 -1
- package/dist/Tabs/Tabs.d.ts +1 -1
- package/dist/Tag/Tag.cjs +3 -5
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.d.ts +2 -2
- package/dist/Tag/Tag.js +3 -5
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tile/TileTypes.d.ts +8 -8
- package/dist/Toasters/Toast.d.ts +2 -2
- package/dist/Toasters/ToastContext.d.ts +2 -2
- package/dist/Tooltips/TooltipStyles.cjs +3 -1
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.d.ts +1 -0
- package/dist/Tooltips/TooltipStyles.js +3 -1
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/assets/index.d.ts +1 -1
- package/dist/icons/index.d.ts +2 -2
- package/dist/styles/typography.cjs +2 -1
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +3 -2
- package/dist/styles/typography.js +1 -1
- package/dist/styles/typography.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.js.map +1 -1
- package/package.json +10 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownContent.cjs","names":["MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","styled","div","COLORS","white","Z_INDEXES","dropdown","props","isButton","offsetLeft","offsetTop","ButtonDropdownContentStyling","neutral_100","size","Size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","scrollBarStyling","Small","MenuContentContainer","ComponentXLStyling","ComponentTextStyle","Bold","neutral_500","ComponentLStyling","ComponentMStyling","Regular","ComponentSStyling","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","Overlay","modal","DropdownContent","React","forwardRef","ref","id","customizationProps","alignLeft","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","ariaRolesType","useState","isUp","setIsUp","locationDefined","setLocationDefined","top","left","offset","setOffset","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","height","up","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","calculateOffset","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","newValues","stopPropagation","getElements","customContent","style","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"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 { ButtonDropdownContentStyling } 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';\nimport ReactDOM from 'react-dom';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DDContainer = 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: ${COLORS.white};\n\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 &.down,\n &.up {\n ${(props) => `transform: translate(${props.offsetLeft}, ${props.offsetTop});`}\n }\n }\n\n transform: translate(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}px);\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 ? 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: 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\nconst ItemsContainer = 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\nconst ListContainer = 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 ${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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuContentContainer = 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.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' : 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' : 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 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\nconst ActionButtonContainer = styled.div<{ size?: Size; scrollable?: boolean }>`\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\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: fixed;\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 value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n locked?: 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 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 calculateOffset();\n window.addEventListener('scroll', calculateOffset);\n window.addEventListener('resize', calculateOffset);\n }\n return () => {\n window.removeEventListener('scroll', calculateOffset);\n window.removeEventListener('resize', calculateOffset);\n };\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 <TopItemContainer 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 </TopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size) => {\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 <ItemsContainer 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 </ItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.left = `${rect.x + rect.width}px`;\n dropdownContentRef.current.style.top = `${rect.y + rect.height}px`;\n dropdownContentRef.current.style.width = width ?? `${rect.width}px`;\n }\n };\n\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? (isUp ? 'up' : 'down') : ''}`;\n\n return (\n <Overlay>\n <DDContainer\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 <ListContainer\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 <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer 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 </ActionButtonContainer>\n )}\n </DDContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownContent.cjs","names":["MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","styled","div","COLORS","white","Z_INDEXES","dropdown","props","isButton","offsetLeft","offsetTop","ButtonDropdownContentStyling","neutral_100","size","Size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","scrollBarStyling","Small","MenuContentContainer","ComponentXLStyling","ComponentTextStyle","Bold","neutral_500","ComponentLStyling","ComponentMStyling","Regular","ComponentSStyling","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","Overlay","modal","DropdownContent","React","forwardRef","ref","id","customizationProps","alignLeft","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","ariaRolesType","useState","isUp","setIsUp","locationDefined","setLocationDefined","top","left","offset","setOffset","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","height","up","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","observer","IntersectionObserver","entries","isIntersecting","activeElement","threshold","rootMargin","observe","calculateOffset","disconnect","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","newValues","stopPropagation","getElements","customContent","style","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"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 { ButtonDropdownContentStyling } 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';\nimport ReactDOM from 'react-dom';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DDContainer = 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: ${COLORS.white};\n\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 &.down,\n &.up {\n ${(props) => `transform: translate(${props.offsetLeft}, ${props.offsetTop});`}\n }\n }\n\n transform: translate(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}px);\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 ? 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: 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\nconst ItemsContainer = 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\nconst ListContainer = 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 ${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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuContentContainer = 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.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' : 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' : 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 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\nconst ActionButtonContainer = styled.div<{ size?: Size; scrollable?: boolean }>`\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\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: fixed;\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 value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n locked?: 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 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 <TopItemContainer 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 </TopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size) => {\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 <ItemsContainer 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 </ItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.left = `${rect.x + rect.width}px`;\n dropdownContentRef.current.style.top = `${rect.y + rect.height}px`;\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 <DDContainer\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 <ListContainer\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 <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer 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 </ActionButtonContainer>\n )}\n </DDContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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"}
|
|
@@ -300,14 +300,28 @@ var DropdownContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
300
300
|
}, [isOpen]);
|
|
301
301
|
React.useEffect(function () {
|
|
302
302
|
if (isOpen) {
|
|
303
|
+
var observer = new IntersectionObserver(function (entries) {
|
|
304
|
+
if (!entries[0].isIntersecting) {
|
|
305
|
+
var _document, _document$activeEleme;
|
|
306
|
+
setIsOpen(false);
|
|
307
|
+
//@ts-ignore
|
|
308
|
+
(_document = document) === null || _document === void 0 ? void 0 : (_document$activeEleme = _document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.blur();
|
|
309
|
+
}
|
|
310
|
+
}, {
|
|
311
|
+
threshold: [0],
|
|
312
|
+
rootMargin: '8px'
|
|
313
|
+
});
|
|
314
|
+
observer.observe(containerRef.current);
|
|
303
315
|
calculateOffset();
|
|
304
|
-
window.addEventListener('scroll', calculateOffset);
|
|
316
|
+
window.addEventListener('scroll', calculateOffset, true);
|
|
305
317
|
window.addEventListener('resize', calculateOffset);
|
|
318
|
+
return function () {
|
|
319
|
+
observer.disconnect();
|
|
320
|
+
window.removeEventListener('scroll', calculateOffset, true);
|
|
321
|
+
window.removeEventListener('resize', calculateOffset);
|
|
322
|
+
};
|
|
306
323
|
}
|
|
307
|
-
return function () {
|
|
308
|
-
window.removeEventListener('scroll', calculateOffset);
|
|
309
|
-
window.removeEventListener('resize', calculateOffset);
|
|
310
|
-
};
|
|
324
|
+
return function () {};
|
|
311
325
|
}, [isOpen]);
|
|
312
326
|
var handleItemClick = function handleItemClick(selected, item) {
|
|
313
327
|
var newValue = [];
|
|
@@ -490,6 +504,7 @@ var DropdownContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
490
504
|
dropdownContentRef.current.style.top = "".concat(rect.y + rect.height, "px");
|
|
491
505
|
dropdownContentRef.current.style.width = width !== null && width !== void 0 ? width : "".concat(rect.width, "px");
|
|
492
506
|
}
|
|
507
|
+
determineDropUp();
|
|
493
508
|
};
|
|
494
509
|
var cls = "".concat(isOpen ? 'show' : '', " ").concat(isOpen && outline ? 'outline' : '', " ").concat(locationDefined ? isUp ? 'up' : 'down' : '');
|
|
495
510
|
return /*#__PURE__*/_jsx(Overlay, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownContent.js","names":["React","styled","Button","Size","ButtonDropdownContentStyling","ComponentLStyling","ComponentXLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","scrollBarStyling","Checkbox","RadioButton","Z_INDEXES","MenuItem","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","div","white","dropdown","props","isButton","offsetLeft","offsetTop","neutral_100","size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","Small","MenuContentContainer","Bold","neutral_500","Regular","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","Overlay","modal","DropdownContent","forwardRef","ref","id","customizationProps","alignLeft","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","ariaRolesType","useState","isUp","setIsUp","locationDefined","setLocationDefined","top","left","offset","setOffset","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","height","up","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","calculateOffset","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","newValues","stopPropagation","getElements","customContent","style","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"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 { ButtonDropdownContentStyling } 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';\nimport ReactDOM from 'react-dom';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DDContainer = 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: ${COLORS.white};\n\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 &.down,\n &.up {\n ${(props) => `transform: translate(${props.offsetLeft}, ${props.offsetTop});`}\n }\n }\n\n transform: translate(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}px);\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 ? 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: 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\nconst ItemsContainer = 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\nconst ListContainer = 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 ${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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuContentContainer = 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.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' : 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' : 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 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\nconst ActionButtonContainer = styled.div<{ size?: Size; scrollable?: boolean }>`\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\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: fixed;\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 value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n locked?: 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 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 calculateOffset();\n window.addEventListener('scroll', calculateOffset);\n window.addEventListener('resize', calculateOffset);\n }\n return () => {\n window.removeEventListener('scroll', calculateOffset);\n window.removeEventListener('resize', calculateOffset);\n };\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 <TopItemContainer 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 </TopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size) => {\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 <ItemsContainer 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 </ItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.left = `${rect.x + rect.width}px`;\n dropdownContentRef.current.style.top = `${rect.y + rect.height}px`;\n dropdownContentRef.current.style.width = width ?? `${rect.width}px`;\n }\n };\n\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? (isUp ? 'up' : 'down') : ''}`;\n\n return (\n <Overlay>\n <DDContainer\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 <ListContainer\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 <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer 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 </ActionButtonContainer>\n )}\n </DDContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownContent.js","names":["React","styled","Button","Size","ButtonDropdownContentStyling","ComponentLStyling","ComponentXLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","scrollBarStyling","Checkbox","RadioButton","Z_INDEXES","MenuItem","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","div","white","dropdown","props","isButton","offsetLeft","offsetTop","neutral_100","size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","Small","MenuContentContainer","Bold","neutral_500","Regular","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","Overlay","modal","DropdownContent","forwardRef","ref","id","customizationProps","alignLeft","isOpen","width","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","containerRef","onActiveDescendantChanged","ariaRolesType","useState","isUp","setIsUp","locationDefined","setLocationDefined","top","left","offset","setOffset","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","rect","current","getBoundingClientRect","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","height","up","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","undefined","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","observer","IntersectionObserver","entries","isIntersecting","activeElement","threshold","rootMargin","observe","calculateOffset","disconnect","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","selectedFirst","newValues","stopPropagation","getElements","customContent","style","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"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 { ButtonDropdownContentStyling } 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';\nimport ReactDOM from 'react-dom';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DDContainer = 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: ${COLORS.white};\n\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 &.down,\n &.up {\n ${(props) => `transform: translate(${props.offsetLeft}, ${props.offsetTop});`}\n }\n }\n\n transform: translate(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}px);\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 ? 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: 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\nconst ItemsContainer = 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\nconst ListContainer = 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 ${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 word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuContentContainer = 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.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' : 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' : 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 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\nconst ActionButtonContainer = styled.div<{ size?: Size; scrollable?: boolean }>`\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\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: fixed;\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 value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n locked?: 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 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 <TopItemContainer 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 </TopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size) => {\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 <ItemsContainer 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 </ItemsContainer>\n );\n };\n\n const calculateOffset = () => {\n const rect = containerRef?.current?.getBoundingClientRect();\n if (rect) {\n dropdownContentRef.current.style.left = `${rect.x + rect.width}px`;\n dropdownContentRef.current.style.top = `${rect.y + rect.height}px`;\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 <DDContainer\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 <ListContainer\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 <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\" />\n </DividerContainer>\n </MenuContentContainer>\n )}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer 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 </ActionButtonContainer>\n )}\n </DDContainer>\n </Overlay>\n );\n },\n);\n\nexport default DropdownContent;\n"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ var _common = require("../common");
|
|
|
22
22
|
var _Button = require("../Button");
|
|
23
23
|
var _icons = require("../icons");
|
|
24
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
var _excluded = ["id", "list", "placeholder", "onSelect", "onInputChange", "value", "required", "messageOnNoResults", "disabled", "readOnly", "scrollable", "activeValidationMessage", "autofilledMessage", "size", "disableFiltering", "buttonFontSize", "margin", "loading", "onFocus", "onBlur"];
|
|
25
|
+
var _excluded = ["id", "list", "placeholder", "onSelect", "onInputChange", "value", "required", "messageOnNoResults", "disabled", "readOnly", "scrollable", "activeValidationMessage", "autofilledMessage", "size", "disableFiltering", "buttonFontSize", "margin", "loading", "onFocus", "onBlur", "dataTestId"];
|
|
26
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
27
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -49,6 +49,7 @@ var DropdownFilter = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
49
49
|
loading = _ref.loading,
|
|
50
50
|
_onFocus = _ref.onFocus,
|
|
51
51
|
_onBlur = _ref.onBlur,
|
|
52
|
+
dataTestId = _ref.dataTestId,
|
|
52
53
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
53
54
|
var _React$useState = React.useState(false),
|
|
54
55
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
@@ -204,7 +205,8 @@ var DropdownFilter = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
204
205
|
},
|
|
205
206
|
required: required,
|
|
206
207
|
tabIndex: disabled || readOnly ? -1 : 0,
|
|
207
|
-
disabled: disabled || false
|
|
208
|
+
disabled: disabled || false,
|
|
209
|
+
"data-testid": dataTestId
|
|
208
210
|
}, rest)), input && !readOnly && !disabled && !loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
|
209
211
|
action: handleInputClear,
|
|
210
212
|
ref: clearButtonRef,
|