@hitachivantara/uikit-react-core 3.52.5 → 3.54.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/LICENSE.txt +201 -0
- package/dist/Accordion/Accordion.js +2 -2
- package/dist/Accordion/Accordion.js.map +1 -1
- package/dist/ActionBar/ActionBar.js +2 -2
- package/dist/ActionBar/ActionBar.js.map +1 -1
- package/dist/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/AssetInventory/AssetInventory.js +2 -2
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js +3 -3
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListView.js +2 -2
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +6 -4
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/AssetInventory/Search/Search.js +2 -2
- package/dist/AssetInventory/Search/Search.js.map +1 -1
- package/dist/AssetInventory/Sort/Sort.js +2 -2
- package/dist/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/Avatar/Avatar.js +2 -2
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Badge/Badge.js +2 -2
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Banner/Banner.js +2 -2
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/Barchart/Barchart.js +2 -2
- package/dist/Barchart/Barchart.js.map +1 -1
- package/dist/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseInput/BaseInput.js +2 -2
- package/dist/BaseInput/BaseInput.js.map +1 -1
- package/dist/BaseRadio/BaseRadio.js +2 -2
- package/dist/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/BreadCrumb/utils.js +4 -2
- package/dist/BreadCrumb/utils.js.map +1 -1
- package/dist/BulkActions/BulkActions.js +2 -2
- package/dist/BulkActions/BulkActions.js.map +1 -1
- package/dist/Button/Button.js +2 -2
- package/dist/Button/Button.js.map +1 -1
- package/dist/Calendar/Calendar.js +2 -2
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/CalendarHeader/CalendarHeader.js +6 -4
- package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/Card/Card.js +2 -2
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Content/Content.js +2 -2
- package/dist/Card/Content/Content.js.map +1 -1
- package/dist/Card/Header/Header.js +2 -2
- package/dist/Card/Header/Header.js.map +1 -1
- package/dist/Card/Media/Media.js +2 -2
- package/dist/Card/Media/Media.js.map +1 -1
- package/dist/Chart/Chart.js +2 -2
- package/dist/Chart/Chart.js.map +1 -1
- package/dist/Chart/Plot/Plot.js +2 -2
- package/dist/Chart/Plot/Plot.js.map +1 -1
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/CheckBox/CheckBox.js +2 -2
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/Container/Container.js +2 -2
- package/dist/Container/Container.js.map +1 -1
- package/dist/DatePicker/DatePicker.js +2 -2
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/Dialog/Dialog.js +6 -4
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Donutchart/Donutchart.js +2 -2
- package/dist/Donutchart/Donutchart.js.map +1 -1
- package/dist/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/Dropdown/Dropdown.js +2 -2
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/List/List.js +2 -2
- package/dist/Dropdown/List/List.js.map +1 -1
- package/dist/EmptyState/EmptyState.js +2 -2
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/FileUploader/File/File.js +6 -4
- package/dist/FileUploader/File/File.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js +2 -2
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FileUploader/FileUploader.js +2 -2
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/FileUploader/Preview/Preview.js +5 -3
- package/dist/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/FilterGroup/Counter/Counter.js +2 -2
- package/dist/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js +9 -7
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.js +2 -2
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/Focus/Focus.js +2 -2
- package/dist/Focus/Focus.js.map +1 -1
- package/dist/Footer/Footer.js +2 -2
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Forms/Adornment/Adornment.js +2 -2
- package/dist/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/Forms/FormElement/FormElement.js +2 -2
- package/dist/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/Forms/Label/Label.js +6 -4
- package/dist/Forms/Label/Label.js.map +1 -1
- package/dist/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/Forms/WarningText/WarningText.js +2 -2
- package/dist/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/GlobalActions/GlobalActions.js +8 -4
- package/dist/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/Grid/Grid.js +6 -4
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Header/Actions/Actions.js +2 -2
- package/dist/Header/Actions/Actions.js.map +1 -1
- package/dist/Header/Brand/Brand.js +2 -2
- package/dist/Header/Brand/Brand.js.map +1 -1
- package/dist/Header/Header.js +2 -2
- package/dist/Header/Header.js.map +1 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/Header/Navigation/Navigation.js +2 -2
- package/dist/Header/Navigation/Navigation.js.map +1 -1
- package/dist/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/Input/Input.js +9 -7
- package/dist/Input/Input.js.map +1 -1
- package/dist/Kpi/Kpi.js +2 -2
- package/dist/Kpi/Kpi.js.map +1 -1
- package/dist/Linechart/Linechart.js +2 -2
- package/dist/Linechart/Linechart.js.map +1 -1
- package/dist/Link/Link.js +2 -2
- package/dist/Link/Link.js.map +1 -1
- package/dist/List/List.js +4 -4
- package/dist/List/List.js.map +1 -1
- package/dist/ListContainer/ListContainer.js +2 -2
- package/dist/ListContainer/ListContainer.js.map +1 -1
- package/dist/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/Loading/Loading.js +2 -2
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Login/Login.js +2 -2
- package/dist/Login/Login.js.map +1 -1
- package/dist/MultiButton/MultiButton.js +2 -2
- package/dist/MultiButton/MultiButton.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/OverflowTooltip/OverflowTooltip.js +148 -0
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/OverflowTooltip/index.d.ts +1 -0
- package/dist/OverflowTooltip/index.js +16 -0
- package/dist/OverflowTooltip/index.js.map +1 -0
- package/dist/Pagination/Pagination.js +2 -2
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Panel/Panel.js +2 -2
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Provider/Provider.js +5 -3
- package/dist/Provider/Provider.js.map +1 -1
- package/dist/Radio/Radio.js +2 -2
- package/dist/Radio/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.js +2 -2
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +6 -4
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/SelectionList/SelectionList.js +2 -2
- package/dist/SelectionList/SelectionList.js.map +1 -1
- package/dist/Snackbar/Snackbar.js +2 -2
- package/dist/Snackbar/Snackbar.js.map +1 -1
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js +207 -0
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/Snackbar/SnackbarProvider/index.js +49 -0
- package/dist/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/Switch/Switch.js +2 -2
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Tab/Tab.js +2 -2
- package/dist/Tab/Tab.js.map +1 -1
- package/dist/Table/Header/Header.js +3 -3
- package/dist/Table/Header/Header.js.map +1 -1
- package/dist/Table/NoData/index.js +3 -1
- package/dist/Table/NoData/index.js.map +1 -1
- package/dist/Table/Table.js +6 -4
- package/dist/Table/Table.js.map +1 -1
- package/dist/Tabs/Tabs.js +5 -3
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.js +6 -4
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/TagsInput/TagsInput.d.ts +33 -4
- package/dist/TagsInput/TagsInput.js +127 -21
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/TagsInput/styles.js +12 -8
- package/dist/TagsInput/styles.js.map +1 -1
- package/dist/TextArea/TextArea.js +2 -2
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +2 -2
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/Tooltip/Tooltip.js +2 -2
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Typography/Typography.js +2 -2
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/UserPreferences/Action/Action.js +2 -2
- package/dist/UserPreferences/Action/Action.js.map +1 -1
- package/dist/UserPreferences/Actions/Actions.js +2 -2
- package/dist/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/UserPreferences/Options/Option.js +2 -2
- package/dist/UserPreferences/Options/Option.js.map +1 -1
- package/dist/UserPreferences/Options/Options.js +2 -2
- package/dist/UserPreferences/Options/Options.js.map +1 -1
- package/dist/UserPreferences/UserPreferences.js +2 -2
- package/dist/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +7 -5
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js +5 -3
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/Accordion/Accordion.js +2 -2
- package/dist/legacy/Accordion/Accordion.js.map +1 -1
- package/dist/legacy/ActionBar/ActionBar.js +2 -2
- package/dist/legacy/ActionBar/ActionBar.js.map +1 -1
- package/dist/legacy/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/legacy/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/legacy/AssetInventory/AssetInventory.js +2 -2
- package/dist/legacy/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/legacy/AssetInventory/CardView/CardView.js +3 -3
- package/dist/legacy/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListView.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
- package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/legacy/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/legacy/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/legacy/AssetInventory/Search/Search.js +2 -2
- package/dist/legacy/AssetInventory/Search/Search.js.map +1 -1
- package/dist/legacy/AssetInventory/Sort/Sort.js +2 -2
- package/dist/legacy/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/legacy/Avatar/Avatar.js +2 -2
- package/dist/legacy/Avatar/Avatar.js.map +1 -1
- package/dist/legacy/Badge/Badge.js +2 -2
- package/dist/legacy/Badge/Badge.js.map +1 -1
- package/dist/legacy/Banner/Banner.js +2 -2
- package/dist/legacy/Banner/Banner.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/legacy/Barchart/Barchart.js +2 -2
- package/dist/legacy/Barchart/Barchart.js.map +1 -1
- package/dist/legacy/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/legacy/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/legacy/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/legacy/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/legacy/BaseInput/BaseInput.js +2 -2
- package/dist/legacy/BaseInput/BaseInput.js.map +1 -1
- package/dist/legacy/BaseRadio/BaseRadio.js +2 -2
- package/dist/legacy/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/legacy/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/legacy/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/legacy/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/legacy/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/legacy/BreadCrumb/utils.js +5 -2
- package/dist/legacy/BreadCrumb/utils.js.map +1 -1
- package/dist/legacy/BulkActions/BulkActions.js +2 -2
- package/dist/legacy/BulkActions/BulkActions.js.map +1 -1
- package/dist/legacy/Button/Button.js +2 -2
- package/dist/legacy/Button/Button.js.map +1 -1
- package/dist/legacy/Calendar/Calendar.js +2 -2
- package/dist/legacy/Calendar/Calendar.js.map +1 -1
- package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js +7 -4
- package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/legacy/Card/Card.js +2 -2
- package/dist/legacy/Card/Card.js.map +1 -1
- package/dist/legacy/Card/Content/Content.js +2 -2
- package/dist/legacy/Card/Content/Content.js.map +1 -1
- package/dist/legacy/Card/Header/Header.js +2 -2
- package/dist/legacy/Card/Header/Header.js.map +1 -1
- package/dist/legacy/Card/Media/Media.js +2 -2
- package/dist/legacy/Card/Media/Media.js.map +1 -1
- package/dist/legacy/Chart/Chart.js +2 -2
- package/dist/legacy/Chart/Chart.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.js +2 -2
- package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/CheckBox/CheckBox.js +2 -2
- package/dist/legacy/CheckBox/CheckBox.js.map +1 -1
- package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/legacy/Container/Container.js +2 -2
- package/dist/legacy/Container/Container.js.map +1 -1
- package/dist/legacy/DatePicker/DatePicker.js +2 -2
- package/dist/legacy/DatePicker/DatePicker.js.map +1 -1
- package/dist/legacy/Dialog/Dialog.js +7 -4
- package/dist/legacy/Dialog/Dialog.js.map +1 -1
- package/dist/legacy/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/legacy/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/legacy/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/legacy/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/legacy/Donutchart/Donutchart.js +2 -2
- package/dist/legacy/Donutchart/Donutchart.js.map +1 -1
- package/dist/legacy/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/legacy/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/legacy/Dropdown/Dropdown.js +2 -2
- package/dist/legacy/Dropdown/Dropdown.js.map +1 -1
- package/dist/legacy/Dropdown/List/List.js +2 -2
- package/dist/legacy/Dropdown/List/List.js.map +1 -1
- package/dist/legacy/EmptyState/EmptyState.js +2 -2
- package/dist/legacy/EmptyState/EmptyState.js.map +1 -1
- package/dist/legacy/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/legacy/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/legacy/FileUploader/File/File.js +6 -4
- package/dist/legacy/FileUploader/File/File.js.map +1 -1
- package/dist/legacy/FileUploader/FileList/FileList.js +2 -2
- package/dist/legacy/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/legacy/FileUploader/FileUploader.js +2 -2
- package/dist/legacy/FileUploader/FileUploader.js.map +1 -1
- package/dist/legacy/FileUploader/Preview/Preview.js +6 -3
- package/dist/legacy/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/legacy/FilterGroup/Counter/Counter.js +2 -2
- package/dist/legacy/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +7 -4
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroup.js +2 -2
- package/dist/legacy/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/legacy/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/legacy/Focus/Focus.js +2 -2
- package/dist/legacy/Focus/Focus.js.map +1 -1
- package/dist/legacy/Footer/Footer.js +2 -2
- package/dist/legacy/Footer/Footer.js.map +1 -1
- package/dist/legacy/Forms/Adornment/Adornment.js +2 -2
- package/dist/legacy/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/legacy/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/legacy/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/legacy/Forms/FormElement/FormElement.js +2 -2
- package/dist/legacy/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/legacy/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/legacy/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/legacy/Forms/Label/Label.js +7 -4
- package/dist/legacy/Forms/Label/Label.js.map +1 -1
- package/dist/legacy/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/legacy/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/legacy/Forms/WarningText/WarningText.js +2 -2
- package/dist/legacy/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/legacy/GlobalActions/GlobalActions.js +9 -4
- package/dist/legacy/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/legacy/Grid/Grid.js +5 -4
- package/dist/legacy/Grid/Grid.js.map +1 -1
- package/dist/legacy/Header/Actions/Actions.js +2 -2
- package/dist/legacy/Header/Actions/Actions.js.map +1 -1
- package/dist/legacy/Header/Brand/Brand.js +2 -2
- package/dist/legacy/Header/Brand/Brand.js.map +1 -1
- package/dist/legacy/Header/Header.js +2 -2
- package/dist/legacy/Header/Header.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/legacy/Header/Navigation/Navigation.js +2 -2
- package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/legacy/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/legacy/Input/Input.js +8 -5
- package/dist/legacy/Input/Input.js.map +1 -1
- package/dist/legacy/Kpi/Kpi.js +2 -2
- package/dist/legacy/Kpi/Kpi.js.map +1 -1
- package/dist/legacy/Linechart/Linechart.js +2 -2
- package/dist/legacy/Linechart/Linechart.js.map +1 -1
- package/dist/legacy/Link/Link.js +2 -2
- package/dist/legacy/Link/Link.js.map +1 -1
- package/dist/legacy/List/List.js +4 -4
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/legacy/ListContainer/ListContainer.js +2 -2
- package/dist/legacy/ListContainer/ListContainer.js.map +1 -1
- package/dist/legacy/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/legacy/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/legacy/Loading/Loading.js +2 -2
- package/dist/legacy/Loading/Loading.js.map +1 -1
- package/dist/legacy/Login/Login.js +2 -2
- package/dist/legacy/Login/Login.js.map +1 -1
- package/dist/legacy/MultiButton/MultiButton.js +2 -2
- package/dist/legacy/MultiButton/MultiButton.js.map +1 -1
- package/dist/legacy/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js +126 -0
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/legacy/OverflowTooltip/index.d.ts +1 -0
- package/dist/legacy/OverflowTooltip/index.js +2 -0
- package/dist/legacy/OverflowTooltip/index.js.map +1 -0
- package/dist/legacy/Pagination/Pagination.js +2 -2
- package/dist/legacy/Pagination/Pagination.js.map +1 -1
- package/dist/legacy/Panel/Panel.js +2 -2
- package/dist/legacy/Panel/Panel.js.map +1 -1
- package/dist/legacy/Provider/Provider.js +5 -3
- package/dist/legacy/Provider/Provider.js.map +1 -1
- package/dist/legacy/Radio/Radio.js +2 -2
- package/dist/legacy/Radio/Radio.js.map +1 -1
- package/dist/legacy/RadioGroup/RadioGroup.js +2 -2
- package/dist/legacy/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
- package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/legacy/SelectionList/SelectionList.js +2 -2
- package/dist/legacy/SelectionList/SelectionList.js.map +1 -1
- package/dist/legacy/Snackbar/Snackbar.js +2 -2
- package/dist/legacy/Snackbar/Snackbar.js.map +1 -1
- package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js +169 -0
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.js +3 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/legacy/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/legacy/Switch/Switch.js +2 -2
- package/dist/legacy/Switch/Switch.js.map +1 -1
- package/dist/legacy/Tab/Tab.js +2 -2
- package/dist/legacy/Tab/Tab.js.map +1 -1
- package/dist/legacy/Table/Header/Header.js +4 -2
- package/dist/legacy/Table/Header/Header.js.map +1 -1
- package/dist/legacy/Table/NoData/index.js +3 -1
- package/dist/legacy/Table/NoData/index.js.map +1 -1
- package/dist/legacy/Table/Table.js +5 -3
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/Tabs/Tabs.js +6 -3
- package/dist/legacy/Tabs/Tabs.js.map +1 -1
- package/dist/legacy/Tag/Tag.js +6 -4
- package/dist/legacy/Tag/Tag.js.map +1 -1
- package/dist/legacy/TagsInput/TagsInput.d.ts +33 -4
- package/dist/legacy/TagsInput/TagsInput.js +131 -27
- package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
- package/dist/legacy/TagsInput/styles.js +12 -8
- package/dist/legacy/TagsInput/styles.js.map +1 -1
- package/dist/legacy/TextArea/TextArea.js +2 -2
- package/dist/legacy/TextArea/TextArea.js.map +1 -1
- package/dist/legacy/ToggleButton/ToggleButton.js +2 -2
- package/dist/legacy/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/legacy/Tooltip/Tooltip.js +2 -2
- package/dist/legacy/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/Typography/Typography.js +2 -2
- package/dist/legacy/Typography/Typography.js.map +1 -1
- package/dist/legacy/UserPreferences/Action/Action.js +2 -2
- package/dist/legacy/UserPreferences/Action/Action.js.map +1 -1
- package/dist/legacy/UserPreferences/Actions/Actions.js +2 -2
- package/dist/legacy/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/legacy/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/legacy/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Option.js +2 -2
- package/dist/legacy/UserPreferences/Options/Option.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Options.js +2 -2
- package/dist/legacy/UserPreferences/Options/Options.js.map +1 -1
- package/dist/legacy/UserPreferences/UserPreferences.js +2 -2
- package/dist/legacy/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/legacy/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/legacy/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/legacy/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/legacy/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
- package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/legacy/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/legacy/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/legacy/index.d.ts +5 -0
- package/dist/legacy/index.js +2 -0
- package/dist/legacy/index.js.map +1 -1
- package/dist/legacy/withId.js +2 -2
- package/dist/legacy/withId.js.map +1 -1
- package/dist/legacy/withTooltip.js +3 -1
- package/dist/legacy/withTooltip.js.map +1 -1
- package/dist/modern/Accordion/Accordion.js +2 -2
- package/dist/modern/Accordion/Accordion.js.map +1 -1
- package/dist/modern/ActionBar/ActionBar.js +2 -2
- package/dist/modern/ActionBar/ActionBar.js.map +1 -1
- package/dist/modern/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/modern/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/modern/AssetInventory/AssetInventory.js +2 -2
- package/dist/modern/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/modern/AssetInventory/CardView/CardView.js +3 -3
- package/dist/modern/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListView.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
- package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/modern/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/modern/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/modern/AssetInventory/Search/Search.js +2 -2
- package/dist/modern/AssetInventory/Search/Search.js.map +1 -1
- package/dist/modern/AssetInventory/Sort/Sort.js +2 -2
- package/dist/modern/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/modern/Avatar/Avatar.js +2 -2
- package/dist/modern/Avatar/Avatar.js.map +1 -1
- package/dist/modern/Badge/Badge.js +2 -2
- package/dist/modern/Badge/Badge.js.map +1 -1
- package/dist/modern/Banner/Banner.js +2 -2
- package/dist/modern/Banner/Banner.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/modern/Barchart/Barchart.js +2 -2
- package/dist/modern/Barchart/Barchart.js.map +1 -1
- package/dist/modern/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/modern/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/modern/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/modern/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/modern/BaseInput/BaseInput.js +2 -2
- package/dist/modern/BaseInput/BaseInput.js.map +1 -1
- package/dist/modern/BaseRadio/BaseRadio.js +2 -2
- package/dist/modern/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/modern/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/modern/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/modern/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/modern/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/modern/BreadCrumb/utils.js +5 -2
- package/dist/modern/BreadCrumb/utils.js.map +1 -1
- package/dist/modern/BulkActions/BulkActions.js +2 -2
- package/dist/modern/BulkActions/BulkActions.js.map +1 -1
- package/dist/modern/Button/Button.js +2 -2
- package/dist/modern/Button/Button.js.map +1 -1
- package/dist/modern/Calendar/Calendar.js +2 -2
- package/dist/modern/Calendar/Calendar.js.map +1 -1
- package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js +7 -4
- package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/modern/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/modern/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/modern/Card/Card.js +2 -2
- package/dist/modern/Card/Card.js.map +1 -1
- package/dist/modern/Card/Content/Content.js +2 -2
- package/dist/modern/Card/Content/Content.js.map +1 -1
- package/dist/modern/Card/Header/Header.js +2 -2
- package/dist/modern/Card/Header/Header.js.map +1 -1
- package/dist/modern/Card/Media/Media.js +2 -2
- package/dist/modern/Card/Media/Media.js.map +1 -1
- package/dist/modern/Chart/Chart.js +2 -2
- package/dist/modern/Chart/Chart.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.js +2 -2
- package/dist/modern/Chart/Plot/Plot.js.map +1 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/CheckBox/CheckBox.js +2 -2
- package/dist/modern/CheckBox/CheckBox.js.map +1 -1
- package/dist/modern/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/modern/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/modern/Container/Container.js +2 -2
- package/dist/modern/Container/Container.js.map +1 -1
- package/dist/modern/DatePicker/DatePicker.js +2 -2
- package/dist/modern/DatePicker/DatePicker.js.map +1 -1
- package/dist/modern/Dialog/Dialog.js +7 -4
- package/dist/modern/Dialog/Dialog.js.map +1 -1
- package/dist/modern/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/modern/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/modern/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/modern/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/modern/Donutchart/Donutchart.js +2 -2
- package/dist/modern/Donutchart/Donutchart.js.map +1 -1
- package/dist/modern/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/modern/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/modern/Dropdown/Dropdown.js +2 -2
- package/dist/modern/Dropdown/Dropdown.js.map +1 -1
- package/dist/modern/Dropdown/List/List.js +2 -2
- package/dist/modern/Dropdown/List/List.js.map +1 -1
- package/dist/modern/EmptyState/EmptyState.js +2 -2
- package/dist/modern/EmptyState/EmptyState.js.map +1 -1
- package/dist/modern/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/modern/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/modern/FileUploader/File/File.js +6 -4
- package/dist/modern/FileUploader/File/File.js.map +1 -1
- package/dist/modern/FileUploader/FileList/FileList.js +2 -2
- package/dist/modern/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/modern/FileUploader/FileUploader.js +2 -2
- package/dist/modern/FileUploader/FileUploader.js.map +1 -1
- package/dist/modern/FileUploader/Preview/Preview.js +6 -3
- package/dist/modern/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/modern/FilterGroup/Counter/Counter.js +2 -2
- package/dist/modern/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js +7 -4
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroup.js +2 -2
- package/dist/modern/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/modern/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/modern/Focus/Focus.js +2 -2
- package/dist/modern/Focus/Focus.js.map +1 -1
- package/dist/modern/Footer/Footer.js +2 -2
- package/dist/modern/Footer/Footer.js.map +1 -1
- package/dist/modern/Forms/Adornment/Adornment.js +2 -2
- package/dist/modern/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/modern/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/modern/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/modern/Forms/FormElement/FormElement.js +2 -2
- package/dist/modern/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/modern/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/modern/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/modern/Forms/Label/Label.js +7 -4
- package/dist/modern/Forms/Label/Label.js.map +1 -1
- package/dist/modern/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/modern/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/modern/Forms/WarningText/WarningText.js +2 -2
- package/dist/modern/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/modern/GlobalActions/GlobalActions.js +9 -4
- package/dist/modern/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/modern/Grid/Grid.js +3 -3
- package/dist/modern/Grid/Grid.js.map +1 -1
- package/dist/modern/Header/Actions/Actions.js +2 -2
- package/dist/modern/Header/Actions/Actions.js.map +1 -1
- package/dist/modern/Header/Brand/Brand.js +2 -2
- package/dist/modern/Header/Brand/Brand.js.map +1 -1
- package/dist/modern/Header/Header.js +2 -2
- package/dist/modern/Header/Header.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/modern/Header/Navigation/Navigation.js +2 -2
- package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
- package/dist/modern/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/modern/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/modern/Input/Input.js +8 -5
- package/dist/modern/Input/Input.js.map +1 -1
- package/dist/modern/Kpi/Kpi.js +2 -2
- package/dist/modern/Kpi/Kpi.js.map +1 -1
- package/dist/modern/Linechart/Linechart.js +2 -2
- package/dist/modern/Linechart/Linechart.js.map +1 -1
- package/dist/modern/Link/Link.js +2 -2
- package/dist/modern/Link/Link.js.map +1 -1
- package/dist/modern/List/List.js +4 -4
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/ListContainer/ListContainer.js +2 -2
- package/dist/modern/ListContainer/ListContainer.js.map +1 -1
- package/dist/modern/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/modern/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/modern/Loading/Loading.js +2 -2
- package/dist/modern/Loading/Loading.js.map +1 -1
- package/dist/modern/Login/Login.js +2 -2
- package/dist/modern/Login/Login.js.map +1 -1
- package/dist/modern/MultiButton/MultiButton.js +2 -2
- package/dist/modern/MultiButton/MultiButton.js.map +1 -1
- package/dist/modern/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/modern/OverflowTooltip/OverflowTooltip.js +120 -0
- package/dist/modern/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/modern/OverflowTooltip/index.d.ts +1 -0
- package/dist/modern/OverflowTooltip/index.js +2 -0
- package/dist/modern/OverflowTooltip/index.js.map +1 -0
- package/dist/modern/Pagination/Pagination.js +2 -2
- package/dist/modern/Pagination/Pagination.js.map +1 -1
- package/dist/modern/Panel/Panel.js +2 -2
- package/dist/modern/Panel/Panel.js.map +1 -1
- package/dist/modern/Provider/Provider.js +5 -3
- package/dist/modern/Provider/Provider.js.map +1 -1
- package/dist/modern/Radio/Radio.js +2 -2
- package/dist/modern/Radio/Radio.js.map +1 -1
- package/dist/modern/RadioGroup/RadioGroup.js +2 -2
- package/dist/modern/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
- package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/modern/SelectionList/SelectionList.js +2 -2
- package/dist/modern/SelectionList/SelectionList.js.map +1 -1
- package/dist/modern/Snackbar/Snackbar.js +2 -2
- package/dist/modern/Snackbar/Snackbar.js.map +1 -1
- package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js +155 -0
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.js +3 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/modern/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/modern/Switch/Switch.js +2 -2
- package/dist/modern/Switch/Switch.js.map +1 -1
- package/dist/modern/Tab/Tab.js +2 -2
- package/dist/modern/Tab/Tab.js.map +1 -1
- package/dist/modern/Table/Header/Header.js +4 -2
- package/dist/modern/Table/Header/Header.js.map +1 -1
- package/dist/modern/Table/NoData/index.js +3 -1
- package/dist/modern/Table/NoData/index.js.map +1 -1
- package/dist/modern/Table/Table.js +5 -3
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/Tabs/Tabs.js +6 -3
- package/dist/modern/Tabs/Tabs.js.map +1 -1
- package/dist/modern/Tag/Tag.js +6 -4
- package/dist/modern/Tag/Tag.js.map +1 -1
- package/dist/modern/TagsInput/TagsInput.d.ts +33 -4
- package/dist/modern/TagsInput/TagsInput.js +110 -21
- package/dist/modern/TagsInput/TagsInput.js.map +1 -1
- package/dist/modern/TagsInput/styles.js +12 -8
- package/dist/modern/TagsInput/styles.js.map +1 -1
- package/dist/modern/TextArea/TextArea.js +2 -2
- package/dist/modern/TextArea/TextArea.js.map +1 -1
- package/dist/modern/ToggleButton/ToggleButton.js +2 -2
- package/dist/modern/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/modern/Tooltip/Tooltip.js +2 -2
- package/dist/modern/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/Typography/Typography.js +2 -2
- package/dist/modern/Typography/Typography.js.map +1 -1
- package/dist/modern/UserPreferences/Action/Action.js +2 -2
- package/dist/modern/UserPreferences/Action/Action.js.map +1 -1
- package/dist/modern/UserPreferences/Actions/Actions.js +2 -2
- package/dist/modern/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/modern/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/modern/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Option.js +2 -2
- package/dist/modern/UserPreferences/Options/Option.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Options.js +2 -2
- package/dist/modern/UserPreferences/Options/Options.js.map +1 -1
- package/dist/modern/UserPreferences/UserPreferences.js +2 -2
- package/dist/modern/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/modern/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/modern/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/modern/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/modern/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/modern/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/modern/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
- package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/modern/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/modern/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/modern/index.d.ts +5 -0
- package/dist/modern/index.js +2 -0
- package/dist/modern/index.js.map +1 -1
- package/dist/modern/withId.js +2 -2
- package/dist/modern/withId.js.map +1 -1
- package/dist/modern/withTooltip.js +32 -27
- package/dist/modern/withTooltip.js.map +1 -1
- package/dist/withId.js +2 -2
- package/dist/withId.js.map +1 -1
- package/dist/withTooltip.js +4 -2
- package/dist/withTooltip.js.map +1 -1
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/UserPreferences/UserPreferences.js"],"names":["React","useCallback","useEffect","useMemo","useRef","useState","PropTypes","ClickAwayListener","withStyles","clsx","isNil","getFirstAndLastFocus","isKeypress","KeyboardCodes","styles","Typography","HvUserPreferences","className","classes","isOpen","toggleOpenCallback","children","position","closeOnExit","userInfo","others","open","setOpen","prevPropOpen","setPrevPropOpen","containerRef","focusableList","setTimeout","current","first","focus","toggleOpen","newState","prevState","handlerKeyContainer","event","Tab","target","shiftKey","id","last","Esc","renderedContainer","contentContainer","label1","label2","root","static","relative","fixed","absolute","container","propTypes","string","shape","isRequired","bool","oneOf","node","func","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { getFirstAndLastFocus, isKeypress, KeyboardCodes } from \"../utils\";\nimport styles from \"./styles\";\nimport Typography from \"../Typography\";\n\n/**\n * User preferences are a group of configurable settings that can be customized for a particular user.\n *\n * Our implementation of the User Preferences component is divided in:\n * <ul>\n * <li>Actions - container for actions</li>\n * <li>Action - action button</li>\n * <li>Options - container for options</li>\n * <li>Group - creates a division between different sets of option, with the possibility of setting a label</li>\n * <li>Label - Label typography.</li>\n * <li>Option - Option button</li>\n * </ul>\n * To build the User Preferences component, a composition of these elements should be used.\n *\n */\nconst HvUserPreferences = ({\n className,\n classes,\n isOpen = false,\n toggleOpenCallback,\n children,\n position = \"static\",\n closeOnExit = false,\n userInfo,\n ...others\n}) => {\n const [open, setOpen] = useState(isOpen);\n const [prevPropOpen, setPrevPropOpen] = useState(null);\n const containerRef = useRef(null);\n const focusableList = useRef(null);\n\n if (isOpen !== prevPropOpen) {\n setOpen(isOpen);\n setPrevPropOpen(isOpen);\n }\n\n /**\n * Fills the object with the first and last focusable element inside the container.\n * When the container is open the first focusable element is focus.\n */\n useEffect(() => {\n setTimeout(() => {\n if (open) {\n focusableList.current = getFirstAndLastFocus(containerRef.current);\n if (focusableList.current.first) focusableList.current.first.focus();\n }\n });\n }, [open]);\n\n /**\n * Toggle the open state based on the received parameter.\n */\n const toggleOpen = useCallback(\n (newState = null) => {\n if (newState !== null) {\n if (newState !== open) {\n setOpen(newState);\n } else {\n return;\n }\n } else {\n setOpen((prevState) => !prevState);\n }\n toggleOpenCallback?.(newState);\n },\n [toggleOpenCallback, open]\n );\n\n /**\n * Handler of keyboard clicks.\n */\n const handlerKeyContainer = useCallback(\n (event) => {\n if (closeOnExit) {\n if (\n isKeypress(event, KeyboardCodes.Tab) &&\n !isNil(event.target) &&\n !isNil(focusableList.current) &&\n !isNil(focusableList.current.first)\n ) {\n if (\n (event.shiftKey && event.target.id === focusableList.current.first.id) ||\n (!event.shiftKey && event.target.id === focusableList.current.last.id)\n ) {\n toggleOpen(false);\n }\n }\n if (isKeypress(event, KeyboardCodes.Esc) === false) {\n return;\n }\n toggleOpen(false);\n }\n },\n [closeOnExit, toggleOpen]\n );\n\n const renderedContainer = useMemo(\n () => (\n <ClickAwayListener onClickAway={() => closeOnExit && toggleOpen(false)}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={containerRef}\n className={classes.contentContainer}\n onKeyDown={handlerKeyContainer}\n >\n {userInfo && (\n <div className={classes.userInfo}>\n <Typography variant=\"highlightText\">{userInfo.label1}</Typography>\n <Typography>{userInfo.label2}</Typography>\n </div>\n )}\n {children}\n </div>\n </ClickAwayListener>\n ),\n [\n children,\n classes.userInfo,\n classes.contentContainer,\n handlerKeyContainer,\n userInfo,\n closeOnExit,\n toggleOpen,\n ]\n );\n\n return (\n <div\n className={clsx([\n classes.root,\n {\n [classes.static]: position === \"static\",\n [classes.relative]: position === \"relative\",\n [classes.fixed]: position === \"fixed\",\n [classes.absolute]: position === \"absolute\",\n },\n className,\n ])}\n >\n <div className={classes.container} {...others}>\n {open && renderedContainer}\n </div>\n </div>\n );\n};\n\nHvUserPreferences.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\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 /**\n * Styles applied when position is fixed.\n */\n fixed: PropTypes.string,\n /**\n * Styles applied when position is relative.\n */\n relative: PropTypes.string,\n /**\n * Styles applied when position is absolute.\n */\n absolute: PropTypes.string,\n /**\n * Styles applied when position is static.\n */\n static: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the inside of the container.\n */\n contentContainer: PropTypes.string,\n /**\n * Styles applied to the user information.\n */\n userInfo: PropTypes.string,\n }).isRequired,\n /**\n * Defines if the user preferences is shown.\n */\n isOpen: PropTypes.bool,\n /**\n * Position of the component.\n */\n position: PropTypes.oneOf([\"static\", \"relative\", \"fixed\", \"absolute\"]),\n /**\n * Children component.\n */\n children: PropTypes.node.isRequired,\n /**\n * Callback when the navigation toggles between open and close.\n */\n toggleOpenCallback: PropTypes.func,\n /**\n * Defines if the content pane should close when losing focus / clicking outside.\n */\n closeOnExit: PropTypes.bool,\n /**\n * User information.\n */\n userInfo: PropTypes.shape({\n label1: PropTypes.string,\n label2: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvUserPreferences\" })(HvUserPreferences);\n"],"file":"UserPreferences.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/UserPreferences/UserPreferences.js"],"names":["React","useCallback","useEffect","useMemo","useRef","useState","PropTypes","ClickAwayListener","withStyles","clsx","isNil","getFirstAndLastFocus","isKeypress","KeyboardCodes","styles","Typography","HvUserPreferences","className","classes","isOpen","toggleOpenCallback","children","position","closeOnExit","userInfo","others","open","setOpen","prevPropOpen","setPrevPropOpen","containerRef","focusableList","setTimeout","current","first","focus","toggleOpen","newState","prevState","handlerKeyContainer","event","Tab","target","shiftKey","id","last","Esc","renderedContainer","contentContainer","label1","label2","root","static","relative","fixed","absolute","container","propTypes","string","shape","isRequired","bool","oneOf","node","func","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { getFirstAndLastFocus, isKeypress, KeyboardCodes } from \"../utils\";\nimport styles from \"./styles\";\nimport Typography from \"../Typography\";\n\n/**\n * User preferences are a group of configurable settings that can be customized for a particular user.\n *\n * Our implementation of the User Preferences component is divided in:\n * <ul>\n * <li>Actions - container for actions</li>\n * <li>Action - action button</li>\n * <li>Options - container for options</li>\n * <li>Group - creates a division between different sets of option, with the possibility of setting a label</li>\n * <li>Label - Label typography.</li>\n * <li>Option - Option button</li>\n * </ul>\n * To build the User Preferences component, a composition of these elements should be used.\n *\n */\nconst HvUserPreferences = ({\n className,\n classes,\n isOpen = false,\n toggleOpenCallback,\n children,\n position = \"static\",\n closeOnExit = false,\n userInfo,\n ...others\n}) => {\n const [open, setOpen] = useState(isOpen);\n const [prevPropOpen, setPrevPropOpen] = useState(null);\n const containerRef = useRef(null);\n const focusableList = useRef(null);\n\n if (isOpen !== prevPropOpen) {\n setOpen(isOpen);\n setPrevPropOpen(isOpen);\n }\n\n /**\n * Fills the object with the first and last focusable element inside the container.\n * When the container is open the first focusable element is focus.\n */\n useEffect(() => {\n setTimeout(() => {\n if (open) {\n focusableList.current = getFirstAndLastFocus(containerRef.current);\n if (focusableList.current.first) focusableList.current.first.focus();\n }\n });\n }, [open]);\n\n /**\n * Toggle the open state based on the received parameter.\n */\n const toggleOpen = useCallback(\n (newState = null) => {\n if (newState !== null) {\n if (newState !== open) {\n setOpen(newState);\n } else {\n return;\n }\n } else {\n setOpen((prevState) => !prevState);\n }\n toggleOpenCallback?.(newState);\n },\n [toggleOpenCallback, open]\n );\n\n /**\n * Handler of keyboard clicks.\n */\n const handlerKeyContainer = useCallback(\n (event) => {\n if (closeOnExit) {\n if (\n isKeypress(event, KeyboardCodes.Tab) &&\n !isNil(event.target) &&\n !isNil(focusableList.current) &&\n !isNil(focusableList.current.first)\n ) {\n if (\n (event.shiftKey && event.target.id === focusableList.current.first.id) ||\n (!event.shiftKey && event.target.id === focusableList.current.last.id)\n ) {\n toggleOpen(false);\n }\n }\n if (isKeypress(event, KeyboardCodes.Esc) === false) {\n return;\n }\n toggleOpen(false);\n }\n },\n [closeOnExit, toggleOpen]\n );\n\n const renderedContainer = useMemo(\n () => (\n <ClickAwayListener onClickAway={() => closeOnExit && toggleOpen(false)}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={containerRef}\n className={classes.contentContainer}\n onKeyDown={handlerKeyContainer}\n >\n {userInfo && (\n <div className={classes.userInfo}>\n <Typography variant=\"highlightText\">{userInfo.label1}</Typography>\n <Typography>{userInfo.label2}</Typography>\n </div>\n )}\n {children}\n </div>\n </ClickAwayListener>\n ),\n [\n children,\n classes.userInfo,\n classes.contentContainer,\n handlerKeyContainer,\n userInfo,\n closeOnExit,\n toggleOpen,\n ]\n );\n\n return (\n <div\n className={clsx([\n classes.root,\n {\n [classes.static]: position === \"static\",\n [classes.relative]: position === \"relative\",\n [classes.fixed]: position === \"fixed\",\n [classes.absolute]: position === \"absolute\",\n },\n className,\n ])}\n >\n <div className={classes.container} {...others}>\n {open && renderedContainer}\n </div>\n </div>\n );\n};\n\nHvUserPreferences.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\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 /**\n * Styles applied when position is fixed.\n */\n fixed: PropTypes.string,\n /**\n * Styles applied when position is relative.\n */\n relative: PropTypes.string,\n /**\n * Styles applied when position is absolute.\n */\n absolute: PropTypes.string,\n /**\n * Styles applied when position is static.\n */\n static: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the inside of the container.\n */\n contentContainer: PropTypes.string,\n /**\n * Styles applied to the user information.\n */\n userInfo: PropTypes.string,\n }).isRequired,\n /**\n * Defines if the user preferences is shown.\n */\n isOpen: PropTypes.bool,\n /**\n * Position of the component.\n */\n position: PropTypes.oneOf([\"static\", \"relative\", \"fixed\", \"absolute\"]),\n /**\n * Children component.\n */\n children: PropTypes.node.isRequired,\n /**\n * Callback when the navigation toggles between open and close.\n */\n toggleOpenCallback: PropTypes.func,\n /**\n * Defines if the content pane should close when losing focus / clicking outside.\n */\n closeOnExit: PropTypes.bool,\n /**\n * User information.\n */\n userInfo: PropTypes.shape({\n label1: PropTypes.string,\n label2: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvUserPreferences\" })(HvUserPreferences);\n"],"file":"UserPreferences.js"}
|
|
@@ -38,7 +38,7 @@ var Action = function Action(_ref) {
|
|
|
38
38
|
}, others), icon, label);
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
Action.propTypes = {
|
|
41
|
+
process.env.NODE_ENV !== "production" ? Action.propTypes = {
|
|
42
42
|
/**
|
|
43
43
|
* Class names to be applied.
|
|
44
44
|
*/
|
|
@@ -78,7 +78,7 @@ Action.propTypes = {
|
|
|
78
78
|
* Callback called when clicked.
|
|
79
79
|
*/
|
|
80
80
|
onClick: PropTypes.func
|
|
81
|
-
};
|
|
81
|
+
} : void 0;
|
|
82
82
|
export default withStyles(styles, {
|
|
83
83
|
name: "HvVerticalNavigationAction"
|
|
84
84
|
})(Action);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/VerticalNavigation/Actions/Action.js"],"names":["React","useCallback","PropTypes","clsx","withStyles","KeyboardCodes","isKeypress","HvTypography","setId","styles","Action","className","classes","id","label","icon","onClick","others","handleKeyDown","event","Enter","SpaceBar","action","noIcon","propTypes","string","shape","isRequired","node","func","name"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,EAAwBC,UAAxB,QAA0C,2BAA1C;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,SAASC,KAAT,QAAsB,aAAtB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAsE;AAAA,MAAnEC,SAAmE,QAAnEA,SAAmE;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,EAA+C,QAA/CA,EAA+C;AAAA,wBAA3CC,KAA2C;AAAA,MAA3CA,KAA2C,2BAAnC,EAAmC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;;AACnF,MAAMC,aAAa,GAAGjB,WAAW,CAC/B,UAACkB,KAAD,EAAW;AACT,QACEH,OAAO,IAAI,IAAX,IACC,CAACV,UAAU,CAACa,KAAD,EAAQd,aAAa,CAACe,KAAtB,CAAX,IAA2C,CAACd,UAAU,CAACa,KAAD,EAAQd,aAAa,CAACgB,QAAtB,CAFzD,EAGE;AACA;AACD;;AAEDL,IAAAA,OAAO,CAACG,KAAD,CAAP;AACD,GAV8B,EAW/B,CAACH,OAAD,CAX+B,CAAjC;AAcA,sBACE,oBAAC,YAAD;AACE,IAAA,EAAE,EAAER,KAAK,CAACK,EAAD,EAAK,QAAL,CADX;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,SAAS,EAAEV,IAAI,CAACQ,SAAD,EAAYC,OAAO,CAACU,MAApB,EAAgD,CAACP,IAAjD,IAA+BH,OAAO,CAACW,MAAvC,CAJjB;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,SAAS,EAAEL,aANb;AAOE,IAAA,OAAO,EAAEF;AAPX,KAQMC,MARN,GAUGF,IAVH,EAWGD,KAXH,CADF;AAeD,CA9BD;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/VerticalNavigation/Actions/Action.js"],"names":["React","useCallback","PropTypes","clsx","withStyles","KeyboardCodes","isKeypress","HvTypography","setId","styles","Action","className","classes","id","label","icon","onClick","others","handleKeyDown","event","Enter","SpaceBar","action","noIcon","propTypes","string","shape","isRequired","node","func","name"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,QAAmC,OAAnC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,EAAwBC,UAAxB,QAA0C,2BAA1C;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,SAASC,KAAT,QAAsB,aAAtB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,OAAsE;AAAA,MAAnEC,SAAmE,QAAnEA,SAAmE;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,EAA+C,QAA/CA,EAA+C;AAAA,wBAA3CC,KAA2C;AAAA,MAA3CA,KAA2C,2BAAnC,EAAmC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;;AACnF,MAAMC,aAAa,GAAGjB,WAAW,CAC/B,UAACkB,KAAD,EAAW;AACT,QACEH,OAAO,IAAI,IAAX,IACC,CAACV,UAAU,CAACa,KAAD,EAAQd,aAAa,CAACe,KAAtB,CAAX,IAA2C,CAACd,UAAU,CAACa,KAAD,EAAQd,aAAa,CAACgB,QAAtB,CAFzD,EAGE;AACA;AACD;;AAEDL,IAAAA,OAAO,CAACG,KAAD,CAAP;AACD,GAV8B,EAW/B,CAACH,OAAD,CAX+B,CAAjC;AAcA,sBACE,oBAAC,YAAD;AACE,IAAA,EAAE,EAAER,KAAK,CAACK,EAAD,EAAK,QAAL,CADX;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,SAAS,EAAEV,IAAI,CAACQ,SAAD,EAAYC,OAAO,CAACU,MAApB,EAAgD,CAACP,IAAjD,IAA+BH,OAAO,CAACW,MAAvC,CAJjB;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,SAAS,EAAEL,aANb;AAOE,IAAA,OAAO,EAAEF;AAPX,KAQMC,MARN,GAUGF,IAVH,EAWGD,KAXH,CADF;AAeD,CA9BD;;AAgCA,wCAAAJ,MAAM,CAACc,SAAP,GAAmB;AACjB;AACF;AACA;AACEb,EAAAA,SAAS,EAAET,SAAS,CAACuB,MAJJ;;AAKjB;AACF;AACA;AACEb,EAAAA,OAAO,EAAEV,SAAS,CAACwB,KAAV,CAAgB;AACvB;AACJ;AACA;AACIJ,IAAAA,MAAM,EAAEpB,SAAS,CAACuB,MAJK;;AAKvB;AACJ;AACA;AACIF,IAAAA,MAAM,EAAErB,SAAS,CAACuB;AARK,GAAhB,EASNE,UAjBc;;AAkBjB;AACF;AACA;AACEd,EAAAA,EAAE,EAAEX,SAAS,CAACuB,MArBG;;AAsBjB;AACF;AACA;AACEX,EAAAA,KAAK,EAAEZ,SAAS,CAACuB,MAzBA;;AA0BjB;AACF;AACA;AACEV,EAAAA,IAAI,EAAEb,SAAS,CAAC0B,IA7BC;;AA8BjB;AACF;AACA;AACEZ,EAAAA,OAAO,EAAEd,SAAS,CAAC2B;AAjCF,CAAnB;AAoCA,eAAezB,UAAU,CAACK,MAAD,EAAS;AAAEqB,EAAAA,IAAI,EAAE;AAAR,CAAT,CAAV,CAA2DpB,MAA3D,CAAf","sourcesContent":["import React, { useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../utils/KeyboardUtils\";\nimport HvTypography from \"../../Typography\";\nimport { setId } from \"../../utils\";\nimport styles from \"./styles\";\n\nconst Action = ({ className, classes, id, label = \"\", icon, onClick, ...others }) => {\n const handleKeyDown = useCallback(\n (event) => {\n if (\n onClick == null ||\n (!isKeypress(event, KeyboardCodes.Enter) && !isKeypress(event, KeyboardCodes.SpaceBar))\n ) {\n return;\n }\n\n onClick(event);\n },\n [onClick]\n );\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={clsx(className, classes.action, { [classes.noIcon]: !icon })}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {label}\n </HvTypography>\n );\n};\n\nAction.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n action: PropTypes.string,\n /**\n * Style applied when no icon is present.\n */\n noIcon: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the action.\n */\n id: PropTypes.string,\n /**\n * Visual label.\n */\n label: PropTypes.string,\n /**\n * Icon.\n */\n icon: PropTypes.node,\n /**\n * Callback called when clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationAction\" })(Action);\n"],"file":"Action.js"}
|
|
@@ -20,7 +20,7 @@ var Actions = function Actions(_ref) {
|
|
|
20
20
|
}, others), children);
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
Actions.propTypes = {
|
|
23
|
+
process.env.NODE_ENV !== "production" ? Actions.propTypes = {
|
|
24
24
|
/**
|
|
25
25
|
* Class names to be applied.
|
|
26
26
|
*/
|
|
@@ -45,7 +45,7 @@ Actions.propTypes = {
|
|
|
45
45
|
* Node to be rendered
|
|
46
46
|
*/
|
|
47
47
|
children: PropTypes.node
|
|
48
|
-
};
|
|
48
|
+
} : void 0;
|
|
49
49
|
export default withStyles(styles, {
|
|
50
50
|
name: "HvVerticalNavigationActions"
|
|
51
51
|
})(Actions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/VerticalNavigation/Actions/Actions.js"],"names":["React","PropTypes","withStyles","clsx","styles","Actions","className","classes","id","children","others","root","propTypes","string","shape","isRequired","node","name"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAqD;AAAA,MAAlDC,SAAkD,QAAlDA,SAAkD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,EAA8B,QAA9BA,EAA8B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;;AACnE,sBACE;AAAK,IAAA,EAAE,EAAEF,EAAT;AAAa,IAAA,SAAS,EAAEL,IAAI,CAACG,SAAD,EAAYC,OAAO,CAACI,IAApB;AAA5B,KAA2DD,MAA3D,GACGD,QADH,CADF;AAKD,CAND;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/VerticalNavigation/Actions/Actions.js"],"names":["React","PropTypes","withStyles","clsx","styles","Actions","className","classes","id","children","others","root","propTypes","string","shape","isRequired","node","name"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,OAAqD;AAAA,MAAlDC,SAAkD,QAAlDA,SAAkD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,EAA8B,QAA9BA,EAA8B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;;AACnE,sBACE;AAAK,IAAA,EAAE,EAAEF,EAAT;AAAa,IAAA,SAAS,EAAEL,IAAI,CAACG,SAAD,EAAYC,OAAO,CAACI,IAApB;AAA5B,KAA2DD,MAA3D,GACGD,QADH,CADF;AAKD,CAND;;AAQA,wCAAAJ,OAAO,CAACO,SAAR,GAAoB;AAClB;AACF;AACA;AACEN,EAAAA,SAAS,EAAEL,SAAS,CAACY,MAJH;;AAKlB;AACF;AACA;AACEN,EAAAA,OAAO,EAAEN,SAAS,CAACa,KAAV,CAAgB;AACvB;AACJ;AACA;AACIH,IAAAA,IAAI,EAAEV,SAAS,CAACY;AAJO,GAAhB,EAKNE,UAbe;;AAclB;AACF;AACA;AACEP,EAAAA,EAAE,EAAEP,SAAS,CAACY,MAjBI;;AAkBlB;AACF;AACA;AACEJ,EAAAA,QAAQ,EAAER,SAAS,CAACe;AArBF,CAApB;AAwBA,eAAed,UAAU,CAACE,MAAD,EAAS;AAAEa,EAAAA,IAAI,EAAE;AAAR,CAAT,CAAV,CAA4DZ,OAA5D,CAAf","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport styles from \"./styles\";\n\nconst Actions = ({ className, classes, id, children, ...others }) => {\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {children}\n </div>\n );\n};\n\nActions.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the actions container.\n */\n id: PropTypes.string,\n /**\n * Node to be rendered\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationActions\" })(Actions);\n"],"file":"Actions.js"}
|
|
@@ -175,7 +175,7 @@ var Navigation = function Navigation(_ref) {
|
|
|
175
175
|
}, children));
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
-
Navigation.propTypes = {
|
|
178
|
+
process.env.NODE_ENV !== "production" ? Navigation.propTypes = {
|
|
179
179
|
/**
|
|
180
180
|
* Id to be applied to the root node.
|
|
181
181
|
*/
|
|
@@ -284,7 +284,7 @@ Navigation.propTypes = {
|
|
|
284
284
|
* @deprecated Use directly the `aria-label` property instead.
|
|
285
285
|
*/
|
|
286
286
|
label: deprecatedPropType(PropTypes.string)
|
|
287
|
-
};
|
|
287
|
+
} : void 0;
|
|
288
288
|
export default withStyles(styles, {
|
|
289
289
|
name: "HvVerticalNavigationNavigation"
|
|
290
290
|
})(Navigation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/VerticalNavigation/Navigation/Navigation.js"],"names":["React","useCallback","useMemo","PropTypes","deprecatedPropType","withStyles","clsx","TreeView","TreeViewItem","setId","useControlled","styles","wrapperTooltip","createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport TreeView, { TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const { id: itemId, label: itemLabel, icon, data: children, selectable } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\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 * data - sub-menu items\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationNavigation\" })(Navigation);\n"],"file":"Navigation.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/VerticalNavigation/Navigation/Navigation.js"],"names":["React","useCallback","useMemo","PropTypes","deprecatedPropType","withStyles","clsx","TreeView","TreeViewItem","setId","useControlled","styles","wrapperTooltip","createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport TreeView, { TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const { id: itemId, label: itemLabel, icon, data: children, selectable } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\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 * data - sub-menu items\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationNavigation\" })(Navigation);\n"],"file":"Navigation.js"}
|
|
@@ -885,7 +885,7 @@ var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
885
885
|
onKeyDown: handleKeyDown
|
|
886
886
|
}, others), children))));
|
|
887
887
|
});
|
|
888
|
-
TreeView.propTypes = {
|
|
888
|
+
process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
889
889
|
/**
|
|
890
890
|
* Id to be applied to the root node.
|
|
891
891
|
*/
|
|
@@ -995,7 +995,7 @@ TreeView.propTypes = {
|
|
|
995
995
|
* The content of the component.
|
|
996
996
|
*/
|
|
997
997
|
children: PropTypes.node
|
|
998
|
-
};
|
|
998
|
+
} : void 0;
|
|
999
999
|
export default withStyles(styles, {
|
|
1000
1000
|
name: "HvVerticalNavigationTreeView"
|
|
1001
1001
|
})(TreeView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/VerticalNavigation/TreeView/TreeView.js"],"names":["React","useMemo","useRef","useState","useCallback","PropTypes","clsx","withStyles","useControlled","useUniqueId","useForkRef","TreeViewControlContext","TreeViewStateContext","DescendantProvider","styles","isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","forwardRef","props","ref","idProp","id","className","classes","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selectedProp","selected","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","treeRef","handleRef","setExpandedState","setSelectedState","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","isExpanded","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","treeStateContext","root","role","tabIndex","propTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","name"],"mappings":"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","sourcesContent":["import React, { useMemo, useRef, useState, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport { useControlled, useUniqueId, useForkRef } from \"../..\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\nimport { DescendantProvider } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nconst TreeView = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(expandedProp, defaultExpanded);\n\n const [selected, setSelectedState] = useControlled(selectedProp, defaultSelected);\n\n const [focusedNodeId, setFocusedNodeId] = useState(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) => !collapsible || (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) => collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) => selectable && (Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) => selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback((id) => focusedNodeId === id, [focusedNodeId]);\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (isExpanded(currentNode) && getNavigableChildrenIds(currentNode).length > 0) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback((nodeAId, nodeBId) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id ? [nodeA.id, nodeB.id] : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n }, []);\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds = [];\n const firstChars = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable ? false : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter((child) => isExpandable(child) && !isExpanded(child));\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef([]);\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current = currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter((id) => currentRangeSelection.current.indexOf(id) === -1);\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter((id, i) => newSelected.indexOf(id) === i);\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (event, nodes, stacked = false) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current === (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (event.altKey || event.currentTarget !== event.target || !focusedNodeId) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant = nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n }),\n [isDisabled, isExpanded, isFocused, isSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <ul\n ref={handleRef}\n id={idProp}\n className={clsx(classes.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </ul>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n});\n\nTreeView.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Enables selection.\n * @default false\n */\n selectable: PropTypes.bool,\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect: PropTypes.bool,\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange: PropTypes.func,\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationTreeView\" })(TreeView);\n"],"file":"TreeView.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/VerticalNavigation/TreeView/TreeView.js"],"names":["React","useMemo","useRef","useState","useCallback","PropTypes","clsx","withStyles","useControlled","useUniqueId","useForkRef","TreeViewControlContext","TreeViewStateContext","DescendantProvider","styles","isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","forwardRef","props","ref","idProp","id","className","classes","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selectedProp","selected","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","treeRef","handleRef","setExpandedState","setSelectedState","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","isExpanded","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","treeStateContext","root","role","tabIndex","propTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","name"],"mappings":"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","sourcesContent":["import React, { useMemo, useRef, useState, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport { useControlled, useUniqueId, useForkRef } from \"../..\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\nimport { DescendantProvider } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nconst TreeView = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(expandedProp, defaultExpanded);\n\n const [selected, setSelectedState] = useControlled(selectedProp, defaultSelected);\n\n const [focusedNodeId, setFocusedNodeId] = useState(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) => !collapsible || (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) => collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) => selectable && (Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) => selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback((id) => focusedNodeId === id, [focusedNodeId]);\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (isExpanded(currentNode) && getNavigableChildrenIds(currentNode).length > 0) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback((nodeAId, nodeBId) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id ? [nodeA.id, nodeB.id] : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n }, []);\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds = [];\n const firstChars = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable ? false : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter((child) => isExpandable(child) && !isExpanded(child));\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef([]);\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current = currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter((id) => currentRangeSelection.current.indexOf(id) === -1);\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter((id, i) => newSelected.indexOf(id) === i);\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (event, nodes, stacked = false) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current === (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (event.altKey || event.currentTarget !== event.target || !focusedNodeId) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant = nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n }),\n [isDisabled, isExpanded, isFocused, isSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <ul\n ref={handleRef}\n id={idProp}\n className={clsx(classes.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </ul>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n});\n\nTreeView.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Enables selection.\n * @default false\n */\n selectable: PropTypes.bool,\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect: PropTypes.bool,\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange: PropTypes.func,\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationTreeView\" })(TreeView);\n"],"file":"TreeView.js"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
|
|
5
|
+
var _DropUpXS, _DropDownXS;
|
|
6
|
+
|
|
4
7
|
var _excluded = ["id", "className", "classes", "disabled", "selectable", "nodeId", "icon", "label", "payload", "onClick", "onMouseDown", "onFocus", "children"];
|
|
5
8
|
import "core-js/modules/es.array.concat.js";
|
|
6
9
|
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -256,7 +259,7 @@ var TreeViewItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
256
259
|
"aria-current": selectable && selected ? "page" : undefined,
|
|
257
260
|
"aria-expanded": expandable ? expanded : undefined,
|
|
258
261
|
"aria-controls": expandable ? setId(id, "group") : undefined
|
|
259
|
-
}), expandable && (expanded ? /*#__PURE__*/React.createElement(DropUpXS, null) : /*#__PURE__*/React.createElement(DropDownXS, null)), icon, label);
|
|
262
|
+
}), expandable && (expanded ? _DropUpXS || (_DropUpXS = /*#__PURE__*/React.createElement(DropUpXS, null)) : _DropDownXS || (_DropDownXS = /*#__PURE__*/React.createElement(DropDownXS, null))), icon, label);
|
|
260
263
|
}, [id, classes.content, handleClick, handleMouseDown, expandable, level, collapsible, treeviewMode, handleFocus, handleKeyDown, selectable, selected, expanded, icon, label]);
|
|
261
264
|
var renderedChildren = useMemo(function () {
|
|
262
265
|
return children && /*#__PURE__*/React.createElement("ul", {
|
|
@@ -280,7 +283,7 @@ var TreeViewItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
280
283
|
level: level + 1
|
|
281
284
|
}, renderedChildren));
|
|
282
285
|
});
|
|
283
|
-
TreeViewItem.propTypes = {
|
|
286
|
+
process.env.NODE_ENV !== "production" ? TreeViewItem.propTypes = {
|
|
284
287
|
/**
|
|
285
288
|
* Id to be applied to the root node.
|
|
286
289
|
*/
|
|
@@ -406,7 +409,7 @@ TreeViewItem.propTypes = {
|
|
|
406
409
|
* The content of the component.
|
|
407
410
|
*/
|
|
408
411
|
children: PropTypes.node
|
|
409
|
-
};
|
|
412
|
+
} : void 0;
|
|
410
413
|
export default withStyles(styles, {
|
|
411
414
|
name: "HvVerticalNavigationTreeViewItem"
|
|
412
415
|
})(TreeViewItem);
|