All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.Select-9c61d949.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"Select-9c61d949.js","sources":["../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ApplicationLauncher/ApplicationLauncherSeparator.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/helpers/favorites.js","../../../../node_modules/.pnpm/@[email protected]/node_modules/@patternfly/react-styles/css/components/Select/select.mjs","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-icons/dist/esm/icons/times-circle-icon.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/selectConstants.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/SelectOption.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/SelectGroup.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/SelectMenu.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/SelectToggle.js","../../../../node_modules/.pnpm/@[email protected]/node_modules/@patternfly/react-styles/css/components/ChipGroup/chip-group.mjs","../../../../node_modules/.pnpm/@[email protected]/node_modules/@patternfly/react-styles/css/components/Chip/chip.mjs","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Chip/Chip.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ChipGroup/ChipGroup.js","../../../../node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/Select/Select.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { DropdownSeparator } from '../Dropdown/DropdownSeparator';\nexport const ApplicationLauncherSeparator = (_a) => {\n    var { \n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    children } = _a, props = __rest(_a, [\"children\"]);\n    return React.createElement(DropdownSeparator, Object.assign({}, props));\n};\nApplicationLauncherSeparator.displayName = 'ApplicationLauncherSeparator';\n//# sourceMappingURL=ApplicationLauncherSeparator.js.map","import * as React from 'react';\nimport { ApplicationLauncherSeparator } from '../components/ApplicationLauncher/ApplicationLauncherSeparator';\nimport { Divider } from '../components/Divider/Divider';\n/**\n * This function is a helper for creating an array of renderable favorite items for the Application launcher or Select\n *\n * @param {object} items The items rendered in Select or Application aLauncher\n * @param {boolean} isGrouped Flag indicating if items are grouped\n * @param {any[]} favorites Array of ids of favorited items\n * @param {boolean} isEnterTriggersArrowDown Flag indicating if we should add isEnterTriggersArrowDown to favorited item\n */\nexport const createRenderableFavorites = (items, isGrouped, favorites, isEnterTriggersArrowDown) => {\n    if (isGrouped) {\n        const favoriteItems = [];\n        items.forEach(group => {\n            if (favorites.length > 0) {\n                return (group.props.children &&\n                    group.props.children\n                        .filter(item => favorites.includes(item.props.id))\n                        .map(item => {\n                        if (isEnterTriggersArrowDown) {\n                            return favoriteItems.push(React.cloneElement(item, {\n                                isFavorite: true,\n                                enterTriggersArrowDown: isEnterTriggersArrowDown,\n                                id: `favorite-${item.props.id}`\n                            }));\n                        }\n                        else {\n                            return favoriteItems.push(React.cloneElement(item, { isFavorite: true, id: `favorite-${item.props.id}` }));\n                        }\n                    }));\n            }\n        });\n        return favoriteItems;\n    }\n    return items\n        .filter(item => favorites.includes(item.props.id))\n        .map(item => React.cloneElement(item, { isFavorite: true, enterTriggersArrowDown: isEnterTriggersArrowDown }));\n};\n/**\n * This function is a helper for extending the array of renderable favorite with the select/application launcher items to  render in the Application launcher or Select\n *\n * @param {object} items The items rendered in Select or Application aLauncher\n * @param {boolean} isGrouped Flag indicating if items are grouped\n * @param {any[]} favorites Array of ids of favorited items\n */\nexport const extendItemsWithFavorite = (items, isGrouped, favorites) => {\n    if (isGrouped) {\n        return items.map(group => React.cloneElement(group, {\n            children: React.Children.map(group.props.children, item => {\n                if (item.type === ApplicationLauncherSeparator || item.type === Divider) {\n                    return item;\n                }\n                return React.cloneElement(item, {\n                    isFavorite: favorites.some(favoriteId => favoriteId === item.props.id || `favorite-${favoriteId}` === item.props.id)\n                });\n            })\n        }));\n    }\n    return items.map(item => React.cloneElement(item, {\n        isFavorite: favorites.some(favoriteId => favoriteId === item.props.id)\n    }));\n};\n//# sourceMappingURL=favorites.js.map","import './select.css';\nexport default {\n  \"check\": \"pf-c-check\",\n  \"checkLabel\": \"pf-c-check__label\",\n  \"chipGroup\": \"pf-c-chip-group\",\n  \"divider\": \"pf-c-divider\",\n  \"formControl\": \"pf-c-form-control\",\n  \"modifiers\": {\n    \"invalid\": \"pf-m-invalid\",\n    \"success\": \"pf-m-success\",\n    \"warning\": \"pf-m-warning\",\n    \"disabled\": \"pf-m-disabled\",\n    \"active\": \"pf-m-active\",\n    \"expanded\": \"pf-m-expanded\",\n    \"plain\": \"pf-m-plain\",\n    \"typeahead\": \"pf-m-typeahead\",\n    \"placeholder\": \"pf-m-placeholder\",\n    \"top\": \"pf-m-top\",\n    \"alignRight\": \"pf-m-align-right\",\n    \"static\": \"pf-m-static\",\n    \"favorite\": \"pf-m-favorite\",\n    \"favoriteAction\": \"pf-m-favorite-action\",\n    \"focus\": \"pf-m-focus\",\n    \"link\": \"pf-m-link\",\n    \"action\": \"pf-m-action\",\n    \"selected\": \"pf-m-selected\",\n    \"description\": \"pf-m-description\",\n    \"load\": \"pf-m-load\",\n    \"loading\": \"pf-m-loading\"\n  },\n  \"select\": \"pf-c-select\",\n  \"selectListItem\": \"pf-c-select__list-item\",\n  \"selectMenu\": \"pf-c-select__menu\",\n  \"selectMenuFieldset\": \"pf-c-select__menu-fieldset\",\n  \"selectMenuFooter\": \"pf-c-select__menu-footer\",\n  \"selectMenuGroup\": \"pf-c-select__menu-group\",\n  \"selectMenuGroupTitle\": \"pf-c-select__menu-group-title\",\n  \"selectMenuItem\": \"pf-c-select__menu-item\",\n  \"selectMenuItemActionIcon\": \"pf-c-select__menu-item-action-icon\",\n  \"selectMenuItemCount\": \"pf-c-select__menu-item-count\",\n  \"selectMenuItemDescription\": \"pf-c-select__menu-item-description\",\n  \"selectMenuItemIcon\": \"pf-c-select__menu-item-icon\",\n  \"selectMenuItemMain\": \"pf-c-select__menu-item-main\",\n  \"selectMenuItemMatch\": \"pf-c-select__menu-item--match\",\n  \"selectMenuItemRow\": \"pf-c-select__menu-item-row\",\n  \"selectMenuItemText\": \"pf-c-select__menu-item-text\",\n  \"selectMenuSearch\": \"pf-c-select__menu-search\",\n  \"selectMenuWrapper\": \"pf-c-select__menu-wrapper\",\n  \"selectToggle\": \"pf-c-select__toggle\",\n  \"selectToggleArrow\": \"pf-c-select__toggle-arrow\",\n  \"selectToggleBadge\": \"pf-c-select__toggle-badge\",\n  \"selectToggleButton\": \"pf-c-select__toggle-button\",\n  \"selectToggleClear\": \"pf-c-select__toggle-clear\",\n  \"selectToggleIcon\": \"pf-c-select__toggle-icon\",\n  \"selectToggleStatusIcon\": \"pf-c-select__toggle-status-icon\",\n  \"selectToggleText\": \"pf-c-select__toggle-text\",\n  \"selectToggleTypeahead\": \"pf-c-select__toggle-typeahead\",\n  \"selectToggleWrapper\": \"pf-c-select__toggle-wrapper\",\n  \"themeDark\": \"pf-theme-dark\"\n};","import { createIcon } from '../createIcon';\n\nexport const TimesCircleIconConfig = {\n  name: 'TimesCircleIcon',\n  height: 512,\n  width: 512,\n  svgPath: 'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z',\n  yOffset: 0,\n  xOffset: 0,\n};\n\nexport const TimesCircleIcon = createIcon(TimesCircleIconConfig);\n\nexport default TimesCircleIcon;","import * as React from 'react';\nexport const SelectContext = React.createContext(null);\nexport const SelectProvider = SelectContext.Provider;\nexport const SelectConsumer = SelectContext.Consumer;\nexport var SelectVariant;\n(function (SelectVariant) {\n    SelectVariant[\"single\"] = \"single\";\n    SelectVariant[\"checkbox\"] = \"checkbox\";\n    SelectVariant[\"typeahead\"] = \"typeahead\";\n    SelectVariant[\"typeaheadMulti\"] = \"typeaheadmulti\";\n})(SelectVariant || (SelectVariant = {}));\nexport var SelectPosition;\n(function (SelectPosition) {\n    SelectPosition[\"right\"] = \"right\";\n    SelectPosition[\"left\"] = \"left\";\n})(SelectPosition || (SelectPosition = {}));\nexport var SelectDirection;\n(function (SelectDirection) {\n    SelectDirection[\"up\"] = \"up\";\n    SelectDirection[\"down\"] = \"down\";\n})(SelectDirection || (SelectDirection = {}));\nexport const SelectFooterTabbableItems = 'input, button, select, textarea, a[href]';\n//# sourceMappingURL=selectConstants.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Select/select';\nimport checkStyles from '@patternfly/react-styles/css/components/Check/check';\nimport { css } from '@patternfly/react-styles';\nimport CheckIcon from '@patternfly/react-icons/dist/esm/icons/check-icon';\nimport { SelectConsumer, SelectVariant } from './selectConstants';\nimport StarIcon from '@patternfly/react-icons/dist/esm/icons/star-icon';\nimport { getUniqueId } from '../../helpers/util';\nimport { KeyTypes } from '../../helpers/constants';\nexport class SelectOption extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.ref = React.createRef();\n        this.liRef = React.createRef();\n        this.favoriteRef = React.createRef();\n        this.onKeyDown = (event, innerIndex, onEnter, isCheckbox) => {\n            const { index, keyHandler, isLastOptionBeforeFooter } = this.props;\n            let isLastItemBeforeFooter = false;\n            if (isLastOptionBeforeFooter !== undefined) {\n                isLastItemBeforeFooter = isLastOptionBeforeFooter(index);\n            }\n            if (event.key === KeyTypes.Tab) {\n                // More modal-like experience for checkboxes\n                if (isCheckbox && !isLastItemBeforeFooter) {\n                    if (event.shiftKey) {\n                        keyHandler(index, innerIndex, 'up');\n                    }\n                    else {\n                        keyHandler(index, innerIndex, 'down');\n                    }\n                    event.stopPropagation();\n                }\n                else {\n                    if (event.shiftKey) {\n                        keyHandler(index, innerIndex, 'up');\n                    }\n                    else {\n                        keyHandler(index, innerIndex, 'tab');\n                    }\n                }\n            }\n            event.preventDefault();\n            if (event.key === KeyTypes.ArrowUp) {\n                keyHandler(index, innerIndex, 'up');\n            }\n            else if (event.key === KeyTypes.ArrowDown) {\n                keyHandler(index, innerIndex, 'down');\n            }\n            else if (event.key === KeyTypes.ArrowLeft) {\n                keyHandler(index, innerIndex, 'left');\n            }\n            else if (event.key === KeyTypes.ArrowRight) {\n                keyHandler(index, innerIndex, 'right');\n            }\n            else if (event.key === KeyTypes.Enter) {\n                if (onEnter !== undefined) {\n                    onEnter();\n                }\n                else {\n                    this.ref.current.click();\n                }\n            }\n        };\n    }\n    componentDidMount() {\n        this.props.sendRef(this.props.isDisabled ? null : this.ref.current, this.props.isDisabled ? null : this.favoriteRef.current, this.props.isDisabled ? null : this.liRef.current, this.props.index);\n    }\n    componentDidUpdate() {\n        this.props.sendRef(this.props.isDisabled ? null : this.ref.current, this.props.isDisabled ? null : this.favoriteRef.current, this.props.isDisabled ? null : this.liRef.current, this.props.index);\n    }\n    render() {\n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        const _a = this.props, { children, className, id, description, itemCount, value, onClick, isDisabled, isPlaceholder, isNoResultsOption, isSelected, isChecked, isFocused, sendRef, keyHandler, index, component, inputId, isFavorite, ariaIsFavoriteLabel = 'starred', ariaIsNotFavoriteLabel = 'not starred', isLoad, isLoading, setViewMoreNextIndex, \n        // eslint-disable-next-line no-console\n        isLastOptionBeforeFooter, isGrouped = false } = _a, props = __rest(_a, [\"children\", \"className\", \"id\", \"description\", \"itemCount\", \"value\", \"onClick\", \"isDisabled\", \"isPlaceholder\", \"isNoResultsOption\", \"isSelected\", \"isChecked\", \"isFocused\", \"sendRef\", \"keyHandler\", \"index\", \"component\", \"inputId\", \"isFavorite\", \"ariaIsFavoriteLabel\", \"ariaIsNotFavoriteLabel\", \"isLoad\", \"isLoading\", \"setViewMoreNextIndex\", \"isLastOptionBeforeFooter\", \"isGrouped\"]);\n        /* eslint-enable @typescript-eslint/no-unused-vars */\n        const Component = component;\n        if (!id && isFavorite !== null) {\n            // eslint-disable-next-line no-console\n            console.error('Please provide an id to use the favorites feature.');\n        }\n        const generatedId = id || getUniqueId('select-option');\n        const favoriteButton = (onFavorite) => (React.createElement(\"button\", { className: css(styles.selectMenuItem, styles.modifiers.action, styles.modifiers.favoriteAction), \"aria-label\": isFavorite ? ariaIsFavoriteLabel : ariaIsNotFavoriteLabel, onClick: () => {\n                onFavorite(generatedId.replace('favorite-', ''), isFavorite);\n            }, onKeyDown: event => {\n                this.onKeyDown(event, 1, () => onFavorite(generatedId.replace('favorite-', ''), isFavorite));\n            }, ref: this.favoriteRef },\n            React.createElement(\"span\", { className: css(styles.selectMenuItemActionIcon) },\n                React.createElement(StarIcon, null))));\n        const itemDisplay = itemCount ? (React.createElement(\"span\", { className: css(styles.selectMenuItemRow) },\n            React.createElement(\"span\", { className: css(styles.selectMenuItemText) }, children || (value && value.toString && value.toString())),\n            React.createElement(\"span\", { className: css(styles.selectMenuItemCount) }, itemCount))) : (children || value.toString());\n        const onViewMoreClick = (event) => {\n            // Set the index for the next item to focus after view more clicked, then call view more callback\n            setViewMoreNextIndex();\n            onClick(event);\n        };\n        const renderOption = (onSelect, onClose, variant, inputIdPrefix, onFavorite, shouldResetOnSelect) => {\n            if (variant !== SelectVariant.checkbox && isLoading && isGrouped) {\n                return (React.createElement(\"div\", { role: \"presentation\", className: css(styles.selectListItem, isLoading && styles.modifiers.loading, className) }, children));\n            }\n            else if (variant !== SelectVariant.checkbox && isLoad && isGrouped) {\n                return (React.createElement(\"div\", null,\n                    React.createElement(\"button\", Object.assign({}, props, { role: \"presentation\", className: css(styles.selectMenuItem, styles.modifiers.load, className), onClick: (event) => {\n                            onViewMoreClick(event);\n                            event.stopPropagation();\n                        }, ref: this.ref, type: \"button\" }), children || value.toString())));\n            }\n            else if (variant !== SelectVariant.checkbox) {\n                return (React.createElement(\"li\", { id: generatedId, role: \"presentation\", className: css(isLoading && styles.selectListItem, !isLoading && styles.selectMenuWrapper, isFavorite && styles.modifiers.favorite, isFocused && styles.modifiers.focus, isLoading && styles.modifiers.loading), ref: this.liRef },\n                    isLoading && children,\n                    isLoad && !isGrouped && (React.createElement(\"button\", Object.assign({}, props, { className: css(styles.selectMenuItem, styles.modifiers.load, className), onClick: (event) => {\n                            onViewMoreClick(event);\n                            event.stopPropagation();\n                        }, ref: this.ref, onKeyDown: (event) => {\n                            this.onKeyDown(event, 0);\n                        }, type: \"button\" }), itemDisplay)),\n                    !isLoading && !isLoad && (React.createElement(React.Fragment, null,\n                        React.createElement(Component, Object.assign({}, props, { className: css(styles.selectMenuItem, isLoad && styles.modifiers.load, isSelected && styles.modifiers.selected, isDisabled && styles.modifiers.disabled, description && styles.modifiers.description, isFavorite !== null && styles.modifiers.link, className), onClick: (event) => {\n                                if (!isDisabled) {\n                                    onClick(event);\n                                    onSelect(event, value, isPlaceholder);\n                                    shouldResetOnSelect && onClose();\n                                }\n                            }, role: \"option\", \"aria-selected\": isSelected || null, ref: this.ref, onKeyDown: (event) => {\n                                this.onKeyDown(event, 0);\n                            }, type: \"button\" }),\n                            description && (React.createElement(React.Fragment, null,\n                                React.createElement(\"span\", { className: css(styles.selectMenuItemMain) },\n                                    itemDisplay,\n                                    isSelected && (React.createElement(\"span\", { className: css(styles.selectMenuItemIcon) },\n                                        React.createElement(CheckIcon, { \"aria-hidden\": true })))),\n                                React.createElement(\"span\", { className: css(styles.selectMenuItemDescription) }, description))),\n                            !description && (React.createElement(React.Fragment, null,\n                                itemDisplay,\n                                isSelected && (React.createElement(\"span\", { className: css(styles.selectMenuItemIcon) },\n                                    React.createElement(CheckIcon, { \"aria-hidden\": true })))))),\n                        isFavorite !== null && id && favoriteButton(onFavorite)))));\n            }\n            else if (variant === SelectVariant.checkbox && isLoad) {\n                return (React.createElement(\"button\", { className: css(styles.selectMenuItem, styles.modifiers.load, isFocused && styles.modifiers.focus, className), onKeyDown: (event) => {\n                        this.onKeyDown(event, 0, undefined, true);\n                    }, onClick: (event) => {\n                        onViewMoreClick(event);\n                        event.stopPropagation();\n                    }, ref: this.ref }, children || (value && value.toString && value.toString())));\n            }\n            else if (variant === SelectVariant.checkbox && isLoading) {\n                return (React.createElement(\"div\", { className: css(styles.selectListItem, isLoading && styles.modifiers.loading, className) }, children));\n            }\n            else if (variant === SelectVariant.checkbox && !isNoResultsOption && !isLoading && !isLoad) {\n                return (React.createElement(\"label\", Object.assign({}, props, { className: css(checkStyles.check, styles.selectMenuItem, isDisabled && styles.modifiers.disabled, description && styles.modifiers.description, className), onKeyDown: (event) => {\n                        this.onKeyDown(event, 0, undefined, true);\n                    } }),\n                    React.createElement(\"input\", { id: inputId || `${inputIdPrefix}-${value.toString()}`, className: css(checkStyles.checkInput), type: \"checkbox\", onChange: event => {\n                            if (!isDisabled) {\n                                onClick(event);\n                                onSelect(event, value);\n                            }\n                        }, ref: this.ref, checked: isChecked || false, disabled: isDisabled }),\n                    React.createElement(\"span\", { className: css(checkStyles.checkLabel, isDisabled && styles.modifiers.disabled) }, itemDisplay),\n                    description && React.createElement(\"div\", { className: css(checkStyles.checkDescription) }, description)));\n            }\n            else if (variant === SelectVariant.checkbox && isNoResultsOption && !isLoading && !isLoad) {\n                return (React.createElement(\"div\", null,\n                    React.createElement(Component, Object.assign({}, props, { className: css(styles.selectMenuItem, isSelected && styles.modifiers.selected, isDisabled && styles.modifiers.disabled, className), role: \"option\", \"aria-selected\": isSelected || null, ref: this.ref, onKeyDown: (event) => {\n                            this.onKeyDown(event, 0, undefined, true);\n                        }, type: \"button\" }), itemDisplay)));\n            }\n        };\n        return (React.createElement(SelectConsumer, null, ({ onSelect, onClose, variant, inputIdPrefix, onFavorite, shouldResetOnSelect }) => (React.createElement(React.Fragment, null, renderOption(onSelect, onClose, variant, inputIdPrefix, onFavorite, shouldResetOnSelect)))));\n    }\n}\nSelectOption.displayName = 'SelectOption';\nSelectOption.defaultProps = {\n    className: '',\n    value: '',\n    index: 0,\n    isDisabled: false,\n    isPlaceholder: false,\n    isSelected: false,\n    isChecked: false,\n    isNoResultsOption: false,\n    component: 'button',\n    onClick: () => { },\n    sendRef: () => { },\n    keyHandler: () => { },\n    inputId: '',\n    isFavorite: null,\n    isLoad: false,\n    isLoading: false,\n    setViewMoreNextIndex: () => { },\n    isLastOptionBeforeFooter: () => false\n};\n//# sourceMappingURL=SelectOption.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Select/select';\nimport { css } from '@patternfly/react-styles';\nimport { SelectConsumer, SelectVariant } from './selectConstants';\nexport const SelectGroup = (_a) => {\n    var { children = [], className = '', label = '', titleId = '' } = _a, props = __rest(_a, [\"children\", \"className\", \"label\", \"titleId\"]);\n    return (React.createElement(SelectConsumer, null, ({ variant }) => (React.createElement(\"div\", Object.assign({}, props, { className: css(styles.selectMenuGroup, className) }),\n        React.createElement(\"div\", { className: css(styles.selectMenuGroupTitle), id: titleId, \"aria-hidden\": true }, label),\n        variant === SelectVariant.checkbox ? children : React.createElement(\"ul\", { role: \"listbox\" }, children)))));\n};\nSelectGroup.displayName = 'SelectGroup';\n//# sourceMappingURL=SelectGroup.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Select/select';\nimport formStyles from '@patternfly/react-styles/css/components/Form/form';\nimport { css } from '@patternfly/react-styles';\nimport { SelectOption } from './SelectOption';\nimport { SelectConsumer, SelectPosition, SelectVariant } from './selectConstants';\nimport { SelectGroup } from './SelectGroup';\nimport { Divider } from '../Divider/Divider';\nclass SelectMenuWithRef extends React.Component {\n    extendChildren(randomId) {\n        const { children, hasInlineFilter, isGrouped } = this.props;\n        const childrenArray = children;\n        let index = hasInlineFilter ? 1 : 0;\n        if (isGrouped) {\n            return React.Children.map(childrenArray, (group) => {\n                if (group.type === SelectGroup) {\n                    return React.cloneElement(group, {\n                        titleId: group.props.label && group.props.label.replace(/\\W/g, '-'),\n                        children: React.Children.map(group.props.children, (option) => this.cloneOption(option, index++, randomId))\n                    });\n                }\n                else {\n                    return this.cloneOption(group, index++, randomId);\n                }\n            });\n        }\n        return React.Children.map(childrenArray, (child) => this.cloneOption(child, index++, randomId));\n    }\n    cloneOption(child, index, randomId) {\n        const { selected, sendRef, keyHandler } = this.props;\n        const isSelected = this.checkForValue(child.props.value, selected);\n        if (child.type === Divider) {\n            return child;\n        }\n        return React.cloneElement(child, {\n            inputId: `${randomId}-${index}`,\n            isSelected,\n            sendRef,\n            keyHandler,\n            index\n        });\n    }\n    checkForValue(valueToCheck, options) {\n        if (!options || !valueToCheck) {\n            return false;\n        }\n        const isSelectOptionObject = typeof valueToCheck !== 'string' &&\n            valueToCheck.toString &&\n            valueToCheck.compareTo;\n        if (Array.isArray(options)) {\n            if (isSelectOptionObject) {\n                return options.some(option => option.compareTo(valueToCheck));\n            }\n            else {\n                return options.includes(valueToCheck);\n            }\n        }\n        else {\n            if (isSelectOptionObject) {\n                return options.compareTo(valueToCheck);\n            }\n            else {\n                return options === valueToCheck;\n            }\n        }\n    }\n    extendCheckboxChildren(children) {\n        const { isGrouped, checked, sendRef, keyHandler, hasInlineFilter, isLastOptionBeforeFooter } = this.props;\n        let index = hasInlineFilter ? 1 : 0;\n        if (isGrouped) {\n            return React.Children.map(children, (group) => {\n                if (group.type === Divider) {\n                    return group;\n                }\n                else if (group.type === SelectOption) {\n                    return React.cloneElement(group, {\n                        isChecked: this.checkForValue(group.props.value, checked),\n                        sendRef,\n                        keyHandler,\n                        index: index++,\n                        isLastOptionBeforeFooter\n                    });\n                }\n                return React.cloneElement(group, {\n                    titleId: group.props.label && group.props.label.replace(/\\W/g, '-'),\n                    children: group.props.children ? (React.createElement(\"fieldset\", { \"aria-labelledby\": group.props.label && group.props.label.replace(/\\W/g, '-'), className: css(styles.selectMenuFieldset) }, React.Children.map(group.props.children, (option) => option.type === Divider\n                        ? option\n                        : React.cloneElement(option, {\n                            isChecked: this.checkForValue(option.props.value, checked),\n                            sendRef,\n                            keyHandler,\n                            index: index++,\n                            isLastOptionBeforeFooter\n                        })))) : null\n                });\n            });\n        }\n        return React.Children.map(children, (child) => child.type === Divider\n            ? child\n            : React.cloneElement(child, {\n                isChecked: this.checkForValue(child.props.value, checked),\n                sendRef,\n                keyHandler,\n                index: index++,\n                isLastOptionBeforeFooter\n            }));\n    }\n    renderSelectMenu({ variant, inputIdPrefix }) {\n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        const _a = this.props, { children, isCustomContent, className, isExpanded, openedOnEnter, selected, checked, isGrouped, position, sendRef, keyHandler, maxHeight, noResultsFoundText, createText, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, hasInlineFilter, innerRef, footer, footerRef, isLastOptionBeforeFooter } = _a, props = __rest(_a, [\"children\", \"isCustomContent\", \"className\", \"isExpanded\", \"openedOnEnter\", \"selected\", \"checked\", \"isGrouped\", \"position\", \"sendRef\", \"keyHandler\", \"maxHeight\", \"noResultsFoundText\", \"createText\", 'aria-label', 'aria-labelledby', \"hasInlineFilter\", \"innerRef\", \"footer\", \"footerRef\", \"isLastOptionBeforeFooter\"]);\n        /* eslint-enable @typescript-eslint/no-unused-vars */\n        let Component = 'div';\n        const variantProps = Object.assign({ ref: innerRef, className: css(!footer ? styles.selectMenu : 'pf-c-select__menu-list', position === SelectPosition.right && styles.modifiers.alignRight, className) }, (maxHeight && { style: { maxHeight, overflow: 'auto' } }));\n        const extendedChildren = () => variant === SelectVariant.checkbox\n            ? this.extendCheckboxChildren(children)\n            : this.extendChildren(inputIdPrefix);\n        if (isCustomContent) {\n            variantProps.children = children;\n        }\n        else if (hasInlineFilter) {\n            if (React.Children.count(children) === 0) {\n                variantProps.children = React.createElement(\"fieldset\", { className: css(styles.selectMenuFieldset) });\n            }\n            else {\n                variantProps.children = (React.createElement(\"fieldset\", { \"aria-label\": ariaLabel, \"aria-labelledby\": (!ariaLabel && ariaLabelledBy) || null, className: css(formStyles.formFieldset) },\n                    children.shift(),\n                    extendedChildren()));\n            }\n        }\n        else {\n            variantProps.children = extendedChildren();\n            if (!isGrouped) {\n                Component = 'ul';\n                variantProps.role = 'listbox';\n                variantProps['aria-label'] = ariaLabel;\n                variantProps['aria-labelledby'] = (!ariaLabel && ariaLabelledBy) || null;\n            }\n        }\n        return (React.createElement(React.Fragment, null,\n            React.createElement(Component, Object.assign({}, variantProps, props)),\n            footer && (React.createElement(\"div\", { className: css(styles.selectMenuFooter), ref: footerRef }, footer))));\n    }\n    render() {\n        return React.createElement(SelectConsumer, null, context => this.renderSelectMenu(context));\n    }\n}\nSelectMenuWithRef.displayName = 'SelectMenu';\nSelectMenuWithRef.defaultProps = {\n    className: '',\n    isExpanded: false,\n    isGrouped: false,\n    openedOnEnter: false,\n    selected: '',\n    maxHeight: '',\n    position: SelectPosition.left,\n    sendRef: () => { },\n    keyHandler: () => { },\n    isCustomContent: false,\n    hasInlineFilter: false,\n    isLastOptionBeforeFooter: () => { }\n};\nexport const SelectMenu = React.forwardRef((props, ref) => (React.createElement(SelectMenuWithRef, Object.assign({ innerRef: ref }, props), props.children)));\n//# sourceMappingURL=SelectMenu.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Select/select';\nimport buttonStyles from '@patternfly/react-styles/css/components/Button/button';\nimport { css } from '@patternfly/react-styles';\nimport CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';\nimport { SelectVariant, SelectFooterTabbableItems } from './selectConstants';\nimport { findTabbableElements } from '../../helpers/util';\nimport { KeyTypes } from '../../helpers/constants';\nclass SelectToggleBase extends React.Component {\n    constructor(props) {\n        super(props);\n        this.onDocClick = (event) => {\n            const { parentRef, menuRef, footerRef, isOpen, onToggle, onClose } = this.props;\n            const clickedOnToggle = parentRef && parentRef.current && parentRef.current.contains(event.target);\n            const clickedWithinMenu = menuRef && menuRef.current && menuRef.current.contains && menuRef.current.contains(event.target);\n            const clickedWithinFooter = footerRef && footerRef.current && footerRef.current.contains && footerRef.current.contains(event.target);\n            if (isOpen && !(clickedOnToggle || clickedWithinMenu || clickedWithinFooter)) {\n                onToggle(false, event);\n                onClose();\n            }\n        };\n        this.handleGlobalKeys = (event) => {\n            const { parentRef, menuRef, hasFooter, footerRef, isOpen, variant, onToggle, onClose, moveFocusToLastMenuItem } = this.props;\n            const escFromToggle = parentRef && parentRef.current && parentRef.current.contains(event.target);\n            const escFromWithinMenu = menuRef && menuRef.current && menuRef.current.contains && menuRef.current.contains(event.target);\n            if (isOpen &&\n                event.key === KeyTypes.Tab &&\n                (variant === SelectVariant.typeahead || variant === SelectVariant.typeaheadMulti)) {\n                this.props.handleTypeaheadKeys('tab', event.shiftKey);\n                event.preventDefault();\n                return;\n            }\n            if (isOpen && event.key === KeyTypes.Tab && hasFooter) {\n                const tabbableItems = findTabbableElements(footerRef, SelectFooterTabbableItems);\n                // If no tabbable item in footer close select\n                if (tabbableItems.length <= 0) {\n                    onToggle(false, event);\n                    onClose();\n                    this.toggle.current.focus();\n                    return;\n                }\n                else {\n                    // if current element is not in footer, tab to first tabbable element in footer, or close if shift clicked\n                    const currentElementIndex = tabbableItems.findIndex((item) => item === document.activeElement);\n                    if (currentElementIndex === -1) {\n                        if (event.shiftKey) {\n                            if (variant !== 'checkbox') {\n                                // only close non checkbox variation on shift clicked\n                                onToggle(false, event);\n                                onClose();\n                                this.toggle.current.focus();\n                            }\n                        }\n                        else {\n                            // tab to footer\n                            tabbableItems[0].focus();\n                            return;\n                        }\n                    }\n                    // Current element is in footer.\n                    if (event.shiftKey) {\n                        // Move focus back to menu if current tab index is 0\n                        if (currentElementIndex === 0) {\n                            moveFocusToLastMenuItem();\n                            event.preventDefault();\n                        }\n                        return;\n                    }\n                    // Tab to next element in footer or close if there are none\n                    if (currentElementIndex + 1 < tabbableItems.length) {\n                        tabbableItems[currentElementIndex + 1].focus();\n                    }\n                    else {\n                        // no more footer items close menu\n                        onToggle(false, event);\n                        onClose();\n                        this.toggle.current.focus();\n                    }\n                    event.preventDefault();\n                    return;\n                }\n            }\n            if (isOpen &&\n                (event.key === KeyTypes.Escape || event.key === KeyTypes.Tab) &&\n                (escFromToggle || escFromWithinMenu)) {\n                onToggle(false, event);\n                onClose();\n                this.toggle.current.focus();\n            }\n        };\n        this.onKeyDown = (event) => {\n            const { isOpen, onToggle, variant, onClose, onEnter, handleTypeaheadKeys } = this.props;\n            if (variant === SelectVariant.typeahead || variant === SelectVariant.typeaheadMulti) {\n                if (event.key === KeyTypes.ArrowDown || event.key === KeyTypes.ArrowUp) {\n                    handleTypeaheadKeys((event.key === KeyTypes.ArrowDown && 'down') || (event.key === KeyTypes.ArrowUp && 'up'));\n                    event.preventDefault();\n                }\n                else if (event.key === KeyTypes.Enter) {\n                    if (isOpen) {\n                        handleTypeaheadKeys('enter');\n                    }\n                    else {\n                        onToggle(!isOpen, event);\n                    }\n                }\n            }\n            if (variant === SelectVariant.typeahead ||\n                variant === SelectVariant.typeaheadMulti ||\n                (event.key === KeyTypes.Tab && !isOpen) ||\n                (event.key !== KeyTypes.Enter && event.key !== KeyTypes.Space)) {\n                return;\n            }\n            event.preventDefault();\n            if ((event.key === KeyTypes.Tab || event.key === KeyTypes.Enter || event.key === KeyTypes.Space) && isOpen) {\n                onToggle(!isOpen, event);\n                onClose();\n                this.toggle.current.focus();\n            }\n            else if ((event.key === KeyTypes.Enter || event.key === KeyTypes.Space) && !isOpen) {\n                onToggle(!isOpen, event);\n                onEnter();\n            }\n        };\n        const { variant } = props;\n        const isTypeahead = variant === SelectVariant.typeahead || variant === SelectVariant.typeaheadMulti;\n        if (this.props.innerRef) {\n            this.toggle = this.props.innerRef;\n        }\n        else {\n            this.toggle = isTypeahead ? React.createRef() : React.createRef();\n        }\n    }\n    componentDidMount() {\n        document.addEventListener('click', this.onDocClick, { capture: true });\n        document.addEventListener('touchstart', this.onDocClick);\n        document.addEventListener('keydown', this.handleGlobalKeys);\n    }\n    componentWillUnmount() {\n        document.removeEventListener('click', this.onDocClick);\n        document.removeEventListener('touchstart', this.onDocClick);\n        document.removeEventListener('keydown', this.handleGlobalKeys);\n    }\n    render() {\n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        const _a = this.props, { className, children, isOpen, isActive, isPlain, isDisabled, hasPlaceholderStyle, variant, onToggle, onEnter, onClose, onBlur, onClickTypeaheadToggleButton, handleTypeaheadKeys, moveFocusToLastMenuItem, parentRef, menuRef, id, type, hasClearButton, 'aria-labelledby': ariaLabelledBy, 'aria-label': ariaLabel, hasFooter, footerRef, toggleIndicator, innerRef } = _a, props = __rest(_a, [\"className\", \"children\", \"isOpen\", \"isActive\", \"isPlain\", \"isDisabled\", \"hasPlaceholderStyle\", \"variant\", \"onToggle\", \"onEnter\", \"onClose\", \"onBlur\", \"onClickTypeaheadToggleButton\", \"handleTypeaheadKeys\", \"moveFocusToLastMenuItem\", \"parentRef\", \"menuRef\", \"id\", \"type\", \"hasClearButton\", 'aria-labelledby', 'aria-label', \"hasFooter\", \"footerRef\", \"toggleIndicator\", \"innerRef\"]);\n        /* eslint-enable @typescript-eslint/no-unused-vars */\n        const isTypeahead = variant === SelectVariant.typeahead || variant === SelectVariant.typeaheadMulti || hasClearButton;\n        const toggleProps = {\n            id,\n            'aria-labelledby': ariaLabelledBy,\n            'aria-expanded': isOpen,\n            'aria-haspopup': (variant !== SelectVariant.checkbox && 'listbox') || null\n        };\n        return (React.createElement(React.Fragment, null,\n            !isTypeahead && (React.createElement(\"button\", Object.assign({}, props, toggleProps, { ref: this.toggle, type: type, className: css(styles.selectToggle, hasPlaceholderStyle && styles.modifiers.placeholder, isDisabled && styles.modifiers.disabled, isPlain && styles.modifiers.plain, isActive && styles.modifiers.active, className), \"aria-label\": ariaLabel, onBlur: onBlur, \n                // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                onClick: event => {\n                    onToggle(!isOpen, event);\n                    if (isOpen) {\n                        onClose();\n                    }\n                }, onKeyDown: this.onKeyDown, disabled: isDisabled }),\n                children,\n                React.createElement(\"span\", { className: css(styles.selectToggleArrow) }, toggleIndicator !== null && toggleIndicator !== void 0 ? toggleIndicator : React.createElement(CaretDownIcon, null)))),\n            isTypeahead && (React.createElement(\"div\", Object.assign({}, props, { ref: this.toggle, className: css(styles.selectToggle, hasPlaceholderStyle && styles.modifiers.placeholder, isDisabled && styles.modifiers.disabled, isPlain && styles.modifiers.plain, isTypeahead && styles.modifiers.typeahead, className), onBlur: onBlur, \n                // eslint-disable-next-line @typescript-eslint/no-unused-vars\n                onClick: event => {\n                    if (!isDisabled) {\n                        onToggle(!isOpen, event);\n                        if (isOpen) {\n                            onClose();\n                        }\n                    }\n                }, onKeyDown: this.onKeyDown }),\n                children,\n                React.createElement(\"button\", Object.assign({}, toggleProps, { type: type, className: css(buttonStyles.button, styles.selectToggleButton, styles.modifiers.plain), \"aria-label\": ariaLabel, onClick: event => {\n                        onToggle(!isOpen, event);\n                        if (isOpen) {\n                            onClose();\n                        }\n                        onClickTypeaheadToggleButton();\n                    } }, ((variant === SelectVariant.typeahead || variant === SelectVariant.typeaheadMulti) && {\n                    tabIndex: -1\n                }), { disabled: isDisabled }), toggleIndicator !== null && toggleIndicator !== void 0 ? toggleIndicator : React.createElement(CaretDownIcon, { className: css(styles.selectToggleArrow) }))))));\n    }\n}\nSelectToggleBase.displayName = 'SelectToggle';\nSelectToggleBase.defaultProps = {\n    className: '',\n    isOpen: false,\n    isActive: false,\n    isPlain: false,\n    isDisabled: false,\n    hasPlaceholderStyle: false,\n    hasClearButton: false,\n    hasFooter: false,\n    variant: 'single',\n    'aria-labelledby': '',\n    'aria-label': '',\n    type: 'button',\n    onToggle: () => { },\n    onEnter: () => { },\n    onClose: () => { },\n    onClickTypeaheadToggleButton: () => { }\n};\nexport const SelectToggle = React.forwardRef((props, ref) => (React.createElement(SelectToggleBase, Object.assign({ innerRef: ref }, props))));\n//# sourceMappingURL=SelectToggle.js.map","import './chip-group.css';\nexport default {\n  \"chipGroup\": \"pf-c-chip-group\",\n  \"chipGroupClose\": \"pf-c-chip-group__close\",\n  \"chipGroupLabel\": \"pf-c-chip-group__label\",\n  \"chipGroupList\": \"pf-c-chip-group__list\",\n  \"chipGroupListItem\": \"pf-c-chip-group__list-item\",\n  \"chipGroupMain\": \"pf-c-chip-group__main\",\n  \"modifiers\": {\n    \"category\": \"pf-m-category\"\n  }\n};","import './chip.css';\nexport default {\n  \"badge\": \"pf-c-badge\",\n  \"button\": \"pf-c-button\",\n  \"chip\": \"pf-c-chip\",\n  \"chipIcon\": \"pf-c-chip__icon\",\n  \"chipText\": \"pf-c-chip__text\",\n  \"modifiers\": {\n    \"overflow\": \"pf-m-overflow\",\n    \"draggable\": \"pf-m-draggable\"\n  },\n  \"themeDark\": \"pf-theme-dark\"\n};","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport { Button } from '../Button';\nimport { Tooltip } from '../Tooltip';\nimport TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';\nimport styles from '@patternfly/react-styles/css/components/Chip/chip';\nimport { GenerateId } from '../../helpers/GenerateId/GenerateId';\nimport { getOUIAProps, getDefaultOUIAId } from '../../helpers';\nexport class Chip extends React.Component {\n    constructor(props) {\n        super(props);\n        this.span = React.createRef();\n        this.setChipStyle = () => ({\n            '--pf-c-chip__text--MaxWidth': this.props.textMaxWidth\n        });\n        this.renderOverflowChip = () => {\n            const _a = this.props, { children, className, onClick, ouiaId, textMaxWidth, style, component, \n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            tooltipPosition, \n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            isOverflowChip, \n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            closeBtnAriaLabel, \n            // eslint-disable-next-line @typescript-eslint/no-unused-vars\n            isReadOnly } = _a, props = __rest(_a, [\"children\", \"className\", \"onClick\", \"ouiaId\", \"textMaxWidth\", \"style\", \"component\", \"tooltipPosition\", \"isOverflowChip\", \"closeBtnAriaLabel\", \"isReadOnly\"]);\n            const Component = component;\n            return (React.createElement(Component, Object.assign({ onClick: onClick }, (textMaxWidth && Object.assign({ style: this.setChipStyle() }, style)), { className: css(styles.chip, styles.modifiers.overflow, className) }, (component === 'button' ? { type: 'button' } : {}), getOUIAProps('OverflowChip', ouiaId !== undefined ? ouiaId : this.state.ouiaStateId), props),\n                React.createElement(\"span\", { className: css(styles.chipText) }, children)));\n        };\n        this.renderChip = (randomId) => {\n            const { children, tooltipPosition } = this.props;\n            if (this.state.isTooltipVisible) {\n                return (React.createElement(Tooltip, { position: tooltipPosition, content: children }, this.renderInnerChip(randomId)));\n            }\n            return this.renderInnerChip(randomId);\n        };\n        this.state = {\n            isTooltipVisible: false,\n            ouiaStateId: getDefaultOUIAId(Chip.displayName)\n        };\n    }\n    componentDidMount() {\n        this.setState({\n            isTooltipVisible: Boolean(this.span.current && this.span.current.offsetWidth < this.span.current.scrollWidth)\n        });\n    }\n    renderInnerChip(id) {\n        const _a = this.props, { children, className, onClick, closeBtnAriaLabel, isReadOnly, \n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        isOverflowChip, \n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        tooltipPosition, component, ouiaId } = _a, props = __rest(_a, [\"children\", \"className\", \"onClick\", \"closeBtnAriaLabel\", \"isReadOnly\", \"isOverflowChip\", \"tooltipPosition\", \"component\", \"ouiaId\"]);\n        const Component = component;\n        return (React.createElement(Component, Object.assign({}, (this.props.textMaxWidth && {\n            style: this.setChipStyle()\n        }), { className: css(styles.chip, className) }, (this.state.isTooltipVisible && { tabIndex: 0 }), getOUIAProps(Chip.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId), props),\n            React.createElement(\"span\", { ref: this.span, className: css(styles.chipText), id: id }, children),\n            !isReadOnly && (React.createElement(Button, { onClick: onClick, variant: \"plain\", \"aria-label\": closeBtnAriaLabel, id: `remove_${id}`, \"aria-labelledby\": `remove_${id} ${id}`, ouiaId: ouiaId || closeBtnAriaLabel },\n                React.createElement(TimesIcon, { \"aria-hidden\": \"true\" })))));\n    }\n    render() {\n        const { isOverflowChip } = this.props;\n        return (React.createElement(GenerateId, null, randomId => (isOverflowChip ? this.renderOverflowChip() : this.renderChip(this.props.id || randomId))));\n    }\n}\nChip.displayName = 'Chip';\nChip.defaultProps = {\n    closeBtnAriaLabel: 'close',\n    className: '',\n    isOverflowChip: false,\n    isReadOnly: false,\n    tooltipPosition: 'top',\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onClick: (_e) => undefined,\n    component: 'div'\n};\n//# sourceMappingURL=Chip.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/ChipGroup/chip-group';\nimport { css } from '@patternfly/react-styles';\nimport { Button } from '../Button';\nimport { Chip } from '../Chip';\nimport { Tooltip } from '../Tooltip';\nimport TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';\nimport { fillTemplate } from '../../helpers';\nimport { GenerateId } from '../../helpers/GenerateId/GenerateId';\nimport { getOUIAProps } from '../../helpers';\nexport class ChipGroup extends React.Component {\n    constructor(props) {\n        super(props);\n        this.headingRef = React.createRef();\n        this.toggleCollapse = () => {\n            this.setState(prevState => ({\n                isOpen: !prevState.isOpen,\n                isTooltipVisible: Boolean(this.headingRef.current && this.headingRef.current.offsetWidth < this.headingRef.current.scrollWidth)\n            }));\n        };\n        this.state = {\n            isOpen: this.props.defaultIsOpen,\n            isTooltipVisible: false\n        };\n    }\n    componentDidMount() {\n        this.setState({\n            isTooltipVisible: Boolean(this.headingRef.current && this.headingRef.current.offsetWidth < this.headingRef.current.scrollWidth)\n        });\n    }\n    renderLabel(id) {\n        const { categoryName, tooltipPosition } = this.props;\n        const { isTooltipVisible } = this.state;\n        return isTooltipVisible ? (React.createElement(Tooltip, { position: tooltipPosition, content: categoryName },\n            React.createElement(\"span\", { tabIndex: 0, ref: this.headingRef, className: css(styles.chipGroupLabel) },\n                React.createElement(\"span\", { id: id }, categoryName)))) : (React.createElement(\"span\", { ref: this.headingRef, className: css(styles.chipGroupLabel), id: id }, categoryName));\n    }\n    render() {\n        const _a = this.props, { categoryName, children, className, isClosable, closeBtnAriaLabel, 'aria-label': ariaLabel, onClick, onOverflowChipClick, numChips, expandedText, collapsedText, ouiaId, \n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        defaultIsOpen, tooltipPosition } = _a, \n        /* eslint-enable @typescript-eslint/no-unused-vars */\n        rest = __rest(_a, [\"categoryName\", \"children\", \"className\", \"isClosable\", \"closeBtnAriaLabel\", 'aria-label', \"onClick\", \"onOverflowChipClick\", \"numChips\", \"expandedText\", \"collapsedText\", \"ouiaId\", \"defaultIsOpen\", \"tooltipPosition\"]);\n        const { isOpen } = this.state;\n        const numChildren = React.Children.count(children);\n        const collapsedTextResult = fillTemplate(collapsedText, {\n            remaining: React.Children.count(children) - numChips\n        });\n        const renderChipGroup = (id) => {\n            const chipArray = !isOpen\n                ? React.Children.toArray(children).slice(0, numChips)\n                : React.Children.toArray(children);\n            return (React.createElement(\"div\", Object.assign({ className: css(styles.chipGroup, className, categoryName && styles.modifiers.category), role: \"group\" }, (categoryName && { 'aria-labelledby': id }), (!categoryName && { 'aria-label': ariaLabel }), getOUIAProps(ChipGroup.displayName, ouiaId)),\n                React.createElement(\"div\", { className: css(styles.chipGroupMain) },\n                    categoryName && this.renderLabel(id),\n                    React.createElement(\"ul\", Object.assign({ className: css(styles.chipGroupList) }, (categoryName && { 'aria-labelledby': id }), (!categoryName && { 'aria-label': ariaLabel }), { role: \"list\" }, rest),\n                        chipArray.map((child, i) => (React.createElement(\"li\", { className: css(styles.chipGroupListItem), key: i }, child))),\n                        numChildren > numChips && (React.createElement(\"li\", { className: css(styles.chipGroupListItem) },\n                            React.createElement(Chip, { isOverflowChip: true, onClick: event => {\n                                    this.toggleCollapse();\n                                    onOverflowChipClick(event);\n                                }, component: \"button\" }, isOpen ? expandedText : collapsedTextResult))))),\n                isClosable && (React.createElement(\"div\", { className: css(styles.chipGroupClose) },\n                    React.createElement(Button, { variant: \"plain\", \"aria-label\": closeBtnAriaLabel, onClick: onClick, id: `remove_group_${id}`, \"aria-labelledby\": `remove_group_${id} ${id}`, ouiaId: ouiaId || closeBtnAriaLabel },\n                        React.createElement(TimesCircleIcon, { \"aria-hidden\": \"true\" }))))));\n        };\n        return numChildren === 0 ? null : React.createElement(GenerateId, null, randomId => renderChipGroup(this.props.id || randomId));\n    }\n}\nChipGroup.displayName = 'ChipGroup';\nChipGroup.defaultProps = {\n    expandedText: 'Show Less',\n    collapsedText: '${remaining} more',\n    categoryName: '',\n    defaultIsOpen: false,\n    numChips: 3,\n    isClosable: false,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onClick: (_e) => undefined,\n    onOverflowChipClick: (_e) => undefined,\n    closeBtnAriaLabel: 'Close chip group',\n    tooltipPosition: 'top',\n    'aria-label': 'Chip group category'\n};\n//# sourceMappingURL=ChipGroup.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/Select/select';\nimport badgeStyles from '@patternfly/react-styles/css/components/Badge/badge';\nimport formStyles from '@patternfly/react-styles/css/components/FormControl/form-control';\nimport buttonStyles from '@patternfly/react-styles/css/components/Button/button';\nimport { css } from '@patternfly/react-styles';\nimport TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';\nimport CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';\nimport ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';\nimport ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';\nimport { SelectMenu } from './SelectMenu';\nimport { SelectOption } from './SelectOption';\nimport { SelectGroup } from './SelectGroup';\nimport { SelectToggle } from './SelectToggle';\nimport { SelectContext, SelectVariant, SelectPosition, SelectDirection, SelectFooterTabbableItems } from './selectConstants';\nimport { ChipGroup } from '../ChipGroup';\nimport { Chip } from '../Chip';\nimport { Spinner } from '../Spinner';\nimport { keyHandler, getNextIndex, getOUIAProps, getDefaultOUIAId, GenerateId } from '../../helpers';\nimport { KeyTypes } from '../../helpers/constants';\nimport { Divider } from '../Divider';\nimport { Popper } from '../../helpers/Popper/Popper';\nimport { createRenderableFavorites, extendItemsWithFavorite } from '../../helpers/favorites';\nimport { ValidatedOptions } from '../../helpers/constants';\nimport { findTabbableElements } from '../../helpers/util';\n// seed for the aria-labelledby ID\nlet currentId = 0;\nexport class Select extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.parentRef = React.createRef();\n        this.menuComponentRef = React.createRef();\n        this.filterRef = React.createRef();\n        this.clearRef = React.createRef();\n        this.inputRef = React.createRef();\n        this.refCollection = [[]];\n        this.optionContainerRefCollection = [];\n        this.footerRef = React.createRef();\n        this.state = {\n            focusFirstOption: false,\n            typeaheadInputValue: null,\n            typeaheadFilteredChildren: React.Children.toArray(this.props.children),\n            favoritesGroup: [],\n            typeaheadCurrIndex: -1,\n            typeaheadStoredIndex: -1,\n            creatableValue: '',\n            tabbedIntoFavoritesMenu: false,\n            ouiaStateId: getDefaultOUIAId(Select.displayName, this.props.variant),\n            viewMoreNextIndex: -1\n        };\n        this.getTypeaheadActiveChild = (typeaheadCurrIndex) => this.refCollection[typeaheadCurrIndex] ? this.refCollection[typeaheadCurrIndex][0] : null;\n        this.componentDidUpdate = (prevProps, prevState) => {\n            if (this.props.hasInlineFilter) {\n                this.refCollection[0][0] = this.filterRef.current;\n            }\n            // Move focus to top of the menu if state.focusFirstOption was updated to true and the menu does not have custom content\n            if (!prevState.focusFirstOption && this.state.focusFirstOption && !this.props.customContent) {\n                const firstRef = this.refCollection.find(ref => \n                // If a select option is disabled then ref[0] will be undefined, so we want to return\n                // the first ref that both a) is not null and b) is not disabled.\n                ref !== null && ref[0]);\n                if (firstRef && firstRef[0]) {\n                    firstRef[0].focus();\n                }\n            }\n            else if (\n            // if viewMoreNextIndex is not -1, view more was clicked, set focus on first newly loaded item\n            this.state.viewMoreNextIndex !== -1 &&\n                this.refCollection.length > this.state.viewMoreNextIndex &&\n                this.props.loadingVariant !== 'spinner' &&\n                this.refCollection[this.state.viewMoreNextIndex][0] &&\n                this.props.variant !== 'typeahead' && // do not hard focus newly added items for typeahead variants\n                this.props.variant !== 'typeaheadmulti') {\n                this.refCollection[this.state.viewMoreNextIndex][0].focus();\n                this.setState({ viewMoreNextIndex: -1 });\n            }\n            const checkUpdatedChildren = (prevChildren, currChildren) => Array.from(prevChildren).some((prevChild, index) => {\n                const prevChildProps = prevChild.props;\n                const currChild = currChildren[index];\n                const { props: currChildProps } = currChild;\n                if (prevChildProps && currChildProps) {\n                    return (prevChildProps.value !== currChildProps.value ||\n                        prevChildProps.label !== currChildProps.label ||\n                        prevChildProps.isDisabled !== currChildProps.isDisabled ||\n                        prevChildProps.isPlaceholder !== currChildProps.isPlaceholder);\n                }\n                else {\n                    return prevChild !== currChild;\n                }\n            });\n            const hasUpdatedChildren = prevProps.children.length !== this.props.children.length ||\n                checkUpdatedChildren(prevProps.children, this.props.children) ||\n                (this.props.isGrouped &&\n                    Array.from(prevProps.children).some((prevChild, index) => prevChild.type === SelectGroup &&\n                        prevChild.props.children &&\n                        this.props.children[index].props.children &&\n                        (prevChild.props.children.length !== this.props.children[index].props.children.length ||\n                            checkUpdatedChildren(prevChild.props.children, this.props.children[index].props.children))));\n            if (hasUpdatedChildren) {\n                this.updateTypeAheadFilteredChildren(prevState.typeaheadInputValue || '', null);\n            }\n            // for menus with favorites,\n            // if the number of favorites or typeahead filtered children has changed, the generated\n            // list of favorites needs to be updated\n            if (this.props.onFavorite &&\n                (this.props.favorites.length !== prevProps.favorites.length ||\n                    this.state.typeaheadFilteredChildren !== prevState.typeaheadFilteredChildren)) {\n                const tempRenderableChildren = this.props.variant === 'typeahead' || this.props.variant === 'typeaheadmulti'\n                    ? this.state.typeaheadFilteredChildren\n                    : this.props.children;\n                const renderableFavorites = createRenderableFavorites(tempRenderableChildren, this.props.isGrouped, this.props.favorites);\n                const favoritesGroup = renderableFavorites.length\n                    ? [\n                        React.createElement(SelectGroup, { key: \"favorites\", label: this.props.favoritesLabel }, renderableFavorites),\n                        React.createElement(Divider, { key: \"favorites-group-divider\" })\n                    ]\n                    : [];\n                this.setState({ favoritesGroup });\n            }\n        };\n        this.onEnter = () => {\n            this.setState({ focusFirstOption: true });\n        };\n        this.onToggle = (isExpanded, e) => {\n            const { isInputValuePersisted, onSelect, onToggle, hasInlineFilter } = this.props;\n            if (!isExpanded && isInputValuePersisted && onSelect) {\n                onSelect(undefined, this.inputRef.current ? this.inputRef.current.value : '');\n            }\n            if (isExpanded && hasInlineFilter) {\n                this.setState({\n                    focusFirstOption: true\n                });\n            }\n            onToggle(isExpanded, e);\n        };\n        this.onClose = () => {\n            const { isInputFilterPersisted } = this.props;\n            this.setState(Object.assign(Object.assign({ focusFirstOption: false, typeaheadInputValue: null }, (!isInputFilterPersisted && {\n                typeaheadFilteredChildren: React.Children.toArray(this.props.children)\n            })), { typeaheadCurrIndex: -1, tabbedIntoFavoritesMenu: false, viewMoreNextIndex: -1 }));\n        };\n        this.onChange = (e) => {\n            if (e.target.value.toString() !== '' && !this.props.isOpen) {\n                this.onToggle(true, e);\n            }\n            if (this.props.onTypeaheadInputChanged) {\n                this.props.onTypeaheadInputChanged(e.target.value.toString());\n            }\n            this.setState({\n                typeaheadCurrIndex: -1,\n                typeaheadInputValue: e.target.value,\n                creatableValue: e.target.value\n            });\n            this.updateTypeAheadFilteredChildren(e.target.value.toString(), e);\n            this.refCollection = [[]];\n        };\n        this.updateTypeAheadFilteredChildren = (typeaheadInputValue, e) => {\n            let typeaheadFilteredChildren;\n            const { onFilter, isCreatable, isCreateOptionOnTop, onCreateOption, createText, noResultsFoundText, children, isGrouped, isCreateSelectOptionObject, loadingVariant } = this.props;\n            if (onFilter) {\n                /* The updateTypeAheadFilteredChildren callback is not only called on input changes but also when the children change.\n                 * In this case the e is null but we can get the typeaheadInputValue from the state.\n                 */\n                typeaheadFilteredChildren = onFilter(e, e ? e.target.value : typeaheadInputValue) || children;\n            }\n            else {\n                let input;\n                try {\n                    input = new RegExp(typeaheadInputValue.toString(), 'i');\n                }\n                catch (err) {\n                    input = new RegExp(typeaheadInputValue.toString().replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'i');\n                }\n                const childrenArray = React.Children.toArray(children);\n                if (isGrouped) {\n                    const childFilter = (child) => child.props.value &&\n                        child.props.value.toString &&\n                        this.getDisplay(child.props.value.toString(), 'text').search(input) === 0;\n                    typeaheadFilteredChildren =\n                        typeaheadInputValue.toString() !== ''\n                            ? React.Children.map(children, group => {\n                                if (React.isValidElement(group) &&\n                                    group.type === SelectGroup) {\n                                    const filteredGroupChildren = React.Children.toArray(group.props.children).filter(childFilter);\n                                    if (filteredGroupChildren.length > 0) {\n                                        return React.cloneElement(group, {\n                                            titleId: group.props.label && group.props.label.replace(/\\W/g, '-'),\n                                            children: filteredGroupChildren\n                                        });\n                                    }\n                                }\n                                else {\n                                    return React.Children.toArray(group).filter(childFilter);\n                                }\n                            })\n                            : childrenArray;\n                }\n                else {\n                    typeaheadFilteredChildren =\n                        typeaheadInputValue.toString() !== ''\n                            ? childrenArray.filter(child => {\n                                const valueToCheck = child.props.value;\n                                // Dividers don't have value and should not be filtered\n                                if (!valueToCheck) {\n                                    return true;\n                                }\n                                const isSelectOptionObject = typeof valueToCheck !== 'string' &&\n                                    valueToCheck.toString &&\n                                    valueToCheck.compareTo;\n                                // View more option should be returned as not a match\n                                if (loadingVariant !== 'spinner' && (loadingVariant === null || loadingVariant === void 0 ? void 0 : loadingVariant.text) === valueToCheck) {\n                                    return true;\n                                }\n                                // spinner should be returned as not a match\n                                if (loadingVariant === 'spinner' && valueToCheck === 'loading') {\n                                    return true;\n                                }\n                                if (isSelectOptionObject) {\n                                    return valueToCheck.compareTo(typeaheadInputValue);\n                                }\n                                else {\n                                    return this.getDisplay(child.props.value.toString(), 'text').search(input) === 0;\n                                }\n                            })\n                            : childrenArray;\n                }\n            }\n            if (!typeaheadFilteredChildren) {\n                typeaheadFilteredChildren = [];\n            }\n            if (typeaheadFilteredChildren.length === 0) {\n                !isCreatable &&\n                    typeaheadFilteredChildren.push(React.createElement(SelectOption, { isDisabled: true, key: \"no-results\", value: noResultsFoundText, isNoResultsOption: true }));\n            }\n            if (isCreatable && typeaheadInputValue !== '') {\n                const newValue = typeaheadInputValue;\n                if (!typeaheadFilteredChildren.find((i) => i.props.value && i.props.value.toString().toLowerCase() === newValue.toString().toLowerCase())) {\n                    const newOptionValue = isCreateSelectOptionObject\n                        ? {\n                            toString: () => newValue,\n                            compareTo: value => this.toString()\n                                .toLowerCase()\n                                .includes(value.toString().toLowerCase())\n                        }\n                        : newValue;\n                    const createSelectOption = (React.createElement(SelectOption, { key: `create ${newValue}`, value: newOptionValue, onClick: () => onCreateOption && onCreateOption(newValue) },\n                        createText,\n                        \" \\\"\",\n                        newValue,\n                        \"\\\"\"));\n                    if (isCreateOptionOnTop) {\n                        typeaheadFilteredChildren.unshift(createSelectOption);\n                    }\n                    else {\n                        typeaheadFilteredChildren.push(createSelectOption);\n                    }\n                }\n            }\n            this.setState({\n                typeaheadFilteredChildren\n            });\n        };\n        this.onClick = (e) => {\n            if (!this.props.isOpen) {\n                this.onToggle(true, e);\n            }\n        };\n        this.clearSelection = (_e) => {\n            this.setState({\n                typeaheadInputValue: null,\n                typeaheadFilteredChildren: React.Children.toArray(this.props.children),\n                typeaheadCurrIndex: -1\n            });\n        };\n        this.sendRef = (optionRef, favoriteRef, optionContainerRef, index) => {\n            this.refCollection[index] = [optionRef, favoriteRef];\n            this.optionContainerRefCollection[index] = optionContainerRef;\n        };\n        this.handleMenuKeys = (index, innerIndex, position) => {\n            keyHandler(index, innerIndex, position, this.refCollection, this.refCollection);\n            if (this.props.variant === SelectVariant.typeahead || this.props.variant === SelectVariant.typeaheadMulti) {\n                if (position !== 'tab') {\n                    this.handleTypeaheadKeys(position);\n                }\n            }\n        };\n        this.moveFocus = (nextIndex, updateCurrentIndex = true) => {\n            const { isCreatable, createText } = this.props;\n            const hasDescriptionElm = Boolean(this.refCollection[nextIndex][0] && this.refCollection[nextIndex][0].classList.contains('pf-m-description'));\n            const isLoad = Boolean(this.refCollection[nextIndex][0] && this.refCollection[nextIndex][0].classList.contains('pf-m-load'));\n            const optionTextElm = hasDescriptionElm\n                ? this.refCollection[nextIndex][0].firstElementChild\n                : this.refCollection[nextIndex][0];\n            let typeaheadInputValue = '';\n            if (isCreatable && optionTextElm.textContent.includes(createText)) {\n                typeaheadInputValue = this.state.creatableValue;\n            }\n            else if (optionTextElm && !isLoad) {\n                // !isLoad prevents the view more button text from appearing the typeahead input\n                typeaheadInputValue = optionTextElm.textContent;\n            }\n            this.setState(prevState => ({\n                typeaheadCurrIndex: updateCurrentIndex ? nextIndex : prevState.typeaheadCurrIndex,\n                typeaheadStoredIndex: nextIndex,\n                typeaheadInputValue\n            }));\n        };\n        this.switchFocusToFavoriteMenu = () => {\n            const { typeaheadCurrIndex, typeaheadStoredIndex } = this.state;\n            let indexForFocus = 0;\n            if (typeaheadCurrIndex !== -1) {\n                indexForFocus = typeaheadCurrIndex;\n            }\n            else if (typeaheadStoredIndex !== -1) {\n                indexForFocus = typeaheadStoredIndex;\n            }\n            if (this.refCollection[indexForFocus] !== null && this.refCollection[indexForFocus][0] !== null) {\n                this.refCollection[indexForFocus][0].focus();\n            }\n            else {\n                this.clearRef.current.focus();\n            }\n            this.setState({\n                tabbedIntoFavoritesMenu: true,\n                typeaheadCurrIndex: -1\n            });\n        };\n        this.moveFocusToLastMenuItem = () => {\n            const refCollectionLen = this.refCollection.length;\n            if (refCollectionLen > 0 &&\n                this.refCollection[refCollectionLen - 1] !== null &&\n                this.refCollection[refCollectionLen - 1][0] !== null) {\n                this.refCollection[refCollectionLen - 1][0].focus();\n            }\n        };\n        this.handleTypeaheadKeys = (position, shiftKey = false) => {\n            const { isOpen, onFavorite, isCreatable } = this.props;\n            const { typeaheadCurrIndex, tabbedIntoFavoritesMenu } = this.state;\n            const typeaheadActiveChild = this.getTypeaheadActiveChild(typeaheadCurrIndex);\n            if (isOpen) {\n                if (position === 'enter') {\n                    if ((typeaheadCurrIndex !== -1 || (isCreatable && this.refCollection.length === 1)) && // do not allow selection without moving to an initial option unless it is a single create option\n                        (typeaheadActiveChild || (this.refCollection[0] && this.refCollection[0][0]))) {\n                        if (typeaheadActiveChild) {\n                            if (!typeaheadActiveChild.classList.contains('pf-m-load')) {\n                                const hasDescriptionElm = typeaheadActiveChild.childElementCount > 1;\n                                const typeaheadActiveChildText = hasDescriptionElm\n                                    ? typeaheadActiveChild.firstChild.textContent\n                                    : typeaheadActiveChild.textContent;\n                                this.setState({\n                                    typeaheadInputValue: typeaheadActiveChildText\n                                });\n                            }\n                        }\n                        else if (this.refCollection[0] && this.refCollection[0][0]) {\n                            this.setState({\n                                typeaheadInputValue: this.refCollection[0][0].textContent\n                            });\n                        }\n                        if (typeaheadActiveChild) {\n                            typeaheadActiveChild.click();\n                        }\n                        else {\n                            this.refCollection[0][0].click();\n                        }\n                    }\n                }\n                else if (position === 'tab') {\n                    if (onFavorite) {\n                        // if the input has focus, tab to the first item or the last item that was previously focused.\n                        if (this.inputRef.current === document.activeElement) {\n                            // If shift is also clicked and there is a footer, tab to the last item in tabbable footer\n                            if (this.props.footer && shiftKey) {\n                                const tabbableItems = findTabbableElements(this.footerRef, SelectFooterTabbableItems);\n                                if (tabbableItems.length > 0) {\n                                    if (tabbableItems[tabbableItems.length - 1]) {\n                                        tabbableItems[tabbableItems.length - 1].focus();\n                                    }\n                                }\n                            }\n                            else {\n                                this.switchFocusToFavoriteMenu();\n                            }\n                        }\n                        else {\n                            // focus is on menu or footer\n                            if (this.props.footer) {\n                                let tabbedIntoMenu = false;\n                                const tabbableItems = findTabbableElements(this.footerRef, SelectFooterTabbableItems);\n                                if (tabbableItems.length > 0) {\n                                    // if current element is not in footer, tab to first tabbable element in footer,\n                                    // if shift was clicked, tab to input since focus is on menu\n                                    const currentElementIndex = tabbableItems.findIndex((item) => item === document.activeElement);\n                                    if (currentElementIndex === -1) {\n                                        if (shiftKey) {\n                                            // currently in menu, shift back to input\n                                            this.inputRef.current.focus();\n                                        }\n                                        else {\n                                            // currently in menu, tab to first tabbable item in footer\n                                            tabbableItems[0].focus();\n                                        }\n                                    }\n                                    else {\n                                        // already in footer\n                                        if (shiftKey) {\n                                            // shift to previous item\n                                            if (currentElementIndex === 0) {\n                                                // on first footer item, shift back to menu\n                                                this.switchFocusToFavoriteMenu();\n                                                tabbedIntoMenu = true;\n                                            }\n                                            else {\n                                                // shift to previous footer item\n                                                tabbableItems[currentElementIndex - 1].focus();\n                                            }\n                                        }\n                                        else {\n                                            // tab to next tabbable item in footer or to input.\n                                            if (tabbableItems[currentElementIndex + 1]) {\n                                                tabbableItems[currentElementIndex + 1].focus();\n                                            }\n                                            else {\n                                                this.inputRef.current.focus();\n                                            }\n                                        }\n                                    }\n                                }\n                                else {\n                                    // no tabbable items in footer, tab to input\n                                    this.inputRef.current.focus();\n                                    tabbedIntoMenu = false;\n                                }\n                                this.setState({ tabbedIntoFavoritesMenu: tabbedIntoMenu });\n                            }\n                            else {\n                                this.inputRef.current.focus();\n                                this.setState({ tabbedIntoFavoritesMenu: false });\n                            }\n                        }\n                    }\n                    else {\n                        // Close if there is no footer\n                        if (!this.props.footer) {\n                            this.onToggle(false, null);\n                            this.onClose();\n                        }\n                        else {\n                            // has footer\n                            const tabbableItems = findTabbableElements(this.footerRef, SelectFooterTabbableItems);\n                            const currentElementIndex = tabbableItems.findIndex((item) => item === document.activeElement);\n                            if (this.inputRef.current === document.activeElement) {\n                                if (shiftKey) {\n                                    // close toggle if shift key and tab on input\n                                    this.onToggle(false, null);\n                                    this.onClose();\n                                }\n                                else {\n                                    // tab to first tabbable item in footer\n                                    if (tabbableItems[0]) {\n                                        tabbableItems[0].focus();\n                                    }\n                                    else {\n                                        this.onToggle(false, null);\n                                        this.onClose();\n                                    }\n                                }\n                            }\n                            else {\n                                // focus is in footer\n                                if (shiftKey) {\n                                    if (currentElementIndex === 0) {\n                                        // shift tab back to input\n                                        this.inputRef.current.focus();\n                                    }\n                                    else {\n                                        // shift to previous footer item\n                                        tabbableItems[currentElementIndex - 1].focus();\n                                    }\n                                }\n                                else {\n                                    // tab to next footer item or close tab if last item\n                                    if (tabbableItems[currentElementIndex + 1]) {\n                                        tabbableItems[currentElementIndex + 1].focus();\n                                    }\n                                    else {\n                                        // no next item, close toggle\n                                        this.onToggle(false, null);\n                                        this.inputRef.current.focus();\n                                        this.onClose();\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n                else if (!tabbedIntoFavoritesMenu) {\n                    if (this.refCollection[0][0] === null) {\n                        return;\n                    }\n                    let nextIndex;\n                    if (typeaheadCurrIndex === -1 && position === 'down') {\n                        nextIndex = 0;\n                    }\n                    else if (typeaheadCurrIndex === -1 && position === 'up') {\n                        nextIndex = this.refCollection.length - 1;\n                    }\n                    else if (position !== 'left' && position !== 'right') {\n                        nextIndex = getNextIndex(typeaheadCurrIndex, position, this.refCollection);\n                    }\n                    else {\n                        nextIndex = typeaheadCurrIndex;\n                    }\n                    if (this.refCollection[nextIndex] === null) {\n                        return;\n                    }\n                    this.moveFocus(nextIndex);\n                }\n                else {\n                    const nextIndex = this.refCollection.findIndex(ref => ref !== undefined && (ref[0] === document.activeElement || ref[1] === document.activeElement));\n                    this.moveFocus(nextIndex);\n                }\n            }\n        };\n        this.onClickTypeaheadToggleButton = () => {\n            if (this.inputRef && this.inputRef.current) {\n                this.inputRef.current.focus();\n            }\n        };\n        this.getDisplay = (value, type = 'node') => {\n            if (!value) {\n                return;\n            }\n            const item = this.props.isGrouped\n                ? React.Children.toArray(this.props.children)\n                    .reduce((acc, curr) => [...acc, ...React.Children.toArray(curr.props.children)], [])\n                    .find(child => child.props.value.toString() === value.toString())\n                : React.Children.toArray(this.props.children).find(child => child.props.value &&\n                    child.props.value.toString() === value.toString());\n            if (item) {\n                if (item && item.props.children) {\n                    if (type === 'node') {\n                        return item.props.children;\n                    }\n                    return this.findText(item);\n                }\n                return item.props.value.toString();\n            }\n            return value.toString();\n        };\n        this.findText = (item) => {\n            if (typeof item === 'string') {\n                return item;\n            }\n            else if (!React.isValidElement(item)) {\n                return '';\n            }\n            else {\n                const multi = [];\n                React.Children.toArray(item.props.children).forEach(child => multi.push(this.findText(child)));\n                return multi.join('');\n            }\n        };\n        this.generateSelectedBadge = () => {\n            const { customBadgeText, selections } = this.props;\n            if (customBadgeText !== null) {\n                return customBadgeText;\n            }\n            if (Array.isArray(selections) && selections.length > 0) {\n                return selections.length;\n            }\n            return null;\n        };\n        this.setVieMoreNextIndex = () => {\n            this.setState({ viewMoreNextIndex: this.refCollection.length - 1 });\n        };\n        this.isLastOptionBeforeFooter = (index) => this.props.footer && index === this.refCollection.length - 1 ? true : false;\n    }\n    extendTypeaheadChildren(typeaheadCurrIndex, favoritesGroup) {\n        const { isGrouped, onFavorite, createText } = this.props;\n        const typeaheadChildren = favoritesGroup\n            ? favoritesGroup.concat(this.state.typeaheadFilteredChildren)\n            : this.state.typeaheadFilteredChildren;\n        const activeElement = this.optionContainerRefCollection[typeaheadCurrIndex];\n        let typeaheadActiveChild = this.getTypeaheadActiveChild(typeaheadCurrIndex);\n        if (typeaheadActiveChild && typeaheadActiveChild.classList.contains('pf-m-description')) {\n            typeaheadActiveChild = typeaheadActiveChild.firstElementChild;\n        }\n        this.refCollection = [[]];\n        this.optionContainerRefCollection = [];\n        if (isGrouped) {\n            return React.Children.map(typeaheadChildren, (group) => {\n                if (group.type === Divider) {\n                    return group;\n                }\n                else if (group.type === SelectGroup && onFavorite) {\n                    return React.cloneElement(group, {\n                        titleId: group.props.label && group.props.label.replace(/\\W/g, '-'),\n                        children: React.Children.map(group.props.children, (child) => child.type === Divider\n                            ? child\n                            : React.cloneElement(child, {\n                                isFocused: activeElement &&\n                                    (activeElement.id === child.props.id ||\n                                        (this.props.isCreatable &&\n                                            typeaheadActiveChild.textContent ===\n                                                `${createText} \"${group.props.value}\"`))\n                            }))\n                    });\n                }\n                else if (group.type === SelectGroup) {\n                    return React.cloneElement(group, {\n                        titleId: group.props.label && group.props.label.replace(/\\W/g, '-'),\n                        children: React.Children.map(group.props.children, (child) => child.type === Divider\n                            ? child\n                            : React.cloneElement(child, {\n                                isFocused: typeaheadActiveChild &&\n                                    (typeaheadActiveChild.textContent === child.props.value.toString() ||\n                                        (this.props.isCreatable &&\n                                            typeaheadActiveChild.textContent ===\n                                                `${createText} \"${child.props.value}\"`))\n                            }))\n                    });\n                }\n                else {\n                    // group has been filtered down to SelectOption\n                    return React.cloneElement(group, {\n                        isFocused: typeaheadActiveChild &&\n                            (typeaheadActiveChild.textContent === group.props.value.toString() ||\n                                (this.props.isCreatable && typeaheadActiveChild.textContent === `${createText} \"${group.props.value}\"`))\n                    });\n                }\n            });\n        }\n        return typeaheadChildren.map((child, index) => {\n            const childElement = child;\n            return childElement.type.displayName === 'Divider'\n                ? child\n                : React.cloneElement(child, {\n                    isFocused: typeaheadActiveChild\n                        ? typeaheadActiveChild.textContent === child.props.value.toString() ||\n                            (this.props.isCreatable &&\n                                typeaheadActiveChild.textContent === `${createText} \"${child.props.value}\"`)\n                        : index === typeaheadCurrIndex // fallback for view more + typeahead use cases, when the new expanded list is loaded and refCollection hasn't be updated yet\n                });\n        });\n    }\n    render() {\n        const _a = this.props, { children, chipGroupProps, chipGroupComponent, className, customContent, variant, direction, onSelect, onClear, onBlur, toggleId, toggleRef, isOpen, isGrouped, isPlain, isDisabled, hasPlaceholderStyle, validated, selections: selectionsProp, typeAheadAriaLabel, typeAheadAriaDescribedby, clearSelectionsAriaLabel, toggleAriaLabel, removeSelectionAriaLabel, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedby, 'aria-invalid': ariaInvalid, placeholderText, width, maxHeight, toggleIcon, toggleIndicator, ouiaId, ouiaSafe, hasInlineFilter, isCheckboxSelectionBadgeHidden, inlineFilterPlaceholderText, \n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        onFilter, \n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        onTypeaheadInputChanged, onCreateOption, isCreatable, onToggle, createText, noResultsFoundText, customBadgeText, inputIdPrefix, inputAutoComplete, \n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        isInputValuePersisted, isInputFilterPersisted, \n        /* eslint-enable @typescript-eslint/no-unused-vars */\n        menuAppendTo, favorites, onFavorite, \n        /* eslint-disable @typescript-eslint/no-unused-vars */\n        favoritesLabel, footer, loadingVariant, isCreateSelectOptionObject, isCreateOptionOnTop, shouldResetOnSelect, isFlipEnabled, removeFindDomNode, zIndex } = _a, props = __rest(_a, [\"children\", \"chipGroupProps\", \"chipGroupComponent\", \"className\", \"customContent\", \"variant\", \"direction\", \"onSelect\", \"onClear\", \"onBlur\", \"toggleId\", \"toggleRef\", \"isOpen\", \"isGrouped\", \"isPlain\", \"isDisabled\", \"hasPlaceholderStyle\", \"validated\", \"selections\", \"typeAheadAriaLabel\", \"typeAheadAriaDescribedby\", \"clearSelectionsAriaLabel\", \"toggleAriaLabel\", \"removeSelectionAriaLabel\", 'aria-label', 'aria-labelledby', 'aria-describedby', 'aria-invalid', \"placeholderText\", \"width\", \"maxHeight\", \"toggleIcon\", \"toggleIndicator\", \"ouiaId\", \"ouiaSafe\", \"hasInlineFilter\", \"isCheckboxSelectionBadgeHidden\", \"inlineFilterPlaceholderText\", \"onFilter\", \"onTypeaheadInputChanged\", \"onCreateOption\", \"isCreatable\", \"onToggle\", \"createText\", \"noResultsFoundText\", \"customBadgeText\", \"inputIdPrefix\", \"inputAutoComplete\", \"isInputValuePersisted\", \"isInputFilterPersisted\", \"menuAppendTo\", \"favorites\", \"onFavorite\", \"favoritesLabel\", \"footer\", \"loadingVariant\", \"isCreateSelectOptionObject\", \"isCreateOptionOnTop\", \"shouldResetOnSelect\", \"isFlipEnabled\", \"removeFindDomNode\", \"zIndex\"]);\n        const { focusFirstOption: openedOnEnter, typeaheadCurrIndex, typeaheadInputValue, typeaheadFilteredChildren, favoritesGroup } = this.state;\n        const selectToggleId = toggleId || `pf-select-toggle-id-${currentId++}`;\n        const selections = Array.isArray(selectionsProp) ? selectionsProp : [selectionsProp];\n        // Find out if the selected option is a placeholder\n        const selectedOption = React.Children.toArray(children).find((option) => option.props.value === selections[0]);\n        const isSelectedPlaceholder = selectedOption && selectedOption.props.isPlaceholder;\n        const hasAnySelections = Boolean(selections[0] && selections[0] !== '');\n        const typeaheadActiveChild = this.getTypeaheadActiveChild(typeaheadCurrIndex);\n        let childPlaceholderText = null;\n        // If onFavorites is set,  add isFavorite prop to children and add a Favorites group to the SelectMenu\n        let renderableItems = [];\n        if (onFavorite) {\n            // if variant is type-ahead call the extendTypeaheadChildren before adding favorites\n            let tempExtendedChildren = children;\n            if (variant === 'typeahead' || variant === 'typeaheadmulti') {\n                tempExtendedChildren = this.extendTypeaheadChildren(typeaheadCurrIndex, favoritesGroup);\n            }\n            else if (onFavorite) {\n                tempExtendedChildren = favoritesGroup.concat(children);\n            }\n            // mark items that are favorited with isFavorite\n            renderableItems = extendItemsWithFavorite(tempExtendedChildren, isGrouped, favorites);\n        }\n        else {\n            renderableItems = children;\n        }\n        if (!customContent) {\n            if (!hasAnySelections && !placeholderText) {\n                const childPlaceholder = React.Children.toArray(children).filter((child) => child.props.isPlaceholder === true);\n                childPlaceholderText =\n                    (childPlaceholder[0] && this.getDisplay(childPlaceholder[0].props.value, 'node')) ||\n                        (children[0] && this.getDisplay(children[0].props.value, 'node'));\n            }\n        }\n        if (isOpen) {\n            if (renderableItems.find(item => (item === null || item === void 0 ? void 0 : item.key) === 'loading') === undefined) {\n                if (loadingVariant === 'spinner') {\n                    renderableItems.push(React.createElement(SelectOption, { isLoading: true, key: \"loading\", value: \"loading\" },\n                        React.createElement(Spinner, { size: \"lg\" })));\n                }\n                else if (loadingVariant === null || loadingVariant === void 0 ? void 0 : loadingVariant.text) {\n                    renderableItems.push(React.createElement(SelectOption, { isLoad: true, key: \"loading\", value: loadingVariant.text, setViewMoreNextIndex: this.setVieMoreNextIndex, onClick: loadingVariant === null || loadingVariant === void 0 ? void 0 : loadingVariant.onClick }));\n                }\n            }\n        }\n        const hasOnClear = onClear !== Select.defaultProps.onClear;\n        const clearBtn = (React.createElement(\"button\", { className: css(buttonStyles.button, buttonStyles.modifiers.plain, styles.selectToggleClear), onClick: e => {\n                this.clearSelection(e);\n                onClear(e);\n                e.stopPropagation();\n            }, \"aria-label\": clearSelectionsAriaLabel, type: \"button\", disabled: isDisabled, ref: this.clearRef, onKeyDown: event => {\n                if (event.key === KeyTypes.Enter) {\n                    this.clearRef.current.click();\n                }\n            } },\n            React.createElement(TimesCircleIcon, { \"aria-hidden\": true })));\n        let selectedChips = null;\n        if (variant === SelectVariant.typeaheadMulti) {\n            selectedChips = chipGroupComponent ? (chipGroupComponent) : (React.createElement(ChipGroup, Object.assign({}, chipGroupProps), selections &&\n                selections.map(item => (React.createElement(Chip, { key: item, onClick: (e) => onSelect(e, item), closeBtnAriaLabel: removeSelectionAriaLabel }, this.getDisplay(item, 'node'))))));\n        }\n        if (hasInlineFilter) {\n            const filterBox = (React.createElement(React.Fragment, null,\n                React.createElement(\"div\", { key: \"inline-filter\", className: css(styles.selectMenuSearch) },\n                    React.createElement(\"input\", { key: \"inline-filter-input\", type: \"search\", className: css(formStyles.formControl, formStyles.modifiers.search), onChange: this.onChange, placeholder: inlineFilterPlaceholderText, onKeyDown: event => {\n                            if (event.key === KeyTypes.ArrowUp) {\n                                this.handleMenuKeys(0, 0, 'up');\n                                event.preventDefault();\n                            }\n                            else if (event.key === KeyTypes.ArrowDown) {\n                                this.handleMenuKeys(0, 0, 'down');\n                                event.preventDefault();\n                            }\n                            else if (event.key === KeyTypes.ArrowLeft) {\n                                this.handleMenuKeys(0, 0, 'left');\n                                event.preventDefault();\n                            }\n                            else if (event.key === KeyTypes.ArrowRight) {\n                                this.handleMenuKeys(0, 0, 'right');\n                                event.preventDefault();\n                            }\n                            else if (event.key === KeyTypes.Tab && variant !== SelectVariant.checkbox && this.props.footer) {\n                                // tab to footer or close menu if shift key\n                                if (event.shiftKey) {\n                                    this.onToggle(false, event);\n                                }\n                                else {\n                                    const tabbableItems = findTabbableElements(this.footerRef, SelectFooterTabbableItems);\n                                    if (tabbableItems.length > 0) {\n                                        tabbableItems[0].focus();\n                                        event.stopPropagation();\n                                        event.preventDefault();\n                                    }\n                                    else {\n                                        this.onToggle(false, event);\n                                    }\n                                }\n                            }\n                            else if (event.key === KeyTypes.Tab && variant === SelectVariant.checkbox) {\n                                // More modal-like experience for checkboxes\n                                // Let SelectOption handle this\n                                if (event.shiftKey) {\n                                    this.handleMenuKeys(0, 0, 'up');\n                                }\n                                else {\n                                    this.handleMenuKeys(0, 0, 'down');\n                                }\n                                event.stopPropagation();\n                                event.preventDefault();\n                            }\n                        }, ref: this.filterRef, autoComplete: inputAutoComplete })),\n                React.createElement(Divider, { key: \"inline-filter-divider\" })));\n            renderableItems = [filterBox, ...typeaheadFilteredChildren].map((option, index) => React.cloneElement(option, { key: index }));\n        }\n        let variantProps;\n        let variantChildren;\n        if (customContent) {\n            variantProps = {\n                selected: selections,\n                openedOnEnter,\n                isCustomContent: true\n            };\n            variantChildren = customContent;\n        }\n        else {\n            switch (variant) {\n                case 'single':\n                    variantProps = {\n                        selected: selections[0],\n                        hasInlineFilter,\n                        openedOnEnter\n                    };\n                    variantChildren = renderableItems;\n                    break;\n                case 'checkbox':\n                    variantProps = {\n                        checked: selections,\n                        isGrouped,\n                        hasInlineFilter,\n                        openedOnEnter\n                    };\n                    variantChildren = renderableItems;\n                    break;\n                case 'typeahead':\n                    variantProps = {\n                        selected: selections[0],\n                        openedOnEnter\n                    };\n                    variantChildren = onFavorite ? renderableItems : this.extendTypeaheadChildren(typeaheadCurrIndex);\n                    if (variantChildren.length === 0) {\n                        variantChildren.push(React.createElement(SelectOption, { isDisabled: true, key: 0, value: noResultsFoundText, isNoResultsOption: true }));\n                    }\n                    break;\n                case 'typeaheadmulti':\n                    variantProps = {\n                        selected: selections,\n                        openedOnEnter\n                    };\n                    variantChildren = onFavorite ? renderableItems : this.extendTypeaheadChildren(typeaheadCurrIndex);\n                    if (variantChildren.length === 0) {\n                        variantChildren.push(React.createElement(SelectOption, { isDisabled: true, key: 0, value: noResultsFoundText, isNoResultsOption: true }));\n                    }\n                    break;\n            }\n        }\n        const isStatic = isFlipEnabled && menuAppendTo !== 'inline';\n        const innerMenu = (React.createElement(SelectMenu, Object.assign({ className: css(isStatic && styles.modifiers.static) }, props, { isGrouped: isGrouped, selected: selections }, variantProps, { openedOnEnter: openedOnEnter, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, sendRef: this.sendRef, keyHandler: this.handleMenuKeys, maxHeight: maxHeight, ref: this.menuComponentRef, footer: footer, footerRef: this.footerRef, isLastOptionBeforeFooter: this.isLastOptionBeforeFooter }), variantChildren));\n        const menuContainer = footer ? React.createElement(\"div\", { className: css(styles.selectMenu) },\n            \" \",\n            innerMenu,\n            \" \") : innerMenu;\n        const popperContainer = (React.createElement(\"div\", Object.assign({ className: css(styles.select, isOpen && styles.modifiers.expanded, validated === ValidatedOptions.success && styles.modifiers.success, validated === ValidatedOptions.warning && styles.modifiers.warning, validated === ValidatedOptions.error && styles.modifiers.invalid, direction === SelectDirection.up && styles.modifiers.top, className) }, (width && { style: { width } }), (validated !== ValidatedOptions.default && { 'aria-invalid': ariaInvalid })), isOpen && menuContainer));\n        const mainContainer = (React.createElement(\"div\", Object.assign({ className: css(styles.select, isOpen && styles.modifiers.expanded, validated === ValidatedOptions.success && styles.modifiers.success, validated === ValidatedOptions.warning && styles.modifiers.warning, validated === ValidatedOptions.error && styles.modifiers.invalid, direction === SelectDirection.up && styles.modifiers.top, className), ref: this.parentRef }, getOUIAProps(Select.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId, ouiaSafe), (width && { style: { width } }), (validated !== ValidatedOptions.default && { 'aria-invalid': ariaInvalid })),\n            React.createElement(SelectToggle, Object.assign({ id: selectToggleId, parentRef: this.parentRef, menuRef: this.menuComponentRef, ref: toggleRef }, (footer && { footerRef: this.footerRef }), { isOpen: isOpen, isPlain: isPlain, hasPlaceholderStyle: hasPlaceholderStyle && (!selections.length || selections[0] === null || isSelectedPlaceholder), onToggle: this.onToggle, onEnter: this.onEnter, onClose: this.onClose, onBlur: onBlur, variant: variant, toggleIndicator: toggleIndicator, \"aria-labelledby\": `${ariaLabelledBy || ''} ${selectToggleId}`, \"aria-label\": toggleAriaLabel }, (ariaDescribedby && { 'aria-describedby': ariaDescribedby }), { handleTypeaheadKeys: this.handleTypeaheadKeys, moveFocusToLastMenuItem: this.moveFocusToLastMenuItem, isDisabled: isDisabled, hasClearButton: hasOnClear, hasFooter: footer !== undefined, onClickTypeaheadToggleButton: this.onClickTypeaheadToggleButton }),\n                customContent && (React.createElement(\"div\", { className: css(styles.selectToggleWrapper) },\n                    toggleIcon && React.createElement(\"span\", { className: css(styles.selectToggleIcon) }, toggleIcon),\n                    React.createElement(\"span\", { className: css(styles.selectToggleText) }, placeholderText))),\n                variant === SelectVariant.single && !customContent && (React.createElement(React.Fragment, null,\n                    React.createElement(\"div\", { className: css(styles.selectToggleWrapper) },\n                        toggleIcon && React.createElement(\"span\", { className: css(styles.selectToggleIcon) }, toggleIcon),\n                        React.createElement(\"span\", { className: css(styles.selectToggleText) }, this.getDisplay(selections[0], 'node') || placeholderText || childPlaceholderText)),\n                    hasOnClear && hasAnySelections && clearBtn)),\n                variant === SelectVariant.checkbox && !customContent && (React.createElement(React.Fragment, null,\n                    React.createElement(\"div\", { className: css(styles.selectToggleWrapper) },\n                        toggleIcon && React.createElement(\"span\", { className: css(styles.selectToggleIcon) }, toggleIcon),\n                        React.createElement(\"span\", { className: css(styles.selectToggleText) }, placeholderText),\n                        !isCheckboxSelectionBadgeHidden && hasAnySelections && (React.createElement(\"div\", { className: css(styles.selectToggleBadge) },\n                            React.createElement(\"span\", { className: css(badgeStyles.badge, badgeStyles.modifiers.read) }, this.generateSelectedBadge())))),\n                    hasOnClear && hasAnySelections && clearBtn)),\n                variant === SelectVariant.typeahead && !customContent && (React.createElement(React.Fragment, null,\n                    React.createElement(\"div\", { className: css(styles.selectToggleWrapper) },\n                        toggleIcon && React.createElement(\"span\", { className: css(styles.selectToggleIcon) }, toggleIcon),\n                        React.createElement(\"input\", Object.assign({ className: css(formStyles.formControl, styles.selectToggleTypeahead), \"aria-activedescendant\": typeaheadActiveChild && typeaheadActiveChild.id, id: `${selectToggleId}-select-typeahead`, \"aria-label\": typeAheadAriaLabel }, (typeAheadAriaDescribedby && { 'aria-describedby': typeAheadAriaDescribedby }), { placeholder: placeholderText, value: typeaheadInputValue !== null\n                                ? typeaheadInputValue\n                                : this.getDisplay(selections[0], 'text') || '', type: \"text\", onClick: this.onClick, onChange: this.onChange, autoComplete: inputAutoComplete, disabled: isDisabled, ref: this.inputRef }))),\n                    hasOnClear && (selections[0] || typeaheadInputValue) && clearBtn)),\n                variant === SelectVariant.typeaheadMulti && !customContent && (React.createElement(React.Fragment, null,\n                    React.createElement(\"div\", { className: css(styles.selectToggleWrapper) },\n                        toggleIcon && React.createElement(\"span\", { className: css(styles.selectToggleIcon) }, toggleIcon),\n                        selections && Array.isArray(selections) && selections.length > 0 && selectedChips,\n                        React.createElement(\"input\", Object.assign({ className: css(formStyles.formControl, styles.selectToggleTypeahead), \"aria-activedescendant\": typeaheadActiveChild && typeaheadActiveChild.id, id: `${selectToggleId}-select-multi-typeahead-typeahead`, \"aria-label\": typeAheadAriaLabel, \"aria-invalid\": validated === ValidatedOptions.error }, (typeAheadAriaDescribedby && { 'aria-describedby': typeAheadAriaDescribedby }), { placeholder: placeholderText, value: typeaheadInputValue !== null ? typeaheadInputValue : '', type: \"text\", onChange: this.onChange, onClick: this.onClick, autoComplete: inputAutoComplete, disabled: isDisabled, ref: this.inputRef }))),\n                    hasOnClear && ((selections && selections.length > 0) || typeaheadInputValue) && clearBtn)),\n                validated === ValidatedOptions.success && (React.createElement(\"span\", { className: css(styles.selectToggleStatusIcon) },\n                    React.createElement(CheckCircleIcon, { \"aria-hidden\": \"true\" }))),\n                validated === ValidatedOptions.error && (React.createElement(\"span\", { className: css(styles.selectToggleStatusIcon) },\n                    React.createElement(ExclamationCircleIcon, { \"aria-hidden\": \"true\" }))),\n                validated === ValidatedOptions.warning && (React.createElement(\"span\", { className: css(styles.selectToggleStatusIcon) },\n                    React.createElement(ExclamationTriangleIcon, { \"aria-hidden\": \"true\" })))),\n            isOpen && menuAppendTo === 'inline' && menuContainer));\n        const getParentElement = () => {\n            if (this.parentRef && this.parentRef.current) {\n                return this.parentRef.current.parentElement;\n            }\n            return null;\n        };\n        return (React.createElement(GenerateId, null, randomId => (React.createElement(SelectContext.Provider, { value: {\n                onSelect,\n                onFavorite,\n                onClose: this.onClose,\n                variant,\n                inputIdPrefix: inputIdPrefix || randomId,\n                shouldResetOnSelect\n            } }, menuAppendTo === 'inline' ? (mainContainer) : (React.createElement(Popper, { trigger: mainContainer, popper: popperContainer, direction: direction, appendTo: menuAppendTo === 'parent' ? getParentElement() : menuAppendTo, isVisible: isOpen, removeFindDomNode: removeFindDomNode, zIndex: zIndex }))))));\n    }\n}\nSelect.displayName = 'Select';\nSelect.defaultProps = {\n    children: [],\n    className: '',\n    position: SelectPosition.left,\n    direction: SelectDirection.down,\n    toggleId: null,\n    isOpen: false,\n    isGrouped: false,\n    isPlain: false,\n    isDisabled: false,\n    hasPlaceholderStyle: false,\n    isCreatable: false,\n    isCreateOptionOnTop: false,\n    validated: 'default',\n    'aria-label': '',\n    'aria-labelledby': '',\n    'aria-describedby': '',\n    'aria-invalid': false,\n    typeAheadAriaLabel: '',\n    typeAheadAriaDescribedby: '',\n    clearSelectionsAriaLabel: 'Clear all',\n    toggleAriaLabel: 'Options menu',\n    removeSelectionAriaLabel: 'Remove',\n    selections: [],\n    createText: 'Create',\n    placeholderText: '',\n    noResultsFoundText: 'No results found',\n    variant: SelectVariant.single,\n    width: '',\n    onClear: () => undefined,\n    onCreateOption: () => undefined,\n    toggleIcon: null,\n    toggleIndicator: null,\n    onFilter: null,\n    onTypeaheadInputChanged: null,\n    customContent: null,\n    hasInlineFilter: false,\n    inlineFilterPlaceholderText: null,\n    customBadgeText: null,\n    inputIdPrefix: '',\n    inputAutoComplete: 'off',\n    menuAppendTo: 'inline',\n    favorites: [],\n    favoritesLabel: 'Favorites',\n    ouiaSafe: true,\n    chipGroupComponent: null,\n    isInputValuePersisted: false,\n    isInputFilterPersisted: false,\n    isCreateSelectOptionObject: false,\n    shouldResetOnSelect: true,\n    isFlipEnabled: true,\n    removeFindDomNode: false,\n    zIndex: 9999\n};\n//# sourceMappingURL=Select.js.map"],"names":["ApplicationLauncherSeparator","_a","props","__rest","React.createElement","DropdownSeparator","createRenderableFavorites","items","isGrouped","favorites","isEnterTriggersArrowDown","favoriteItems","group","item","React.cloneElement","extendItemsWithFavorite","React.Children","Divider","favoriteId","styles$2","TimesCircleIconConfig","TimesCircleIcon","createIcon","TimesCircleIcon$1","SelectContext","React.createContext","SelectConsumer","SelectVariant","SelectPosition","SelectDirection","SelectFooterTabbableItems","SelectOption","React.Component","React.createRef","event","innerIndex","onEnter","isCheckbox","index","keyHandler","isLastOptionBeforeFooter","isLastItemBeforeFooter","KeyTypes","children","className","id","description","itemCount","value","onClick","isDisabled","isPlaceholder","isNoResultsOption","isSelected","isChecked","isFocused","sendRef","component","inputId","isFavorite","ariaIsFavoriteLabel","ariaIsNotFavoriteLabel","isLoad","isLoading","setViewMoreNextIndex","Component","generatedId","getUniqueId","favoriteButton","onFavorite","css","styles","StarIcon","itemDisplay","onViewMoreClick","renderOption","onSelect","onClose","variant","inputIdPrefix","shouldResetOnSelect","React.Fragment","CheckIcon","checkStyles","SelectGroup","label","titleId","SelectMenuWithRef","randomId","hasInlineFilter","childrenArray","option","child","selected","valueToCheck","options","isSelectOptionObject","checked","isCustomContent","isExpanded","openedOnEnter","position","maxHeight","noResultsFoundText","createText","ariaLabel","ariaLabelledBy","innerRef","footer","footerRef","variantProps","extendedChildren","formStyles","context","SelectMenu","React.forwardRef","ref","SelectToggleBase","parentRef","menuRef","isOpen","onToggle","clickedOnToggle","clickedWithinMenu","clickedWithinFooter","hasFooter","moveFocusToLastMenuItem","escFromToggle","escFromWithinMenu","tabbableItems","findTabbableElements","currentElementIndex","handleTypeaheadKeys","isTypeahead","isActive","isPlain","hasPlaceholderStyle","onBlur","onClickTypeaheadToggleButton","type","hasClearButton","toggleIndicator","toggleProps","CaretDownIcon","buttonStyles","SelectToggle","styles$1","Chip","ouiaId","textMaxWidth","style","tooltipPosition","isOverflowChip","closeBtnAriaLabel","isReadOnly","getOUIAProps","Tooltip","getDefaultOUIAId","Button","TimesIcon","GenerateId","_e","ChipGroup","prevState","categoryName","isTooltipVisible","isClosable","onOverflowChipClick","numChips","expandedText","collapsedText","defaultIsOpen","rest","numChildren","collapsedTextResult","fillTemplate","renderChipGroup","chipArray","i","currentId","Select","typeaheadCurrIndex","prevProps","firstRef","checkUpdatedChildren","prevChildren","currChildren","prevChild","prevChildProps","currChild","currChildProps","tempRenderableChildren","renderableFavorites","favoritesGroup","e","isInputValuePersisted","isInputFilterPersisted","typeaheadInputValue","typeaheadFilteredChildren","onFilter","isCreatable","isCreateOptionOnTop","onCreateOption","isCreateSelectOptionObject","loadingVariant","input","childFilter","React.isValidElement","filteredGroupChildren","newValue","newOptionValue","createSelectOption","optionRef","favoriteRef","optionContainerRef","nextIndex","updateCurrentIndex","hasDescriptionElm","optionTextElm","typeaheadStoredIndex","indexForFocus","refCollectionLen","shiftKey","tabbedIntoFavoritesMenu","typeaheadActiveChild","typeaheadActiveChildText","tabbedIntoMenu","getNextIndex","acc","curr","multi","customBadgeText","selections","typeaheadChildren","activeElement","chipGroupProps","chipGroupComponent","customContent","direction","onClear","toggleId","toggleRef","validated","selectionsProp","typeAheadAriaLabel","typeAheadAriaDescribedby","clearSelectionsAriaLabel","toggleAriaLabel","removeSelectionAriaLabel","ariaDescribedby","ariaInvalid","placeholderText","width","toggleIcon","ouiaSafe","isCheckboxSelectionBadgeHidden","inlineFilterPlaceholderText","onTypeaheadInputChanged","inputAutoComplete","menuAppendTo","favoritesLabel","isFlipEnabled","removeFindDomNode","zIndex","selectToggleId","selectedOption","isSelectedPlaceholder","hasAnySelections","childPlaceholderText","renderableItems","tempExtendedChildren","childPlaceholder","Spinner","hasOnClear","clearBtn","selectedChips","variantChildren","isStatic","innerMenu","menuContainer","popperContainer","ValidatedOptions","mainContainer","badgeStyles","CheckCircleIcon","ExclamationCircleIcon","ExclamationTriangleIcon","getParentElement","Popper"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy