@openedx/paragon 22.1.0 → 22.2.0

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.
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ declare const STYLE_VARIANTS: readonly ["primary", "success", "error", "warning"];
3
+ export type BubbleVariant = typeof STYLE_VARIANTS[number];
4
+ export interface BubbleProps {
5
+ children: React.ReactNode;
6
+ variant?: BubbleVariant;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ expandable?: boolean;
10
+ }
11
+ declare const Bubble: React.ForwardRefExoticComponent<BubbleProps & React.RefAttributes<HTMLDivElement>>;
12
+ export default Bubble;
@@ -0,0 +1,28 @@
1
+ import React, { KeyboardEventHandler, MouseEventHandler } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ export interface ChipIconProps {
4
+ className: string;
5
+ src: React.ReactElement | Function;
6
+ onClick?: KeyboardEventHandler & MouseEventHandler;
7
+ alt?: string;
8
+ variant: string;
9
+ disabled?: boolean;
10
+ }
11
+ declare function ChipIcon({ className, src, onClick, alt, variant, disabled, }: ChipIconProps): JSX.Element;
12
+ declare namespace ChipIcon {
13
+ var propTypes: {
14
+ className: PropTypes.Validator<string>;
15
+ src: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactElementLike | ((...args: any[]) => any) | null | undefined>>>;
16
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
17
+ alt: PropTypes.Requireable<string>;
18
+ variant: PropTypes.Requireable<string>;
19
+ disabled: PropTypes.Requireable<boolean>;
20
+ };
21
+ var defaultProps: {
22
+ onClick: undefined;
23
+ alt: undefined;
24
+ variant: any;
25
+ disabled: boolean;
26
+ };
27
+ }
28
+ export default ChipIcon;
@@ -0,0 +1,18 @@
1
+ import React, { KeyboardEventHandler, MouseEventHandler } from 'react';
2
+ export declare const CHIP_PGN_CLASS = "pgn__chip";
3
+ export interface IChip {
4
+ children: React.ReactNode;
5
+ onClick?: KeyboardEventHandler & MouseEventHandler;
6
+ className?: string;
7
+ variant?: string;
8
+ iconBefore?: React.ReactElement | Function;
9
+ iconBeforeAlt?: string;
10
+ iconAfter?: React.ReactElement | Function;
11
+ iconAfterAlt?: string;
12
+ onIconBeforeClick?: KeyboardEventHandler & MouseEventHandler;
13
+ onIconAfterClick?: KeyboardEventHandler & MouseEventHandler;
14
+ disabled?: boolean;
15
+ isSelected?: boolean;
16
+ }
17
+ declare const Chip: React.ForwardRefExoticComponent<IChip & React.RefAttributes<HTMLDivElement>>;
18
+ export default Chip;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface OverflowScrollContextProps {
3
+ setOverflowRef: () => void;
4
+ isScrolledToStart: boolean;
5
+ isScrolledToEnd: boolean;
6
+ scrollToPrevious: () => void;
7
+ scrollToNext: () => void;
8
+ }
9
+ export interface ChipCarouselProps {
10
+ className?: string;
11
+ items: Array<React.ReactElement>;
12
+ ariaLabel: string;
13
+ disableOpacityMasks?: boolean;
14
+ onScrollPrevious?: () => void;
15
+ onScrollNext?: () => void;
16
+ canScrollHorizontal?: boolean;
17
+ offset?: number | string;
18
+ offsetType?: 'percentage' | 'fixed';
19
+ gap?: number;
20
+ }
21
+ declare const ChipCarousel: React.ForwardRefExoticComponent<ChipCarouselProps & React.RefAttributes<HTMLDivElement>>;
22
+ export default ChipCarousel;
@@ -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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"}
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
2
 
3
- export interface IconProps {
3
+ export interface IconProps extends React.ComponentPropsWithoutRef<'span'> {
4
4
  src?: React.ReactElement | Function;
5
5
  svgAttrs?: {
6
6
  'aria-label'?: string;
7
7
  'aria-labelledby'?: string;
8
8
  };
9
- id?: string;
9
+ id?: string | null;
10
10
  size?: 'xs' | 'sm' | 'md' | 'lg';
11
- className?: string;
11
+ className?: string | string[];
12
12
  hidden?: boolean;
13
13
  screenReaderText?: React.ReactNode;
14
14
  }
@@ -0,0 +1,216 @@
1
+ /* eslint-disable max-len, one-var, one-var-declaration-per-line */
2
+ // each line in this file corresponds with the line in index.js
3
+
4
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
5
+ // Things that have types
6
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
7
+ export { default as Bubble } from './Bubble';
8
+ export { default as Chip, CHIP_PGN_CLASS } from './Chip';
9
+ export { default as ChipCarousel } from './ChipCarousel';
10
+ export { default as Icon } from './Icon';
11
+
12
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
13
+ // Things that don't have types
14
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
15
+ export const asInput: any; // from './asInput';
16
+ export const ActionRow: any; // from './ActionRow';
17
+ export const Alert: any, ALERT_CLOSE_LABEL_TEXT: string; // from './Alert';
18
+ export const Annotation: any; // from './Annotation';
19
+ export const Avatar: any; // from './Avatar';
20
+ export const AvatarButton: any; // from './AvatarButton';
21
+ export const Badge: any; // from './Badge';
22
+ export const Breadcrumb: any; // from './Breadcrumb';
23
+ export const Button: any, ButtonGroup: any, ButtonToolbar: any; // from './Button';
24
+ export const
25
+ Card: any,
26
+ CardColumns: any,
27
+ CardDeck: any,
28
+ CardImg: any,
29
+ CardGroup: any,
30
+ CardGrid: any,
31
+ CardCarousel: any,
32
+ CARD_VARIANTS: any;
33
+ // from './Card';
34
+ export const
35
+ Carousel: any, CarouselItem: any, CAROUSEL_NEXT_LABEL_TEXT: any, CAROUSEL_PREV_LABEL_TEXT: any;
36
+ // from './Carousel';
37
+ export const CheckBox: any; // from './CheckBox';
38
+ export const CheckBoxGroup: any; // from './CheckBoxGroup';
39
+ export const CloseButton: any; // from './CloseButton';
40
+ export const Container: any; // from './Container';
41
+ export const Layout: any, Col: any, Row: any; // from './Layout';
42
+ export const Collapse: any; // from './Collapse';
43
+ export const Collapsible: any; // from './Collapsible';
44
+ export const Scrollable: any; // from './Scrollable';
45
+ export const
46
+ Dropdown: any,
47
+ DropdownToggle: any,
48
+ DropdownButton: any,
49
+ SplitButton: any;
50
+ // from './Dropdown';
51
+ export const Fade: any; // from './Fade';
52
+ export const Fieldset: any; // from './Fieldset';
53
+ export const
54
+ Form: any,
55
+ RadioControl: any,
56
+ CheckboxControl: any,
57
+ SwitchControl: any,
58
+ FormSwitchSet: any,
59
+ FormControl: any,
60
+ FormControlDecoratorGroup: any,
61
+ FormControlFeedback: any,
62
+ FormCheck: any,
63
+ FormFile: any,
64
+ FormRadio: any,
65
+ FormRadioSet: any,
66
+ FormRadioSetContext: any,
67
+ FormGroup: any,
68
+ FormLabel: any,
69
+ useCheckboxSetValues: any,
70
+ FormText: any,
71
+ FormAutosuggest: any,
72
+ FormAutosuggestOption: any,
73
+ InputGroup: any;
74
+ // from './Form';
75
+ export const Hyperlink: any, HYPER_LINK_EXTERNAL_LINK_ALT_TEXT: string, HYPER_LINK_EXTERNAL_LINK_TITLE: string; // from './Hyperlink';
76
+ export const IconButton: any, IconButtonWithTooltip: any; // from './IconButton';
77
+ export const IconButtonToggle: any; // from './IconButtonToggle';
78
+ export const Input: any; // from './Input';
79
+ export const InputSelect: any; // from './InputSelect';
80
+ export const InputText: any; // from './InputText';
81
+ export const Image: any, Figure; // from './Image';
82
+ export const ListBox: any; // from './ListBox';
83
+ export const ListBoxOption: any; // from './ListBoxOption';
84
+ export const MailtoLink: any, MAIL_TO_LINK_EXTERNAL_LINK_ALTERNATIVE_TEXT: string, MAIL_TO_LINK_EXTERNAL_LINK_TITLE: string; // from './MailtoLink';
85
+ export const Media: any; // from './Media';
86
+ export const Menu: any; // from './Menu';
87
+ export const MenuItem: any; // from './Menu/MenuItem';
88
+ export const SelectMenu: any, SELECT_MENU_DEFAULT_MESSAGE: string; // from './Menu/SelectMenu';
89
+ export const Modal: any; // from './Modal';
90
+ export const ModalCloseButton: any; // from './Modal/ModalCloseButton';
91
+ export const FullscreenModal: any, FULLSCREEN_MODAL_CLOSE_LABEL: string; // from './Modal/FullscreenModal';
92
+ export const MarketingModal: any; // from './Modal/MarketingModal';
93
+ export const StandardModal: any, STANDARD_MODAL_CLOSE_LABEL: string; // from './Modal/StandardModal';
94
+ export const AlertModal: any; // from './Modal/AlertModal';
95
+ export const ModalLayer: any; // from './Modal/ModalLayer';
96
+ export const ModalDialog: any, MODAL_DIALOG_CLOSE_LABEL: string; // from './Modal/ModalDialog';
97
+ export const ModalPopup: any; // from './Modal/ModalPopup';
98
+ export const ModalContext: any; // from './Modal/ModalContext';
99
+ export const Portal: any; // from './Modal/Portal';
100
+ export const PopperElement: any; // from './Modal/PopperElement';
101
+
102
+ export const
103
+ Nav: any,
104
+ NavDropdown: any,
105
+ NavItem: any,
106
+ NavLink: any;
107
+ // from './Nav';
108
+ export const Navbar: any, NavbarBrand: any, NAVBAR_LABEL: string; // from './Navbar';
109
+ export const Overlay: any, OverlayTrigger: any; // from './Overlay';
110
+ export const PageBanner: any, PAGE_BANNER_DISMISS_ALT_TEXT: string; // from './PageBanner';
111
+ export const
112
+ Pagination: any,
113
+ PAGINATION_BUTTON_LABEL_PREV: string,
114
+ PAGINATION_BUTTON_ICON_BUTTON_NEXT_ALT: string,
115
+ PAGINATION_BUTTON_ICON_BUTTON_PREV_ALT: string,
116
+ PAGINATION_BUTTON_LABEL_PAGE_OF_COUNT: string,
117
+ PAGINATION_BUTTON_LABEL_CURRENT_PAGE: string,
118
+ PAGINATION_BUTTON_LABEL_NEXT: string,
119
+ PAGINATION_BUTTON_LABEL_PAGE: string;
120
+ // from './Pagination';
121
+ export const Popover: any, PopoverTitle: any, PopoverContent: any; // from './Popover';
122
+ export const ProgressBar: any; // from './ProgressBar';
123
+ export const ProductTour: any; // from './ProductTour';
124
+ export const RadioButtonGroup: any, RadioButton: any; // from './RadioButtonGroup';
125
+ export const ResponsiveEmbed: any; // from './ResponsiveEmbed';
126
+ export const
127
+ SearchField: any,
128
+ SEARCH_FIELD_SCREEN_READER_TEXT_LABEL: string,
129
+ SEARCH_FIELD_SCREEN_READER_TEXT_CLEAR_BUTTON: string,
130
+ SEARCH_FIELD_SCREEN_READER_TEXT_SUBMIT_BUTTON: string,
131
+ SEARCH_FIELD_BUTTON_TEXT: string;
132
+ // from './SearchField';
133
+ export const Sheet: any; // from './Sheet';
134
+ export const Spinner: any; // from './Spinner';
135
+ export const Stepper: any; // from './Stepper';
136
+ export const StatefulButton: any; // from './StatefulButton';
137
+ export const StatusAlert: any; // from './StatusAlert';
138
+ export const Table: any; // from './Table';
139
+ export const
140
+ Tabs: any,
141
+ Tab: any,
142
+ TabContainer: any,
143
+ TabContent: any,
144
+ TabPane: any;
145
+ // from './Tabs';
146
+ export const TextArea: any; // from './TextArea';
147
+ export const Toast: any, TOAST_CLOSE_LABEL_TEXT: string, TOAST_DELAY: number; // from './Toast';
148
+ export const Tooltip: any; // from './Tooltip';
149
+ export const ValidationFormGroup: any; // from './ValidationFormGroup';
150
+ export const TransitionReplace: any; // from './TransitionReplace';
151
+ export const ValidationMessage: any; // from './ValidationMessage';
152
+ export const DataTable: any; // from './DataTable';
153
+ export const TextFilter: any; // from './DataTable/filters/TextFilter';
154
+ export const CheckboxFilter: any; // from './DataTable/filters/CheckboxFilter';
155
+ export const DropdownFilter: any; // from './DataTable/filters/DropdownFilter';
156
+ export const MultiSelectDropdownFilter: any; // from './DataTable/filters/MultiSelectDropdownFilter';
157
+ export const TableHeaderCell: any; // from './DataTable/TableHeaderCell';
158
+ export const TableCell: any; // from './DataTable/TableCell';
159
+ export const TableFilters: any, TABLE_FILTERS_BUTTON_TEXT: string; // from './DataTable/TableFilters';
160
+ export const TableHeader: any; // from './DataTable/TableHeaderRow';
161
+ export const TableRow: any; // from './DataTable/TableRow';
162
+ export const TablePagination: any; // from './DataTable/TablePagination';
163
+ export const TablePaginationMinimal: any; // from './DataTable/TablePaginationMinimal';
164
+ export const DataTableContext: any; // from './DataTable/DataTableContext';
165
+ export const BulkActions: any; // from './DataTable/BulkActions';
166
+ export const TableControlBar: any; // from './DataTable/TableControlBar';
167
+ export const TableFooter: any; // from './DataTable/TableFooter';
168
+ export const CardView: any; // from './DataTable/CardView';
169
+ export const Skeleton: any, SkeletonTheme: any; // from './Skeleton/index';
170
+ export const Stack: any; // from './Stack';
171
+ export const ToggleButton: any, ToggleButtonGroup: any; // from './ToggleButton';
172
+ export const Sticky: any; // from './Sticky';
173
+ export const SelectableBox: any; // from './SelectableBox';
174
+ export const breakpoints: any; // from './utils/breakpoints';
175
+ export const Variant: any; // from './utils/constants';
176
+ export const useWindowSize: any; // from './hooks/useWindowSize';
177
+ export const useToggle: any; // from './hooks/useToggle';
178
+ export const useArrowKeyNavigation: any; // from './hooks/useArrowKeyNavigation';
179
+ export const useIndexOfLastVisibleChild: any; // from './hooks/useIndexOfLastVisibleChild';
180
+ export const useIsVisible: any; // from './hooks/useIsVisible';
181
+ export const
182
+ OverflowScrollContext: any,
183
+ OverflowScroll: any,
184
+ useOverflowScroll: any,
185
+ useOverflowScrollItems: any;
186
+ // from './OverflowScroll';
187
+ export const Dropzone: any; // from './Dropzone';
188
+ export const messages: any; // from './i18n';
189
+ export const Truncate: any; // from './Truncate';
190
+ export const ColorPicker: any; // from './ColorPicker';
191
+
192
+ // Pass through any needed whole third-party library functionality
193
+ // useTable for example is needed to use the DataTable component seamlessly
194
+ // rather than setting a peer dependency in this project, we opt to tightly
195
+ // couple these dependencies by passing through needed functionality.
196
+ export {
197
+ default as MediaQuery,
198
+ useMediaQuery,
199
+ Context as ResponsiveContext,
200
+ } from 'react-responsive';
201
+ export {
202
+ useTable,
203
+ useFilters,
204
+ useGlobalFilter,
205
+ useSortBy,
206
+ useGroupBy,
207
+ useExpanded,
208
+ usePagination,
209
+ useRowSelect,
210
+ useRowState,
211
+ useColumnOrder,
212
+ useResizeColumns,
213
+ useBlockLayout,
214
+ useAbsoluteLayout,
215
+ useFlexLayout,
216
+ } from 'react-table';
package/dist/index.js CHANGED
@@ -1,3 +1,17 @@
1
+ // To keep this file in sync with the .d.ts file, it's in the same order
2
+ // and each line number is the same
3
+
4
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
5
+ // Things that have types
6
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
7
+ export { default as Bubble } from './Bubble';
8
+ export { default as Chip, CHIP_PGN_CLASS } from './Chip';
9
+ export { default as ChipCarousel } from './ChipCarousel';
10
+ export { default as Icon } from './Icon';
11
+
12
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
13
+ // Things that don't have types
14
+ // // // // // // // // // // // // // // // // // // // // // // // // // // //
1
15
  export { default as asInput } from './asInput';
2
16
  export { default as ActionRow } from './ActionRow';
3
17
  export { default as Alert, ALERT_CLOSE_LABEL_TEXT } from './Alert';
@@ -22,8 +36,6 @@ export {
22
36
  } from './Carousel';
23
37
  export { default as CheckBox } from './CheckBox';
24
38
  export { default as CheckBoxGroup } from './CheckBoxGroup';
25
- export { default as Chip, CHIP_PGN_CLASS } from './Chip';
26
- export { default as ChipCarousel } from './ChipCarousel';
27
39
  export { default as CloseButton } from './CloseButton';
28
40
  export { default as Container } from './Container';
29
41
  export { default as Layout, Col, Row } from './Layout';
@@ -61,7 +73,6 @@ export {
61
73
  InputGroup,
62
74
  } from './Form';
63
75
  export { default as Hyperlink, HYPER_LINK_EXTERNAL_LINK_ALT_TEXT, HYPER_LINK_EXTERNAL_LINK_TITLE } from './Hyperlink';
64
- export { default as Icon } from './Icon';
65
76
  export { default as IconButton, IconButtonWithTooltip } from './IconButton';
66
77
  export { default as IconButtonToggle } from './IconButtonToggle';
67
78
  export { default as Input } from './Input';
@@ -155,6 +166,7 @@ export { default as BulkActions } from './DataTable/BulkActions';
155
166
  export { default as TableControlBar } from './DataTable/TableControlBar';
156
167
  export { default as TableFooter } from './DataTable/TableFooter';
157
168
  export { default as CardView } from './DataTable/CardView';
169
+ export { default as Skeleton, SkeletonTheme } from './Skeleton/index';
158
170
  export { default as Stack } from './Stack';
159
171
  export { default as ToggleButton, ToggleButtonGroup } from './ToggleButton';
160
172
  export { default as Sticky } from './Sticky';
@@ -172,6 +184,10 @@ export {
172
184
  useOverflowScroll,
173
185
  useOverflowScrollItems,
174
186
  } from './OverflowScroll';
187
+ export { default as Dropzone } from './Dropzone';
188
+ export { default as messages } from './i18n';
189
+ export { default as Truncate } from './Truncate';
190
+ export { default as ColorPicker } from './ColorPicker';
175
191
 
176
192
  // Pass through any needed whole third-party library functionality
177
193
  // useTable for example is needed to use the DataTable component seamlessly
@@ -198,10 +214,3 @@ export {
198
214
  useAbsoluteLayout,
199
215
  useFlexLayout,
200
216
  } from 'react-table';
201
- export { default as Skeleton, SkeletonTheme } from './Skeleton/index';
202
- export { default as Bubble } from './Bubble';
203
- export { default as Dropzone } from './Dropzone';
204
-
205
- export { default as messages } from './i18n';
206
- export { default as Truncate } from './Truncate';
207
- export { default as ColorPicker } from './ColorPicker';
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export declare enum DeprTypes {
3
+ MOVED = "MOVED",
4
+ REMOVED = "REMOVED",
5
+ FORMAT = "FORMAT",
6
+ MOVED_AND_FORMAT = "MOVED_AND_FORMAT"
7
+ }
8
+ export interface DeprecatedProps extends Record<string, any> {
9
+ deprType: DeprTypes;
10
+ newName?: string;
11
+ expect?: (propValue: any) => boolean;
12
+ transform?: (propValue: any, allProps: Record<string, any>) => any;
13
+ message?: string;
14
+ }
15
+ declare function withDeprecatedProps<T extends Record<string, any>>(WrappedComponent: React.ComponentType<any>, componentName: string, deprecatedProps: Record<string, DeprecatedProps>): any;
16
+ export default withDeprecatedProps;