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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/Chips/ChoiceChips.cjs +1 -0
  2. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  3. package/dist/Chips/ChoiceChips.js +1 -0
  4. package/dist/Chips/ChoiceChips.js.map +1 -1
  5. package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
  6. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  7. package/dist/ChipsInput/ChipDropdownInput.js +1 -1
  8. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  9. package/dist/Dropdown/BasicDropdown.cjs +2 -0
  10. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  11. package/dist/Dropdown/BasicDropdown.js +2 -0
  12. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  13. package/dist/Dropdown/DropdownButton.cjs +2 -0
  14. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  15. package/dist/Dropdown/DropdownButton.js +2 -0
  16. package/dist/Dropdown/DropdownButton.js.map +1 -1
  17. package/dist/Dropdown/DropdownContent.cjs +1 -1
  18. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  19. package/dist/Dropdown/DropdownContent.js +1 -1
  20. package/dist/Dropdown/DropdownContent.js.map +1 -1
  21. package/dist/Dropdown/DropdownFilter.cjs +2 -0
  22. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  23. package/dist/Dropdown/DropdownFilter.js +2 -0
  24. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  25. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +0 -1
  26. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  27. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +0 -1
  28. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  29. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +0 -1
  30. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
  31. package/dist/GlobalNavigationBar/desktop/SubMenu.js +0 -1
  32. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
  33. package/dist/InputFields/QuickSearch.cjs +1 -1
  34. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  35. package/dist/InputFields/QuickSearch.js +1 -1
  36. package/dist/InputFields/QuickSearch.js.map +1 -1
  37. package/dist/Modals/ModalContainer.cjs +106 -142
  38. package/dist/Modals/ModalContainer.cjs.map +1 -1
  39. package/dist/Modals/ModalContainer.d.ts +1 -17
  40. package/dist/Modals/ModalContainer.js +106 -142
  41. package/dist/Modals/ModalContainer.js.map +1 -1
  42. package/dist/styles/typography.cjs +59 -35
  43. package/dist/styles/typography.cjs.map +1 -1
  44. package/dist/styles/typography.d.ts +1 -1
  45. package/dist/styles/typography.js +59 -35
  46. package/dist/styles/typography.js.map +1 -1
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","$isButton","$readOnly","$disabled","_objectSpread","onMouseDown","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","type","$ellipsis","position","withArrow","maxWidth","align","Small","color","getColor","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\nimport { useTheme } from 'styled-components';\n\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n /**\n * Required. An array of DropdownItem objects representing the items in the dropdown.\n */\n list: DropdownItem[];\n /**\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\n */\n itemsType?: 'normal' | 'checkbox' | 'radio';\n /**\n * Optional. A function to be called when the action button in the dropdown is clicked.\n */\n action?: () => void;\n /**\n * Optional. The label for the action button in the dropdown.\n */\n actionLabel?: string;\n /**\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\n */\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n /**\n * Optional. The icon for the action button in the dropdown.\n */\n actionIcon?: React.ReactNode;\n /**\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\n */\n actionLoading?: boolean;\n /**\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\n */\n actionDisabled?: boolean;\n /**\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\n */\n pinTopItem?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown content is scrollable.\n */\n scrollable?: boolean;\n /**\n * Optional. The maximum height of the dropdown.\n */\n maxHeight?: string;\n /*\n * Optional. Placeholder text to be shown when none of the items is selected is selected\n */\n placeholder?: string;\n /**\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\n */\n disableSorting?: boolean;\n /**\n * Optional. The message to be displayed when there are no results in the dropdown.\n */\n messageOnNoResults?: string;\n /**\n * Optional. A boolean indicating whether the dropdown is disabled.\n */\n disabled?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown is read-only.\n */\n readOnly?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown is a button.\n */\n isButton?: boolean;\n /**\n * Optional. The validation message to be displayed when the dropdown is active.\n */\n activeValidationMessage?: string;\n /**\n * Optional. The message to be displayed when the dropdown is autofilled.\n */\n autofilledMessage?: string;\n /**\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\n */ \n size?: Size.Small | Size.Medium;\n /**\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\n */\n margin?: string;\n /**\n * Optional. The minimum width of the dropdown.\n */\n minWidth?: string;\n /**\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\n */\n textOverflow?: 'ellipsis' | 'default';\n /**\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\n */\n overflowTooltipPosition?: 'top' | 'bottom';\n}\n\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\n /** Required. If this flag is set then user can select multiple items. */\n multiSelect: true;\n /** Required. Selected items. */\n value?: string[];\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\n onSelect: (value: string[]) => void;\n}\n\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\n /** Required. If this flag is set then user can select multiple items. */\n multiSelect?: false;\n /** Required. Selected item. */\n value?: string;\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\n onSelect: (value: string) => void;\n}\n\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n overflowTooltipPosition,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const theme = useTheme();\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <DropdownContainer ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n $isButton={isButton || false}\n className={size ? size : ''}\n $readOnly={readOnly}\n $disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n $disabled={disabled || false}\n $readOnly={readOnly || false}\n $isPlaceholder={!input}\n $showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n $minWidth={minWidth}\n {...rest}>\n <DropdownInputField\n ref={inputRef}\n type=\"search\"\n $ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''}/>}\n </div>\n </DropdownInputFieldStyles>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","_props$itemsType","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","_props$scrollable","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","_props$textOverflow","textOverflow","rest","_objectWithoutProperties","_excluded","theme","_React$useState","useState","_React$useState2","_slicedToArray","isOpen","setIsOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","isLoading","setIsLoading","_React$useState7","_React$useState8","input","setInput","_React$useState9","_React$useState10","focused","setFocused","_React$useState11","_React$useState12","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","_styledFieldRef$curre","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","$isButton","$readOnly","$disabled","_objectSpread","onMouseDown","onClick","stopPropagation","_inputRef$current","blur","_inputRef$current2","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","type","$ellipsis","position","withArrow","maxWidth","align","Small","color","getColor","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\nimport { useTheme } from 'styled-components';\n\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n /**\n * Required. An array of DropdownItem objects representing the items in the dropdown.\n */\n list: DropdownItem[];\n /**\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\n */\n itemsType?: 'normal' | 'checkbox' | 'radio';\n /**\n * Optional. A function to be called when the action button in the dropdown is clicked.\n */\n action?: () => void;\n /**\n * Optional. The label for the action button in the dropdown.\n */\n actionLabel?: string;\n /**\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\n */\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n /**\n * Optional. The icon for the action button in the dropdown.\n */\n actionIcon?: React.ReactNode;\n /**\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\n */\n actionLoading?: boolean;\n /**\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\n */\n actionDisabled?: boolean;\n /**\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\n */\n pinTopItem?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown content is scrollable.\n */\n scrollable?: boolean;\n /**\n * Optional. The maximum height of the dropdown.\n */\n maxHeight?: string;\n /*\n * Optional. Placeholder text to be shown when none of the items is selected is selected\n */\n placeholder?: string;\n /**\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\n */\n disableSorting?: boolean;\n /**\n * Optional. The message to be displayed when there are no results in the dropdown.\n */\n messageOnNoResults?: string;\n /**\n * Optional. A boolean indicating whether the dropdown is disabled.\n */\n disabled?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown is read-only.\n */\n readOnly?: boolean;\n /**\n * Optional. A boolean indicating whether the dropdown is a button.\n */\n isButton?: boolean;\n /**\n * Optional. The validation message to be displayed when the dropdown is active.\n */\n activeValidationMessage?: string;\n /**\n * Optional. The message to be displayed when the dropdown is autofilled.\n */\n autofilledMessage?: string;\n /**\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\n */ \n size?: Size.Small | Size.Medium;\n /**\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\n */\n margin?: string;\n /**\n * Optional. The minimum width of the dropdown.\n */\n minWidth?: string;\n /**\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\n */\n textOverflow?: 'ellipsis' | 'default';\n /**\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\n */\n overflowTooltipPosition?: 'top' | 'bottom';\n}\n\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\n /** Required. If this flag is set then user can select multiple items. */\n multiSelect: true;\n /** Required. Selected items. */\n value?: string[];\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\n onSelect: (value: string[]) => void;\n}\n\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\n /** Required. If this flag is set then user can select multiple items. */\n multiSelect?: false;\n /** Required. Selected item. */\n value?: string;\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\n onSelect: (value: string) => void;\n}\n\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n overflowTooltipPosition,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const theme = useTheme();\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <DropdownContainer ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n $isButton={isButton || false}\n className={size ? size : ''}\n $readOnly={readOnly}\n $disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n $disabled={disabled || false}\n $readOnly={readOnly || false}\n $isPlaceholder={!input}\n $showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n $minWidth={minWidth}\n {...rest}>\n <DropdownInputField\n ref={inputRef}\n type=\"search\"\n $ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>}\n </div>\n </DropdownInputFieldStyles>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -163,8 +163,10 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
163
163
  children: label
164
164
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyling.DropdownButtonTextArrow, {
165
165
  children: dropdownOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {
166
+ "aria-label": "Expanded",
166
167
  size: "24px"
167
168
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropDown, {
169
+ "aria-label": "Collapsed",
168
170
  size: "24px"
169
171
  })
170
172
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownButton.cjs","names":["React","_interopRequireWildcard","require","_Button","_DropdownContent","_interopRequireDefault","_styledComponents","_common","_CommonStyling","_icons","_jsxRuntime","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DropdownButtonContainer","styled","div","_taggedTemplateLiteral2","exports","DropdownButton","forwardRef","_ref","ref","items","icon","disabled","onClick","_ref$itemsType","itemsType","action","_ref$actionLabel","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","_ref$multiSelect","multiSelect","_ref$scrollable","scrollable","_ref$pinTopItem","pinTopItem","maxHeight","className","value","id","dataTestId","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","dropdownOpen","setDropdownOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","selectedValues","setSelectedValues","_React$useState7","_React$useState8","focused","setFocused","_React$useState9","_React$useState10","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useFocusOutsideRef","useClickOutsideRef","useEffect","handleValueSelect","values","renderButton","type","jsx","IconButton","variant","shape","role","tooltip","concat","event","detail","children","label","keepLabel","length","filter","includes","map","_a$displayLabel","displayLabel","join","cls","DropdownButtonTextWrapper","tabIndex","onMouseDown","defaultOnMouseDownHandler","onKeyDown","key","preventDefault","stopPropagation","jsxs","DropdownButtonTextContent","DropdownButtonTextIcon","DropdownButtonTextStyles","DropdownButtonTextArrow","SystemIcons","ArrowDropUp","ArrowDropDown","ariaRolesType","customizationProps","onValueUpdate","onActiveDescendantChanged","isOpen","setIsOpen","outline","messageOnNoResults","isButton","_default"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n DropdownButtonTextArrow,\n DropdownButtonTextContent,\n DropdownButtonTextIcon,\n DropdownButtonTextStyles,\n DropdownButtonTextWrapper\n} from './CommonStyling';\nimport {SystemIcons} from '../icons';\n\nexport const DropdownButtonContainer = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n dataTestId,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n tooltip={rest.tooltip}\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <DropdownButtonTextWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <DropdownButtonTextContent>\n {icon && <DropdownButtonTextIcon>{icon}</DropdownButtonTextIcon>}\n <DropdownButtonTextStyles>{label}</DropdownButtonTextStyles>\n <DropdownButtonTextArrow>\n {\n dropdownOpen\n ? <SystemIcons.ArrowDropUp size=\"24px\"/>\n : <SystemIcons.ArrowDropDown size=\"24px\"/>\n }\n </DropdownButtonTextArrow>\n </DropdownButtonTextContent>\n </DropdownButtonTextWrapper>\n }\n };\n\n return (\n <DropdownButtonContainer className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </DropdownButtonContainer>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownButton.cjs","names":["React","_interopRequireWildcard","require","_Button","_DropdownContent","_interopRequireDefault","_styledComponents","_common","_CommonStyling","_icons","_jsxRuntime","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DropdownButtonContainer","styled","div","_taggedTemplateLiteral2","exports","DropdownButton","forwardRef","_ref","ref","items","icon","disabled","onClick","_ref$itemsType","itemsType","action","_ref$actionLabel","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","_ref$multiSelect","multiSelect","_ref$scrollable","scrollable","_ref$pinTopItem","pinTopItem","maxHeight","className","value","id","dataTestId","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","dropdownOpen","setDropdownOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","selectedValues","setSelectedValues","_React$useState7","_React$useState8","focused","setFocused","_React$useState9","_React$useState10","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useFocusOutsideRef","useClickOutsideRef","useEffect","handleValueSelect","values","renderButton","type","jsx","IconButton","variant","shape","role","tooltip","concat","event","detail","children","label","keepLabel","length","filter","includes","map","_a$displayLabel","displayLabel","join","cls","DropdownButtonTextWrapper","tabIndex","onMouseDown","defaultOnMouseDownHandler","onKeyDown","key","preventDefault","stopPropagation","jsxs","DropdownButtonTextContent","DropdownButtonTextIcon","DropdownButtonTextStyles","DropdownButtonTextArrow","SystemIcons","ArrowDropUp","ArrowDropDown","ariaRolesType","customizationProps","onValueUpdate","onActiveDescendantChanged","isOpen","setIsOpen","outline","messageOnNoResults","isButton","_default"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n DropdownButtonTextArrow,\n DropdownButtonTextContent,\n DropdownButtonTextIcon,\n DropdownButtonTextStyles,\n DropdownButtonTextWrapper\n} from './CommonStyling';\nimport {SystemIcons} from '../icons';\n\nexport const DropdownButtonContainer = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n dataTestId,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n tooltip={rest.tooltip}\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <DropdownButtonTextWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <DropdownButtonTextContent>\n {icon && <DropdownButtonTextIcon>{icon}</DropdownButtonTextIcon>}\n <DropdownButtonTextStyles>{label}</DropdownButtonTextStyles>\n <DropdownButtonTextArrow>\n {\n dropdownOpen\n ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\"/>\n : <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\"/>\n }\n </DropdownButtonTextArrow>\n </DropdownButtonTextContent>\n </DropdownButtonTextWrapper>\n }\n };\n\n return (\n <DropdownButtonContainer className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </DropdownButtonContainer>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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","ignoreList":[]}
@@ -156,8 +156,10 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
156
156
  children: label
157
157
  }), /*#__PURE__*/_jsx(DropdownButtonTextArrow, {
158
158
  children: dropdownOpen ? /*#__PURE__*/_jsx(SystemIcons.ArrowDropUp, {
159
+ "aria-label": "Expanded",
159
160
  size: "24px"
160
161
  }) : /*#__PURE__*/_jsx(SystemIcons.ArrowDropDown, {
162
+ "aria-label": "Collapsed",
161
163
  size: "24px"
162
164
  })
163
165
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownButton.js","names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","DropdownButtonTextArrow","DropdownButtonTextContent","DropdownButtonTextIcon","DropdownButtonTextStyles","DropdownButtonTextWrapper","SystemIcons","jsx","_jsx","jsxs","_jsxs","DropdownButtonContainer","div","_templateObject","_taggedTemplateLiteral","DropdownButton","forwardRef","_ref","ref","items","icon","disabled","onClick","_ref$itemsType","itemsType","action","_ref$actionLabel","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","_ref$multiSelect","multiSelect","_ref$scrollable","scrollable","_ref$pinTopItem","pinTopItem","maxHeight","className","value","id","dataTestId","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","dropdownOpen","setDropdownOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","selectedValues","setSelectedValues","_React$useState7","_React$useState8","focused","setFocused","_React$useState9","_React$useState10","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useEffect","handleValueSelect","values","renderButton","type","variant","shape","role","tooltip","concat","event","detail","children","label","keepLabel","length","filter","a","includes","map","_a$displayLabel","displayLabel","join","cls","tabIndex","onMouseDown","onKeyDown","e","key","preventDefault","stopPropagation","ArrowDropUp","ArrowDropDown","ariaRolesType","customizationProps","onValueUpdate","onActiveDescendantChanged","isOpen","setIsOpen","outline","messageOnNoResults","isButton"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n DropdownButtonTextArrow,\n DropdownButtonTextContent,\n DropdownButtonTextIcon,\n DropdownButtonTextStyles,\n DropdownButtonTextWrapper\n} from './CommonStyling';\nimport {SystemIcons} from '../icons';\n\nexport const DropdownButtonContainer = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n dataTestId,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n tooltip={rest.tooltip}\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <DropdownButtonTextWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <DropdownButtonTextContent>\n {icon && <DropdownButtonTextIcon>{icon}</DropdownButtonTextIcon>}\n <DropdownButtonTextStyles>{label}</DropdownButtonTextStyles>\n <DropdownButtonTextArrow>\n {\n dropdownOpen\n ? <SystemIcons.ArrowDropUp size=\"24px\"/>\n : <SystemIcons.ArrowDropDown size=\"24px\"/>\n }\n </DropdownButtonTextArrow>\n </DropdownButtonTextContent>\n </DropdownButtonTextWrapper>\n }\n };\n\n return (\n <DropdownButtonContainer className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </DropdownButtonContainer>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownButton.js","names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","DropdownButtonTextArrow","DropdownButtonTextContent","DropdownButtonTextIcon","DropdownButtonTextStyles","DropdownButtonTextWrapper","SystemIcons","jsx","_jsx","jsxs","_jsxs","DropdownButtonContainer","div","_templateObject","_taggedTemplateLiteral","DropdownButton","forwardRef","_ref","ref","items","icon","disabled","onClick","_ref$itemsType","itemsType","action","_ref$actionLabel","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","_ref$multiSelect","multiSelect","_ref$scrollable","scrollable","_ref$pinTopItem","pinTopItem","maxHeight","className","value","id","dataTestId","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","dropdownOpen","setDropdownOpen","_React$useState3","_React$useState4","activeDescendant","setActiveDescendant","_React$useState5","_React$useState6","selectedValues","setSelectedValues","_React$useState7","_React$useState8","focused","setFocused","_React$useState9","_React$useState10","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useEffect","handleValueSelect","values","renderButton","type","variant","shape","role","tooltip","concat","event","detail","children","label","keepLabel","length","filter","a","includes","map","_a$displayLabel","displayLabel","join","cls","tabIndex","onMouseDown","onKeyDown","e","key","preventDefault","stopPropagation","ArrowDropUp","ArrowDropDown","ariaRolesType","customizationProps","onValueUpdate","onActiveDescendantChanged","isOpen","setIsOpen","outline","messageOnNoResults","isButton"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n DropdownButtonTextArrow,\n DropdownButtonTextContent,\n DropdownButtonTextIcon,\n DropdownButtonTextStyles,\n DropdownButtonTextWrapper\n} from './CommonStyling';\nimport {SystemIcons} from '../icons';\n\nexport const DropdownButtonContainer = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n dataTestId,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n tooltip={rest.tooltip}\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <DropdownButtonTextWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n id={id}\n data-testid={dataTestId}\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <DropdownButtonTextContent>\n {icon && <DropdownButtonTextIcon>{icon}</DropdownButtonTextIcon>}\n <DropdownButtonTextStyles>{label}</DropdownButtonTextStyles>\n <DropdownButtonTextArrow>\n {\n dropdownOpen\n ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\"/>\n : <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\"/>\n }\n </DropdownButtonTextArrow>\n </DropdownButtonTextContent>\n </DropdownButtonTextWrapper>\n }\n };\n\n return (\n <DropdownButtonContainer className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </DropdownButtonContainer>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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","ignoreList":[]}
@@ -214,7 +214,7 @@ var DropdownContent = /*#__PURE__*/_react["default"].forwardRef(function (_ref,
214
214
  return function () {
215
215
  document.removeEventListener('keydown', handleKeyDown);
216
216
  };
217
- }, []);
217
+ });
218
218
  var scrollPosition = _react["default"].useRef(0);
219
219
  var handleScroll = function handleScroll() {
220
220
  var _itemsListRef$current;