@hitachivantara/uikit-react-core 3.67.18 → 3.68.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/Accordion.js.map +1 -1
- package/dist/ActionBar/ActionBar.js.map +1 -1
- package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/AssetInventory/Search/Search.js.map +1 -1
- package/dist/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/AssetInventory/setActionsId.js.map +1 -1
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
- package/dist/BaseInput/BaseInput.js.map +1 -1
- package/dist/BaseInput/validations.js.map +1 -1
- package/dist/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/BreadCrumb/utils.js.map +1 -1
- package/dist/BulkActions/BulkActions.js.map +1 -1
- package/dist/BulkActions/styles.js.map +1 -1
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/materialConfigurarion.js.map +1 -1
- package/dist/Button/styles.js.map +1 -1
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/Calendar/model.js.map +1 -1
- package/dist/Calendar/utils.js.map +1 -1
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Content/Content.js.map +1 -1
- package/dist/Card/Header/Header.js.map +1 -1
- package/dist/Card/Media/Media.js.map +1 -1
- package/dist/Card/styles.js.map +1 -1
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/Container/Container.js.map +1 -1
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/DatePicker/useVisibleDate.js.map +1 -1
- package/dist/DatePicker/utils.js.map +1 -1
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Dialog/styles.js.map +1 -1
- package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/List/List.js.map +1 -1
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/FileUploader/File/File.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/FilterGroup/Counter/styles.js.map +1 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
- package/dist/FilterGroup/styles.js.map +1 -1
- package/dist/Focus/Focus.js.map +1 -1
- package/dist/Focus/utils.js.map +1 -1
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
- package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
- package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/Forms/Label/Label.js.map +1 -1
- package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Header/Actions/Actions.js.map +1 -1
- package/dist/Header/Brand/Brand.js.map +1 -1
- package/dist/Header/Header.js.map +1 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/Header/Navigation/Navigation.js.map +1 -1
- package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
- package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
- package/dist/Input/Input.js.map +1 -1
- package/dist/Kpi/Kpi.js.map +1 -1
- package/dist/Link/Link.js.map +1 -1
- package/dist/List/List.js +20 -16
- package/dist/List/List.js.map +1 -1
- package/dist/List/useSelectableList.js.map +1 -1
- package/dist/List/utils.js.map +1 -1
- package/dist/ListContainer/ListContainer.js.map +1 -1
- package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
- package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Login/Login.js.map +1 -1
- package/dist/Login/styles.js.map +1 -1
- package/dist/MultiButton/MultiButton.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Select.js.map +1 -1
- package/dist/Pagination/utils.js.map +1 -1
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Provider/Provider.js +15 -4
- package/dist/Provider/Provider.js.map +1 -1
- package/dist/Provider/context.js.map +1 -1
- package/dist/Provider/useLocale.js.map +1 -1
- package/dist/Radio/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
- package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Vertical/styles.js.map +1 -1
- package/dist/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/ScrollTo/withTooltip.js.map +1 -1
- package/dist/SelectionList/SelectionList.js.map +1 -1
- package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/SimpleGrid/styles.js.map +1 -1
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Snackbar/Snackbar.js.map +1 -1
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
- package/dist/Stack/Stack.js.map +1 -1
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Tab/Tab.js.map +1 -1
- package/dist/Table/CellWithTooltip/index.js.map +1 -1
- package/dist/Table/Header/Header.js.map +1 -1
- package/dist/Table/NoData/index.js.map +1 -1
- package/dist/Table/NoData/styles.js.map +1 -1
- package/dist/Table/Table.js +19 -22
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/columnUtils.js.map +1 -1
- package/dist/Table/selectTable.js.map +1 -1
- package/dist/Table/styles.js.map +1 -1
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tag/styles.js.map +1 -1
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
- package/dist/TimePicker/TimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
- package/dist/TimePicker/timePickerConverter.js.map +1 -1
- package/dist/TimePicker/timePickerFormatter.js.map +1 -1
- package/dist/TimePicker/timePickerUtils.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/UserPreferences/Action/Action.js.map +1 -1
- package/dist/UserPreferences/Action/styles.js.map +1 -1
- package/dist/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/UserPreferences/Options/Option.js.map +1 -1
- package/dist/UserPreferences/Options/Options.js.map +1 -1
- package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
- package/dist/UserPreferences/Options/styles.js.map +1 -1
- package/dist/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/VerticalNavigation/Navigation/Navigation.js +0 -1
- package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -27
- package/dist/index.js.map +1 -1
- package/dist/legacy/List/List.js +23 -19
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/legacy/Provider/Provider.js +16 -5
- package/dist/legacy/Provider/Provider.js.map +1 -1
- package/dist/legacy/Table/Table.js +20 -23
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +0 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/index.d.ts +0 -9
- package/dist/legacy/index.js +0 -3
- package/dist/legacy/index.js.map +1 -1
- package/dist/legacy/utils/ConditionalRenderer.js +1 -0
- package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
- package/dist/modern/List/List.js +25 -24
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/Provider/Provider.js +10 -5
- package/dist/modern/Provider/Provider.js.map +1 -1
- package/dist/modern/Table/Table.js +20 -23
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/index.d.ts +0 -9
- package/dist/modern/index.js +0 -3
- package/dist/modern/index.js.map +1 -1
- package/dist/modern/utils/ConditionalRenderer.js +1 -0
- package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
- package/dist/theme/CssBaseline.js.map +1 -1
- package/dist/theme/ScopedCssBaseline.js.map +1 -1
- package/dist/theme/createGenerateClassName.js.map +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/overrides/muiButton.js.map +1 -1
- package/dist/theme/palette.js.map +1 -1
- package/dist/theme/typography.js.map +1 -1
- package/dist/useUniqueId.js.map +1 -1
- package/dist/utils/ConditionalRenderer.js +1 -0
- package/dist/utils/ConditionalRenderer.js.map +1 -1
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/hexToRgbA.js.map +1 -1
- package/dist/utils/refType.js.map +1 -1
- package/dist/utils/setId.js.map +1 -1
- package/dist/utils/useComputation.js.map +1 -1
- package/dist/utils/useDeprecated.js.map +1 -1
- package/dist/utils/useImageLoaded.js.map +1 -1
- package/dist/utils/useIsMounted.js.map +1 -1
- package/dist/utils/useLabels.js.map +1 -1
- package/dist/utils/usePropAsRef.js.map +1 -1
- package/dist/utils/useSavedState.js.map +1 -1
- package/dist/utils/useUpdated.js.map +1 -1
- package/dist/utils/useWidth.js.map +1 -1
- package/dist/withId.js.map +1 -1
- package/dist/withTooltip.js.map +1 -1
- package/package.json +22 -32
- package/dist/Barchart/Barchart.d.ts +0 -14
- package/dist/Barchart/Barchart.js +0 -241
- package/dist/Barchart/Barchart.js.map +0 -1
- package/dist/Barchart/barchartPlotlyOverrides.js +0 -59
- package/dist/Barchart/barchartPlotlyOverrides.js.map +0 -1
- package/dist/Barchart/index.d.ts +0 -2
- package/dist/Barchart/index.js +0 -16
- package/dist/Barchart/index.js.map +0 -1
- package/dist/Barchart/styles.js +0 -10
- package/dist/Barchart/styles.js.map +0 -1
- package/dist/Chart/Chart.d.ts +0 -25
- package/dist/Chart/Chart.js +0 -215
- package/dist/Chart/Chart.js.map +0 -1
- package/dist/Chart/Plot/Plot.d.ts +0 -43
- package/dist/Chart/Plot/Plot.js +0 -131
- package/dist/Chart/Plot/Plot.js.map +0 -1
- package/dist/Chart/Plot/index.d.ts +0 -2
- package/dist/Chart/Plot/index.js +0 -16
- package/dist/Chart/Plot/index.js.map +0 -1
- package/dist/Chart/Plot/styles.js +0 -10
- package/dist/Chart/Plot/styles.js.map +0 -1
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -162
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
- package/dist/Chart/Tooltip/MultiTooltip/index.js +0 -16
- package/dist/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
- package/dist/Chart/Tooltip/MultiTooltip/styles.js +0 -51
- package/dist/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -87
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
- package/dist/Chart/Tooltip/SingleTooltip/index.js +0 -16
- package/dist/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
- package/dist/Chart/Tooltip/SingleTooltip/styles.js +0 -26
- package/dist/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
- package/dist/Chart/Tooltip/Tooltip.js +0 -165
- package/dist/Chart/Tooltip/Tooltip.js.map +0 -1
- package/dist/Chart/Tooltip/index.js +0 -16
- package/dist/Chart/Tooltip/index.js.map +0 -1
- package/dist/Chart/Tooltip/styles.js +0 -16
- package/dist/Chart/Tooltip/styles.js.map +0 -1
- package/dist/Chart/chartPlotlyOverrides.js +0 -169
- package/dist/Chart/chartPlotlyOverrides.js.map +0 -1
- package/dist/Chart/index.d.ts +0 -5
- package/dist/Chart/index.js +0 -16
- package/dist/Chart/index.js.map +0 -1
- package/dist/Chart/styles.js +0 -49
- package/dist/Chart/styles.js.map +0 -1
- package/dist/Donutchart/Donutchart.d.ts +0 -10
- package/dist/Donutchart/Donutchart.js +0 -124
- package/dist/Donutchart/Donutchart.js.map +0 -1
- package/dist/Donutchart/donutchartPlotlyOverrides.js +0 -56
- package/dist/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
- package/dist/Donutchart/index.d.ts +0 -2
- package/dist/Donutchart/index.js +0 -16
- package/dist/Donutchart/index.js.map +0 -1
- package/dist/Donutchart/styles.js +0 -10
- package/dist/Donutchart/styles.js.map +0 -1
- package/dist/Linechart/Linechart.d.ts +0 -14
- package/dist/Linechart/Linechart.js +0 -130
- package/dist/Linechart/Linechart.js.map +0 -1
- package/dist/Linechart/index.d.ts +0 -2
- package/dist/Linechart/index.js +0 -16
- package/dist/Linechart/index.js.map +0 -1
- package/dist/Linechart/lineChartPlotlyOverrides.js +0 -79
- package/dist/Linechart/lineChartPlotlyOverrides.js.map +0 -1
- package/dist/Linechart/styles.js +0 -10
- package/dist/Linechart/styles.js.map +0 -1
- package/dist/legacy/Barchart/Barchart.d.ts +0 -14
- package/dist/legacy/Barchart/Barchart.js +0 -197
- package/dist/legacy/Barchart/Barchart.js.map +0 -1
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js +0 -43
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +0 -1
- package/dist/legacy/Barchart/index.d.ts +0 -2
- package/dist/legacy/Barchart/index.js +0 -2
- package/dist/legacy/Barchart/index.js.map +0 -1
- package/dist/legacy/Barchart/styles.js +0 -3
- package/dist/legacy/Barchart/styles.js.map +0 -1
- package/dist/legacy/Chart/Chart.d.ts +0 -25
- package/dist/legacy/Chart/Chart.js +0 -174
- package/dist/legacy/Chart/Chart.js.map +0 -1
- package/dist/legacy/Chart/Plot/Plot.d.ts +0 -43
- package/dist/legacy/Chart/Plot/Plot.js +0 -93
- package/dist/legacy/Chart/Plot/Plot.js.map +0 -1
- package/dist/legacy/Chart/Plot/index.d.ts +0 -2
- package/dist/legacy/Chart/Plot/index.js +0 -2
- package/dist/legacy/Chart/Plot/index.js.map +0 -1
- package/dist/legacy/Chart/Plot/styles.js +0 -3
- package/dist/legacy/Chart/Plot/styles.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -130
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js +0 -2
- package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js +0 -43
- package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -54
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js +0 -2
- package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js +0 -18
- package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/Tooltip.js +0 -128
- package/dist/legacy/Chart/Tooltip/Tooltip.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/index.js +0 -2
- package/dist/legacy/Chart/Tooltip/index.js.map +0 -1
- package/dist/legacy/Chart/Tooltip/styles.js +0 -9
- package/dist/legacy/Chart/Tooltip/styles.js.map +0 -1
- package/dist/legacy/Chart/chartPlotlyOverrides.js +0 -147
- package/dist/legacy/Chart/chartPlotlyOverrides.js.map +0 -1
- package/dist/legacy/Chart/index.d.ts +0 -5
- package/dist/legacy/Chart/index.js +0 -2
- package/dist/legacy/Chart/index.js.map +0 -1
- package/dist/legacy/Chart/styles.js +0 -32
- package/dist/legacy/Chart/styles.js.map +0 -1
- package/dist/legacy/Donutchart/Donutchart.d.ts +0 -10
- package/dist/legacy/Donutchart/Donutchart.js +0 -86
- package/dist/legacy/Donutchart/Donutchart.js.map +0 -1
- package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js +0 -40
- package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
- package/dist/legacy/Donutchart/index.d.ts +0 -2
- package/dist/legacy/Donutchart/index.js +0 -2
- package/dist/legacy/Donutchart/index.js.map +0 -1
- package/dist/legacy/Donutchart/styles.js +0 -3
- package/dist/legacy/Donutchart/styles.js.map +0 -1
- package/dist/legacy/Linechart/Linechart.d.ts +0 -14
- package/dist/legacy/Linechart/Linechart.js +0 -92
- package/dist/legacy/Linechart/Linechart.js.map +0 -1
- package/dist/legacy/Linechart/index.d.ts +0 -2
- package/dist/legacy/Linechart/index.js +0 -2
- package/dist/legacy/Linechart/index.js.map +0 -1
- package/dist/legacy/Linechart/lineChartPlotlyOverrides.js +0 -63
- package/dist/legacy/Linechart/lineChartPlotlyOverrides.js.map +0 -1
- package/dist/legacy/Linechart/styles.js +0 -3
- package/dist/legacy/Linechart/styles.js.map +0 -1
- package/dist/modern/Barchart/Barchart.d.ts +0 -14
- package/dist/modern/Barchart/Barchart.js +0 -178
- package/dist/modern/Barchart/Barchart.js.map +0 -1
- package/dist/modern/Barchart/barchartPlotlyOverrides.js +0 -41
- package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +0 -1
- package/dist/modern/Barchart/index.d.ts +0 -2
- package/dist/modern/Barchart/index.js +0 -2
- package/dist/modern/Barchart/index.js.map +0 -1
- package/dist/modern/Barchart/styles.js +0 -3
- package/dist/modern/Barchart/styles.js.map +0 -1
- package/dist/modern/Chart/Chart.d.ts +0 -25
- package/dist/modern/Chart/Chart.js +0 -158
- package/dist/modern/Chart/Chart.js.map +0 -1
- package/dist/modern/Chart/Plot/Plot.d.ts +0 -43
- package/dist/modern/Chart/Plot/Plot.js +0 -94
- package/dist/modern/Chart/Plot/Plot.js.map +0 -1
- package/dist/modern/Chart/Plot/index.d.ts +0 -2
- package/dist/modern/Chart/Plot/index.js +0 -2
- package/dist/modern/Chart/Plot/index.js.map +0 -1
- package/dist/modern/Chart/Plot/styles.js +0 -3
- package/dist/modern/Chart/Plot/styles.js.map +0 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -123
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/index.js +0 -2
- package/dist/modern/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js +0 -41
- package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -51
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/index.js +0 -2
- package/dist/modern/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js +0 -16
- package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
- package/dist/modern/Chart/Tooltip/Tooltip.js +0 -125
- package/dist/modern/Chart/Tooltip/Tooltip.js.map +0 -1
- package/dist/modern/Chart/Tooltip/index.js +0 -2
- package/dist/modern/Chart/Tooltip/index.js.map +0 -1
- package/dist/modern/Chart/Tooltip/styles.js +0 -9
- package/dist/modern/Chart/Tooltip/styles.js.map +0 -1
- package/dist/modern/Chart/chartPlotlyOverrides.js +0 -137
- package/dist/modern/Chart/chartPlotlyOverrides.js.map +0 -1
- package/dist/modern/Chart/index.d.ts +0 -5
- package/dist/modern/Chart/index.js +0 -2
- package/dist/modern/Chart/index.js.map +0 -1
- package/dist/modern/Chart/styles.js +0 -23
- package/dist/modern/Chart/styles.js.map +0 -1
- package/dist/modern/Donutchart/Donutchart.d.ts +0 -10
- package/dist/modern/Donutchart/Donutchart.js +0 -82
- package/dist/modern/Donutchart/Donutchart.js.map +0 -1
- package/dist/modern/Donutchart/donutchartPlotlyOverrides.js +0 -38
- package/dist/modern/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
- package/dist/modern/Donutchart/index.d.ts +0 -2
- package/dist/modern/Donutchart/index.js +0 -2
- package/dist/modern/Donutchart/index.js.map +0 -1
- package/dist/modern/Donutchart/styles.js +0 -3
- package/dist/modern/Donutchart/styles.js.map +0 -1
- package/dist/modern/Linechart/Linechart.d.ts +0 -14
- package/dist/modern/Linechart/Linechart.js +0 -87
- package/dist/modern/Linechart/Linechart.js.map +0 -1
- package/dist/modern/Linechart/index.d.ts +0 -2
- package/dist/modern/Linechart/index.js +0 -2
- package/dist/modern/Linechart/index.js.map +0 -1
- package/dist/modern/Linechart/lineChartPlotlyOverrides.js +0 -59
- package/dist/modern/Linechart/lineChartPlotlyOverrides.js.map +0 -1
- package/dist/modern/Linechart/styles.js +0 -3
- package/dist/modern/Linechart/styles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","action","li","listStyle","selected","outline","outlineStyles"],"sources":["../../../src/UserPreferences/Options/styles.js"],"sourcesContent":["import { outlineStyles } from \"../../Focus/styles\";\nimport { buttonStyles, selected } from \"../styles\";\n\nconst styles = (theme) => ({\n root: {},\n action: {\n ...buttonStyles(theme),\n },\n li: {\n listStyle: \"none\",\n },\n selected: {\n ...selected(theme),\n \"&:hover\": selected(theme),\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...selected(theme),\n ...outlineStyles,\n },\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE,EADmB;IAEzBC,MAAM,oBACD,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","action","buttonStyles","li","listStyle","selected","outline","outlineStyles"],"sources":["../../../src/UserPreferences/Options/styles.js"],"sourcesContent":["import { outlineStyles } from \"../../Focus/styles\";\nimport { buttonStyles, selected } from \"../styles\";\n\nconst styles = (theme) => ({\n root: {},\n action: {\n ...buttonStyles(theme),\n },\n li: {\n listStyle: \"none\",\n },\n selected: {\n ...selected(theme),\n \"&:hover\": selected(theme),\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...selected(theme),\n ...outlineStyles,\n },\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE,EADmB;IAEzBC,MAAM,oBACD,IAAAC,qBAAA,EAAaH,KAAb,CADC,CAFmB;IAKzBI,EAAE,EAAE;MACFC,SAAS,EAAE;IADT,CALqB;IAQzBC,QAAQ,kCACH,IAAAA,iBAAA,EAASN,KAAT,CADG;MAEN,WAAW,IAAAM,iBAAA,EAASN,KAAT,CAFL;MAGN,WAAW;QACTO,OAAO,EAAE;MADA,CAHL;MAMN,mDACK,IAAAD,iBAAA,EAASN,KAAT,CADL,GAEKQ,qBAFL;IANM;EARiB,CAAZ;AAAA,CAAf;;eAqBeT,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserPreferences.js","names":["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","KeyboardCodes","Tab","target","shiftKey","id","last","Esc","renderedContainer","contentContainer","label1","label2","root","static","relative","fixed","absolute","container","propTypes","PropTypes","string","shape","isRequired","bool","oneOf","node","func","styles","name"],"sources":["../../src/UserPreferences/UserPreferences.js"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserPreferences.js","names":["HvUserPreferences","className","classes","isOpen","toggleOpenCallback","children","position","closeOnExit","userInfo","others","useState","open","setOpen","prevPropOpen","setPrevPropOpen","containerRef","useRef","focusableList","useEffect","setTimeout","current","getFirstAndLastFocus","first","focus","toggleOpen","useCallback","newState","prevState","handlerKeyContainer","event","isKeypress","KeyboardCodes","Tab","isNil","target","shiftKey","id","last","Esc","renderedContainer","useMemo","contentContainer","label1","label2","clsx","root","static","relative","fixed","absolute","container","propTypes","PropTypes","string","shape","isRequired","bool","oneOf","node","func","withStyles","styles","name"],"sources":["../../src/UserPreferences/UserPreferences.js"],"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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","names":["Action","className","classes","id","label","icon","onClick","others","handleKeyDown","event","KeyboardCodes","Enter","SpaceBar","action","noIcon","propTypes","PropTypes","string","shape","isRequired","node","func","styles","name"],"sources":["../../../src/VerticalNavigation/Actions/Action.js"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAAsE;EAAA,IAAnEC,SAAmE,QAAnEA,SAAmE;EAAA,IAAxDC,OAAwD,QAAxDA,OAAwD;EAAA,IAA/CC,EAA+C,QAA/CA,EAA+C;EAAA,sBAA3CC,KAA2C;EAAA,IAA3CA,KAA2C,2BAAnC,EAAmC;EAAA,IAA/BC,IAA+B,QAA/BA,IAA+B;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;EACnF,IAAMC,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"Action.js","names":["Action","className","classes","id","label","icon","onClick","others","handleKeyDown","useCallback","event","isKeypress","KeyboardCodes","Enter","SpaceBar","setId","clsx","action","noIcon","propTypes","PropTypes","string","shape","isRequired","node","func","withStyles","styles","name"],"sources":["../../../src/VerticalNavigation/Actions/Action.js"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAAsE;EAAA,IAAnEC,SAAmE,QAAnEA,SAAmE;EAAA,IAAxDC,OAAwD,QAAxDA,OAAwD;EAAA,IAA/CC,EAA+C,QAA/CA,EAA+C;EAAA,sBAA3CC,KAA2C;EAAA,IAA3CA,KAA2C,2BAAnC,EAAmC;EAAA,IAA/BC,IAA+B,QAA/BA,IAA+B;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;EACnF,IAAMC,aAAa,GAAG,IAAAC,kBAAA,EACpB,UAACC,KAAD,EAAW;IACT,IACEJ,OAAO,IAAI,IAAX,IACC,CAAC,IAAAK,yBAAA,EAAWD,KAAX,EAAkBE,4BAAA,CAAcC,KAAhC,CAAD,IAA2C,CAAC,IAAAF,yBAAA,EAAWD,KAAX,EAAkBE,4BAAA,CAAcE,QAAhC,CAF/C,EAGE;MACA;IACD;;IAEDR,OAAO,CAACI,KAAD,CAAP;EACD,CAVmB,EAWpB,CAACJ,OAAD,CAXoB,CAAtB;EAcA,oBACE,6BAAC,mBAAD;IACE,EAAE,EAAE,IAAAS,YAAA,EAAMZ,EAAN,EAAU,QAAV,CADN;IAEE,SAAS,EAAC,KAFZ;IAGE,IAAI,EAAC,QAHP;IAIE,SAAS,EAAE,IAAAa,aAAA,EAAKf,SAAL,EAAgBC,OAAO,CAACe,MAAxB,EAAoD,CAACZ,IAArD,IAAmCH,OAAO,CAACgB,MAA3C,CAJb;IAKE,QAAQ,EAAE,CALZ;IAME,SAAS,EAAEV,aANb;IAOE,OAAO,EAAEF;EAPX,GAQMC,MARN,GAUGF,IAVH,EAWGD,KAXH,CADF;AAeD,CA9BD;;AAgCA,wCAAAJ,MAAM,CAACmB,SAAP,GAAmB;EACjB;AACF;AACA;EACElB,SAAS,EAAEmB,kBAAA,CAAUC,MAJJ;;EAKjB;AACF;AACA;EACEnB,OAAO,EAAEkB,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,MAAM,EAAEG,kBAAA,CAAUC,MAJK;;IAKvB;AACJ;AACA;IACIH,MAAM,EAAEE,kBAAA,CAAUC;EARK,CAAhB,EASNE,UAjBc;;EAkBjB;AACF;AACA;EACEpB,EAAE,EAAEiB,kBAAA,CAAUC,MArBG;;EAsBjB;AACF;AACA;EACEjB,KAAK,EAAEgB,kBAAA,CAAUC,MAzBA;;EA0BjB;AACF;AACA;EACEhB,IAAI,EAAEe,kBAAA,CAAUI,IA7BC;;EA8BjB;AACF;AACA;EACElB,OAAO,EAAEc,kBAAA,CAAUK;AAjCF,CAAnB;;eAoCe,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA2D5B,MAA3D,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","names":["Actions","className","classes","id","children","others","root","propTypes","PropTypes","string","shape","isRequired","node","styles","name"],"sources":["../../../src/VerticalNavigation/Actions/Actions.js"],"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"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAqD;EAAA,IAAlDC,SAAkD,QAAlDA,SAAkD;EAAA,IAAvCC,OAAuC,QAAvCA,OAAuC;EAAA,IAA9BC,EAA8B,QAA9BA,EAA8B;EAAA,IAA1BC,QAA0B,QAA1BA,QAA0B;EAAA,IAAbC,MAAa;EACnE,oBACE;IAAK,EAAE,EAAEF,EAAT;IAAa,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"Actions.js","names":["Actions","className","classes","id","children","others","clsx","root","propTypes","PropTypes","string","shape","isRequired","node","withStyles","styles","name"],"sources":["../../../src/VerticalNavigation/Actions/Actions.js"],"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"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAqD;EAAA,IAAlDC,SAAkD,QAAlDA,SAAkD;EAAA,IAAvCC,OAAuC,QAAvCA,OAAuC;EAAA,IAA9BC,EAA8B,QAA9BA,EAA8B;EAAA,IAA1BC,QAA0B,QAA1BA,QAA0B;EAAA,IAAbC,MAAa;EACnE,oBACE;IAAK,EAAE,EAAEF,EAAT;IAAa,SAAS,EAAE,IAAAG,aAAA,EAAKL,SAAL,EAAgBC,OAAO,CAACK,IAAxB;EAAxB,GAA2DF,MAA3D,GACGD,QADH,CADF;AAKD,CAND;;AAQA,wCAAAJ,OAAO,CAACQ,SAAR,GAAoB;EAClB;AACF;AACA;EACEP,SAAS,EAAEQ,kBAAA,CAAUC,MAJH;;EAKlB;AACF;AACA;EACER,OAAO,EAAEO,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIJ,IAAI,EAAEE,kBAAA,CAAUC;EAJO,CAAhB,EAKNE,UAbe;;EAclB;AACF;AACA;EACET,EAAE,EAAEM,kBAAA,CAAUC,MAjBI;;EAkBlB;AACF;AACA;EACEN,QAAQ,EAAEK,kBAAA,CAAUI;AArBF,CAApB;;eAwBe,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA4DhB,OAA5D,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","names":["createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","disabled","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","PropTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","styles","name"],"sources":["../../../src/VerticalNavigation/Navigation/Navigation.js"],"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, disabled } = 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 disabled={disabled}\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Navigation.js","names":["createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","disabled","ItemText","wrapperTooltip","setId","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","useControlled","setSelected","slice","setExpanded","handleChange","useCallback","event","selectedId","selectedItem","handleToggle","newExpanded","useMemo","clsx","root","list","propTypes","PropTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","deprecatedPropType","withStyles","styles","name"],"sources":["../../../src/VerticalNavigation/Navigation/Navigation.js"],"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, disabled } = 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 disabled={disabled}\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAQC,EAAR,EAAYC,OAAZ;EAAA,OAC1BF,KAAK,CAACG,GAAN,CAAU,UAACC,IAAD,EAAU;IAClB,IAAYC,MAAZ,GAAqFD,IAArF,CAAQH,EAAR;IAAA,IAA2BK,SAA3B,GAAqFF,IAArF,CAAoBG,KAApB;IAAA,IAAsCC,IAAtC,GAAqFJ,IAArF,CAAsCI,IAAtC;IAAA,IAAkDC,QAAlD,GAAqFL,IAArF,CAA4CM,IAA5C;IAAA,IAA4DC,UAA5D,GAAqFP,IAArF,CAA4DO,UAA5D;IAAA,IAAwEC,QAAxE,GAAqFR,IAArF,CAAwEQ,QAAxE;IAEA,IAAMC,QAAQ,GAAG,IAAAC,sBAAA,EAAe,IAAf,EAAqBR,SAArB,EAAgCA,SAAhC,CAAjB;IAEA,oBACE,6BAAC,sBAAD;MACE,EAAE,EAAE,IAAAS,YAAA,EAAMd,EAAN,EAAUI,MAAV,CADN;MAEE,SAAS,EAAEH,OAAO,CAACc,QAFrB;MAGE,GAAG,EAAEX,MAHP;MAIE,MAAM,EAAEA,MAJV;MAKE,KAAK,eAAE,6BAAC,QAAD,OALT;MAME,IAAI,EAAEG,IANR;MAOE,OAAO,EAAEJ,IAPX;MAQE,UAAU,EAAEO,UARd;MASE,QAAQ,EAAEC;IATZ,GAWGH,QAAQ,GAAGV,mBAAmB,CAACU,QAAD,EAAWR,EAAX,EAAeC,OAAf,CAAtB,GAAgDe,SAX3D,CADF;EAeD,CApBD,CAD0B;AAAA,CAA5B;;AAuBA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAClB,KAAD,EAAW;EAC/B,IAAMmB,OAAO,GAAGnB,KAAK,CAACoB,MAAN,CAAa,UAAChB,IAAD;IAAA,OAAUA,IAAI,CAACM,IAAL,IAAa,IAAb,IAAqBN,IAAI,CAACM,IAAL,CAAUW,MAAV,GAAmB,CAAlD;EAAA,CAAb,CAAhB;EACA,IAAMC,YAAY,GAAGH,OAAO,CAACI,OAAR,CAAgB,UAACnB,IAAD;IAAA,OAAUc,aAAa,CAACd,IAAI,CAACM,IAAN,CAAvB;EAAA,CAAhB,CAArB;EAEA,kDAAWS,OAAX,oCAAuBG,YAAvB;AACD,CALD;;AAOA,SAASE,aAAT,CAAuBd,IAAvB,EAA6Be,QAA7B,EAAuC;EACrC,IAAMC,IAAI,GAAG,EAAb;;EAEA,IAAIhB,IAAI,IAAI,IAAR,IAAgBA,IAAI,CAACW,MAAL,GAAc,CAAlC,EAAqC;IACnC;IACA,KAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,KAAKjB,IAAI,CAACW,MAA3B,EAAmC,EAAEM,CAArC,EAAwC;MACtC,IAAMvB,IAAI,GAAGM,IAAI,CAACiB,CAAD,CAAjB;;MACA,IAAIvB,IAAI,CAACH,EAAL,KAAYwB,QAAhB,EAA0B;QACxBC,IAAI,CAACE,IAAL,CAAUxB,IAAI,CAACH,EAAf;QACA;MACD;;MAED,IAAM4B,QAAQ,GAAGL,aAAa,CAACpB,IAAI,CAACM,IAAN,EAAYe,QAAZ,CAA9B;;MACA,IAAII,QAAQ,CAACR,MAAT,GAAkB,CAAtB,EAAyB;QACvBK,IAAI,CAACE,IAAL,CAAUxB,IAAI,CAACH,EAAf;QACAyB,IAAI,CAACE,IAAL,OAAAF,IAAI,mCAASG,QAAT,EAAJ;QACA;MACD;IACF;EACF;;EAED,OAAOH,IAAP;AACD;;AAED,IAAMI,UAAU,GAAG,SAAbA,UAAa,OAuBb;EAAA,IAtBJ7B,EAsBI,QAtBJA,EAsBI;EAAA,IApBJ8B,SAoBI,QApBJA,SAoBI;EAAA,IAnBJ7B,OAmBI,QAnBJA,OAmBI;EAAA,IAjBJQ,IAiBI,QAjBJA,IAiBI;EAAA,qBAfJsB,IAeI;EAAA,IAfJA,IAeI,0BAfG,YAeH;EAAA,4BAbJC,WAaI;EAAA,IAbJA,WAaI,iCAbU,KAaV;EAAA,IAZMC,YAYN,QAZJC,QAYI;EAAA,IAXJC,eAWI,QAXJA,eAWI;EAAA,IAVJC,QAUI,QAVJA,QAUI;EAAA,IARMC,YAQN,QARJC,QAQI;EAAA,IAPJC,eAOI,QAPJA,eAOI;EAAA,IANJC,QAMI,QANJA,QAMI;EAAA,IAJJlC,KAII,QAJJA,KAII;EAAA,IAHJmC,OAGI,QAHJA,OAGI;EAAA,IADDC,MACC;;EACJ,qBAAgC,IAAAC,oBAAA,EAAcN,YAAd,EAA4BE,eAA5B,CAAhC;EAAA;EAAA,IAAOD,QAAP;EAAA,IAAiBM,WAAjB;;EACA,sBAAgC,IAAAD,oBAAA,EAAcV,YAAd,EAA4B,YAAM;IAChE,IAAIE,eAAe,KAAK,IAAxB,EAA8B;MAC5B;MACA,OAAOlB,aAAa,CAACR,IAAD,CAAb,CAAoBP,GAApB,CAAwB,UAACC,IAAD;QAAA,OAAUA,IAAI,CAACH,EAAf;MAAA,CAAxB,CAAP;IACD;;IAED,IAAImC,eAAe,KAAK,KAAxB,EAA+B;MAC7B;MACA,OAAO,EAAP;IACD;;IAED,IAAIA,eAAe,IAAI,IAAvB,EAA6B;MAC3B,IAAIG,QAAQ,IAAI,IAAhB,EAAsB;QACpB;QACA,IAAMb,IAAI,GAAGF,aAAa,CAACd,IAAD,EAAO6B,QAAP,CAA1B;QACA,OAAOb,IAAI,CAACoB,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,CAAP;MACD,CAL0B,CAO3B;;;MACA,OAAO,EAAP;IACD;;IAED,OAAOV,eAAP;EACD,CAvB+B,CAAhC;EAAA;EAAA,IAAOD,QAAP;EAAA,IAAiBY,WAAjB;;EAyBA,IAAMC,YAAY,GAAG,IAAAC,kBAAA,EACnB,UAACC,KAAD,EAAQC,UAAR,EAAoBC,YAApB,EAAqC;IACnCP,WAAW,CAACM,UAAD,CAAX;;IAEA,IAAIV,QAAJ,EAAc;MACZA,QAAQ,CAACS,KAAD,EAAQE,YAAR,CAAR;IACD,CALkC,CAOnC;;;IACA,IAAIV,OAAJ,EAAa;MACXA,OAAO,CAACQ,KAAD,EAAQE,YAAR,CAAP;IACD;EACF,CAZkB,EAanB,CAACX,QAAD,EAAWC,OAAX,EAAoBG,WAApB,CAbmB,CAArB;EAgBA,IAAMQ,YAAY,GAAG,IAAAJ,kBAAA,EACnB,UAACC,KAAD,EAAQI,WAAR,EAAwB;IACtBP,WAAW,CAACO,WAAD,CAAX;;IAEA,IAAIjB,QAAJ,EAAc;MACZA,QAAQ,CAACa,KAAD,EAAQI,WAAR,CAAR;IACD,CALqB,CAOtB;;;IACA,IAAIZ,OAAJ,EAAa;MACXA,OAAO,CAACQ,KAAD,CAAP;IACD;EACF,CAZkB,EAanB,CAACR,OAAD,EAAUL,QAAV,EAAoBU,WAApB,CAbmB,CAArB;EAgBA,IAAMtC,QAAQ,GAAG,IAAA8C,cAAA,EACf;IAAA,OAAM7C,IAAI,IAAIX,mBAAmB,CAACW,IAAD,EAAOT,EAAP,EAAWC,OAAX,CAAjC;EAAA,CADe,EAEf,CAACA,OAAD,EAAUQ,IAAV,EAAgBT,EAAhB,CAFe,CAAjB;EAKA,oBACE;IAAK,EAAE,EAAEA,EAAT;IAAa,SAAS,EAAE,IAAAuD,aAAA,EAAKzB,SAAL,EAAgB7B,OAAO,CAACuD,IAAxB,CAAxB;IAAuD,cAAYlD;EAAnE,GAA8EoC,MAA9E,gBACE,6BAAC,iBAAD;IACE,EAAE,EAAE,IAAA5B,YAAA,EAAMd,EAAN,EAAU,MAAV,CADN;IAEE,SAAS,EAAEC,OAAO,CAACwD,IAFrB;IAGE,UAAU,MAHZ;IAIE,IAAI,EAAE1B,IAJR;IAKE,WAAW,EAAEC,WALf;IAME,QAAQ,EAAEM,QANZ;IAOE,QAAQ,EAAES,YAPZ;IAQE,QAAQ,EAAEb,QARZ;IASE,QAAQ,EAAEkB;EATZ,GAWG5C,QAXH,CADF,CADF;AAiBD,CAxGD;;AA0GA,wCAAAqB,UAAU,CAAC6B,SAAX,GAAuB;EACrB;AACF;AACA;EACE1D,EAAE,EAAE2D,kBAAA,CAAUC,MAJO;;EAMrB;AACF;AACA;EACE9B,SAAS,EAAE6B,kBAAA,CAAUC,MATA;;EAUrB;AACF;AACA;EACE3D,OAAO,EAAE0D,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEG,kBAAA,CAAUC,MAJO;;IAKvB;AACJ;AACA;IACIH,IAAI,EAAEE,kBAAA,CAAUC,MARO;;IASvB;AACJ;AACA;IACI7C,QAAQ,EAAE4C,kBAAA,CAAUC;EAZG,CAAhB,EAaNE,UA1BkB;;EA4BrB;AACF;AACA;EACE/B,IAAI,EAAE4B,kBAAA,CAAUI,KAAV,CAAgB,CAAC,UAAD,EAAa,YAAb,CAAhB,CA/Be;;EAgCrB;AACF;AACA;EACE/B,WAAW,EAAE2B,kBAAA,CAAUK,IAnCF;;EAqCrB;AACF;AACA;EACE1B,QAAQ,EAAEqB,kBAAA,CAAUC,MAxCC;;EAyCrB;AACF;AACA;EACErB,eAAe,EAAEoB,kBAAA,CAAUC,MA5CN;;EA6CrB;AACF;AACA;AACA;AACA;AACA;EACEpB,QAAQ,EAAEmB,kBAAA,CAAUM,IAnDC;;EAqDrB;AACF;AACA;EACE/B,QAAQ,EAAEyB,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUC,MAA5B,CAxDW;;EAyDrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEzB,eAAe,EAAEwB,kBAAA,CAAUQ,SAAV,CAAoB,CAACR,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUC,MAA5B,CAAD,EAAsCD,kBAAA,CAAUK,IAAhD,CAApB,CAjEI;;EAkErB;AACF;AACA;AACA;AACA;AACA;EACE5B,QAAQ,EAAEuB,kBAAA,CAAUM,IAxEC;;EA0ErB;AACF;AACA;AACA;AACA;AACA;AACA;EACExD,IAAI,EAAEkD,kBAAA,CAAUO,OAAV,CACJP,kBAAA,CAAUE,KAAV,CAAgB;IACd7D,EAAE,EAAE2D,kBAAA,CAAUC,MAAV,CAAiBE,UADP;IAEdxD,KAAK,EAAEqD,kBAAA,CAAUC,MAAV,CAAiBE,UAFV;IAGdvD,IAAI,EAAEoD,kBAAA,CAAUS,IAHF;IAId3D,IAAI,EAAEkD,kBAAA,CAAUU;EAJF,CAAhB,CADI,EAOJP,UAxFmB;;EA0FrB;AACF;AACA;AACA;AACA;EACErB,OAAO,EAAE,IAAA6B,wBAAA,EAAmBX,kBAAA,CAAUM,IAA7B,CA/FY;;EAgGrB;AACF;AACA;AACA;AACA;EACE3D,KAAK,EAAE,IAAAgE,wBAAA,EAAmBX,kBAAA,CAAUC,MAA7B;AArGc,CAAvB;;eAwGe,IAAAW,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA+D5C,UAA/D,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.js","names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","React","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","PropTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","styles","name"],"sources":["../../../src/VerticalNavigation/TreeView/TreeView.js"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeView.js","names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","React","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","useUniqueId","treeRef","useRef","handleRef","useForkRef","useControlled","setExpandedState","setSelectedState","useState","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","isExpanded","useCallback","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","useMemo","treeStateContext","clsx","root","role","tabIndex","propTypes","PropTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","withStyles","styles","name"],"sources":["../../../src/VerticalNavigation/TreeView/TreeView.js"],"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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewContexts.js","names":["TreeViewControlContext","React","createContext","displayName","TreeViewStateContext"],"sources":["../../../src/VerticalNavigation/TreeView/TreeViewContexts.js"],"sourcesContent":["import React from \"react\";\n\nconst TreeViewControlContext = React.createContext({});\nTreeViewControlContext.displayName = \"TreeViewControlContext\";\n\nconst TreeViewStateContext = React.createContext({});\nTreeViewStateContext.displayName = \"TreeViewStateContext\";\n\nexport { TreeViewControlContext, TreeViewStateContext };\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,sBAAsB,gBAAGC,
|
|
1
|
+
{"version":3,"file":"TreeViewContexts.js","names":["TreeViewControlContext","React","createContext","displayName","TreeViewStateContext"],"sources":["../../../src/VerticalNavigation/TreeView/TreeViewContexts.js"],"sourcesContent":["import React from \"react\";\n\nconst TreeViewControlContext = React.createContext({});\nTreeViewControlContext.displayName = \"TreeViewControlContext\";\n\nconst TreeViewStateContext = React.createContext({});\nTreeViewStateContext.displayName = \"TreeViewStateContext\";\n\nexport { TreeViewControlContext, TreeViewStateContext };\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,sBAAsB,gBAAGC,cAAA,CAAMC,aAAN,CAAoB,EAApB,CAA/B;;;AACAF,sBAAsB,CAACG,WAAvB,GAAqC,wBAArC;;AAEA,IAAMC,oBAAoB,gBAAGH,cAAA,CAAMC,aAAN,CAAoB,EAApB,CAA7B;;;AACAE,oBAAoB,CAACD,WAArB,GAAmC,sBAAnC"}
|
|
@@ -302,7 +302,7 @@ var TreeViewItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
302
302
|
"aria-expanded": expandable ? expanded : undefined,
|
|
303
303
|
"aria-controls": expandable ? (0, _utils.setId)(id, "group") : undefined
|
|
304
304
|
}), expandable && (expanded ? _DropUpXS || (_DropUpXS = /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropUpXS, null)) : _DropDownXS || (_DropDownXS = /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropDownXS, null))), icon, label);
|
|
305
|
-
}, [id, classes.content, handleClick, handleMouseDown, expandable, level, collapsible, treeviewMode, handleFocus, handleKeyDown, selectable, selected, expanded, icon, label]);
|
|
305
|
+
}, [id, classes.content, handleClick, handleMouseDown, expandable, level, collapsible, treeviewMode, handleFocus, handleKeyDown, selectable, selected, expanded, icon, label, disabled]);
|
|
306
306
|
var renderedChildren = (0, _react.useMemo)(function () {
|
|
307
307
|
return children && /*#__PURE__*/_react.default.createElement("ul", {
|
|
308
308
|
id: (0, _utils.setId)(id, "group"),
|