@hitachivantara/uikit-react-core 3.68.1 → 3.68.4
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/Accordion/Accordion.js.map +1 -1
- package/dist/ActionBar/ActionBar.js.map +1 -1
- package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/AssetInventory/Search/Search.js.map +1 -1
- package/dist/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/AssetInventory/setActionsId.js.map +1 -1
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
- package/dist/BaseInput/BaseInput.js.map +1 -1
- package/dist/BaseInput/validations.js.map +1 -1
- package/dist/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/BreadCrumb/utils.js.map +1 -1
- package/dist/BulkActions/BulkActions.js.map +1 -1
- package/dist/BulkActions/styles.js.map +1 -1
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/materialConfigurarion.js.map +1 -1
- package/dist/Button/styles.js.map +1 -1
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/Calendar/model.js.map +1 -1
- package/dist/Calendar/utils.js.map +1 -1
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Content/Content.js.map +1 -1
- package/dist/Card/Header/Header.js.map +1 -1
- package/dist/Card/Media/Media.js.map +1 -1
- package/dist/Card/styles.js.map +1 -1
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/Container/Container.js.map +1 -1
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/DatePicker/useVisibleDate.js.map +1 -1
- package/dist/DatePicker/utils.js.map +1 -1
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Dialog/styles.js.map +1 -1
- package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/List/List.js.map +1 -1
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/FileUploader/File/File.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/FilterGroup/Counter/styles.js.map +1 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
- package/dist/FilterGroup/styles.js.map +1 -1
- package/dist/Focus/Focus.js.map +1 -1
- package/dist/Focus/utils.js.map +1 -1
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
- package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/Forms/Label/Label.js.map +1 -1
- package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Header/Actions/Actions.js.map +1 -1
- package/dist/Header/Brand/Brand.js.map +1 -1
- package/dist/Header/Header.js.map +1 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/MenuItem.js +29 -9
- package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/Header/Navigation/Navigation.js +5 -1
- package/dist/Header/Navigation/Navigation.js.map +1 -1
- package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
- package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
- package/dist/Input/Input.js.map +1 -1
- package/dist/Kpi/Kpi.js.map +1 -1
- package/dist/Link/Link.js.map +1 -1
- package/dist/List/List.js +20 -16
- package/dist/List/List.js.map +1 -1
- package/dist/List/useSelectableList.js.map +1 -1
- package/dist/List/utils.js.map +1 -1
- package/dist/ListContainer/ListContainer.js.map +1 -1
- package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
- package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Login/Login.js.map +1 -1
- package/dist/Login/styles.js.map +1 -1
- package/dist/MultiButton/MultiButton.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Select.js.map +1 -1
- package/dist/Pagination/utils.js.map +1 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Provider/Provider.js.map +1 -1
- package/dist/Provider/context.js.map +1 -1
- package/dist/Provider/useLocale.js.map +1 -1
- package/dist/Radio/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
- package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Vertical/styles.js.map +1 -1
- package/dist/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/ScrollTo/withTooltip.js.map +1 -1
- package/dist/SelectionList/SelectionList.js.map +1 -1
- package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/SimpleGrid/styles.js.map +1 -1
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Snackbar/Snackbar.js.map +1 -1
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
- package/dist/Stack/Stack.js.map +1 -1
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Tab/Tab.js.map +1 -1
- package/dist/Table/CellWithTooltip/index.js.map +1 -1
- package/dist/Table/Header/Header.js.map +1 -1
- package/dist/Table/NoData/index.js.map +1 -1
- package/dist/Table/NoData/styles.js.map +1 -1
- package/dist/Table/Table.js +19 -22
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/columnUtils.js.map +1 -1
- package/dist/Table/selectTable.js.map +1 -1
- package/dist/Table/styles.js.map +1 -1
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/styles.js.map +1 -1
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
- package/dist/TimePicker/TimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
- package/dist/TimePicker/timePickerConverter.js.map +1 -1
- package/dist/TimePicker/timePickerFormatter.js.map +1 -1
- package/dist/TimePicker/timePickerUtils.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/UserPreferences/Action/Action.js.map +1 -1
- package/dist/UserPreferences/Action/styles.js.map +1 -1
- package/dist/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/UserPreferences/Options/Option.js.map +1 -1
- package/dist/UserPreferences/Options/Options.js.map +1 -1
- package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
- package/dist/UserPreferences/Options/styles.js.map +1 -1
- package/dist/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/VerticalNavigation/Navigation/Navigation.js +10 -3
- package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +25 -4
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +25 -9
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/legacy/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/legacy/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/legacy/Header/Navigation/Navigation.js +5 -1
- package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/List/List.js +23 -19
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/legacy/Table/Table.js +20 -23
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +10 -3
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +24 -4
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/legacy/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/legacy/utils/ConditionalRenderer.js +1 -0
- package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +5 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +24 -9
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/styles.js +4 -0
- package/dist/modern/Header/Navigation/MenuItem/styles.js.map +1 -1
- package/dist/modern/Header/Navigation/Navigation.d.ts +4 -0
- package/dist/modern/Header/Navigation/Navigation.js +5 -1
- package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
- package/dist/modern/List/List.js +25 -24
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/Table/Table.js +20 -23
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js +10 -2
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +23 -4
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/styles.js +3 -0
- package/dist/modern/VerticalNavigation/TreeView/styles.js.map +1 -1
- package/dist/modern/utils/ConditionalRenderer.js +1 -0
- package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
- package/dist/theme/CssBaseline.js.map +1 -1
- package/dist/theme/ScopedCssBaseline.js.map +1 -1
- package/dist/theme/createGenerateClassName.js.map +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/overrides/muiButton.js.map +1 -1
- package/dist/theme/palette.js.map +1 -1
- package/dist/theme/typography.js.map +1 -1
- package/dist/useUniqueId.js.map +1 -1
- package/dist/utils/ConditionalRenderer.js +1 -0
- package/dist/utils/ConditionalRenderer.js.map +1 -1
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/hexToRgbA.js.map +1 -1
- package/dist/utils/refType.js.map +1 -1
- package/dist/utils/setId.js.map +1 -1
- package/dist/utils/useComputation.js.map +1 -1
- package/dist/utils/useDeprecated.js.map +1 -1
- package/dist/utils/useImageLoaded.js.map +1 -1
- package/dist/utils/useIsMounted.js.map +1 -1
- package/dist/utils/useLabels.js.map +1 -1
- package/dist/utils/usePropAsRef.js.map +1 -1
- package/dist/utils/useSavedState.js.map +1 -1
- package/dist/utils/useUpdated.js.map +1 -1
- package/dist/utils/useWidth.js.map +1 -1
- package/dist/withId.js.map +1 -1
- package/dist/withTooltip.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","names":["React","useContext","clsx","PropTypes","withStyles","KeyboardCodes","isKeypress","HvTypography","SelectionContext","FocusContext","ConditionalWrapper","MenuBar","styles","isBrowser","MenuItem","classes","id","item","type","onClick","selectionPath","dispatch","data","isMenu","isSelected","hasSubLevel","length","actionHandler","event","Enter","SpaceBar","currentTarget","blur","handleFocus","itemFocused","focusWrapper","childrenToWrap","externalReference","isIe","label","root","selectedItem","notSelectedItem","button","propTypes","shape","string","falseFocus","isRequired","arrayOf","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../../utils/KeyboardUtils\";\nimport HvTypography from \"../../../Typography\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport { FocusContext } from \"../utils/FocusContext\";\nimport ConditionalWrapper from \"../../../utils/ConditionalWrapper\";\nimport MenuBar from \"../MenuBar\";\nimport styles from \"./styles\";\nimport isBrowser from \"../../../utils/browser\";\n\nconst MenuItem = ({ classes, id, item, type, onClick }) => {\n const selectionPath = useContext(SelectionContext);\n const { dispatch } = useContext(FocusContext);\n\n const { data } = item;\n const isMenu = type === \"menu\";\n const isSelected = selectionPath[isMenu ? 1 : 0] === item.id;\n const hasSubLevel = data && data.length;\n\n const actionHandler = (event) => {\n if (\n event.type === \"click\" ||\n isKeypress(event, KeyboardCodes.Enter) ||\n isKeypress(event, KeyboardCodes.SpaceBar)\n ) {\n if (event.type === \"click\") {\n event.currentTarget.blur();\n }\n\n onClick?.(event, item);\n }\n };\n\n const handleFocus = (event) => {\n dispatch({ type: \"setItemFocused\", itemFocused: event.currentTarget });\n };\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>{childrenToWrap}</div>\n );\n const isIe = isBrowser([\"ie\", \"edge\"]);\n return (\n <li\n id={id}\n key={item.label}\n className={clsx(classes.root, classes[`${type}Item`], {\n [classes.selectedItem]: !isMenu && isSelected,\n [classes.notSelectedItem]: !isMenu && !isSelected,\n })}\n >\n <ConditionalWrapper condition={isIe} wrapper={focusWrapper}>\n
|
|
1
|
+
{"version":3,"file":"MenuItem.js","names":["React","useContext","clsx","PropTypes","withStyles","KeyboardCodes","isKeypress","HvTypography","SelectionContext","FocusContext","ConditionalWrapper","MenuBar","styles","isBrowser","MenuItem","classes","id","item","type","onClick","selectionPath","dispatch","data","isMenu","isSelected","hasSubLevel","length","actionHandler","event","Enter","SpaceBar","currentTarget","blur","handleFocus","itemFocused","focusWrapper","childrenToWrap","externalReference","isIe","label","itemProps","onKeyDown","tabIndex","onFocus","root","selectedItem","notSelectedItem","href","button","link","target","propTypes","shape","string","falseFocus","isRequired","arrayOf","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../../utils/KeyboardUtils\";\nimport HvTypography from \"../../../Typography\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport { FocusContext } from \"../utils/FocusContext\";\nimport ConditionalWrapper from \"../../../utils/ConditionalWrapper\";\nimport MenuBar from \"../MenuBar\";\nimport styles from \"./styles\";\nimport isBrowser from \"../../../utils/browser\";\n\nconst MenuItem = ({ classes, id, item, type, onClick }) => {\n const selectionPath = useContext(SelectionContext);\n const { dispatch } = useContext(FocusContext);\n\n const { data } = item;\n const isMenu = type === \"menu\";\n const isSelected = selectionPath[isMenu ? 1 : 0] === item.id;\n const hasSubLevel = data && data.length;\n\n const actionHandler = (event) => {\n if (\n event.type === \"click\" ||\n isKeypress(event, KeyboardCodes.Enter) ||\n isKeypress(event, KeyboardCodes.SpaceBar)\n ) {\n if (event.type === \"click\") {\n event.currentTarget.blur();\n }\n\n onClick?.(event, item);\n }\n };\n\n const handleFocus = (event) => {\n dispatch({ type: \"setItemFocused\", itemFocused: event.currentTarget });\n };\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>{childrenToWrap}</div>\n );\n const isIe = isBrowser([\"ie\", \"edge\"]);\n const label = (\n <HvTypography variant={isSelected ? \"selectedNavText\" : \"normalText\"}>\n {item.label}\n </HvTypography>\n );\n const itemProps = {\n onClick: actionHandler,\n onKeyDown: actionHandler,\n tabIndex: 0,\n onFocus: handleFocus,\n };\n return (\n <li\n id={id}\n key={item.label}\n className={clsx(classes.root, classes[`${type}Item`], {\n [classes.selectedItem]: !isMenu && isSelected,\n [classes.notSelectedItem]: !isMenu && !isSelected,\n })}\n >\n <ConditionalWrapper condition={isIe} wrapper={focusWrapper}>\n {item?.href ? (\n <a\n className={clsx(classes.button, classes.link)}\n href={item?.href}\n target={item?.target}\n {...itemProps}\n >\n {label}\n </a>\n ) : (\n <div className={clsx(classes.button)} role=\"button\" {...itemProps}>\n {label}\n </div>\n )}\n </ConditionalWrapper>\n {hasSubLevel && <MenuBar data={data} onClick={onClick} type=\"menu\" />}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the first element in the hierarchy.\n */\n root: PropTypes.string,\n /**\n * Style applied to the li element when it is selected.\n */\n selectedItem: PropTypes.string,\n /**\n * Style applied to the li element when it isn't selected.\n */\n notSelectedItem: PropTypes.string,\n /**\n * Style applied to each item button.\n */\n button: PropTypes.string,\n /**\n * Style applied to each item button when it is behaving as a.\n */\n link: PropTypes.string,\n /**\n * Style applied to the reference element used for ie focus.\n */\n externalReference: PropTypes.string,\n /**\n * Style applied to simulated a focus in ie.\n */\n falseFocus: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * An object containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n item: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n }).isRequired,\n /**\n * Callback triggered when item is clicked.\n */\n onClick: PropTypes.func,\n /**\n * The type of menu.\n */\n type: PropTypes.oneOf([\"menubar\", \"menu\"]).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderMenuItem\" })(MenuItem);\n"],"mappings":"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"}
|
|
@@ -58,6 +58,10 @@ var styles = function styles(theme) {
|
|
|
58
58
|
},
|
|
59
59
|
"&.focus-visible": _objectSpread({}, outlineStyles)
|
|
60
60
|
},
|
|
61
|
+
link: {
|
|
62
|
+
display: "block",
|
|
63
|
+
textDecoration: "none"
|
|
64
|
+
},
|
|
61
65
|
externalReference: _objectSpread({}, externalReference),
|
|
62
66
|
falseFocus: _objectSpread(_objectSpread({}, falseFocus), {}, {
|
|
63
67
|
top: "4px"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["focusStyles","outlineStyles","externalReference","falseFocus","styles","theme","hoverColor","hv","palette","atmosphere","atmo3","root","display","backgroundColor","selectedItem","borderTop","accent","acce3","paddingTop","notSelectedItem","marginTop","button","border","cursor","padding","hvSpacing","outline","top"],"sources":["../../../../../src/Header/Navigation/MenuItem/styles.js"],"sourcesContent":["import \"focus-within-polyfill\";\nimport focusStyles, { outlineStyles } from \"../../../Focus/styles\";\n\nconst { externalReference, falseFocus } = focusStyles;\n\nconst styles = (theme) => {\n const hoverColor = theme.hv.palette.atmosphere.atmo3;\n\n return {\n root: {\n display: \"inline\",\n \"&:hover\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n \"&:focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n selectedItem: {\n borderTop: `2px solid ${theme.hv.palette.accent.acce3}`,\n paddingTop: \"2px\",\n },\n notSelectedItem: {\n marginTop: \"4px\",\n },\n button: {\n border: \"none\",\n cursor: \"pointer\",\n padding: theme.hvSpacing(\"8px\", \"sm\"),\n \"&:active\": {\n outline: \"none\",\n },\n \"&:focus\": {\n outline: \"none\",\n backgroundColor: hoverColor,\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n },\n externalReference: {\n ...externalReference,\n },\n falseFocus: {\n ...falseFocus,\n top: \"4px\",\n },\n };\n};\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,uBAAP;AACA,OAAOA,WAAP,IAAsBC,aAAtB,QAA2C,uBAA3C;AAEA,IAAQC,iBAAR,GAA0CF,WAA1C,CAAQE,iBAAR;AAAA,IAA2BC,UAA3B,GAA0CH,WAA1C,CAA2BG,UAA3B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD,EAAW;EACxB,IAAMC,UAAU,GAAGD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA/C;EAEA,OAAO;IACLC,IAAI,EAAE;MACJC,OAAO,EAAE,QADL;MAEJ,WAAW;QACT,uBAAuB;UACrBC,eAAe,EAAEP;QADI,CADd;QAIT,kBAAkB;UAChB,uBAAuB;YACrBO,eAAe,EAAEP;UADI;QADP;MAJT,CAFP;MAYJ;MACA,kBAAkB;QAChB,uBAAuB;UACrBO,eAAe,EAAEP;QADI;MADP;IAbd,CADD;IAoBLQ,YAAY,EAAE;MACZC,SAAS,sBAAeV,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBQ,MAAjB,CAAwBC,KAAvC,CADG;MAEZC,UAAU,EAAE;IAFA,CApBT;IAwBLC,eAAe,EAAE;MACfC,SAAS,EAAE;IADI,CAxBZ;IA2BLC,MAAM,EAAE;MACNC,MAAM,EAAE,MADF;MAENC,MAAM,EAAE,SAFF;MAGNC,OAAO,EAAEnB,KAAK,CAACoB,SAAN,CAAgB,KAAhB,EAAuB,IAAvB,CAHH;MAIN,YAAY;QACVC,OAAO,EAAE;MADC,CAJN;MAON,WAAW;QACTA,OAAO,EAAE,MADA;QAETb,eAAe,EAAEP;MAFR,CAPL;MAWN,qCACKL,aADL;IAXM,CA3BH;
|
|
1
|
+
{"version":3,"file":"styles.js","names":["focusStyles","outlineStyles","externalReference","falseFocus","styles","theme","hoverColor","hv","palette","atmosphere","atmo3","root","display","backgroundColor","selectedItem","borderTop","accent","acce3","paddingTop","notSelectedItem","marginTop","button","border","cursor","padding","hvSpacing","outline","link","textDecoration","top"],"sources":["../../../../../src/Header/Navigation/MenuItem/styles.js"],"sourcesContent":["import \"focus-within-polyfill\";\nimport focusStyles, { outlineStyles } from \"../../../Focus/styles\";\n\nconst { externalReference, falseFocus } = focusStyles;\n\nconst styles = (theme) => {\n const hoverColor = theme.hv.palette.atmosphere.atmo3;\n\n return {\n root: {\n display: \"inline\",\n \"&:hover\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n \"&:focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n selectedItem: {\n borderTop: `2px solid ${theme.hv.palette.accent.acce3}`,\n paddingTop: \"2px\",\n },\n notSelectedItem: {\n marginTop: \"4px\",\n },\n button: {\n border: \"none\",\n cursor: \"pointer\",\n padding: theme.hvSpacing(\"8px\", \"sm\"),\n \"&:active\": {\n outline: \"none\",\n },\n \"&:focus\": {\n outline: \"none\",\n backgroundColor: hoverColor,\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n },\n link: {\n display: \"block\",\n textDecoration: \"none\",\n },\n externalReference: {\n ...externalReference,\n },\n falseFocus: {\n ...falseFocus,\n top: \"4px\",\n },\n };\n};\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,uBAAP;AACA,OAAOA,WAAP,IAAsBC,aAAtB,QAA2C,uBAA3C;AAEA,IAAQC,iBAAR,GAA0CF,WAA1C,CAAQE,iBAAR;AAAA,IAA2BC,UAA3B,GAA0CH,WAA1C,CAA2BG,UAA3B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD,EAAW;EACxB,IAAMC,UAAU,GAAGD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA/C;EAEA,OAAO;IACLC,IAAI,EAAE;MACJC,OAAO,EAAE,QADL;MAEJ,WAAW;QACT,uBAAuB;UACrBC,eAAe,EAAEP;QADI,CADd;QAIT,kBAAkB;UAChB,uBAAuB;YACrBO,eAAe,EAAEP;UADI;QADP;MAJT,CAFP;MAYJ;MACA,kBAAkB;QAChB,uBAAuB;UACrBO,eAAe,EAAEP;QADI;MADP;IAbd,CADD;IAoBLQ,YAAY,EAAE;MACZC,SAAS,sBAAeV,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBQ,MAAjB,CAAwBC,KAAvC,CADG;MAEZC,UAAU,EAAE;IAFA,CApBT;IAwBLC,eAAe,EAAE;MACfC,SAAS,EAAE;IADI,CAxBZ;IA2BLC,MAAM,EAAE;MACNC,MAAM,EAAE,MADF;MAENC,MAAM,EAAE,SAFF;MAGNC,OAAO,EAAEnB,KAAK,CAACoB,SAAN,CAAgB,KAAhB,EAAuB,IAAvB,CAHH;MAIN,YAAY;QACVC,OAAO,EAAE;MADC,CAJN;MAON,WAAW;QACTA,OAAO,EAAE,MADA;QAETb,eAAe,EAAEP;MAFR,CAPL;MAWN,qCACKL,aADL;IAXM,CA3BH;IA0CL0B,IAAI,EAAE;MACJf,OAAO,EAAE,OADL;MAEJgB,cAAc,EAAE;IAFZ,CA1CD;IA8CL1B,iBAAiB,oBACZA,iBADY,CA9CZ;IAiDLC,UAAU,kCACLA,UADK;MAER0B,GAAG,EAAE;IAFG;EAjDL,CAAP;AAsDD,CAzDD;;AA2DA,eAAezB,MAAf"}
|
|
@@ -5,6 +5,8 @@ export interface NavigationItemProp {
|
|
|
5
5
|
id: string;
|
|
6
6
|
label: string;
|
|
7
7
|
path?: string;
|
|
8
|
+
href?: string;
|
|
9
|
+
target?: string;
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export type HvHeaderNavigationClassKey = "root";
|
|
@@ -20,6 +22,8 @@ export interface HvHeaderNavigationProps
|
|
|
20
22
|
*
|
|
21
23
|
* id - the id to be applied to the root element.
|
|
22
24
|
* label - the label to be rendered on the menu item.
|
|
25
|
+
* href - the url for navigation.
|
|
26
|
+
* target - the behavior when opening a link.
|
|
23
27
|
*/
|
|
24
28
|
data: NavigationItemProp[];
|
|
25
29
|
/**
|
|
@@ -57,10 +57,14 @@ process.env.NODE_ENV !== "production" ? Navigation.propTypes = {
|
|
|
57
57
|
*
|
|
58
58
|
* id - the id to be applied to the root element.
|
|
59
59
|
* label - the label to be rendered on the menu item.
|
|
60
|
+
* href - the url used for navigation.
|
|
61
|
+
* target - the behavior when opening an url.
|
|
60
62
|
*/
|
|
61
63
|
data: PropTypes.arrayOf(PropTypes.shape({
|
|
62
64
|
id: PropTypes.string.isRequired,
|
|
63
|
-
label: PropTypes.string.isRequired
|
|
65
|
+
label: PropTypes.string.isRequired,
|
|
66
|
+
href: PropTypes.string,
|
|
67
|
+
target: PropTypes.string
|
|
64
68
|
})).isRequired,
|
|
65
69
|
|
|
66
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","names":["React","PropTypes","clsx","withStyles","FocusProvider","SelectionContext","useSelectionPath","MenuBar","styles","Navigation","classes","className","data","selected","onClick","others","selectionPath","handleClick","event","selection","root","propTypes","shape","string","isRequired","arrayOf","id","label","func","name"],"sources":["../../../../src/Header/Navigation/Navigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { FocusProvider } from \"./utils/FocusContext\";\nimport SelectionContext from \"./utils/SelectionContext\";\nimport useSelectionPath from \"./utils/useSelectionPath\";\nimport MenuBar from \"./MenuBar\";\nimport styles from \"./styles\";\n\nconst Navigation = ({ classes, className, data, selected, onClick, ...others }) => {\n const selectionPath = useSelectionPath(data, selected);\n\n const handleClick = (event, selection) => {\n onClick?.(event, selection);\n };\n\n return (\n <SelectionContext.Provider value={selectionPath}>\n <FocusProvider>\n <nav className={clsx(className, classes.root)} {...others}>\n <MenuBar data={data} onClick={handleClick} type=\"menubar\" />\n </nav>\n </FocusProvider>\n </SelectionContext.Provider>\n );\n};\n\nNavigation.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ).isRequired,\n /**\n * Menu item id selected.\n */\n selected: PropTypes.string,\n /**\n * Callback triggered when any item is clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderNavigation\" })(Navigation);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAAgE;EAAA,IAA7DC,OAA6D,QAA7DA,OAA6D;EAAA,IAApDC,SAAoD,QAApDA,SAAoD;EAAA,IAAzCC,IAAyC,QAAzCA,IAAyC;EAAA,IAAnCC,QAAmC,QAAnCA,QAAmC;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;;EACjF,IAAMC,aAAa,GAAGV,gBAAgB,CAACM,IAAD,EAAOC,QAAP,CAAtC;;EAEA,IAAMI,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,SAAR,EAAsB;IACxCL,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGI,KAAH,EAAUC,SAAV,CAAP;EACD,CAFD;;EAIA,oBACE,oBAAC,gBAAD,CAAkB,QAAlB;IAA2B,KAAK,EAAEH;EAAlC,gBACE,oBAAC,aAAD,qBACE;IAAK,SAAS,EAAEd,IAAI,CAACS,SAAD,EAAYD,OAAO,CAACU,IAApB;EAApB,GAAmDL,MAAnD,gBACE,oBAAC,OAAD;IAAS,IAAI,EAAEH,IAAf;IAAqB,OAAO,EAAEK,WAA9B;IAA2C,IAAI,EAAC;EAAhD,EADF,CADF,CADF,CADF;AASD,CAhBD;;AAkBA,wCAAAR,UAAU,CAACY,SAAX,GAAuB;EACrB;AACF;AACA;EACEX,OAAO,EAAET,SAAS,CAACqB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIF,IAAI,EAAEnB,SAAS,CAACsB;EAJO,CAAhB,EAKNC,UATkB;;EAUrB;AACF;AACA;EACEb,SAAS,EAAEV,SAAS,CAACsB,MAbA;;EAcrB;AACF;AACA;AACA;AACA;AACA;EACEX,IAAI,EAAEX,SAAS,CAACwB,OAAV,CACJxB,SAAS,CAACqB,KAAV,CAAgB;IACdI,EAAE,EAAEzB,SAAS,CAACsB,MAAV,CAAiBC,UADP;IAEdG,KAAK,EAAE1B,SAAS,CAACsB,MAAV,CAAiBC;
|
|
1
|
+
{"version":3,"file":"Navigation.js","names":["React","PropTypes","clsx","withStyles","FocusProvider","SelectionContext","useSelectionPath","MenuBar","styles","Navigation","classes","className","data","selected","onClick","others","selectionPath","handleClick","event","selection","root","propTypes","shape","string","isRequired","arrayOf","id","label","href","target","func","name"],"sources":["../../../../src/Header/Navigation/Navigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { FocusProvider } from \"./utils/FocusContext\";\nimport SelectionContext from \"./utils/SelectionContext\";\nimport useSelectionPath from \"./utils/useSelectionPath\";\nimport MenuBar from \"./MenuBar\";\nimport styles from \"./styles\";\n\nconst Navigation = ({ classes, className, data, selected, onClick, ...others }) => {\n const selectionPath = useSelectionPath(data, selected);\n\n const handleClick = (event, selection) => {\n onClick?.(event, selection);\n };\n\n return (\n <SelectionContext.Provider value={selectionPath}>\n <FocusProvider>\n <nav className={clsx(className, classes.root)} {...others}>\n <MenuBar data={data} onClick={handleClick} type=\"menubar\" />\n </nav>\n </FocusProvider>\n </SelectionContext.Provider>\n );\n};\n\nNavigation.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n })\n ).isRequired,\n /**\n * Menu item id selected.\n */\n selected: PropTypes.string,\n /**\n * Callback triggered when any item is clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderNavigation\" })(Navigation);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAAgE;EAAA,IAA7DC,OAA6D,QAA7DA,OAA6D;EAAA,IAApDC,SAAoD,QAApDA,SAAoD;EAAA,IAAzCC,IAAyC,QAAzCA,IAAyC;EAAA,IAAnCC,QAAmC,QAAnCA,QAAmC;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;;EACjF,IAAMC,aAAa,GAAGV,gBAAgB,CAACM,IAAD,EAAOC,QAAP,CAAtC;;EAEA,IAAMI,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,SAAR,EAAsB;IACxCL,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGI,KAAH,EAAUC,SAAV,CAAP;EACD,CAFD;;EAIA,oBACE,oBAAC,gBAAD,CAAkB,QAAlB;IAA2B,KAAK,EAAEH;EAAlC,gBACE,oBAAC,aAAD,qBACE;IAAK,SAAS,EAAEd,IAAI,CAACS,SAAD,EAAYD,OAAO,CAACU,IAApB;EAApB,GAAmDL,MAAnD,gBACE,oBAAC,OAAD;IAAS,IAAI,EAAEH,IAAf;IAAqB,OAAO,EAAEK,WAA9B;IAA2C,IAAI,EAAC;EAAhD,EADF,CADF,CADF,CADF;AASD,CAhBD;;AAkBA,wCAAAR,UAAU,CAACY,SAAX,GAAuB;EACrB;AACF;AACA;EACEX,OAAO,EAAET,SAAS,CAACqB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIF,IAAI,EAAEnB,SAAS,CAACsB;EAJO,CAAhB,EAKNC,UATkB;;EAUrB;AACF;AACA;EACEb,SAAS,EAAEV,SAAS,CAACsB,MAbA;;EAcrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEX,IAAI,EAAEX,SAAS,CAACwB,OAAV,CACJxB,SAAS,CAACqB,KAAV,CAAgB;IACdI,EAAE,EAAEzB,SAAS,CAACsB,MAAV,CAAiBC,UADP;IAEdG,KAAK,EAAE1B,SAAS,CAACsB,MAAV,CAAiBC,UAFV;IAGdI,IAAI,EAAE3B,SAAS,CAACsB,MAHF;IAIdM,MAAM,EAAE5B,SAAS,CAACsB;EAJJ,CAAhB,CADI,EAOJC,UA7BmB;;EA8BrB;AACF;AACA;EACEX,QAAQ,EAAEZ,SAAS,CAACsB,MAjCC;;EAkCrB;AACF;AACA;EACET,OAAO,EAAEb,SAAS,CAAC6B;AArCE,CAAvB;AAwCA,eAAe3B,UAAU,CAACK,MAAD,EAAS;EAAEuB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAmDtB,UAAnD,CAAf"}
|
package/dist/legacy/List/List.js
CHANGED
|
@@ -20,10 +20,10 @@ import "core-js/modules/es.symbol.js";
|
|
|
20
20
|
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
21
21
|
import "core-js/modules/web.dom-collections.for-each.js";
|
|
22
22
|
import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
23
|
-
import React, { isValidElement, useEffect,
|
|
23
|
+
import React, { isValidElement, useEffect, useCallback, forwardRef } from "react";
|
|
24
24
|
import PropTypes from "prop-types";
|
|
25
25
|
import clsx from "clsx";
|
|
26
|
-
import { FixedSizeList
|
|
26
|
+
import { FixedSizeList } from "react-window";
|
|
27
27
|
import { withStyles } from "@material-ui/core";
|
|
28
28
|
import { DropRightXS } from "@hitachivantara/uikit-react-icons";
|
|
29
29
|
import { parseList, wrapperTooltip } from "./utils";
|
|
@@ -238,7 +238,8 @@ var HvList = function HvList(props) {
|
|
|
238
238
|
listRef.current.scrollToItem(selectedItemIndex);
|
|
239
239
|
}
|
|
240
240
|
}, [listRef, selectedItemIndex]);
|
|
241
|
-
|
|
241
|
+
|
|
242
|
+
var ListItem = function ListItem(_ref) {
|
|
242
243
|
var index = _ref.index,
|
|
243
244
|
style = _ref.style;
|
|
244
245
|
var item = filteredList[index];
|
|
@@ -254,15 +255,31 @@ var HvList = function HvList(props) {
|
|
|
254
255
|
condensed: condensed,
|
|
255
256
|
disableGutters: useSelector
|
|
256
257
|
});
|
|
257
|
-
}
|
|
258
|
+
};
|
|
259
|
+
|
|
258
260
|
process.env.NODE_ENV !== "production" ? ListItem.propTypes = {
|
|
259
|
-
index: PropTypes.number.isRequired,
|
|
260
261
|
style: PropTypes.shape({
|
|
261
262
|
top: PropTypes.number.isRequired,
|
|
262
263
|
left: PropTypes.number.isRequired,
|
|
263
264
|
width: PropTypes.number.isRequired
|
|
264
265
|
}).isRequired
|
|
265
266
|
} : void 0;
|
|
267
|
+
var renderFixedList = useCallback(function () {
|
|
268
|
+
return /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
269
|
+
var rest = _extends({}, _ref2);
|
|
270
|
+
|
|
271
|
+
return /*#__PURE__*/React.createElement(HvListContainer, _extends({
|
|
272
|
+
id: id,
|
|
273
|
+
className: clsx(className, classes.root),
|
|
274
|
+
role: selectable ? "listbox" : "menu",
|
|
275
|
+
interactive: true,
|
|
276
|
+
condensed: condensed,
|
|
277
|
+
disableGutters: useSelector,
|
|
278
|
+
"aria-multiselectable": selectable && multiSelect || undefined,
|
|
279
|
+
ref: ref
|
|
280
|
+
}, rest));
|
|
281
|
+
});
|
|
282
|
+
}, [id, useSelector, className, classes, condensed, selectable, multiSelect]);
|
|
266
283
|
return /*#__PURE__*/React.createElement(React.Fragment, null, multiSelect && useSelector && showSelectAll && renderSelectAll(), filteredList.length > 0 && !virtualized && /*#__PURE__*/React.createElement(HvListContainer, _extends({
|
|
267
284
|
id: id,
|
|
268
285
|
className: clsx(className, classes.root),
|
|
@@ -280,20 +297,7 @@ var HvList = function HvList(props) {
|
|
|
280
297
|
width: "100%",
|
|
281
298
|
itemCount: filteredList.length,
|
|
282
299
|
itemSize: condensed ? 32 : 40,
|
|
283
|
-
innerElementType:
|
|
284
|
-
var rest = _extends({}, _ref2);
|
|
285
|
-
|
|
286
|
-
return /*#__PURE__*/React.createElement(HvListContainer, _extends({
|
|
287
|
-
id: id,
|
|
288
|
-
className: clsx(className, classes.root),
|
|
289
|
-
role: selectable ? "listbox" : "menu",
|
|
290
|
-
interactive: true,
|
|
291
|
-
condensed: condensed,
|
|
292
|
-
disableGutters: useSelector,
|
|
293
|
-
"aria-multiselectable": selectable && multiSelect || undefined,
|
|
294
|
-
ref: ref
|
|
295
|
-
}, rest));
|
|
296
|
-
})
|
|
300
|
+
innerElementType: renderFixedList
|
|
297
301
|
}, others), ListItem));
|
|
298
302
|
};
|
|
299
303
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","names":["React","isValidElement","useEffect","memo","PropTypes","clsx","FixedSizeList","areEqual","withStyles","DropRightXS","parseList","wrapperTooltip","useSelectableList","HvLink","HvCheckBox","HvListContainer","HvListItem","HvRadio","HvTypography","setId","styles","DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","listRef","useRef","passedProps","parsedList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","selectAllSelector","renderItemText","ItemText","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","number","isRequired","shape","virtualizedRoot","forwardRef","ref","rest","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","name"],"sources":["../../../src/List/List.js"],"sourcesContent":["import React, { isValidElement, useEffect, memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { FixedSizeList, areEqual } 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 = memo(({ 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 }, areEqual);\n ListItem.propTypes = {\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number.isRequired,\n left: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n }).isRequired,\n };\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={React.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 {...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":["React","isValidElement","useEffect","useCallback","forwardRef","PropTypes","clsx","FixedSizeList","withStyles","DropRightXS","parseList","wrapperTooltip","useSelectableList","HvLink","HvCheckBox","HvListContainer","HvListItem","HvRadio","HvTypography","setId","styles","DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","listRef","useRef","passedProps","parsedList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","selectAllSelector","renderItemText","ItemText","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","shape","number","isRequired","renderFixedList","ref","rest","virtualizedRoot","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","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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"}
|
|
@@ -26,7 +26,7 @@ import "core-js/modules/es.string.fixed.js";
|
|
|
26
26
|
import clsx from "clsx";
|
|
27
27
|
import isNil from "lodash/isNil";
|
|
28
28
|
import PropTypes from "prop-types";
|
|
29
|
-
import React, { useState, useEffect, useMemo, useRef } from "react";
|
|
29
|
+
import React, { useState, useEffect, useCallback, useMemo, useRef } from "react";
|
|
30
30
|
import ReactTable, { ReactTableDefaults } from "react-table";
|
|
31
31
|
import withFixedColumns from "react-table-hoc-fixed-columns";
|
|
32
32
|
import { withStyles } from "@material-ui/core";
|
|
@@ -221,27 +221,26 @@ var HvTable = function HvTable(props) {
|
|
|
221
221
|
return newEntry;
|
|
222
222
|
});
|
|
223
223
|
};
|
|
224
|
+
|
|
225
|
+
var PaginationComponent = useCallback(function (tablePaginationProps) {
|
|
226
|
+
return /*#__PURE__*/React.createElement(HvPagination, _extends({
|
|
227
|
+
id: setId(id, "pagination"),
|
|
228
|
+
labels: paginationLabels,
|
|
229
|
+
pageSize: tablePaginationProps.pageSize,
|
|
230
|
+
pages: tablePaginationProps.pages,
|
|
231
|
+
page: tablePaginationProps.page,
|
|
232
|
+
canPrevious: tablePaginationProps.canPrevious,
|
|
233
|
+
canNext: tablePaginationProps.canNext,
|
|
234
|
+
onPageChange: tablePaginationProps.onPageChange,
|
|
235
|
+
onPageSizeChange: tablePaginationProps.onPageSizeChange,
|
|
236
|
+
showPageSizeOptions: tablePaginationProps.showPageSizeOptions
|
|
237
|
+
}, paginationProps));
|
|
238
|
+
}, [id, paginationLabels, paginationProps]);
|
|
224
239
|
/**
|
|
225
240
|
* Pagination customizations.
|
|
226
241
|
*/
|
|
227
242
|
|
|
228
|
-
|
|
229
243
|
var getPaginationProps = function getPaginationProps() {
|
|
230
|
-
var PaginationComponent = function PaginationComponent(tablePaginationProps) {
|
|
231
|
-
return /*#__PURE__*/React.createElement(HvPagination, _extends({
|
|
232
|
-
id: setId(id, "pagination"),
|
|
233
|
-
labels: paginationLabels,
|
|
234
|
-
pageSize: tablePaginationProps.pageSize,
|
|
235
|
-
pages: tablePaginationProps.pages,
|
|
236
|
-
page: tablePaginationProps.page,
|
|
237
|
-
canPrevious: tablePaginationProps.canPrevious,
|
|
238
|
-
canNext: tablePaginationProps.canNext,
|
|
239
|
-
onPageChange: tablePaginationProps.onPageChange,
|
|
240
|
-
onPageSizeChange: tablePaginationProps.onPageSizeChange,
|
|
241
|
-
showPageSizeOptions: tablePaginationProps.showPageSizeOptions
|
|
242
|
-
}, paginationProps));
|
|
243
|
-
};
|
|
244
|
-
|
|
245
244
|
return _objectSpread(_objectSpread({
|
|
246
245
|
showPagination: data.length > 0 && showPagination,
|
|
247
246
|
showPageSizeOptions: showPageSize
|
|
@@ -308,18 +307,17 @@ var HvTable = function HvTable(props) {
|
|
|
308
307
|
*/
|
|
309
308
|
|
|
310
309
|
|
|
311
|
-
var onSortChange = function
|
|
310
|
+
var onSortChange = useCallback(function (sortedColumn) {
|
|
312
311
|
setSorted(sortedColumn);
|
|
313
312
|
setCurrentPage(0);
|
|
314
313
|
setExpanded({});
|
|
315
|
-
};
|
|
314
|
+
}, []);
|
|
316
315
|
/**
|
|
317
316
|
* Sort properties override to set onSortedChange
|
|
318
317
|
*
|
|
319
318
|
* @returns {{sortable: boolean, onSortedChange: onSortChange}}
|
|
320
319
|
*/
|
|
321
320
|
|
|
322
|
-
|
|
323
321
|
var getSortProps = function getSortProps() {
|
|
324
322
|
return _objectSpread(_objectSpread({
|
|
325
323
|
sortable: sortable
|
|
@@ -632,7 +630,7 @@ var HvTable = function HvTable(props) {
|
|
|
632
630
|
|
|
633
631
|
ReactTableDefaults.expanderDefaults.show = false; // eslint-disable-next-line react/prop-types
|
|
634
632
|
|
|
635
|
-
ReactTableDefaults.column.Header = function (_ref) {
|
|
633
|
+
ReactTableDefaults.column.Header = useCallback(function (_ref) {
|
|
636
634
|
var column = _ref.column;
|
|
637
635
|
return /*#__PURE__*/React.createElement(Header, {
|
|
638
636
|
id: id // eslint-disable-next-line react/prop-types
|
|
@@ -643,8 +641,7 @@ var HvTable = function HvTable(props) {
|
|
|
643
641
|
tableSortable: sortable,
|
|
644
642
|
onSortChange: onSortChange
|
|
645
643
|
});
|
|
646
|
-
}; // add expander button
|
|
647
|
-
|
|
644
|
+
}, [id, onSortChange, sorted, sortable]); // add expander button
|
|
648
645
|
|
|
649
646
|
var expanderColumn = createExpanderButton(columns, subElementTemplate, classes, toggleExpand); // add expander
|
|
650
647
|
|