@hitachivantara/uikit-react-core 5.66.10 → 5.66.11
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/cjs/Accordion/Accordion.cjs +1 -1
- package/dist/cjs/ActionBar/ActionBar.cjs +1 -1
- package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +1 -1
- package/dist/cjs/AppSwitcher/Action/Action.cjs +1 -1
- package/dist/cjs/AppSwitcher/AppSwitcher.cjs +2 -2
- package/dist/cjs/Avatar/Avatar.cjs +1 -1
- package/dist/cjs/AvatarGroup/AvatarGroup.cjs +1 -1
- package/dist/cjs/AvatarGroup/AvatarGroupContext.cjs +1 -1
- package/dist/cjs/Badge/Badge.cjs +1 -1
- package/dist/cjs/Banner/Banner.cjs +1 -1
- package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs +1 -1
- package/dist/cjs/Banner/BannerContent/BannerContent.cjs +1 -1
- package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs +1 -1
- package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs +1 -1
- package/dist/cjs/BaseCheckBox/icons.cjs +1 -1
- package/dist/cjs/BaseDropdown/BaseDropdown.cjs +1 -1
- package/dist/cjs/BaseInput/BaseInput.cjs +1 -1
- package/dist/cjs/BaseRadio/BaseRadio.cjs +1 -1
- package/dist/cjs/BaseRadio/icons.cjs +1 -1
- package/dist/cjs/BaseSwitch/BaseSwitch.cjs +1 -1
- package/dist/cjs/Box/Box.cjs +1 -1
- package/dist/cjs/BreadCrumb/BreadCrumb.cjs +1 -1
- package/dist/cjs/BreadCrumb/Page/Page.cjs +1 -1
- package/dist/cjs/BreadCrumb/PathElement/PathElement.cjs +1 -1
- package/dist/cjs/BreadCrumb/utils.cjs +1 -1
- package/dist/cjs/BulkActions/BulkActions.cjs +1 -1
- package/dist/cjs/BulkActions/BulkActions.styles.cjs +1 -1
- package/dist/cjs/Button/Button.cjs +1 -1
- package/dist/cjs/Calendar/Calendar.cjs +10 -4
- package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +1 -1
- package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +1 -1
- package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +1 -1
- package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.cjs +1 -1
- package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs +2 -2
- package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs +1 -1
- package/dist/cjs/Card/Card.cjs +1 -1
- package/dist/cjs/Card/Content/Content.cjs +1 -1
- package/dist/cjs/Card/Header/Header.cjs +1 -1
- package/dist/cjs/Card/Media/Media.cjs +1 -7
- package/dist/cjs/Carousel/Carousel.cjs +1 -1
- package/dist/cjs/Carousel/CarouselControls.cjs +1 -1
- package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
- package/dist/cjs/Carousel/CarouselThumbnails.cjs +1 -1
- package/dist/cjs/CheckBox/CheckBox.cjs +1 -1
- package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +1 -1
- package/dist/cjs/ColorPicker/ColorPicker.cjs +1 -1
- package/dist/cjs/ColorPicker/Fields/Fields.cjs +1 -1
- package/dist/cjs/ColorPicker/Picker/Picker.cjs +1 -1
- package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs +1 -1
- package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs +1 -1
- package/dist/cjs/Container/Container.cjs +1 -1
- package/dist/cjs/Controls/Controls.cjs +1 -1
- package/dist/cjs/Controls/LeftControl/LeftControl.cjs +1 -1
- package/dist/cjs/Controls/RightControl/RightControl.cjs +1 -1
- package/dist/cjs/DatePicker/DatePicker.cjs +1 -1
- package/dist/cjs/Dialog/Actions/Actions.cjs +1 -1
- package/dist/cjs/Dialog/Content/Content.cjs +1 -1
- package/dist/cjs/Dialog/Dialog.cjs +1 -1
- package/dist/cjs/Dialog/Title/Title.cjs +1 -1
- package/dist/cjs/DotPagination/DotPagination.cjs +1 -1
- package/dist/cjs/Drawer/Drawer.cjs +1 -1
- package/dist/cjs/DropDownMenu/DropDownMenu.cjs +1 -1
- package/dist/cjs/Dropdown/Dropdown.cjs +1 -1
- package/dist/cjs/Dropdown/List/List.cjs +1 -1
- package/dist/cjs/DropdownButton/DropdownButton.cjs +1 -1
- package/dist/cjs/EmptyState/EmptyState.cjs +1 -1
- package/dist/cjs/FileUploader/DropZone/DropZone.cjs +1 -1
- package/dist/cjs/FileUploader/File/File.cjs +1 -1
- package/dist/cjs/FileUploader/FileList/FileList.cjs +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/FileUploader/Preview/Preview.cjs +1 -1
- package/dist/cjs/FilterGroup/Counter/Counter.cjs +1 -1
- package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +1 -1
- package/dist/cjs/FilterGroup/FilterGroup.cjs +1 -1
- package/dist/cjs/FilterGroup/FilterGroupContext.cjs +1 -1
- package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs +1 -1
- package/dist/cjs/FilterGroup/RightPanel/RightPanel.cjs +1 -1
- package/dist/cjs/Focus/Focus.cjs +2 -3
- package/dist/cjs/Footer/Footer.cjs +1 -1
- package/dist/cjs/Forms/Adornment/Adornment.cjs +1 -1
- package/dist/cjs/Forms/CharCounter/CharCounter.cjs +1 -1
- package/dist/cjs/Forms/FormElement/FormElement.cjs +1 -1
- package/dist/cjs/Forms/InfoMessage/InfoMessage.cjs +1 -1
- package/dist/cjs/Forms/Label/Label.cjs +1 -1
- package/dist/cjs/Forms/Suggestions/Suggestions.cjs +1 -1
- package/dist/cjs/Forms/WarningText/WarningText.cjs +1 -1
- package/dist/cjs/GlobalActions/GlobalActions.cjs +1 -1
- package/dist/cjs/Grid/Grid.cjs +5 -8
- package/dist/cjs/Header/Actions/Actions.cjs +1 -1
- package/dist/cjs/Header/Brand/Brand.cjs +1 -1
- package/dist/cjs/Header/Header.cjs +1 -1
- package/dist/cjs/Header/Navigation/MenuBar/Bar.cjs +1 -1
- package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs +1 -1
- package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs +2 -2
- package/dist/cjs/Header/Navigation/Navigation.cjs +1 -1
- package/dist/cjs/Header/Navigation/useSelectionPath.cjs +1 -1
- package/dist/cjs/Header/Navigation/utils/FocusContext.cjs +1 -1
- package/dist/cjs/IconButton/IconButton.cjs +1 -1
- package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -1
- package/dist/cjs/Input/Input.cjs +1 -1
- package/dist/cjs/Kpi/Kpi.cjs +1 -1
- package/dist/cjs/Link/Link.cjs +1 -1
- package/dist/cjs/List/List.cjs +1 -1
- package/dist/cjs/List/utils.cjs +1 -1
- package/dist/cjs/ListContainer/ListContainer.cjs +1 -1
- package/dist/cjs/ListContainer/ListItem/ListItem.cjs +1 -1
- package/dist/cjs/Loading/Loading.cjs +1 -1
- package/dist/cjs/LoadingContainer/LoadingContainer.cjs +1 -1
- package/dist/cjs/Login/Login.cjs +1 -1
- package/dist/cjs/MultiButton/MultiButton.cjs +1 -1
- package/dist/cjs/OverflowTooltip/OverflowTooltip.cjs +1 -1
- package/dist/cjs/Pagination/Pagination.cjs +1 -1
- package/dist/cjs/Pagination/Select.cjs +1 -1
- package/dist/cjs/Panel/Panel.cjs +1 -1
- package/dist/cjs/ProgressBar/ProgressBar.cjs +1 -1
- package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +1 -1
- package/dist/cjs/QueryBuilder/Context.cjs +1 -1
- package/dist/cjs/QueryBuilder/QueryBuilder.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Operator/Operator.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Rule.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +1 -1
- package/dist/cjs/QueryBuilder/Rule/Value/Value.cjs +1 -1
- package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -1
- package/dist/cjs/QueryBuilder/utils/index.cjs +1 -1
- package/dist/cjs/Radio/Radio.cjs +1 -1
- package/dist/cjs/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +1 -1
- package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +1 -1
- package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +1 -1
- package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
- package/dist/cjs/ScrollTo/utils.cjs +2 -2
- package/dist/cjs/Section/Section.cjs +1 -1
- package/dist/cjs/Select/Option.cjs +1 -1
- package/dist/cjs/Select/OptionGroup.cjs +1 -1
- package/dist/cjs/Select/Select.cjs +1 -1
- package/dist/cjs/SelectionList/SelectionList.cjs +1 -1
- package/dist/cjs/SimpleGrid/SimpleGrid.cjs +1 -1
- package/dist/cjs/Skeleton/Skeleton.cjs +1 -1
- package/dist/cjs/Slider/Slider.cjs +1 -1
- package/dist/cjs/Slider/SliderInput/SliderInput.cjs +1 -1
- package/dist/cjs/Snackbar/Snackbar.cjs +1 -1
- package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +1 -1
- package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs +1 -1
- package/dist/cjs/Stack/Stack.cjs +10 -11
- package/dist/cjs/Switch/Switch.cjs +1 -1
- package/dist/cjs/Tab/Tab.cjs +1 -1
- package/dist/cjs/Table/Table.cjs +1 -1
- package/dist/cjs/Table/TableBody/TableBody.cjs +1 -1
- package/dist/cjs/Table/TableCell/TableCell.cjs +1 -1
- package/dist/cjs/Table/TableContainer/TableContainer.cjs +1 -1
- package/dist/cjs/Table/TableHead/TableHead.cjs +1 -1
- package/dist/cjs/Table/TableHeader/TableHeader.cjs +1 -1
- package/dist/cjs/Table/TableRow/TableRow.cjs +1 -1
- package/dist/cjs/Table/hooks/useRowExpand.cjs +1 -1
- package/dist/cjs/Table/hooks/useRowSelection.cjs +7 -7
- package/dist/cjs/Table/renderers/DateColumnCell/DateColumnCell.cjs +1 -1
- package/dist/cjs/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +1 -1
- package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +1 -1
- package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +1 -1
- package/dist/cjs/Table/renderers/renderers.cjs +1 -1
- package/dist/cjs/TableSection/TableSection.cjs +1 -1
- package/dist/cjs/TableSection/TableSection.styles.cjs +1 -1
- package/dist/cjs/Tabs/Tabs.cjs +1 -1
- package/dist/cjs/Tag/Tag.cjs +1 -1
- package/dist/cjs/TagsInput/TagsInput.cjs +2 -2
- package/dist/cjs/TextArea/TextArea.cjs +1 -1
- package/dist/cjs/TimeAgo/TimeAgo.cjs +1 -1
- package/dist/cjs/TimePicker/Placeholder.cjs +1 -1
- package/dist/cjs/TimePicker/TimePicker.cjs +1 -1
- package/dist/cjs/TimePicker/Unit/Unit.cjs +1 -1
- package/dist/cjs/ToggleButton/ToggleButton.cjs +1 -1
- package/dist/cjs/Tooltip/Tooltip.cjs +1 -1
- package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs +1 -1
- package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +1 -1
- package/dist/cjs/TreeView/TreeView.cjs +1 -1
- package/dist/cjs/TreeView/internals/DescendantProvider.cjs +2 -2
- package/dist/cjs/TreeView/internals/TreeViewProvider.cjs +1 -1
- package/dist/cjs/Typography/Typography.cjs +1 -1
- package/dist/cjs/VerticalNavigation/Actions/Action.cjs +13 -11
- package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +4 -4
- package/dist/cjs/VerticalNavigation/Actions/Actions.cjs +9 -9
- package/dist/cjs/VerticalNavigation/Header/Header.cjs +46 -26
- package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs +3 -1
- package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs +23 -29
- package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +0 -8
- package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +20 -6
- package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +41 -30
- package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +6 -9
- package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +7 -18
- package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +614 -631
- package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +39 -26
- package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +25 -13
- package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs +1 -1
- package/dist/cjs/hocs/withTooltip.cjs +1 -1
- package/dist/cjs/hooks/useEmotionCache.cjs +1 -1
- package/dist/cjs/hooks/useTheme.cjs +1 -1
- package/dist/cjs/providers/Provider.cjs +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs +1 -1
- package/dist/cjs/utils/focusableElementFinder.cjs +1 -1
- package/dist/cjs/utils/iconVariant.cjs +1 -1
- package/dist/esm/Accordion/Accordion.js +1 -1
- package/dist/esm/ActionBar/ActionBar.js +1 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.js +1 -1
- package/dist/esm/AppSwitcher/Action/Action.js +1 -1
- package/dist/esm/AppSwitcher/AppSwitcher.js +2 -2
- package/dist/esm/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/Avatar/Avatar.js +1 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js +1 -1
- package/dist/esm/AvatarGroup/AvatarGroupContext.js +1 -1
- package/dist/esm/Badge/Badge.js +1 -1
- package/dist/esm/Banner/Banner.js +1 -1
- package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js +1 -1
- package/dist/esm/Banner/BannerContent/BannerContent.js +1 -1
- package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js +1 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.js +1 -1
- package/dist/esm/BaseCheckBox/icons.js +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js +1 -1
- package/dist/esm/BaseInput/BaseInput.js +1 -1
- package/dist/esm/BaseRadio/BaseRadio.js +1 -1
- package/dist/esm/BaseRadio/icons.js +1 -1
- package/dist/esm/BaseSwitch/BaseSwitch.js +1 -1
- package/dist/esm/Box/Box.js +1 -1
- package/dist/esm/BreadCrumb/BreadCrumb.js +1 -1
- package/dist/esm/BreadCrumb/Page/Page.js +1 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.js +1 -1
- package/dist/esm/BreadCrumb/utils.js +1 -1
- package/dist/esm/BulkActions/BulkActions.js +1 -1
- package/dist/esm/BulkActions/BulkActions.styles.js +1 -1
- package/dist/esm/Button/Button.js +1 -1
- package/dist/esm/Calendar/Calendar.js +10 -4
- package/dist/esm/Calendar/Calendar.js.map +1 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js +1 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js +1 -1
- package/dist/esm/Card/Card.js +1 -1
- package/dist/esm/Card/Content/Content.js +1 -1
- package/dist/esm/Card/Header/Header.js +1 -1
- package/dist/esm/Card/Media/Media.js +1 -7
- package/dist/esm/Card/Media/Media.js.map +1 -1
- package/dist/esm/Carousel/Carousel.js +1 -1
- package/dist/esm/Carousel/CarouselControls.js +1 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js +1 -1
- package/dist/esm/Carousel/CarouselThumbnails.js +1 -1
- package/dist/esm/CheckBox/CheckBox.js +1 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +1 -1
- package/dist/esm/ColorPicker/ColorPicker.js +1 -1
- package/dist/esm/ColorPicker/Fields/Fields.js +1 -1
- package/dist/esm/ColorPicker/Picker/Picker.js +1 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.js +1 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.js +1 -1
- package/dist/esm/Container/Container.js +1 -1
- package/dist/esm/Controls/Controls.js +1 -1
- package/dist/esm/Controls/LeftControl/LeftControl.js +1 -1
- package/dist/esm/Controls/RightControl/RightControl.js +1 -1
- package/dist/esm/DatePicker/DatePicker.js +1 -1
- package/dist/esm/Dialog/Actions/Actions.js +1 -1
- package/dist/esm/Dialog/Content/Content.js +1 -1
- package/dist/esm/Dialog/Dialog.js +1 -1
- package/dist/esm/Dialog/Title/Title.js +1 -1
- package/dist/esm/DotPagination/DotPagination.js +1 -1
- package/dist/esm/Drawer/Drawer.js +1 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js +1 -1
- package/dist/esm/Dropdown/Dropdown.js +1 -1
- package/dist/esm/Dropdown/List/List.js +1 -1
- package/dist/esm/DropdownButton/DropdownButton.js +1 -1
- package/dist/esm/EmptyState/EmptyState.js +1 -1
- package/dist/esm/FileUploader/DropZone/DropZone.js +1 -1
- package/dist/esm/FileUploader/File/File.js +1 -1
- package/dist/esm/FileUploader/FileList/FileList.js +1 -1
- package/dist/esm/FileUploader/FileUploader.js +1 -1
- package/dist/esm/FileUploader/Preview/Preview.js +1 -1
- package/dist/esm/FilterGroup/Counter/Counter.js +1 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.js +1 -1
- package/dist/esm/FilterGroup/FilterGroup.js +1 -1
- package/dist/esm/FilterGroup/FilterGroupContext.js +1 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js +1 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.js +1 -1
- package/dist/esm/Focus/Focus.js +2 -3
- package/dist/esm/Focus/Focus.js.map +1 -1
- package/dist/esm/Footer/Footer.js +1 -1
- package/dist/esm/Forms/Adornment/Adornment.js +1 -1
- package/dist/esm/Forms/CharCounter/CharCounter.js +1 -1
- package/dist/esm/Forms/FormElement/FormElement.js +1 -1
- package/dist/esm/Forms/InfoMessage/InfoMessage.js +1 -1
- package/dist/esm/Forms/Label/Label.js +1 -1
- package/dist/esm/Forms/Suggestions/Suggestions.js +1 -1
- package/dist/esm/Forms/WarningText/WarningText.js +1 -1
- package/dist/esm/GlobalActions/GlobalActions.js +1 -1
- package/dist/esm/Grid/Grid.js +5 -8
- package/dist/esm/Grid/Grid.js.map +1 -1
- package/dist/esm/Header/Actions/Actions.js +1 -1
- package/dist/esm/Header/Brand/Brand.js +1 -1
- package/dist/esm/Header/Header.js +1 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.js +1 -1
- package/dist/esm/Header/Navigation/MenuBar/MenuBar.js +1 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/Header/Navigation/Navigation.js +1 -1
- package/dist/esm/Header/Navigation/useSelectionPath.js +1 -1
- package/dist/esm/Header/Navigation/useSelectionPath.js.map +1 -1
- package/dist/esm/Header/Navigation/utils/FocusContext.js +1 -1
- package/dist/esm/IconButton/IconButton.js +1 -1
- package/dist/esm/InlineEditor/InlineEditor.js +1 -1
- package/dist/esm/Input/Input.js +1 -1
- package/dist/esm/Kpi/Kpi.js +1 -1
- package/dist/esm/Link/Link.js +1 -1
- package/dist/esm/Link/Link.js.map +1 -1
- package/dist/esm/List/List.js +1 -1
- package/dist/esm/List/utils.js +1 -1
- package/dist/esm/List/utils.js.map +1 -1
- package/dist/esm/ListContainer/ListContainer.js +1 -1
- package/dist/esm/ListContainer/ListItem/ListItem.js +1 -1
- package/dist/esm/Loading/Loading.js +1 -1
- package/dist/esm/LoadingContainer/LoadingContainer.js +1 -1
- package/dist/esm/Login/Login.js +1 -1
- package/dist/esm/MultiButton/MultiButton.js +1 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.js +1 -1
- package/dist/esm/Pagination/Pagination.js +1 -1
- package/dist/esm/Pagination/Select.js +1 -1
- package/dist/esm/Panel/Panel.js +1 -1
- package/dist/esm/ProgressBar/ProgressBar.js +1 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +1 -1
- package/dist/esm/QueryBuilder/Context.js +1 -1
- package/dist/esm/QueryBuilder/QueryBuilder.js +1 -1
- package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Operator/Operator.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Rule.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/Value.js +1 -1
- package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js +1 -1
- package/dist/esm/QueryBuilder/utils/index.js +1 -1
- package/dist/esm/QueryBuilder/utils/index.js.map +1 -1
- package/dist/esm/Radio/Radio.js +1 -1
- package/dist/esm/RadioGroup/RadioGroup.js +1 -1
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +1 -1
- package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +1 -1
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
- package/dist/esm/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/ScrollTo/utils.js +2 -2
- package/dist/esm/ScrollTo/utils.js.map +1 -1
- package/dist/esm/Section/Section.js +1 -1
- package/dist/esm/Select/Option.js +1 -1
- package/dist/esm/Select/OptionGroup.js +1 -1
- package/dist/esm/Select/Select.js +1 -1
- package/dist/esm/SelectionList/SelectionList.js +1 -1
- package/dist/esm/SimpleGrid/SimpleGrid.js +1 -1
- package/dist/esm/Skeleton/Skeleton.js +1 -1
- package/dist/esm/Slider/Slider.js +1 -1
- package/dist/esm/Slider/SliderInput/SliderInput.js +1 -1
- package/dist/esm/Slider/utils.js.map +1 -1
- package/dist/esm/Snackbar/Snackbar.js +1 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +1 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.js +1 -1
- package/dist/esm/Stack/Stack.js +10 -11
- package/dist/esm/Stack/Stack.js.map +1 -1
- package/dist/esm/Switch/Switch.js +1 -1
- package/dist/esm/Tab/Tab.js +1 -1
- package/dist/esm/Table/Table.js +1 -1
- package/dist/esm/Table/TableBody/TableBody.js +1 -1
- package/dist/esm/Table/TableCell/TableCell.js +1 -1
- package/dist/esm/Table/TableContainer/TableContainer.js +1 -1
- package/dist/esm/Table/TableHead/TableHead.js +1 -1
- package/dist/esm/Table/TableHeader/TableHeader.js +1 -1
- package/dist/esm/Table/TableRow/TableRow.js +1 -1
- package/dist/esm/Table/hooks/useRowExpand.js +1 -1
- package/dist/esm/Table/hooks/useRowSelection.js +7 -7
- package/dist/esm/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/Table/renderers/DateColumnCell/DateColumnCell.js +1 -1
- package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +1 -1
- package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +1 -1
- package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +1 -1
- package/dist/esm/Table/renderers/renderers.js +1 -1
- package/dist/esm/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/TableSection/TableSection.js +1 -1
- package/dist/esm/TableSection/TableSection.styles.js +1 -1
- package/dist/esm/Tabs/Tabs.js +1 -1
- package/dist/esm/Tag/Tag.js +1 -1
- package/dist/esm/TagsInput/TagsInput.js +2 -2
- package/dist/esm/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/TextArea/TextArea.js +1 -1
- package/dist/esm/TimeAgo/TimeAgo.js +1 -1
- package/dist/esm/TimePicker/Placeholder.js +1 -1
- package/dist/esm/TimePicker/TimePicker.js +1 -1
- package/dist/esm/TimePicker/Unit/Unit.js +1 -1
- package/dist/esm/ToggleButton/ToggleButton.js +1 -1
- package/dist/esm/Tooltip/Tooltip.js +1 -1
- package/dist/esm/TreeView/TreeItem/DefaultContent.js +1 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.js +1 -1
- package/dist/esm/TreeView/TreeView.js +1 -1
- package/dist/esm/TreeView/internals/DescendantProvider.js +2 -2
- package/dist/esm/TreeView/internals/DescendantProvider.js.map +1 -1
- package/dist/esm/TreeView/internals/TreeViewProvider.js +1 -1
- package/dist/esm/Typography/Typography.js +1 -1
- package/dist/esm/VerticalNavigation/Actions/Action.js +13 -11
- package/dist/esm/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js +4 -4
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.js +9 -9
- package/dist/esm/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/VerticalNavigation/Header/Header.js +46 -26
- package/dist/esm/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/VerticalNavigation/Header/Header.styles.js +3 -1
- package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.js +23 -29
- package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +0 -6
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +21 -7
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js +41 -30
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +6 -9
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +7 -18
- package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js +614 -631
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +39 -26
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +25 -13
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.js +1 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/hocs/withTooltip.js +1 -1
- package/dist/esm/hooks/useEmotionCache.js +1 -1
- package/dist/esm/hooks/useTheme.js +1 -1
- package/dist/esm/providers/Provider.js +1 -1
- package/dist/esm/providers/ThemeProvider.js +1 -1
- package/dist/esm/types/generic.js.map +1 -1
- package/dist/esm/utils/focusableElementFinder.js +1 -1
- package/dist/esm/utils/focusableElementFinder.js.map +1 -1
- package/dist/esm/utils/iconVariant.js +1 -1
- package/dist/types/index.d.ts +82 -231
- package/package.json +5 -5
- package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs +0 -20
- package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js +0 -18
- package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +0 -1
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import { jsxs } from "
|
|
1
|
+
import { jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useCallback } from "react";
|
|
3
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
3
4
|
import { isKey } from "../../utils/keyboardUtils.js";
|
|
4
5
|
import { setId } from "../../utils/setId.js";
|
|
5
6
|
import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
|
|
6
7
|
import { useClasses } from "./Action.styles.js";
|
|
7
8
|
import { staticClasses } from "./Action.styles.js";
|
|
8
9
|
import { HvTypography } from "../../Typography/Typography.js";
|
|
9
|
-
const HvVerticalNavigationAction = ({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
const HvVerticalNavigationAction = (props) => {
|
|
11
|
+
const {
|
|
12
|
+
className,
|
|
13
|
+
classes: classesProp,
|
|
14
|
+
id,
|
|
15
|
+
label = "",
|
|
16
|
+
icon,
|
|
17
|
+
onClick,
|
|
18
|
+
...others
|
|
19
|
+
} = useDefaultProps("HvVerticalNavigationAction", props);
|
|
18
20
|
const { isOpen } = useContext(VerticalNavigationContext);
|
|
19
21
|
const { classes, cx } = useClasses(classesProp);
|
|
20
22
|
const handleKeyDown = useCallback(
|
|
21
23
|
(event) => {
|
|
22
|
-
if (onClick
|
|
24
|
+
if (!onClick || !isKey(event, "Enter") && !isKey(event, "Space")) {
|
|
23
25
|
return;
|
|
24
26
|
}
|
|
25
27
|
onClick(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sources":["../../../../src/VerticalNavigation/Actions/Action.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\n\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { isKey } from \"../../utils/keyboardUtils\";\nimport { setId } from \"../../utils/setId\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Action.styles\";\n\nexport { staticClasses as actionClasses };\n\nexport type HvVerticalNavigationActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationActionProps
|
|
1
|
+
{"version":3,"file":"Action.js","sources":["../../../../src/VerticalNavigation/Actions/Action.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvTypography, HvTypographyProps } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { isKey } from \"../../utils/keyboardUtils\";\nimport { setId } from \"../../utils/setId\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Action.styles\";\n\nexport { staticClasses as actionClasses };\n\nexport type HvVerticalNavigationActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationActionProps\n extends Omit<HvTypographyProps, \"classes\" | \"onClick\"> {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationActionClasses;\n /** Visual label. */\n label?: string;\n /** Icon. */\n icon?: React.ReactNode;\n /** Callback called when clicked. */\n onClick?: (\n event:\n | React.KeyboardEvent<HTMLDivElement>\n | React.MouseEvent<HTMLDivElement>,\n ) => void;\n}\n\nexport const HvVerticalNavigationAction = (\n props: HvVerticalNavigationActionProps,\n) => {\n const {\n className,\n classes: classesProp,\n id,\n label = \"\",\n icon,\n onClick,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationAction\", props);\n\n const { isOpen } = useContext(VerticalNavigationContext);\n\n const { classes, cx } = useClasses(classesProp);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClick || (!isKey(event, \"Enter\") && !isKey(event, \"Space\"))) {\n return;\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={cx(\n classes.action,\n {\n [classes.noIcon]: !icon,\n [classes.minimized]: !isOpen,\n },\n className,\n )}\n tabIndex={0}\n {...(!isOpen && { \"aria-label\": label })}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {isOpen && label}\n </HvTypography>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AA8Ba,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AAEvD,QAAM,EAAE,OAAA,IAAW,WAAW,yBAAyB;AAEvD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAA+C;AAC1C,UAAA,CAAC,WAAY,CAAC,MAAM,OAAO,OAAO,KAAK,CAAC,MAAM,OAAO,OAAO,GAAI;AAClE;AAAA,MACF;AACA,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,CAAC,OAAO;AAAA,EAAA;AAIR,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM,IAAI,QAAQ;AAAA,MACtB,WAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,MAAM,GAAG,CAAC;AAAA,UACnB,CAAC,QAAQ,SAAS,GAAG,CAAC;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU;AAAA,MACT,GAAI,CAAC,UAAU,EAAE,cAAc,MAAM;AAAA,MACtC,WAAW;AAAA,MACX;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjB;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
2
|
import { createClasses } from "../../utils/classes.js";
|
|
3
3
|
import { outlineStyles } from "../../utils/focusUtils.js";
|
|
4
|
-
const hover =
|
|
4
|
+
const hover = {
|
|
5
5
|
background: theme.colors.containerBackgroundHover
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
7
|
const { staticClasses, useClasses } = createClasses(
|
|
8
8
|
"HvVerticalNavigationAction",
|
|
9
9
|
{
|
|
@@ -15,10 +15,10 @@ const { staticClasses, useClasses } = createClasses(
|
|
|
15
15
|
height: "32px",
|
|
16
16
|
color: theme.colors.secondary,
|
|
17
17
|
// hover
|
|
18
|
-
"&:hover": hover
|
|
18
|
+
"&:hover": { ...hover },
|
|
19
19
|
"&:focus": {
|
|
20
20
|
outline: "none",
|
|
21
|
-
...hover
|
|
21
|
+
...hover
|
|
22
22
|
},
|
|
23
23
|
"&:focus-visible": {
|
|
24
24
|
...outlineStyles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.styles.js","sources":["../../../../src/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nconst hover =
|
|
1
|
+
{"version":3,"file":"Action.styles.js","sources":["../../../../src/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nconst hover = {\n background: theme.colors.containerBackgroundHover,\n};\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationAction\",\n {\n action: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n color: theme.colors.secondary,\n\n // hover\n \"&:hover\": { ...hover },\n \"&:focus\": {\n outline: \"none\",\n ...hover,\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n },\n noIcon: {\n paddingLeft: theme.space.xs,\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n },\n);\n"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ;AAAA,EACZ,YAAY,MAAM,OAAO;AAC3B;AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,MAAM,OAAO;AAAA;AAAA,MAGpB,WAAW,EAAE,GAAG,MAAM;AAAA,MACtB,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,MACL;AAAA,MAEA,mBAAmB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA;AAAA,MAGA,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,aAAa,MAAM,MAAM;AAAA,IAC3B;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,EACF;AACF;"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { jsx } from "
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
3
4
|
import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
|
|
4
5
|
import { useClasses } from "./Actions.styles.js";
|
|
5
6
|
import { staticClasses } from "./Actions.styles.js";
|
|
6
|
-
const HvVerticalNavigationActions = ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
7
|
+
const HvVerticalNavigationActions = (props) => {
|
|
8
|
+
const {
|
|
9
|
+
className,
|
|
10
|
+
classes: classesProp,
|
|
11
|
+
children,
|
|
12
|
+
...others
|
|
13
|
+
} = useDefaultProps("HvVerticalNavigationActions", props);
|
|
13
14
|
const { classes, cx } = useClasses(classesProp);
|
|
14
15
|
const { isOpen, useIcons } = useContext(VerticalNavigationContext);
|
|
15
16
|
return /* @__PURE__ */ jsx(
|
|
16
17
|
"div",
|
|
17
18
|
{
|
|
18
|
-
id,
|
|
19
19
|
className: cx(
|
|
20
20
|
classes.root,
|
|
21
21
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../src/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Actions.styles\";\n\nexport { staticClasses as actionsClasses };\n\nexport type HvVerticalNavigationActionsClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationActionsProps {\n
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../src/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Actions.styles\";\n\nexport { staticClasses as actionsClasses };\n\nexport type HvVerticalNavigationActionsClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationActionsProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationActionsClasses;\n}\n\nexport const HvVerticalNavigationActions = (\n props: HvVerticalNavigationActionsProps,\n) => {\n const {\n className,\n classes: classesProp,\n children,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <div\n className={cx(\n classes.root,\n {\n [classes.hide]: !isOpen && !useIcons,\n },\n className,\n )}\n {...others}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAmBa,MAAA,8BAA8B,CACzC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,+BAA+B,KAAK;AAExD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,EAAE,QAAQ,SAAS,IAAI,WAAW,yBAAyB;AAG/D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC;AAAA,QAC9B;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { jsxs, jsx } from "
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useMemo } from "react";
|
|
3
3
|
import { Backwards, Menu, Forwards } from "@hitachivantara/uikit-react-icons";
|
|
4
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
4
5
|
import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
|
|
5
6
|
import { useClasses } from "./Header.styles.js";
|
|
6
7
|
import { staticClasses } from "./Header.styles.js";
|
|
7
8
|
import { HvButton } from "../../Button/Button.js";
|
|
8
9
|
import { HvTypography } from "../../Typography/Typography.js";
|
|
9
|
-
const HvVerticalNavigationHeader = ({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
const HvVerticalNavigationHeader = (props) => {
|
|
11
|
+
const {
|
|
12
|
+
title,
|
|
13
|
+
openIcon: openIconProp,
|
|
14
|
+
closeIcon: closeIconProp,
|
|
15
|
+
collapseButtonProps = {},
|
|
16
|
+
backButtonProps = {},
|
|
17
|
+
className,
|
|
18
|
+
classes: classesProp,
|
|
19
|
+
onCollapseButtonClick,
|
|
20
|
+
...others
|
|
21
|
+
} = useDefaultProps("HvVerticalNavigationHeader", props);
|
|
20
22
|
const {
|
|
21
23
|
isOpen,
|
|
22
24
|
useIcons,
|
|
@@ -26,17 +28,22 @@ const HvVerticalNavigationHeader = ({
|
|
|
26
28
|
parentItem
|
|
27
29
|
} = useContext(VerticalNavigationContext);
|
|
28
30
|
const { classes, cx } = useClasses(classesProp);
|
|
29
|
-
const openIcon = openIconProp ?? (!useIcons ? /* @__PURE__ */ jsx(Menu, {}) : /* @__PURE__ */ jsx(Forwards, {}));
|
|
30
|
-
const closeIcon = closeIconProp ?? /* @__PURE__ */ jsx(Backwards, {});
|
|
31
|
-
const backButtonClickHandler = () => {
|
|
32
|
-
if (navigateToParentHandler)
|
|
33
|
-
navigateToParentHandler();
|
|
34
|
-
};
|
|
35
31
|
const shouldShowTitle = useMemo(
|
|
36
32
|
() => !slider || slider && !Array.isArray(parentItem),
|
|
37
33
|
[parentItem, slider]
|
|
38
34
|
);
|
|
39
|
-
|
|
35
|
+
if (!shouldShowTitle)
|
|
36
|
+
return null;
|
|
37
|
+
const openIcon = openIconProp ?? (!useIcons ? /* @__PURE__ */ jsx(Menu, {}) : /* @__PURE__ */ jsx(Forwards, {}));
|
|
38
|
+
const closeIcon = closeIconProp ?? /* @__PURE__ */ jsx(Backwards, {});
|
|
39
|
+
const handleClickBack = () => navigateToParentHandler?.();
|
|
40
|
+
const { className: backButtonClassName, ...otherBackButtonProps } = backButtonProps;
|
|
41
|
+
const {
|
|
42
|
+
className: collapseButtonClassName,
|
|
43
|
+
classes: collapseButtonClasses,
|
|
44
|
+
...otherCollapseButtonProps
|
|
45
|
+
} = collapseButtonProps;
|
|
46
|
+
return /* @__PURE__ */ jsxs(
|
|
40
47
|
"div",
|
|
41
48
|
{
|
|
42
49
|
className: cx(classes.root, { [classes.minimized]: !isOpen }, className),
|
|
@@ -46,29 +53,42 @@ const HvVerticalNavigationHeader = ({
|
|
|
46
53
|
HvButton,
|
|
47
54
|
{
|
|
48
55
|
icon: true,
|
|
49
|
-
onClick:
|
|
56
|
+
onClick: handleClickBack,
|
|
57
|
+
className: cx(classes.backButton, backButtonClassName),
|
|
50
58
|
"aria-label": "Back",
|
|
51
|
-
...
|
|
59
|
+
...otherBackButtonProps,
|
|
52
60
|
children: /* @__PURE__ */ jsx(Backwards, { iconSize: "XS" })
|
|
53
61
|
}
|
|
54
62
|
),
|
|
55
|
-
isOpen && /* @__PURE__ */ jsx(
|
|
63
|
+
isOpen && /* @__PURE__ */ jsx(
|
|
64
|
+
HvTypography,
|
|
65
|
+
{
|
|
66
|
+
variant: slider ? "label" : "title3",
|
|
67
|
+
className: classes.title,
|
|
68
|
+
children: headerTitle && slider ? headerTitle : title
|
|
69
|
+
}
|
|
70
|
+
),
|
|
56
71
|
onCollapseButtonClick && /* @__PURE__ */ jsx(
|
|
57
72
|
HvButton,
|
|
58
73
|
{
|
|
59
74
|
icon: true,
|
|
60
75
|
onClick: onCollapseButtonClick,
|
|
61
|
-
className: classes.collapseButton,
|
|
76
|
+
className: cx(classes.collapseButton, collapseButtonClassName),
|
|
62
77
|
classes: {
|
|
63
|
-
|
|
78
|
+
...collapseButtonClasses,
|
|
79
|
+
root: cx(
|
|
80
|
+
{ [classes.minimized]: !isOpen },
|
|
81
|
+
// TODO - v6 don't use minimized classes in two different places
|
|
82
|
+
collapseButtonClasses?.root
|
|
83
|
+
)
|
|
64
84
|
},
|
|
65
|
-
...
|
|
85
|
+
...otherCollapseButtonProps,
|
|
66
86
|
children: isOpen ? closeIcon : openIcon
|
|
67
87
|
}
|
|
68
88
|
)
|
|
69
89
|
]
|
|
70
90
|
}
|
|
71
|
-
)
|
|
91
|
+
);
|
|
72
92
|
};
|
|
73
93
|
export {
|
|
74
94
|
HvVerticalNavigationHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../../../src/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as verticalNavigationHeaderClasses };\n\nexport type HvVerticalNavigationHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationHeaderProps {\n
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../../../src/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as verticalNavigationHeaderClasses };\n\nexport type HvVerticalNavigationHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationHeaderProps extends HvBaseProps {\n /** The title text to show on header. */\n title?: string;\n /** Icon to show when vertical navigation is collapsed. */\n openIcon?: React.ReactNode;\n /** Icon to show when vertical navigation is expanded. */\n closeIcon?: React.ReactNode;\n /** Props for the collapse button. */\n collapseButtonProps?: HvButtonProps;\n /** Props for the back button. */\n backButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationHeaderClasses;\n /** Handler for the collapse button. */\n onCollapseButtonClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = (\n props: HvVerticalNavigationHeaderProps,\n) => {\n const {\n title,\n openIcon: openIconProp,\n closeIcon: closeIconProp,\n collapseButtonProps = {},\n backButtonProps = {},\n className,\n classes: classesProp,\n onCollapseButtonClick,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationHeader\", props);\n\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n const { classes, cx } = useClasses(classesProp);\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem, slider],\n );\n\n if (!shouldShowTitle) return null;\n\n const openIcon = openIconProp ?? (!useIcons ? <Menu /> : <Forwards />);\n const closeIcon = closeIconProp ?? <Backwards />;\n\n const handleClickBack = () => navigateToParentHandler?.();\n\n const { className: backButtonClassName, ...otherBackButtonProps } =\n backButtonProps;\n\n const {\n className: collapseButtonClassName,\n classes: collapseButtonClasses,\n ...otherCollapseButtonProps\n } = collapseButtonProps;\n\n return (\n <div\n className={cx(classes.root, { [classes.minimized]: !isOpen }, className)}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n onClick={handleClickBack}\n className={cx(classes.backButton, backButtonClassName)}\n aria-label=\"Back\"\n {...otherBackButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography\n variant={slider ? \"label\" : \"title3\"}\n className={classes.title}\n >\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <HvButton\n icon\n onClick={onCollapseButtonClick}\n className={cx(classes.collapseButton, collapseButtonClassName)}\n classes={{\n ...collapseButtonClasses,\n root: cx(\n { [classes.minimized]: !isOpen }, // TODO - v6 don't use minimized classes in two different places\n collapseButtonClasses?.root,\n ),\n }}\n {...otherCollapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </HvButton>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAgCa,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,IACV,WAAW;AAAA,IACX,sBAAsB,CAAC;AAAA,IACvB,kBAAkB,CAAC;AAAA,IACnB;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AAEjD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,WAAW,yBAAyB;AAExC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAI9C,QAAM,kBAAkB;AAAA,IACtB,MAAM,CAAC,UAAW,UAAU,CAAC,MAAM,QAAQ,UAAU;AAAA,IACrD,CAAC,YAAY,MAAM;AAAA,EAAA;AAGrB,MAAI,CAAC;AAAwB,WAAA;AAEvB,QAAA,WAAW,iBAAiB,CAAC,+BAAY,MAAK,CAAA,CAAA,wBAAM,UAAS,CAAA,CAAA;AAC7D,QAAA,YAAY,iBAAiB,oBAAC,WAAU,CAAA,CAAA;AAExC,QAAA,kBAAkB,MAAM;AAE9B,QAAM,EAAE,WAAW,qBAAqB,GAAG,yBACzC;AAEI,QAAA;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,IACT,GAAG;AAAA,EACD,IAAA;AAGF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS;AAAA,MACtE,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,UAAU,eAAe,UACxB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,WAAW,GAAG,QAAQ,YAAY,mBAAmB;AAAA,YACrD,cAAW;AAAA,YACV,GAAG;AAAA,YAEJ,UAAA,oBAAC,WAAU,EAAA,UAAS,KAAK,CAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,QAED,UACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,SAAS,UAAU;AAAA,YAC5B,WAAW,QAAQ;AAAA,YAElB,UAAA,eAAe,SAAS,cAAc;AAAA,UAAA;AAAA,QACzC;AAAA,QAED,yBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,WAAW,GAAG,QAAQ,gBAAgB,uBAAuB;AAAA,YAC7D,SAAS;AAAA,cACP,GAAG;AAAA,cACH,MAAM;AAAA,gBACJ,EAAE,CAAC,QAAQ,SAAS,GAAG,CAAC,OAAO;AAAA;AAAA,gBAC/B,uBAAuB;AAAA,cACzB;AAAA,YACF;AAAA,YACC,GAAG;AAAA,YAEH,mBAAS,YAAY;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.styles.js","sources":["../../../../src/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationHeader\",\n {\n root: {\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n collapseButton: {\n marginLeft: \"auto\",\n \"&$minimized\": {\n marginLeft: 0,\n },\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,eAAe;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,
|
|
1
|
+
{"version":3,"file":"Header.styles.js","sources":["../../../../src/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationHeader\",\n {\n root: {\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n collapseButton: {\n marginLeft: \"auto\",\n \"&$minimized\": {\n marginLeft: 0,\n },\n },\n backButton: {},\n title: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,eAAe;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,YAAY,CAAC;AAAA,IACb,OAAO,CAAC;AAAA,EACV;AACF;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsx, jsxs } from "
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useState, useCallback, useMemo, useEffect } from "react";
|
|
3
3
|
import { useControlled } from "../../hooks/useControlled.js";
|
|
4
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
4
5
|
import { uniqueId } from "../../utils/helpers.js";
|
|
5
6
|
import { setId } from "../../utils/setId.js";
|
|
6
7
|
import { NavigationPopupContainer } from "../NavigationPopup/NavigationPopupContainer.js";
|
|
@@ -77,22 +78,23 @@ function pathToElement(data, targetId) {
|
|
|
77
78
|
}
|
|
78
79
|
return path;
|
|
79
80
|
}
|
|
80
|
-
const HvVerticalNavigationTree = ({
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
81
|
+
const HvVerticalNavigationTree = (props) => {
|
|
82
|
+
const {
|
|
83
|
+
id,
|
|
84
|
+
className,
|
|
85
|
+
classes: classesProp,
|
|
86
|
+
data,
|
|
87
|
+
mode = "navigation",
|
|
88
|
+
collapsible = false,
|
|
89
|
+
expanded: expandedProp,
|
|
90
|
+
defaultExpanded,
|
|
91
|
+
onToggle,
|
|
92
|
+
selected: selectedProp,
|
|
93
|
+
defaultSelected,
|
|
94
|
+
onChange,
|
|
95
|
+
sliderForwardButtonAriaLabel = "Navigate to submenu",
|
|
96
|
+
...others
|
|
97
|
+
} = useDefaultProps("HvVerticalNavigationTree", props);
|
|
96
98
|
const { classes, cx } = useClasses(classesProp);
|
|
97
99
|
const [selected, setSelected] = useControlled(selectedProp, defaultSelected);
|
|
98
100
|
const [expanded, setExpanded] = useControlled(expandedProp, () => {
|
|
@@ -145,9 +147,7 @@ const HvVerticalNavigationTree = ({
|
|
|
145
147
|
return [...prevState];
|
|
146
148
|
});
|
|
147
149
|
setNavigationPopup(null);
|
|
148
|
-
|
|
149
|
-
onChange(event, selectedItem);
|
|
150
|
-
}
|
|
150
|
+
onChange?.(event, selectedItem);
|
|
151
151
|
}
|
|
152
152
|
},
|
|
153
153
|
[onChange, setSelected, setExpanded, isOpen, useIcons, data]
|
|
@@ -172,9 +172,7 @@ const HvVerticalNavigationTree = ({
|
|
|
172
172
|
const handleToggle = useCallback(
|
|
173
173
|
(event, newExpanded) => {
|
|
174
174
|
setExpanded(newExpanded);
|
|
175
|
-
|
|
176
|
-
onToggle(event, newExpanded);
|
|
177
|
-
}
|
|
175
|
+
onToggle?.(event, newExpanded);
|
|
178
176
|
},
|
|
179
177
|
[onToggle, setExpanded]
|
|
180
178
|
);
|
|
@@ -206,12 +204,8 @@ const HvVerticalNavigationTree = ({
|
|
|
206
204
|
setParentItem(getParentItemById(withParentData, selected));
|
|
207
205
|
}
|
|
208
206
|
}, [withParentData, selected, setParentItem]);
|
|
209
|
-
const navigateToTargetHandler = (event, selectedItem) =>
|
|
210
|
-
|
|
211
|
-
};
|
|
212
|
-
const handleNavigationPopupClose = () => {
|
|
213
|
-
setNavigationPopup(null);
|
|
214
|
-
};
|
|
207
|
+
const navigateToTargetHandler = (event, selectedItem) => handleChange(event, selectedItem.id, selectedItem);
|
|
208
|
+
const handleNavigationPopupClose = () => setNavigationPopup(null);
|
|
215
209
|
const handleStyledNavMouseLeave = () => {
|
|
216
210
|
if (useIcons && !isOpen && !navigationPopup?.fixedMode) {
|
|
217
211
|
setNavigationPopup(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sources":["../../../../src/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { useControlled } from \"../../hooks/useControlled\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { uniqueId } from \"../../utils/helpers\";\nimport { setId } from \"../../utils/setId\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport {\n NavigationData,\n VerticalNavigationContext,\n} from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\n\nexport { staticClasses as verticalNavigationTreeClasses };\n\nexport type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: 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?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: 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?: string[] | boolean;\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?: (event, nodeIds) => void;\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 * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false,\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={itemLabel}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip,\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0,\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\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\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes: classesProp,\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 sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const { classes, cx } = useClasses(classesProp);\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 {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data],\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup],\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded],\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode,\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler],\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <nav\n id={id}\n className={cx(\n classes.root,\n { [classes.collapsed]: !isOpen && !useIcons },\n className,\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\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 {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={classes.navigationPopup}\n >\n <HvVerticalNavigationTree\n className={classes.popup}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </nav>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Navigation.js","sources":["../../../../src/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { useControlled } from \"../../hooks/useControlled\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { uniqueId } from \"../../utils/helpers\";\nimport { setId } from \"../../utils/setId\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\nimport {\n HvVerticalNavigationSlider,\n HvVerticalNavigationSliderProps,\n} from \"../NavigationSlider\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport {\n NavigationData,\n VerticalNavigationContext,\n} from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\n\nexport { staticClasses as verticalNavigationTreeClasses };\n\nexport type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvVerticalNavigationTreeClasses;\n /** Modus operandi (role) of the widget instance. */\n mode?: NavigationMode;\n /** Can non-leaf nodes be collapsed / expanded. */\n collapsible?: boolean;\n /** The ID of the selected page. */\n selected?: string;\n /** When uncontrolled, defines the initial selected page ID. */\n defaultSelected?: string;\n /** Callback fired when a navigation item is selected. */\n onChange?: (\n event:\n | React.MouseEvent<HTMLLIElement>\n | React.KeyboardEvent<HTMLUListElement>,\n page: NavigationData,\n ) => void;\n /** Expanded nodes' ids. */\n expanded?: 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?: string[] | boolean;\n /** Callback fired when tree items are expanded/collapsed. */\n onToggle?: (\n event: React.KeyboardEvent<HTMLUListElement>,\n nodeIds: string[],\n ) => void;\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 * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false,\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={itemLabel}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip,\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0,\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\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\nexport const HvVerticalNavigationTree = (\n props: HvVerticalNavigationTreeProps,\n) => {\n const {\n id,\n className,\n classes: classesProp,\n data,\n mode = \"navigation\",\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n selected: selectedProp,\n defaultSelected,\n onChange,\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n ...others\n } = useDefaultProps(\"HvVerticalNavigationTree\", props);\n\n const { classes, cx } = useClasses(classesProp);\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 {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (\n event:\n | React.MouseEvent<HTMLLIElement>\n | React.KeyboardEvent<HTMLUListElement>,\n selectedId: string | string[],\n selectedItem: NavigationData,\n ) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data as NavigationData[],\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId as string);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n onChange?.(event, selectedItem);\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data],\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup],\n );\n\n const handleToggle = useCallback(\n (event: React.KeyboardEvent<HTMLUListElement>, newExpanded: string[]) => {\n setExpanded(newExpanded);\n onToggle?.(event, newExpanded);\n },\n [onToggle, setExpanded],\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode,\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler],\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n const navigateToTargetHandler: HvVerticalNavigationSliderProps[\"onNavigateToTarget\"] =\n (event, selectedItem) => handleChange(event, selectedItem.id, selectedItem);\n\n const handleNavigationPopupClose = () => setNavigationPopup(null);\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange: HvVerticalNavigationTreeProps[\"onChange\"] =\n (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <nav\n id={id}\n className={cx(\n classes.root,\n { [classes.collapsed]: !isOpen && !useIcons },\n className,\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\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 {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={classes.navigationPopup}\n >\n <HvVerticalNavigationTree\n className={classes.popup}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </nav>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
import { Popper } from "@mui/base";
|
|
3
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
4
2
|
import { createClasses } from "../../utils/classes.js";
|
|
5
|
-
const StyledPopper = styled(Popper)({
|
|
6
|
-
zIndex: theme.zIndices.popover
|
|
7
|
-
});
|
|
8
3
|
const { staticClasses, useClasses } = createClasses(
|
|
9
4
|
"HvVerticalNavigationPopup",
|
|
10
5
|
{
|
|
@@ -18,7 +13,6 @@ const { staticClasses, useClasses } = createClasses(
|
|
|
18
13
|
}
|
|
19
14
|
);
|
|
20
15
|
export {
|
|
21
|
-
StyledPopper,
|
|
22
16
|
staticClasses,
|
|
23
17
|
useClasses
|
|
24
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationPopup\",\n {\n popup: {},\n container: {\n marginLeft: theme.spacing(\"xs\"),\n },\n popper: {\n zIndex: theme.zIndices.popover,\n },\n },\n);\n"],"names":[],"mappings":";;AAIa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAC;AAAA,IACR,WAAW;AAAA,MACT,YAAY,MAAM,QAAQ,IAAI;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,MAAM,SAAS;AAAA,IACzB;AAAA,EACF;AACF;"}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
|
-
import { jsx } from "
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Popper } from "@mui/base";
|
|
2
3
|
import ClickAwayListener from "@mui/material/ClickAwayListener";
|
|
4
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
5
|
+
import { getContainerElement } from "../../utils/document.js";
|
|
3
6
|
import { HvVerticalNavigation } from "../VerticalNavigation.js";
|
|
4
|
-
import { useClasses
|
|
7
|
+
import { useClasses } from "./NavigationPopup.styles.js";
|
|
5
8
|
import { staticClasses } from "./NavigationPopup.styles.js";
|
|
6
9
|
const NavigationPopupContainer = ({
|
|
7
10
|
anchorEl,
|
|
8
11
|
onClose,
|
|
9
12
|
children,
|
|
10
13
|
classes: classesProp,
|
|
14
|
+
className,
|
|
11
15
|
...others
|
|
12
16
|
}) => {
|
|
13
|
-
const { classes } = useClasses(classesProp);
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const { classes, cx } = useClasses(classesProp);
|
|
18
|
+
const { rootId } = useTheme();
|
|
19
|
+
const handleClickAway = () => onClose?.();
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
Popper,
|
|
22
|
+
{
|
|
23
|
+
open: true,
|
|
24
|
+
anchorEl,
|
|
25
|
+
placement: "right-start",
|
|
26
|
+
container: getContainerElement(rootId),
|
|
27
|
+
className: cx(classes.popper, classes.popup, className),
|
|
28
|
+
...others,
|
|
29
|
+
children: /* @__PURE__ */ jsx(ClickAwayListener, { onClickAway: handleClickAway, children: /* @__PURE__ */ jsx("div", { className: classes.container, children: /* @__PURE__ */ jsx(HvVerticalNavigation, { open: true, useIcons: true, children }) }) })
|
|
30
|
+
}
|
|
31
|
+
);
|
|
18
32
|
};
|
|
19
33
|
export {
|
|
20
34
|
NavigationPopupContainer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopupContainer.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopupContainer.tsx"],"sourcesContent":["import ClickAwayListener from \"@mui/material/ClickAwayListener\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { HvVerticalNavigation } from \"../VerticalNavigation\";\nimport {
|
|
1
|
+
{"version":3,"file":"NavigationPopupContainer.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopupContainer.tsx"],"sourcesContent":["import { Popper } from \"@mui/base\";\nimport ClickAwayListener from \"@mui/material/ClickAwayListener\";\n\nimport { useTheme } from \"../../hooks/useTheme\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { getContainerElement } from \"../../utils/document\";\nimport { HvVerticalNavigation } from \"../VerticalNavigation\";\nimport { staticClasses, useClasses } from \"./NavigationPopup.styles\";\n\nexport { staticClasses as verticalNavigationPopupClasses };\n\nexport type HvVerticalNavigationPopupClasses = ExtractNames<typeof useClasses>;\n\nexport interface NavigationPopupContainerProps extends HvBaseProps {\n anchorEl?: HTMLElement | null;\n onClose?: () => void;\n classes?: HvVerticalNavigationPopupClasses;\n}\n\nexport const NavigationPopupContainer = ({\n anchorEl,\n onClose,\n children,\n classes: classesProp,\n className,\n ...others\n}: NavigationPopupContainerProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { rootId } = useTheme();\n\n const handleClickAway = () => onClose?.();\n\n return (\n <Popper\n open\n anchorEl={anchorEl}\n placement=\"right-start\"\n container={getContainerElement(rootId)}\n className={cx(classes.popper, classes.popup, className)}\n {...others}\n >\n <ClickAwayListener onClickAway={handleClickAway}>\n <div className={classes.container}>\n <HvVerticalNavigation open useIcons>\n {children}\n </HvVerticalNavigation>\n </div>\n </ClickAwayListener>\n </Popper>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAoBO,MAAM,2BAA2B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,MAAqC;AACnC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,EAAE,WAAW;AAEb,QAAA,kBAAkB,MAAM;AAG5B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAI;AAAA,MACJ;AAAA,MACA,WAAU;AAAA,MACV,WAAW,oBAAoB,MAAM;AAAA,MACrC,WAAW,GAAG,QAAQ,QAAQ,QAAQ,OAAO,SAAS;AAAA,MACrD,GAAG;AAAA,MAEJ,8BAAC,mBAAkB,EAAA,aAAa,iBAC9B,UAAA,oBAAC,SAAI,WAAW,QAAQ,WACtB,UAAA,oBAAC,wBAAqB,MAAI,MAAC,UAAQ,MAChC,UACH,GACF,EACF,CAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|