@hitachivantara/uikit-react-core 3.68.11 → 3.69.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.
- package/dist/BaseDropdown/BaseDropdown.d.ts +5 -0
- package/dist/BaseDropdown/BaseDropdown.js +20 -6
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseDropdown/styles.js +9 -0
- package/dist/BaseDropdown/styles.js.map +1 -1
- package/dist/Dropdown/Dropdown.d.ts +4 -0
- package/dist/Dropdown/Dropdown.js +10 -1
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js +3 -2
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.d.ts +3 -3
- package/dist/FilterGroup/RightPanel/RightPanel.js +6 -2
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/List/List.js +1 -1
- package/dist/List/List.js.map +1 -1
- package/dist/legacy/BaseDropdown/BaseDropdown.d.ts +5 -0
- package/dist/legacy/BaseDropdown/BaseDropdown.js +20 -6
- package/dist/legacy/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/legacy/BaseDropdown/styles.js +9 -0
- package/dist/legacy/BaseDropdown/styles.js.map +1 -1
- package/dist/legacy/Dropdown/Dropdown.d.ts +4 -0
- package/dist/legacy/Dropdown/Dropdown.js +10 -1
- package/dist/legacy/Dropdown/Dropdown.js.map +1 -1
- package/dist/legacy/FileUploader/FileList/FileList.js +4 -3
- package/dist/legacy/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroup.d.ts +3 -3
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +6 -2
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/legacy/List/List.js +2 -2
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/modern/BaseDropdown/BaseDropdown.d.ts +5 -0
- package/dist/modern/BaseDropdown/BaseDropdown.js +19 -6
- package/dist/modern/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/modern/BaseDropdown/styles.js +9 -0
- package/dist/modern/BaseDropdown/styles.js.map +1 -1
- package/dist/modern/Dropdown/Dropdown.d.ts +4 -0
- package/dist/modern/Dropdown/Dropdown.js +9 -1
- package/dist/modern/Dropdown/Dropdown.js.map +1 -1
- package/dist/modern/FileUploader/FileList/FileList.js +4 -3
- package/dist/modern/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroup.d.ts +3 -3
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js +16 -8
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/modern/List/List.js +2 -2
- package/dist/modern/List/List.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","classes","useStyles","useState","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","useContext","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","useMemo","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","useCallback","nbrSelected","length","hasSelection","allSelect","useEffect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","cloneDeep","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","setId","container","selection","clsx","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => filterOptions[activeGroup].data.map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n filterOptions[activeGroup].data.map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","classes","useStyles","useState","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","useContext","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","useMemo","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","useCallback","nbrSelected","length","hasSelection","allSelect","useEffect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","cloneDeep","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","setId","container","selection","clsx","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
|
package/dist/List/List.js
CHANGED
|
@@ -312,7 +312,7 @@ var HvList = function HvList(props) {
|
|
|
312
312
|
width: _propTypes.default.number.isRequired
|
|
313
313
|
}).isRequired
|
|
314
314
|
} : void 0;
|
|
315
|
-
var renderFixedList = (0, _react.
|
|
315
|
+
var renderFixedList = (0, _react.useMemo)(function () {
|
|
316
316
|
return /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
317
317
|
var rest = (0, _extends2.default)({}, _ref2);
|
|
318
318
|
return /*#__PURE__*/_react.default.createElement(_.HvListContainer, (0, _extends2.default)({
|
package/dist/List/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","useSelectableList","list","setList","selection","listRef","React","useRef","useEffect","passedProps","parsedList","parseList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","setId","selectAllSelector","renderItemText","ItemText","wrapperTooltip","label","a","link","renderMultiSelectItem","itemId","Selection","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","renderListItem","i","otherProps","startAdornment","undefined","itemSelector","showNavIcon","box","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","propTypes","PropTypes","shape","number","isRequired","renderFixedList","useCallback","forwardRef","ref","rest","clsx","virtualizedRoot","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","withStyles","styles","name"],"sources":["../../src/List/List.js"],"sourcesContent":["import React, { isValidElement, useEffect, useCallback, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { FixedSizeList } from \"react-window\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { parseList, wrapperTooltip } from \"./utils\";\nimport useSelectableList from \"./useSelectableList\";\n\nimport { HvLink, HvCheckBox, HvListContainer, HvListItem, HvRadio, HvTypography, setId } from \"..\";\n\nimport styles from \"./styles\";\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nconst HvList = (props) => {\n const {\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = props;\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = React.useRef(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(valuesProp, null, passedProps);\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(list, item, passedProps);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some((elem) => elem.selected || elem.disabled);\n const parsedList = parseList(list, null, passedProps, !anySelectableSelected);\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) =>\n isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={classes.selectAllSelector}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <HvLink key={item.label} route={item.path} classes={{ a: classes.link }}>\n <ItemText />\n </HvLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <HvListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{ selected: useSelector || multiSelect ? classes.itemSelector : \"\" }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={item.showNavIcon && <DropRightXS className={classes.box} iconSize=\"XS\" />}\n {...otherProps}\n >\n {multiSelect ? renderMultiSelectItem(item, itemId) : renderSingleSelectItem(item, itemId)}\n </HvListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex || (!anySelected && index === 0) || (item.selected && !item.disabled) ? 0 : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n ListItem.propTypes = {\n style: PropTypes.shape({\n top: PropTypes.number.isRequired,\n left: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n }).isRequired,\n };\n\n const renderFixedList = useCallback(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={height + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n\nHvList.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class in virtualized form.\n */\n virtualizedRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector.\n */\n selectorRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector label container.\n */\n selectorContainer: PropTypes.string,\n /**\n * Style applied to the icon box.\n */\n box: PropTypes.string,\n /**\n * Styles applied when the list item text when truncate.\n */\n truncate: PropTypes.string,\n /**\n * Styles applied to the list item.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the list item when it has a selector.\n */\n itemSelector: PropTypes.string,\n /**\n * Styles applied to the list item when it has a link path.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the select all selector.\n */\n selectAllSelector: PropTypes.string,\n }).isRequired,\n /**\n * The id of the root element\n */\n id: PropTypes.string,\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n // eslint-disable-next-line react/no-unused-prop-types\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n isHidden: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n path: PropTypes.string,\n params: PropTypes.instanceOf(Object),\n })\n ).isRequired,\n /**\n * If true renders a multi select list.\n */\n multiSelect: PropTypes.bool,\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll: PropTypes.bool,\n /**\n * An object containing all the labels for the dropdown.\n */\n labels: PropTypes.shape({\n /**\n * The label used for the All checkbox action.\n */\n selectAll: PropTypes.string,\n /**\n * The label used in the middle of the multiselection count.\n */\n selectionConjunction: PropTypes.string,\n }),\n /**\n * If true renders list items with radio or checkbox selectors.\n */\n useSelector: PropTypes.bool,\n /**\n * Call back fired when list item is selected. Returns selection state.\n */\n onChange: PropTypes.func,\n /**\n * Call back fired when list item is selected. Returns selected item.\n */\n onClick: PropTypes.func,\n /**\n * If `true` the list items will show the selection state.\n */\n selectable: PropTypes.bool,\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle: PropTypes.bool,\n /**\n * If `true` the list will be rendered without vertical spacing.\n */\n condensed: PropTypes.bool,\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips: PropTypes.bool,\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n height: PropTypes.number,\n /**\n * Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options.\n */\n virtualized: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvList\" })(HvList);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"List.js","names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","useSelectableList","list","setList","selection","listRef","React","useRef","useEffect","passedProps","parsedList","parseList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","setId","selectAllSelector","renderItemText","ItemText","wrapperTooltip","label","a","link","renderMultiSelectItem","itemId","Selection","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","renderListItem","i","otherProps","startAdornment","undefined","itemSelector","showNavIcon","box","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","propTypes","PropTypes","shape","number","isRequired","renderFixedList","useMemo","forwardRef","ref","rest","clsx","virtualizedRoot","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","withStyles","styles","name"],"sources":["../../src/List/List.js"],"sourcesContent":["import React, { isValidElement, useEffect, forwardRef, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { FixedSizeList } from \"react-window\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { parseList, wrapperTooltip } from \"./utils\";\nimport useSelectableList from \"./useSelectableList\";\n\nimport { HvLink, HvCheckBox, HvListContainer, HvListItem, HvRadio, HvTypography, setId } from \"..\";\n\nimport styles from \"./styles\";\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nconst HvList = (props) => {\n const {\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = props;\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = React.useRef(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(valuesProp, null, passedProps);\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(list, item, passedProps);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some((elem) => elem.selected || elem.disabled);\n const parsedList = parseList(list, null, passedProps, !anySelectableSelected);\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) =>\n isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={classes.selectAllSelector}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <HvLink key={item.label} route={item.path} classes={{ a: classes.link }}>\n <ItemText />\n </HvLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <HvListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{ selected: useSelector || multiSelect ? classes.itemSelector : \"\" }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={item.showNavIcon && <DropRightXS className={classes.box} iconSize=\"XS\" />}\n {...otherProps}\n >\n {multiSelect ? renderMultiSelectItem(item, itemId) : renderSingleSelectItem(item, itemId)}\n </HvListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex || (!anySelected && index === 0) || (item.selected && !item.disabled) ? 0 : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n ListItem.propTypes = {\n style: PropTypes.shape({\n top: PropTypes.number.isRequired,\n left: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n }).isRequired,\n };\n\n const renderFixedList = useMemo(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={height + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n\nHvList.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class in virtualized form.\n */\n virtualizedRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector.\n */\n selectorRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector label container.\n */\n selectorContainer: PropTypes.string,\n /**\n * Style applied to the icon box.\n */\n box: PropTypes.string,\n /**\n * Styles applied when the list item text when truncate.\n */\n truncate: PropTypes.string,\n /**\n * Styles applied to the list item.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the list item when it has a selector.\n */\n itemSelector: PropTypes.string,\n /**\n * Styles applied to the list item when it has a link path.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the select all selector.\n */\n selectAllSelector: PropTypes.string,\n }).isRequired,\n /**\n * The id of the root element\n */\n id: PropTypes.string,\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n // eslint-disable-next-line react/no-unused-prop-types\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n isHidden: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n path: PropTypes.string,\n params: PropTypes.instanceOf(Object),\n })\n ).isRequired,\n /**\n * If true renders a multi select list.\n */\n multiSelect: PropTypes.bool,\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll: PropTypes.bool,\n /**\n * An object containing all the labels for the dropdown.\n */\n labels: PropTypes.shape({\n /**\n * The label used for the All checkbox action.\n */\n selectAll: PropTypes.string,\n /**\n * The label used in the middle of the multiselection count.\n */\n selectionConjunction: PropTypes.string,\n }),\n /**\n * If true renders list items with radio or checkbox selectors.\n */\n useSelector: PropTypes.bool,\n /**\n * Call back fired when list item is selected. Returns selection state.\n */\n onChange: PropTypes.func,\n /**\n * Call back fired when list item is selected. Returns selected item.\n */\n onClick: PropTypes.func,\n /**\n * If `true` the list items will show the selection state.\n */\n selectable: PropTypes.bool,\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle: PropTypes.bool,\n /**\n * If `true` the list will be rendered without vertical spacing.\n */\n condensed: PropTypes.bool,\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips: PropTypes.bool,\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n height: PropTypes.number,\n /**\n * Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options.\n */\n virtualized: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvList\" })(HvList);\n"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export type HvBaseDropdownClassKey =
|
|
|
11
11
|
| "headerOpenUp"
|
|
12
12
|
| "headerOpenDown"
|
|
13
13
|
| "headerDisabled"
|
|
14
|
+
| "headerReadOnly"
|
|
14
15
|
| "arrow"
|
|
15
16
|
| "selection"
|
|
16
17
|
| "truncate"
|
|
@@ -43,6 +44,10 @@ export interface HvBaseDropdownProps
|
|
|
43
44
|
* If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.
|
|
44
45
|
*/
|
|
45
46
|
disabled?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* If `true` the dropdown will be in read only mode, unable to be interacted.
|
|
49
|
+
*/
|
|
50
|
+
readOnly?: boolean;
|
|
46
51
|
/**
|
|
47
52
|
* Disable the portal behavior.
|
|
48
53
|
* The children stay within it's parent DOM hierarchy.
|
|
@@ -9,7 +9,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
10
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
11
11
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
12
|
-
var _excluded = ["id", "role", "classes", "className", "placeholder", "disabled", "expanded", "defaultExpanded", "placement", "popperProps", "onToggle", "onClickOutside", "onContainerCreation", "disablePortal", "component", "adornment", "children", "variableWidth", "dropdownHeaderProps", "dropdownHeaderRef"],
|
|
12
|
+
var _excluded = ["id", "role", "classes", "className", "placeholder", "disabled", "readOnly", "expanded", "defaultExpanded", "placement", "popperProps", "onToggle", "onClickOutside", "onContainerCreation", "disablePortal", "component", "adornment", "children", "variableWidth", "dropdownHeaderProps", "dropdownHeaderRef"],
|
|
13
13
|
_excluded2 = ["modifiers"];
|
|
14
14
|
import "core-js/modules/es.array.concat.js";
|
|
15
15
|
import "core-js/modules/es.object.to-string.js";
|
|
@@ -48,6 +48,8 @@ var HvBaseDropdown = function HvBaseDropdown(_ref) {
|
|
|
48
48
|
placeholder = _ref.placeholder,
|
|
49
49
|
_ref$disabled = _ref.disabled,
|
|
50
50
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
51
|
+
_ref$readOnly = _ref.readOnly,
|
|
52
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
51
53
|
expanded = _ref.expanded,
|
|
52
54
|
_ref$defaultExpanded = _ref.defaultExpanded,
|
|
53
55
|
defaultExpanded = _ref$defaultExpanded === void 0 ? false : _ref$defaultExpanded,
|
|
@@ -207,9 +209,9 @@ var HvBaseDropdown = function HvBaseDropdown(_ref) {
|
|
|
207
209
|
|
|
208
210
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
209
211
|
id: setId(id, "header"),
|
|
210
|
-
className: clsx(classes.header, isOpen && [classes.headerOpen, popperPlacement.includes("top") && classes.headerOpenUp, popperPlacement.includes("bottom") && classes.headerOpenDown], disabled && classes.headerDisabled),
|
|
212
|
+
className: clsx(classes.header, isOpen && [classes.headerOpen, popperPlacement.includes("top") && classes.headerOpenUp, popperPlacement.includes("bottom") && classes.headerOpenDown], disabled && classes.headerDisabled, readOnly && classes.headerReadOnly),
|
|
211
213
|
role: ariaRole === "combobox" ? "textbox" : undefined,
|
|
212
|
-
style: disabled ? {
|
|
214
|
+
style: disabled || readOnly ? {
|
|
213
215
|
pointerEvents: "none"
|
|
214
216
|
} : undefined,
|
|
215
217
|
"aria-controls": isOpen ? setId(elementId, "children-container") : undefined,
|
|
@@ -300,9 +302,11 @@ var HvBaseDropdown = function HvBaseDropdown(_ref) {
|
|
|
300
302
|
role: ariaRole,
|
|
301
303
|
"aria-expanded": !!isOpen,
|
|
302
304
|
"aria-owns": isOpen ? setId(elementId, "children-container") : undefined,
|
|
303
|
-
className: clsx(className, classes.anchor, disabled && classes.rootDisabled)
|
|
305
|
+
className: clsx(className, classes.anchor, disabled && classes.rootDisabled)
|
|
306
|
+
}, !readOnly && {
|
|
304
307
|
onKeyDown: handleToggle,
|
|
305
|
-
onClick: handleToggle
|
|
308
|
+
onClick: handleToggle
|
|
309
|
+
}, {
|
|
306
310
|
tabIndex: -1
|
|
307
311
|
}, others), headerComponent), isOpen ? containerComponent : null);
|
|
308
312
|
};
|
|
@@ -371,10 +375,15 @@ process.env.NODE_ENV !== "production" ? HvBaseDropdown.propTypes = {
|
|
|
371
375
|
headerOpenDown: PropTypes.string,
|
|
372
376
|
|
|
373
377
|
/**
|
|
374
|
-
* Styles applied to the header when
|
|
378
|
+
* Styles applied to the header when it's disabled.
|
|
375
379
|
*/
|
|
376
380
|
headerDisabled: PropTypes.string,
|
|
377
381
|
|
|
382
|
+
/**
|
|
383
|
+
* Styles applied to the header when it's in read only mode.
|
|
384
|
+
*/
|
|
385
|
+
headerReadOnly: PropTypes.string,
|
|
386
|
+
|
|
378
387
|
/**
|
|
379
388
|
* Styles applied to the arrow
|
|
380
389
|
*/
|
|
@@ -436,6 +445,11 @@ process.env.NODE_ENV !== "production" ? HvBaseDropdown.propTypes = {
|
|
|
436
445
|
*/
|
|
437
446
|
disabled: PropTypes.bool,
|
|
438
447
|
|
|
448
|
+
/**
|
|
449
|
+
* If `true` the dropdown will be in read only mode, unable to be interacted.
|
|
450
|
+
*/
|
|
451
|
+
readOnly: PropTypes.bool,
|
|
452
|
+
|
|
439
453
|
/**
|
|
440
454
|
* Disable the portal behavior.
|
|
441
455
|
* The children stay within it's parent DOM hierarchy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdown.js","names":["ReactDOM","React","useState","useCallback","useMemo","PropTypes","ClickAwayListener","withStyles","usePopper","maxSize","clsx","DropUpXS","DropDownXS","HvTypography","useUniqueId","getFirstAndLastFocus","isKeypress","KeyboardCodes","setId","refType","useControlled","useForkRef","styles","BaseDropdownContext","Tab","Enter","Esc","Space","ArrowDown","HvBaseDropdown","id","role","classes","className","placeholder","disabled","expanded","defaultExpanded","placement","popperProps","onToggle","onClickOutside","onContainerCreation","disablePortal","component","adornment","children","variableWidth","dropdownHeaderProps","dropdownHeaderRefProp","dropdownHeaderRef","others","Boolean","isOpen","setIsOpen","bottom","referenceElement","setReferenceElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","ref","handleDropdownHeaderRef","popperElement","setPopperElement","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","widthCalculator","state","popper","width","rects","reference","widthCalculatorEffect","elements","style","maxSizeCalculator","modifiersData","height","maxWidth","maxHeight","name","enabled","phase","requires","fn","effect","popperStyles","attributes","elementId","ariaRole","undefined","popperPlacement","handleToggle","event","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","cloneElement","header","headerOpen","includes","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","selection","selectionDisabled","arrow","containerComponent","handleContainerKeyDown","shiftKey","focusList","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","body","root","anchor","rootDisabled","propTypes","string","shape","isRequired","oneOfType","node","bool","oneOf","func","onFlip","instanceOf","Object"],"sources":["../../../src/BaseDropdown/BaseDropdown.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport ReactDOM from \"react-dom\";\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ClickAwayListener, withStyles } from \"@material-ui/core\";\nimport { usePopper } from \"react-popper\";\nimport maxSize from \"popper-max-size-modifier\";\nimport clsx from \"clsx\";\nimport { DropUpXS, DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, useUniqueId } from \"..\";\nimport {\n getFirstAndLastFocus,\n isKeypress,\n KeyboardCodes,\n setId,\n refType,\n useControlled,\n useForkRef,\n} from \"../utils\";\nimport styles from \"./styles\";\n\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = KeyboardCodes;\n\nconst HvBaseDropdown = ({\n id,\n role,\n classes,\n className,\n placeholder,\n disabled = false,\n expanded,\n defaultExpanded = false,\n placement = \"right\",\n popperProps = {},\n onToggle,\n onClickOutside,\n onContainerCreation,\n disablePortal = false,\n component,\n adornment,\n children,\n variableWidth = false,\n dropdownHeaderProps,\n dropdownHeaderRef: dropdownHeaderRefProp,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const bottom = placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\n\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperMaxSize, setPopperMaxSize] = useState({});\n\n const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps?.ref);\n const handleDropdownHeaderRef = useForkRef(setReferenceElement, handleDropdownHeaderRefProp);\n\n const [popperElement, setPopperElement] = useState(null);\n\n const extensionWidth = referenceElement ? referenceElement.offsetWidth : \"inherit\";\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } = popperProps;\n\n const onFirstUpdate = useCallback(() => {\n if (onContainerCreation) onContainerCreation(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n }, []);\n\n const widthCalculatorEffect = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }, []);\n\n const maxSizeCalculator = useCallback(\n ({ state }) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (width !== popperMaxSize.width || height !== popperMaxSize.height) {\n setPopperMaxSize({ width, height });\n }\n\n // eslint-disable-next-line no-param-reassign\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const modifiers = useMemo(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n maxSize,\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: maxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [maxSizeCalculator, popperPropsModifiers, variableWidth, widthCalculator, widthCalculatorEffect]\n );\n\n const { styles: popperStyles, attributes } = usePopper(referenceElement, popperElement, {\n placement: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n // we are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(event, Tab) && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n const focusHeader = () => {\n if (!newOpen) {\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement.focus({ preventScroll: true });\n }\n\n return newOpen;\n };\n setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component, {\n ref: handleDropdownHeaderRef,\n });\n }\n\n return (\n <div\n id={setId(id, \"header\")}\n className={clsx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement.includes(\"bottom\"),\n })}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled ? { pointerEvents: \"none\" } : undefined}\n aria-controls={isOpen ? setId(elementId, \"children-container\") : undefined}\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? undefined}\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n noWrap\n className={clsx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"placeholderText\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n {adornment ||\n (isOpen ? (\n <DropUpXS iconSize=\"XS\" className={classes.arrow} />\n ) : (\n <DropDownXS\n iconSize=\"XS\"\n className={classes.arrow}\n color={disabled ? \"atmo5\" : undefined}\n />\n ))}\n </div>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(event, Tab) && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n role=\"tooltip\"\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div id={setId(elementId, \"children-container\")} className={classes.panel}>\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {\n [classes.inputExtensionFloatRight]: popperPlacement.includes(\"start\"),\n [classes.inputExtensionFloatLeft]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return ReactDOM.createPortal(container, document.body);\n })();\n\n return (\n <div className={classes.root}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(className, classes.anchor, {\n [classes.rootDisabled]: disabled,\n })}\n onKeyDown={handleToggle}\n onClick={handleToggle}\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </div>\n {isOpen ? containerComponent : null}\n </div>\n );\n};\n\nHvBaseDropdown.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root when disabled.\n */\n rootDisabled: PropTypes.string,\n /**\n * Styles applied to the element that serves as reference for the popper when disabled.\n */\n anchor: PropTypes.string,\n /**\n * Styles applied to the popper element when it is inside the root element hierarchy.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the header\n */\n header: PropTypes.string,\n /**\n * Styles applied to the component when is open.\n */\n headerOpen: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened up.\n */\n headerOpenUp: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened down.\n */\n headerOpenDown: PropTypes.string,\n /**\n * Styles applied to the header when is disable.\n */\n headerDisabled: PropTypes.string,\n /**\n * Styles applied to the arrow\n */\n arrow: PropTypes.string,\n /**\n * Styles applied to the selection\n */\n selection: PropTypes.string,\n /**\n * Styles applied for truncating the container elements.\n */\n placeholder: PropTypes.string,\n /**\n * Styles applied when the selection is disabled.\n */\n selectionDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown panel.\n */\n panel: PropTypes.string,\n /**\n * Styles applied to the extension when open.\n */\n inputExtensionOpen: PropTypes.string,\n /**\n * Styles applied when position is left.\n */\n inputExtensionLeftPosition: PropTypes.string,\n /**\n * Styles applied to set the shadow when open.\n */\n inputExtensionOpenShadow: PropTypes.string,\n /**\n * Styles applied when position is right and the position is up.\n */\n inputExtensionFloatRight: PropTypes.string,\n /**\n * Styles applied when position is left and the position is up.\n */\n inputExtensionFloatLeft: PropTypes.string,\n }).isRequired,\n /**\n * Header placeholder. String or node.\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled: PropTypes.bool,\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth: PropTypes.bool,\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps: PropTypes.shape(),\n /**\n * Node to be rendered.\n */\n children: PropTypes.node,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Replacement for the header component.\n */\n component: PropTypes.node,\n /**\n * Adornment to replace the default arrows.\n */\n adornment: PropTypes.node,\n /**\n * When dropdown changes the expanded state.\n */\n onToggle: PropTypes.func,\n /**\n * When user click outside the open container.\n */\n onClickOutside: PropTypes.func,\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation: PropTypes.func,\n /**\n * When expanded dropdown flips position.\n */\n onFlip: PropTypes.func,\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps: PropTypes.instanceOf(Object),\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseDropdown\" })(HvBaseDropdown);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdown.js","names":["ReactDOM","React","useState","useCallback","useMemo","PropTypes","ClickAwayListener","withStyles","usePopper","maxSize","clsx","DropUpXS","DropDownXS","HvTypography","useUniqueId","getFirstAndLastFocus","isKeypress","KeyboardCodes","setId","refType","useControlled","useForkRef","styles","BaseDropdownContext","Tab","Enter","Esc","Space","ArrowDown","HvBaseDropdown","id","role","classes","className","placeholder","disabled","readOnly","expanded","defaultExpanded","placement","popperProps","onToggle","onClickOutside","onContainerCreation","disablePortal","component","adornment","children","variableWidth","dropdownHeaderProps","dropdownHeaderRefProp","dropdownHeaderRef","others","Boolean","isOpen","setIsOpen","bottom","referenceElement","setReferenceElement","popperMaxSize","setPopperMaxSize","handleDropdownHeaderRefProp","ref","handleDropdownHeaderRef","popperElement","setPopperElement","extensionWidth","offsetWidth","modifiers","popperPropsModifiers","otherPopperProps","onFirstUpdate","widthCalculator","state","popper","width","rects","reference","widthCalculatorEffect","elements","style","maxSizeCalculator","modifiersData","height","maxWidth","maxHeight","name","enabled","phase","requires","fn","effect","popperStyles","attributes","elementId","ariaRole","undefined","popperPlacement","handleToggle","event","preventDefault","notControlKey","every","key","ignoredCombinations","newOpen","focusHeader","focus","preventScroll","headerComponent","cloneElement","header","headerOpen","includes","headerOpenUp","headerOpenDown","headerDisabled","headerReadOnly","pointerEvents","selection","selectionDisabled","arrow","containerComponent","handleContainerKeyDown","shiftKey","focusList","document","activeElement","last","first","handleOutside","isButtonClick","contains","target","container","inputExtensionOpen","inputExtensionLeftPosition","panel","inputExtensionOpenShadow","inputExtensionFloatRight","inputExtensionFloatLeft","createPortal","body","root","anchor","rootDisabled","onKeyDown","onClick","propTypes","string","shape","isRequired","oneOfType","node","bool","oneOf","func","onFlip","instanceOf","Object"],"sources":["../../../src/BaseDropdown/BaseDropdown.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport ReactDOM from \"react-dom\";\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ClickAwayListener, withStyles } from \"@material-ui/core\";\nimport { usePopper } from \"react-popper\";\nimport maxSize from \"popper-max-size-modifier\";\nimport clsx from \"clsx\";\nimport { DropUpXS, DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, useUniqueId } from \"..\";\nimport {\n getFirstAndLastFocus,\n isKeypress,\n KeyboardCodes,\n setId,\n refType,\n useControlled,\n useForkRef,\n} from \"../utils\";\nimport styles from \"./styles\";\n\nimport BaseDropdownContext from \"./BaseDropdownContext\";\n\nconst { Tab, Enter, Esc, Space, ArrowDown } = KeyboardCodes;\n\nconst HvBaseDropdown = ({\n id,\n role,\n classes,\n className,\n placeholder,\n disabled = false,\n readOnly = false,\n expanded,\n defaultExpanded = false,\n placement = \"right\",\n popperProps = {},\n onToggle,\n onClickOutside,\n onContainerCreation,\n disablePortal = false,\n component,\n adornment,\n children,\n variableWidth = false,\n dropdownHeaderProps,\n dropdownHeaderRef: dropdownHeaderRefProp,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const bottom = placement && `bottom-${placement === \"right\" ? \"start\" : \"end\"}`;\n\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperMaxSize, setPopperMaxSize] = useState({});\n\n const handleDropdownHeaderRefProp = useForkRef(dropdownHeaderRefProp, dropdownHeaderProps?.ref);\n const handleDropdownHeaderRef = useForkRef(setReferenceElement, handleDropdownHeaderRefProp);\n\n const [popperElement, setPopperElement] = useState(null);\n\n const extensionWidth = referenceElement ? referenceElement.offsetWidth : \"inherit\";\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } = popperProps;\n\n const onFirstUpdate = useCallback(() => {\n if (onContainerCreation) onContainerCreation(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const widthCalculator = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.styles.popper.width = `${state.rects.reference.width}px`;\n }, []);\n\n const widthCalculatorEffect = useCallback(({ state }) => {\n // eslint-disable-next-line no-param-reassign\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }, []);\n\n const maxSizeCalculator = useCallback(\n ({ state }) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (width !== popperMaxSize.width || height !== popperMaxSize.height) {\n setPopperMaxSize({ width, height });\n }\n\n // eslint-disable-next-line no-param-reassign\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize]\n );\n\n const modifiers = useMemo(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n maxSize,\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: maxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [maxSizeCalculator, popperPropsModifiers, variableWidth, widthCalculator, widthCalculatorEffect]\n );\n\n const { styles: popperStyles, attributes } = usePopper(referenceElement, popperElement, {\n placement: bottom,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const elementId = useUniqueId(id, \"hvbasedropdown\");\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n let popperPlacement = \"bottom\";\n if (attributes.popper) {\n popperPlacement = attributes.popper[\"data-popper-placement\"];\n }\n\n const handleToggle = useCallback(\n (event) => {\n if (event && !isKeypress(event, Tab)) {\n event.preventDefault();\n }\n // we are checking specifically for false because if \"isKeypress\" returns true or undefined it should continue\n const notControlKey = [Tab, Enter, Esc, ArrowDown, Space].every(\n (key) => isKeypress(event, key) === false\n );\n\n const ignoredCombinations =\n (isKeypress(event, Esc) && !isOpen) ||\n (isKeypress(event, ArrowDown) && isOpen) ||\n (isKeypress(event, Tab) && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n const focusHeader = () => {\n if (!newOpen) {\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement.focus({ preventScroll: true });\n }\n\n return newOpen;\n };\n setIsOpen(focusHeader());\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement]\n );\n\n const headerComponent = (() => {\n if (component) {\n return React.cloneElement(component, {\n ref: handleDropdownHeaderRef,\n });\n }\n\n return (\n <div\n id={setId(id, \"header\")}\n className={clsx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement.includes(\"bottom\"),\n })}\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n aria-controls={isOpen ? setId(elementId, \"children-container\") : undefined}\n aria-label={others[\"aria-label\"] ?? undefined}\n aria-labelledby={others[\"aria-labelledby\"] ?? undefined}\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n noWrap\n className={clsx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"placeholderText\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n {adornment ||\n (isOpen ? (\n <DropUpXS iconSize=\"XS\" className={classes.arrow} />\n ) : (\n <DropDownXS\n iconSize=\"XS\"\n className={classes.arrow}\n color={disabled ? \"atmo5\" : undefined}\n />\n ))}\n </div>\n );\n })();\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown = (event) => {\n if (isKeypress(event, Esc)) {\n handleToggle(event);\n }\n if (isKeypress(event, Tab) && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside = (event) => {\n const isButtonClick = referenceElement?.contains(event.target);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n role=\"tooltip\"\n ref={setPopperElement}\n className={classes.container}\n style={popperStyles.popper}\n {...attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <BaseDropdownContext.Provider value={popperMaxSize}>\n <div id={setId(elementId, \"children-container\")} className={classes.panel}>\n {children}\n </div>\n </BaseDropdownContext.Provider>\n {popperPlacement.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={clsx(classes.inputExtensionOpen, classes.inputExtensionOpenShadow, {\n [classes.inputExtensionFloatRight]: popperPlacement.includes(\"start\"),\n [classes.inputExtensionFloatLeft]: popperPlacement.includes(\"end\"),\n })}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return ReactDOM.createPortal(container, document.body);\n })();\n\n return (\n <div className={classes.root}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n id={id}\n role={ariaRole}\n aria-expanded={!!isOpen}\n aria-owns={isOpen ? setId(elementId, \"children-container\") : undefined}\n className={clsx(className, classes.anchor, {\n [classes.rootDisabled]: disabled,\n })}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n tabIndex={-1}\n {...others}\n >\n {headerComponent}\n </div>\n {isOpen ? containerComponent : null}\n </div>\n );\n};\n\nHvBaseDropdown.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root when disabled.\n */\n rootDisabled: PropTypes.string,\n /**\n * Styles applied to the element that serves as reference for the popper when disabled.\n */\n anchor: PropTypes.string,\n /**\n * Styles applied to the popper element when it is inside the root element hierarchy.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the header\n */\n header: PropTypes.string,\n /**\n * Styles applied to the component when is open.\n */\n headerOpen: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened up.\n */\n headerOpenUp: PropTypes.string,\n /**\n * Styles applied to the header when the container is opened down.\n */\n headerOpenDown: PropTypes.string,\n /**\n * Styles applied to the header when it's disabled.\n */\n headerDisabled: PropTypes.string,\n /**\n * Styles applied to the header when it's in read only mode.\n */\n headerReadOnly: PropTypes.string,\n /**\n * Styles applied to the arrow\n */\n arrow: PropTypes.string,\n /**\n * Styles applied to the selection\n */\n selection: PropTypes.string,\n /**\n * Styles applied for truncating the container elements.\n */\n placeholder: PropTypes.string,\n /**\n * Styles applied when the selection is disabled.\n */\n selectionDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown panel.\n */\n panel: PropTypes.string,\n /**\n * Styles applied to the extension when open.\n */\n inputExtensionOpen: PropTypes.string,\n /**\n * Styles applied when position is left.\n */\n inputExtensionLeftPosition: PropTypes.string,\n /**\n * Styles applied to set the shadow when open.\n */\n inputExtensionOpenShadow: PropTypes.string,\n /**\n * Styles applied when position is right and the position is up.\n */\n inputExtensionFloatRight: PropTypes.string,\n /**\n * Styles applied when position is left and the position is up.\n */\n inputExtensionFloatLeft: PropTypes.string,\n }).isRequired,\n /**\n * Header placeholder. String or node.\n */\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly: PropTypes.bool,\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth: PropTypes.bool,\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps: PropTypes.shape(),\n /**\n * Node to be rendered.\n */\n children: PropTypes.node,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Replacement for the header component.\n */\n component: PropTypes.node,\n /**\n * Adornment to replace the default arrows.\n */\n adornment: PropTypes.node,\n /**\n * When dropdown changes the expanded state.\n */\n onToggle: PropTypes.func,\n /**\n * When user click outside the open container.\n */\n onClickOutside: PropTypes.func,\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation: PropTypes.func,\n /**\n * When expanded dropdown flips position.\n */\n onFlip: PropTypes.func,\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps: PropTypes.instanceOf(Object),\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef: refType,\n};\n\nexport default withStyles(styles, { name: \"HvBaseDropdown\" })(HvBaseDropdown);\n"],"mappings":"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"}
|
|
@@ -75,6 +75,15 @@ var styles = function styles(theme) {
|
|
|
75
75
|
},
|
|
76
76
|
cursor: "not-allowed"
|
|
77
77
|
},
|
|
78
|
+
headerReadOnly: {
|
|
79
|
+
cursor: "not-allowed",
|
|
80
|
+
pointerEvents: "none",
|
|
81
|
+
border: "none",
|
|
82
|
+
"&:focus-visible": {
|
|
83
|
+
outline: "none",
|
|
84
|
+
border: "none"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
78
87
|
arrow: {
|
|
79
88
|
position: "absolute",
|
|
80
89
|
pointerEvents: "none",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["outlineStyles","styles","theme","root","width","position","anchor","display","rootDisabled","cursor","outline","container","zIndex","tooltip","containedPopper","header","userSelect","background","hv","palette","atmosphere","atmo1","border","atmo4","accent","acce1","borderRadius","headerOpen","boxShadow","shadows","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","atmo3","arrow","top","right","selection","alignItems","height","spacing","md","padding","hvSpacing","placeholder","selectionDisabled","typography","placeholderText","panel","inputExtensionOpen","xs","backgroundColor","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"sources":["../../../src/BaseDropdown/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst styles = (theme) => ({\n root: {\n width: \"100%\",\n position: \"relative\",\n },\n anchor: {\n display: \"inline-block\",\n width: \"100%\",\n },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n container: {\n zIndex: theme.zIndex.tooltip,\n },\n containedPopper: {\n width: \"100%\",\n },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n borderRadius: \"2px\",\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n },\n },\n headerOpenUp: {\n borderRadius: \"0px 0px 2px 2px\",\n },\n headerOpenDown: {\n borderRadius: \"2px 2px 0px 0px\",\n },\n headerDisabled: {\n pointerEvents: \"none\",\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n background: theme.hv.palette.atmosphere.atmo3,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n cursor: \"not-allowed\",\n },\n arrow: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: theme.hv.spacing.md,\n padding: theme.hvSpacing(0, \"md\", 0, \"xs\"),\n },\n placeholder: {\n display: \"block\",\n },\n selectionDisabled: {\n ...theme.hv.typography.placeholderText,\n },\n panel: {\n position: \"relative\",\n boxShadow: theme.hv.shadows[1],\n },\n inputExtensionOpen: {\n height: theme.hv.spacing.xs,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n inputExtensionLeftPosition: {\n marginLeft: \"auto\",\n },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.hv.palette.atmosphere.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: {\n float: \"left\",\n },\n inputExtensionFloatLeft: {\n float: \"right\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,aAAT,QAA8B,iBAA9B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,KAAK,EAAE,MADH;MAEJC,QAAQ,EAAE;IAFN,CADmB;IAKzBC,MAAM,EAAE;MACNC,OAAO,EAAE,cADH;MAENH,KAAK,EAAE;IAFD,CALiB;IASzBI,YAAY,EAAE;MACZC,MAAM,EAAE,aADI;MAEZ,WAAW;QACTC,OAAO,EAAE;MADA;IAFC,CATW;IAezBC,SAAS,EAAE;MACTC,MAAM,EAAEV,KAAK,CAACU,MAAN,CAAaC;IADZ,CAfc;IAkBzBC,eAAe,EAAE;MACfV,KAAK,EAAE;IADQ,CAlBQ;IAqBzBW,MAAM,EAAE;MACNN,MAAM,EAAE,SADF;MAENO,UAAU,EAAE,MAFN;MAGNX,QAAQ,EAAE,UAHJ;MAINY,UAAU,EAAEf,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAJlC;MAKNC,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C,CALA;MAMN,WAAW;QACTD,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBK,MAAjB,CAAwBC,KAAvC;MADG,CANL;MASNC,YAAY,EAAE,KATR;MAUN,WAAW;QACThB,OAAO,EAAE;MADA,CAVL;MAaN,mDACKV,aADL;QAEEsB,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBK,MAAjB,CAAwBC,KAAvC;MAFR;IAbM,CArBiB;IAuCzBE,UAAU,EAAE;MACVL,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CADI;MAEVO,SAAS,EAAE1B,KAAK,CAACgB,EAAN,CAASW,OAAT,CAAiB,CAAjB,CAFD;MAGV,WAAW;QACTP,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CADG;QAETO,SAAS,EAAE1B,KAAK,CAACgB,EAAN,CAASW,OAAT,CAAiB,CAAjB;MAFF;IAHD,CAvCa;IA+CzBC,YAAY,EAAE;MACZJ,YAAY,EAAE;IADF,CA/CW;IAkDzBK,cAAc,EAAE;MACdL,YAAY,EAAE;IADA,CAlDS;IAqDzBM,cAAc,EAAE;MACdC,aAAa,EAAE,MADD;MAEdX,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C,CAFQ;MAGdN,UAAU,EAAEf,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4Bc,KAH1B;MAId,WAAW;QACTZ,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C;MADG,CAJG;MAOdd,MAAM,EAAE;IAPM,CArDS;IA8DzB0B,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["outlineStyles","styles","theme","root","width","position","anchor","display","rootDisabled","cursor","outline","container","zIndex","tooltip","containedPopper","header","userSelect","background","hv","palette","atmosphere","atmo1","border","atmo4","accent","acce1","borderRadius","headerOpen","boxShadow","shadows","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","atmo3","headerReadOnly","arrow","top","right","selection","alignItems","height","spacing","md","padding","hvSpacing","placeholder","selectionDisabled","typography","placeholderText","panel","inputExtensionOpen","xs","backgroundColor","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"sources":["../../../src/BaseDropdown/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst styles = (theme) => ({\n root: {\n width: \"100%\",\n position: \"relative\",\n },\n anchor: {\n display: \"inline-block\",\n width: \"100%\",\n },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n container: {\n zIndex: theme.zIndex.tooltip,\n },\n containedPopper: {\n width: \"100%\",\n },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n borderRadius: \"2px\",\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n },\n },\n headerOpenUp: {\n borderRadius: \"0px 0px 2px 2px\",\n },\n headerOpenDown: {\n borderRadius: \"2px 2px 0px 0px\",\n },\n headerDisabled: {\n pointerEvents: \"none\",\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n background: theme.hv.palette.atmosphere.atmo3,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n cursor: \"not-allowed\",\n },\n headerReadOnly: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: \"none\",\n \"&:focus-visible\": {\n outline: \"none\",\n border: \"none\",\n },\n },\n arrow: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: theme.hv.spacing.md,\n padding: theme.hvSpacing(0, \"md\", 0, \"xs\"),\n },\n placeholder: {\n display: \"block\",\n },\n selectionDisabled: {\n ...theme.hv.typography.placeholderText,\n },\n panel: {\n position: \"relative\",\n boxShadow: theme.hv.shadows[1],\n },\n inputExtensionOpen: {\n height: theme.hv.spacing.xs,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n inputExtensionLeftPosition: {\n marginLeft: \"auto\",\n },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.hv.palette.atmosphere.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: {\n float: \"left\",\n },\n inputExtensionFloatLeft: {\n float: \"right\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,aAAT,QAA8B,iBAA9B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,KAAK,EAAE,MADH;MAEJC,QAAQ,EAAE;IAFN,CADmB;IAKzBC,MAAM,EAAE;MACNC,OAAO,EAAE,cADH;MAENH,KAAK,EAAE;IAFD,CALiB;IASzBI,YAAY,EAAE;MACZC,MAAM,EAAE,aADI;MAEZ,WAAW;QACTC,OAAO,EAAE;MADA;IAFC,CATW;IAezBC,SAAS,EAAE;MACTC,MAAM,EAAEV,KAAK,CAACU,MAAN,CAAaC;IADZ,CAfc;IAkBzBC,eAAe,EAAE;MACfV,KAAK,EAAE;IADQ,CAlBQ;IAqBzBW,MAAM,EAAE;MACNN,MAAM,EAAE,SADF;MAENO,UAAU,EAAE,MAFN;MAGNX,QAAQ,EAAE,UAHJ;MAINY,UAAU,EAAEf,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAJlC;MAKNC,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C,CALA;MAMN,WAAW;QACTD,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBK,MAAjB,CAAwBC,KAAvC;MADG,CANL;MASNC,YAAY,EAAE,KATR;MAUN,WAAW;QACThB,OAAO,EAAE;MADA,CAVL;MAaN,mDACKV,aADL;QAEEsB,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBK,MAAjB,CAAwBC,KAAvC;MAFR;IAbM,CArBiB;IAuCzBE,UAAU,EAAE;MACVL,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CADI;MAEVO,SAAS,EAAE1B,KAAK,CAACgB,EAAN,CAASW,OAAT,CAAiB,CAAjB,CAFD;MAGV,WAAW;QACTP,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CADG;QAETO,SAAS,EAAE1B,KAAK,CAACgB,EAAN,CAASW,OAAT,CAAiB,CAAjB;MAFF;IAHD,CAvCa;IA+CzBC,YAAY,EAAE;MACZJ,YAAY,EAAE;IADF,CA/CW;IAkDzBK,cAAc,EAAE;MACdL,YAAY,EAAE;IADA,CAlDS;IAqDzBM,cAAc,EAAE;MACdC,aAAa,EAAE,MADD;MAEdX,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C,CAFQ;MAGdN,UAAU,EAAEf,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4Bc,KAH1B;MAId,WAAW;QACTZ,MAAM,sBAAepB,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAA3C;MADG,CAJG;MAOdd,MAAM,EAAE;IAPM,CArDS;IA8DzB0B,cAAc,EAAE;MACd1B,MAAM,EAAE,aADM;MAEdwB,aAAa,EAAE,MAFD;MAGdX,MAAM,EAAE,MAHM;MAId,mBAAmB;QACjBZ,OAAO,EAAE,MADQ;QAEjBY,MAAM,EAAE;MAFS;IAJL,CA9DS;IAuEzBc,KAAK,EAAE;MACL/B,QAAQ,EAAE,UADL;MAEL4B,aAAa,EAAE,MAFV;MAGLI,GAAG,EAAE,CAAC,CAHD;MAILC,KAAK,EAAE,CAAC;IAJH,CAvEkB;IA6EzBC,SAAS,EAAE;MACThC,OAAO,EAAE,MADA;MAETiC,UAAU,EAAE,QAFH;MAGTC,MAAM,EAAEvC,KAAK,CAACgB,EAAN,CAASwB,OAAT,CAAiBC,EAHhB;MAITC,OAAO,EAAE1C,KAAK,CAAC2C,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,EAAyB,CAAzB,EAA4B,IAA5B;IAJA,CA7Ec;IAmFzBC,WAAW,EAAE;MACXvC,OAAO,EAAE;IADE,CAnFY;IAsFzBwC,iBAAiB,oBACZ7C,KAAK,CAACgB,EAAN,CAAS8B,UAAT,CAAoBC,eADR,CAtFQ;IAyFzBC,KAAK,EAAE;MACL7C,QAAQ,EAAE,UADL;MAELuB,SAAS,EAAE1B,KAAK,CAACgB,EAAN,CAASW,OAAT,CAAiB,CAAjB;IAFN,CAzFkB;IA6FzBsB,kBAAkB,EAAE;MAClBV,MAAM,EAAEvC,KAAK,CAACgB,EAAN,CAASwB,OAAT,CAAiBU,EADP;MAElBC,eAAe,EAAEnD,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC;IAF3B,CA7FK;IAiGzBiC,0BAA0B,EAAE;MAC1BC,UAAU,EAAE;IADc,CAjGH;IAoGzBC,wBAAwB,EAAE;MACxB5B,SAAS,wBAAiB1B,KAAK,CAACgB,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA7C;IADe,CApGD;IAuGzBoC,wBAAwB,EAAE;MACxBC,KAAK,EAAE;IADiB,CAvGD;IA0GzBC,uBAAuB,EAAE;MACvBD,KAAK,EAAE;IADgB;EA1GA,CAAZ;AAAA,CAAf;;AA+GA,eAAezD,MAAf"}
|
|
@@ -60,6 +60,10 @@ export interface HvDropdownProps
|
|
|
60
60
|
* If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.
|
|
61
61
|
*/
|
|
62
62
|
disabled?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Indicates that the form element is in read only mode.
|
|
65
|
+
*/
|
|
66
|
+
readOnly?: boolean;
|
|
63
67
|
/**
|
|
64
68
|
* If `true` the dropdown starts opened if `false` it starts closed.
|
|
65
69
|
*/
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "placeholder", "onChange", "status", "statusMessage", "aria-errormessage", "onCancel", "onToggle", "onClickOutside", "onFocus", "onBlur", "values", "multiSelect", "showSearch", "expanded", "defaultExpanded", "notifyChangesOnFirstRender", "labels", "hasTooltips", "disablePortal", "singleSelectionToggle", "placement", "variableWidth", "popperProps", "height", "virtualized", "baseDropdownProps", "listProps"];
|
|
5
|
+
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "readOnly", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "placeholder", "onChange", "status", "statusMessage", "aria-errormessage", "onCancel", "onToggle", "onClickOutside", "onFocus", "onBlur", "values", "multiSelect", "showSearch", "expanded", "defaultExpanded", "notifyChangesOnFirstRender", "labels", "hasTooltips", "disablePortal", "singleSelectionToggle", "placement", "variableWidth", "popperProps", "height", "virtualized", "baseDropdownProps", "listProps"];
|
|
6
6
|
import "core-js/modules/es.function.name.js";
|
|
7
7
|
import "core-js/modules/es.symbol.js";
|
|
8
8
|
import "core-js/modules/es.symbol.description.js";
|
|
@@ -43,6 +43,8 @@ var HvDropdown = function HvDropdown(props) {
|
|
|
43
43
|
required = _props$required === void 0 ? false : _props$required,
|
|
44
44
|
_props$disabled = props.disabled,
|
|
45
45
|
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
46
|
+
_props$readOnly = props.readOnly,
|
|
47
|
+
readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
|
|
46
48
|
label = props.label,
|
|
47
49
|
ariaLabel = props["aria-label"],
|
|
48
50
|
ariaLabelledBy = props["aria-labelledby"],
|
|
@@ -267,6 +269,7 @@ var HvDropdown = function HvDropdown(props) {
|
|
|
267
269
|
name: name,
|
|
268
270
|
status: validationState,
|
|
269
271
|
disabled: disabled,
|
|
272
|
+
readOnly: readOnly,
|
|
270
273
|
required: required,
|
|
271
274
|
className: clsx(className, classes.root)
|
|
272
275
|
}, others), (hasLabel || hasDescription) && /*#__PURE__*/React.createElement("div", {
|
|
@@ -288,6 +291,7 @@ var HvDropdown = function HvDropdown(props) {
|
|
|
288
291
|
},
|
|
289
292
|
expanded: isOpen,
|
|
290
293
|
disabled: disabled,
|
|
294
|
+
readOnly: readOnly,
|
|
291
295
|
disablePortal: disablePortal,
|
|
292
296
|
placement: placement,
|
|
293
297
|
popperProps: popperProps,
|
|
@@ -459,6 +463,11 @@ process.env.NODE_ENV !== "production" ? HvDropdown.propTypes = {
|
|
|
459
463
|
*/
|
|
460
464
|
disabled: PropTypes.bool,
|
|
461
465
|
|
|
466
|
+
/**
|
|
467
|
+
* Indicates that the form element is in read only mode.
|
|
468
|
+
*/
|
|
469
|
+
readOnly: PropTypes.bool,
|
|
470
|
+
|
|
462
471
|
/**
|
|
463
472
|
* Indicates that user input is required on the form element.
|
|
464
473
|
*/
|