@openedx/paragon 22.1.0 → 22.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,7 +123,7 @@ var FormAutosuggest = /*#__PURE__*/forwardRef(function (_ref, ref) {
123
123
  rest = _objectWithoutProperties(_child$props, _excluded2);
124
124
  var menuItemId = (_child$props$id = child.props.id) !== null && _child$props$id !== void 0 ? _child$props$id : uuidv4();
125
125
  return /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, rest), {}, {
126
- childChildren: childChildren,
126
+ children: childChildren,
127
127
  'data-value': childChildren,
128
128
  onClick: function onClick(e) {
129
129
  return handleItemSelect(e, _onClick);
@@ -1 +1 @@
1
- {"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","forwardRef","useImperativeHandle","PropTypes","v4","uuidv4","useIntl","requiredWhen","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","_ref","ref","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","isValueRequired","valueRequiredErrorMessageText","isSelectionRequired","selectionRequiredErrorMessageText","hasCustomError","customErrorMessageText","onChange","helpMessage","props","_objectWithoutProperties","_excluded","intl","formControlRef","parentRef","selectors","ignoredKeys","_useState","_useState2","_slicedToArray","isDropdownExpanded","setIsDropdownExpanded","_useState3","_useState4","isActive","setIsActive","_useState5","_useState6","hasValue","setHasValue","_useState7","_useState8","hasSelection","setHasSelection","_useState9","userProvidedText","_useState10","displayValue","setDisplayValue","_useState11","_useState12","dropdownItems","setDropdownItems","_useState13","_useState14","activeMenuItemId","setActiveMenuItemId","_useState15","_useState16","isValid","setIsValid","_useState17","_useState18","errorMessage","setErrorMessage","handleMenuItemFocus","menuItemId","collapseDropdown","handleItemSelect","e","onClick","selectedValue","currentTarget","getAttribute","selectedId","id","selectionValue","selectionId","getItems","strToFind","arguments","length","undefined","childrenOpt","Children","map","child","_child$props$id","_child$props","childChildren","rest","_excluded2","cloneElement","_objectSpread","onFocus","filter","opt","toLowerCase","includes","expandDropdown","toggleDropdown","iconToggle","createElement","className","tabIndex","src","iconAs","size","variant","alt","formatMessage","iconButtonClosed","iconButtonOpened","enterControl","updateErrorStateAndErrorMessage","leaveControl","keyDownHandler","key","preventDefault","current","focus","handleDocumentClick","contains","target","document","addEventListener","removeEventListener","_value$userProvidedTe","handleTextboxClick","handleTextInput","filteredItems","matchingDropdownItem","find","o","_useFormGroupContext","getControlProps","controlProps","concat","controlId","isInvalid","_extends","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","shape","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef, forwardRef, useImperativeHandle,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { requiredWhen } from '../utils/propTypes';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigation';\nimport messages from './messages';\n\nconst FormAutosuggest = forwardRef(\n (\n {\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n isValueRequired,\n valueRequiredErrorMessageText,\n isSelectionRequired,\n selectionRequiredErrorMessageText,\n hasCustomError,\n customErrorMessageText,\n onChange,\n helpMessage,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isDropdownExpanded, setIsDropdownExpanded] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [hasValue, setHasValue] = useState(false);\n const [hasSelection, setHasSelection] = useState(false);\n const [displayValue, setDisplayValue] = useState(value?.userProvidedText || '');\n const [dropdownItems, setDropdownItems] = useState([]);\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n const [isValid, setIsValid] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const collapseDropdown = () => {\n setDropdownItems([]);\n setIsDropdownExpanded(false);\n setActiveMenuItemId(null);\n };\n\n const handleItemSelect = (e, onClick) => {\n const selectedValue = e.currentTarget.getAttribute('data-value');\n const selectedId = e.currentTarget.id;\n\n setHasValue(true);\n setHasSelection(true);\n setDisplayValue(selectedValue);\n\n if (onChange && (!value || (value && selectedValue !== value.selectionValue))) {\n onChange({\n userProvidedText: selectedValue,\n selectionValue: selectedValue,\n selectionId: selectedId,\n });\n }\n\n collapseDropdown();\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n const { children: childChildren, onClick, ...rest } = child.props;\n const menuItemId = child.props.id ?? uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n childChildren,\n 'data-value': childChildren,\n onClick: (e) => handleItemSelect(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const expandDropdown = () => {\n setDropdownItems(getItems(displayValue));\n setIsValid(true);\n setErrorMessage('');\n setIsDropdownExpanded(true);\n };\n\n const toggleDropdown = () => {\n if (isDropdownExpanded) {\n collapseDropdown();\n } else {\n expandDropdown();\n }\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabIndex=\"-1\"\n src={isDropdownExpanded ? KeyboardArrowUp : KeyboardArrowDown}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isDropdownExpanded\n ? intl.formatMessage(messages.iconButtonClosed)\n : intl.formatMessage(messages.iconButtonOpened)}\n onClick={toggleDropdown}\n />\n );\n\n const enterControl = () => {\n setIsActive(true);\n };\n\n const updateErrorStateAndErrorMessage = () => {\n if (hasCustomError) {\n setIsValid(false);\n setErrorMessage(customErrorMessageText);\n return;\n }\n\n if (isValueRequired && !hasValue) {\n setIsValid(false);\n setErrorMessage(valueRequiredErrorMessageText);\n return;\n }\n\n if (hasValue && isSelectionRequired && !hasSelection) {\n setIsValid(false);\n setErrorMessage(selectionRequiredErrorMessageText);\n return;\n }\n\n setIsValid(true);\n setErrorMessage('');\n };\n\n useImperativeHandle(ref, () => ({\n // expose updateErrorStateAndErrorMessage so consumers can trigger validation\n // when changing the value of the control externally\n updateErrorStateAndErrorMessage,\n }));\n\n const leaveControl = () => {\n setIsActive(false);\n collapseDropdown();\n updateErrorStateAndErrorMessage();\n };\n\n const keyDownHandler = e => {\n if (!isActive) {\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n collapseDropdown();\n return;\n }\n\n if (e.key === 'Tab') {\n leaveControl();\n }\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n setDisplayValue(value ? value.userProvidedText ?? '' : '');\n setHasValue(!!value && !!value.userProvidedText);\n setHasSelection(!!value && !!value.selectionValue);\n }, [value]);\n\n const handleTextboxClick = () => {\n expandDropdown();\n };\n\n const handleTextInput = (e) => {\n const userProvidedText = e.target.value;\n\n // If the user has removed all text from the textbox\n if (!userProvidedText.length) {\n // reset to a \"no text, nothing selected\" state\n setDisplayValue('');\n setHasValue(false);\n setHasSelection(false);\n\n // clear and close the dropdown\n setDropdownItems([]);\n collapseDropdown();\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send a default empty object\n onChange({\n userProvidedText: '',\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // the user has entered text, we have a value\n setHasValue(true);\n\n // filter dropdown based on entered text\n const filteredItems = getItems(userProvidedText);\n setDropdownItems(filteredItems);\n\n // check for matches in the dropdown\n const matchingDropdownItem = filteredItems.find((o) => (\n o.props.children.toLowerCase() === userProvidedText.toLowerCase()\n ));\n\n // if we didn't find a match\n if (!matchingDropdownItem) {\n // no match means no selection\n setHasSelection(false);\n\n // set the text in the state\n setDisplayValue(userProvidedText);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the user provided text only\n onChange({\n userProvidedText,\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // we found a match, we have a selection!\n setHasSelection(true);\n\n // set the display value based on the item in the dropdown\n // this matters because we match case insensitively\n setDisplayValue(matchingDropdownItem.props.children);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the selected item values\n onChange({\n userProvidedText: matchingDropdownItem.props.children,\n selectionValue: matchingDropdownItem.props.children,\n selectionId: matchingDropdownItem.props.id,\n });\n }\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef} onFocus={enterControl}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${dropdownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!isValid}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(dropdownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={displayValue}\n aria-invalid={errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleTextInput}\n onClick={handleTextboxClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && isValid && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {!isValid && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessage}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : dropdownItems.length > 0 && dropdownItems}\n </ul>\n </div>\n );\n },\n);\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n isValueRequired: false,\n valueRequiredErrorMessageText: null,\n isSelectionRequired: false,\n selectionRequiredErrorMessageText: null,\n hasCustomError: false,\n customErrorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\n /**\n * Specifies the CSS selector string that indicates to which elements\n * the user can navigate using the arrow keys\n */\n arrowKeyNavigationSelector: PropTypes.string,\n /** Specifies ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.shape({\n userProvidedText: PropTypes.string,\n selectionValue: PropTypes.string,\n selectionId: PropTypes.string,\n }),\n /** Specifies if empty values trigger an error state */\n isValueRequired: PropTypes.bool,\n /** Informs user they must input a value. */\n valueRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isValueRequired'),\n /** Specifies if freeform values trigger an error state */\n isSelectionRequired: PropTypes.bool,\n /** Informs user they must make a selection. */\n selectionRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isSelectionRequired'),\n /** Specifies the control is in a consumer provided error state */\n hasCustomError: PropTypes.bool,\n /** Informs user of other errors. */\n customErrorMessageText: requiredWhen(PropTypes.string, 'hasCustomError'),\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","forwardRef","useImperativeHandle","PropTypes","v4","uuidv4","useIntl","requiredWhen","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","_ref","ref","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","isValueRequired","valueRequiredErrorMessageText","isSelectionRequired","selectionRequiredErrorMessageText","hasCustomError","customErrorMessageText","onChange","helpMessage","props","_objectWithoutProperties","_excluded","intl","formControlRef","parentRef","selectors","ignoredKeys","_useState","_useState2","_slicedToArray","isDropdownExpanded","setIsDropdownExpanded","_useState3","_useState4","isActive","setIsActive","_useState5","_useState6","hasValue","setHasValue","_useState7","_useState8","hasSelection","setHasSelection","_useState9","userProvidedText","_useState10","displayValue","setDisplayValue","_useState11","_useState12","dropdownItems","setDropdownItems","_useState13","_useState14","activeMenuItemId","setActiveMenuItemId","_useState15","_useState16","isValid","setIsValid","_useState17","_useState18","errorMessage","setErrorMessage","handleMenuItemFocus","menuItemId","collapseDropdown","handleItemSelect","e","onClick","selectedValue","currentTarget","getAttribute","selectedId","id","selectionValue","selectionId","getItems","strToFind","arguments","length","undefined","childrenOpt","Children","map","child","_child$props$id","_child$props","childChildren","rest","_excluded2","cloneElement","_objectSpread","onFocus","filter","opt","toLowerCase","includes","expandDropdown","toggleDropdown","iconToggle","createElement","className","tabIndex","src","iconAs","size","variant","alt","formatMessage","iconButtonClosed","iconButtonOpened","enterControl","updateErrorStateAndErrorMessage","leaveControl","keyDownHandler","key","preventDefault","current","focus","handleDocumentClick","contains","target","document","addEventListener","removeEventListener","_value$userProvidedTe","handleTextboxClick","handleTextInput","filteredItems","matchingDropdownItem","find","o","_useFormGroupContext","getControlProps","controlProps","concat","controlId","isInvalid","_extends","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","shape","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef, forwardRef, useImperativeHandle,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { requiredWhen } from '../utils/propTypes';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigation';\nimport messages from './messages';\n\nconst FormAutosuggest = forwardRef(\n (\n {\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n isValueRequired,\n valueRequiredErrorMessageText,\n isSelectionRequired,\n selectionRequiredErrorMessageText,\n hasCustomError,\n customErrorMessageText,\n onChange,\n helpMessage,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isDropdownExpanded, setIsDropdownExpanded] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [hasValue, setHasValue] = useState(false);\n const [hasSelection, setHasSelection] = useState(false);\n const [displayValue, setDisplayValue] = useState(value?.userProvidedText || '');\n const [dropdownItems, setDropdownItems] = useState([]);\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n const [isValid, setIsValid] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const collapseDropdown = () => {\n setDropdownItems([]);\n setIsDropdownExpanded(false);\n setActiveMenuItemId(null);\n };\n\n const handleItemSelect = (e, onClick) => {\n const selectedValue = e.currentTarget.getAttribute('data-value');\n const selectedId = e.currentTarget.id;\n\n setHasValue(true);\n setHasSelection(true);\n setDisplayValue(selectedValue);\n\n if (onChange && (!value || (value && selectedValue !== value.selectionValue))) {\n onChange({\n userProvidedText: selectedValue,\n selectionValue: selectedValue,\n selectionId: selectedId,\n });\n }\n\n collapseDropdown();\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n const { children: childChildren, onClick, ...rest } = child.props;\n const menuItemId = child.props.id ?? uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n children: childChildren,\n 'data-value': childChildren,\n onClick: (e) => handleItemSelect(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const expandDropdown = () => {\n setDropdownItems(getItems(displayValue));\n setIsValid(true);\n setErrorMessage('');\n setIsDropdownExpanded(true);\n };\n\n const toggleDropdown = () => {\n if (isDropdownExpanded) {\n collapseDropdown();\n } else {\n expandDropdown();\n }\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabIndex=\"-1\"\n src={isDropdownExpanded ? KeyboardArrowUp : KeyboardArrowDown}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isDropdownExpanded\n ? intl.formatMessage(messages.iconButtonClosed)\n : intl.formatMessage(messages.iconButtonOpened)}\n onClick={toggleDropdown}\n />\n );\n\n const enterControl = () => {\n setIsActive(true);\n };\n\n const updateErrorStateAndErrorMessage = () => {\n if (hasCustomError) {\n setIsValid(false);\n setErrorMessage(customErrorMessageText);\n return;\n }\n\n if (isValueRequired && !hasValue) {\n setIsValid(false);\n setErrorMessage(valueRequiredErrorMessageText);\n return;\n }\n\n if (hasValue && isSelectionRequired && !hasSelection) {\n setIsValid(false);\n setErrorMessage(selectionRequiredErrorMessageText);\n return;\n }\n\n setIsValid(true);\n setErrorMessage('');\n };\n\n useImperativeHandle(ref, () => ({\n // expose updateErrorStateAndErrorMessage so consumers can trigger validation\n // when changing the value of the control externally\n updateErrorStateAndErrorMessage,\n }));\n\n const leaveControl = () => {\n setIsActive(false);\n collapseDropdown();\n updateErrorStateAndErrorMessage();\n };\n\n const keyDownHandler = e => {\n if (!isActive) {\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n collapseDropdown();\n return;\n }\n\n if (e.key === 'Tab') {\n leaveControl();\n }\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n setDisplayValue(value ? value.userProvidedText ?? '' : '');\n setHasValue(!!value && !!value.userProvidedText);\n setHasSelection(!!value && !!value.selectionValue);\n }, [value]);\n\n const handleTextboxClick = () => {\n expandDropdown();\n };\n\n const handleTextInput = (e) => {\n const userProvidedText = e.target.value;\n\n // If the user has removed all text from the textbox\n if (!userProvidedText.length) {\n // reset to a \"no text, nothing selected\" state\n setDisplayValue('');\n setHasValue(false);\n setHasSelection(false);\n\n // clear and close the dropdown\n setDropdownItems([]);\n collapseDropdown();\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send a default empty object\n onChange({\n userProvidedText: '',\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // the user has entered text, we have a value\n setHasValue(true);\n\n // filter dropdown based on entered text\n const filteredItems = getItems(userProvidedText);\n setDropdownItems(filteredItems);\n\n // check for matches in the dropdown\n const matchingDropdownItem = filteredItems.find((o) => (\n o.props.children.toLowerCase() === userProvidedText.toLowerCase()\n ));\n\n // if we didn't find a match\n if (!matchingDropdownItem) {\n // no match means no selection\n setHasSelection(false);\n\n // set the text in the state\n setDisplayValue(userProvidedText);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the user provided text only\n onChange({\n userProvidedText,\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // we found a match, we have a selection!\n setHasSelection(true);\n\n // set the display value based on the item in the dropdown\n // this matters because we match case insensitively\n setDisplayValue(matchingDropdownItem.props.children);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the selected item values\n onChange({\n userProvidedText: matchingDropdownItem.props.children,\n selectionValue: matchingDropdownItem.props.children,\n selectionId: matchingDropdownItem.props.id,\n });\n }\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef} onFocus={enterControl}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${dropdownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!isValid}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(dropdownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={displayValue}\n aria-invalid={errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleTextInput}\n onClick={handleTextboxClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && isValid && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {!isValid && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessage}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : dropdownItems.length > 0 && dropdownItems}\n </ul>\n </div>\n );\n },\n);\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n isValueRequired: false,\n valueRequiredErrorMessageText: null,\n isSelectionRequired: false,\n selectionRequiredErrorMessageText: null,\n hasCustomError: false,\n customErrorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\n /**\n * Specifies the CSS selector string that indicates to which elements\n * the user can navigate using the arrow keys\n */\n arrowKeyNavigationSelector: PropTypes.string,\n /** Specifies ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.shape({\n userProvidedText: PropTypes.string,\n selectionValue: PropTypes.string,\n selectionId: PropTypes.string,\n }),\n /** Specifies if empty values trigger an error state */\n isValueRequired: PropTypes.bool,\n /** Informs user they must input a value. */\n valueRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isValueRequired'),\n /** Specifies if freeform values trigger an error state */\n isSelectionRequired: PropTypes.bool,\n /** Informs user they must make a selection. */\n selectionRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isSelectionRequired'),\n /** Specifies the control is in a consumer provided error state */\n hasCustomError: PropTypes.bool,\n /** Informs user of other errors. */\n customErrorMessageText: requiredWhen(PropTypes.string, 'hasCustomError'),\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openedx/paragon",
3
- "version": "22.1.0",
3
+ "version": "22.1.1",
4
4
  "description": "Accessible, responsive UI component library based on Bootstrap.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -92,7 +92,7 @@ const FormAutosuggest = forwardRef(
92
92
 
93
93
  return React.cloneElement(child, {
94
94
  ...rest,
95
- childChildren,
95
+ children: childChildren,
96
96
  'data-value': childChildren,
97
97
  onClick: (e) => handleItemSelect(e, onClick),
98
98
  id: menuItemId,