@hitachivantara/uikit-react-core 5.66.13 → 5.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Accordion/Accordion.styles.cjs +2 -2
- package/dist/cjs/ActionBar/ActionBar.styles.cjs +2 -2
- package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +8 -2
- package/dist/cjs/ActionsGeneric/ActionsGeneric.styles.cjs +2 -2
- package/dist/cjs/AppSwitcher/Action/Action.styles.cjs +2 -2
- package/dist/cjs/AppSwitcher/AppSwitcher.styles.cjs +2 -2
- package/dist/cjs/Avatar/Avatar.styles.cjs +2 -2
- package/dist/cjs/AvatarGroup/AvatarGroup.cjs +3 -2
- package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +2 -2
- package/dist/cjs/Badge/Badge.styles.cjs +2 -2
- package/dist/cjs/Banner/Banner.styles.cjs +2 -2
- package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -2
- package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +2 -2
- package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -2
- package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
- package/dist/cjs/BaseDropdown/BaseDropdown.cjs +2 -2
- package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs +2 -2
- package/dist/cjs/BaseInput/BaseInput.styles.cjs +2 -2
- package/dist/cjs/BaseRadio/BaseRadio.styles.cjs +2 -2
- package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +2 -2
- package/dist/cjs/BreadCrumb/BreadCrumb.styles.cjs +2 -2
- package/dist/cjs/BreadCrumb/Page/Page.styles.cjs +2 -2
- package/dist/cjs/BreadCrumb/PathElement/PathElement.styles.cjs +2 -2
- package/dist/cjs/BulkActions/BulkActions.cjs +2 -2
- package/dist/cjs/BulkActions/BulkActions.styles.cjs +2 -2
- package/dist/cjs/Button/Button.cjs +2 -2
- package/dist/cjs/Button/Button.styles.cjs +2 -2
- package/dist/cjs/Calendar/Calendar.styles.cjs +2 -2
- package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.styles.cjs +2 -2
- package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +2 -2
- package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs +2 -2
- package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +2 -2
- package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs +2 -2
- package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs +2 -2
- package/dist/cjs/Card/Card.styles.cjs +2 -2
- package/dist/cjs/Card/Content/Content.styles.cjs +2 -2
- package/dist/cjs/Card/Header/Header.styles.cjs +2 -2
- package/dist/cjs/Card/Media/Media.styles.cjs +2 -2
- package/dist/cjs/Carousel/Carousel.cjs +25 -7
- package/dist/cjs/Carousel/Carousel.styles.cjs +2 -2
- package/dist/cjs/Carousel/CarouselControls.cjs +9 -2
- package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.styles.cjs +2 -2
- package/dist/cjs/CheckBox/CheckBox.styles.cjs +2 -2
- package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +2 -2
- package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +2 -2
- package/dist/cjs/ColorPicker/Fields/Fields.styles.cjs +2 -2
- package/dist/cjs/ColorPicker/Picker/Picker.cjs +2 -2
- package/dist/cjs/ColorPicker/Picker/Picker.styles.cjs +2 -2
- package/dist/cjs/ColorPicker/PresetColors/PresetColors.styles.cjs +2 -2
- package/dist/cjs/ColorPicker/SavedColors/SavedColors.styles.cjs +2 -2
- package/dist/cjs/Container/Container.styles.cjs +2 -2
- package/dist/cjs/Controls/Controls.styles.cjs +2 -2
- package/dist/cjs/Controls/LeftControl/LeftControl.styles.cjs +2 -2
- package/dist/cjs/Controls/RightControl/RightControl.styles.cjs +2 -2
- package/dist/cjs/DatePicker/DatePicker.styles.cjs +2 -2
- package/dist/cjs/Dialog/Actions/Actions.styles.cjs +2 -2
- package/dist/cjs/Dialog/Content/Content.styles.cjs +2 -2
- package/dist/cjs/Dialog/Dialog.cjs +2 -2
- package/dist/cjs/Dialog/Dialog.styles.cjs +2 -2
- package/dist/cjs/Dialog/Title/Title.styles.cjs +2 -2
- package/dist/cjs/DotPagination/DotPagination.styles.cjs +2 -2
- package/dist/cjs/Drawer/Drawer.styles.cjs +2 -2
- package/dist/cjs/DropDownMenu/DropDownMenu.cjs +7 -1
- package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +2 -2
- package/dist/cjs/Dropdown/Dropdown.styles.cjs +2 -2
- package/dist/cjs/Dropdown/List/List.styles.cjs +2 -2
- package/dist/cjs/DropdownButton/DropdownButton.styles.cjs +2 -2
- package/dist/cjs/EmptyState/EmptyState.styles.cjs +2 -2
- package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs +2 -2
- package/dist/cjs/FileUploader/File/File.styles.cjs +2 -2
- package/dist/cjs/FileUploader/FileList/FileList.styles.cjs +2 -2
- package/dist/cjs/FileUploader/Preview/Preview.styles.cjs +2 -2
- package/dist/cjs/FilterGroup/Counter/Counter.styles.cjs +2 -2
- package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +2 -2
- package/dist/cjs/FilterGroup/FilterContent/FilterContent.styles.cjs +2 -2
- package/dist/cjs/FilterGroup/FilterGroup.styles.cjs +2 -2
- package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.styles.cjs +2 -2
- package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +2 -2
- package/dist/cjs/Focus/Focus.styles.cjs +2 -2
- package/dist/cjs/Footer/Footer.styles.cjs +2 -2
- package/dist/cjs/Forms/Adornment/Adornment.styles.cjs +2 -2
- package/dist/cjs/Forms/CharCounter/CharCounter.styles.cjs +2 -2
- package/dist/cjs/Forms/FormElement/FormElement.styles.cjs +2 -2
- package/dist/cjs/Forms/InfoMessage/InfoMessage.styles.cjs +2 -2
- package/dist/cjs/Forms/Label/Label.styles.cjs +2 -2
- package/dist/cjs/Forms/Suggestions/Suggestions.styles.cjs +2 -2
- package/dist/cjs/Forms/WarningText/WarningText.styles.cjs +2 -2
- package/dist/cjs/GlobalActions/GlobalActions.styles.cjs +2 -2
- package/dist/cjs/Grid/Grid.styles.cjs +2 -2
- package/dist/cjs/Header/Actions/Actions.styles.cjs +2 -2
- package/dist/cjs/Header/Brand/Brand.styles.cjs +2 -2
- package/dist/cjs/Header/Header.styles.cjs +2 -2
- package/dist/cjs/Header/Navigation/MenuBar/Bar.styles.cjs +2 -2
- package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs +2 -2
- package/dist/cjs/Header/Navigation/Navigation.styles.cjs +2 -2
- package/dist/cjs/InlineEditor/InlineEditor.cjs +2 -2
- package/dist/cjs/InlineEditor/InlineEditor.styles.cjs +2 -2
- package/dist/cjs/Input/Input.styles.cjs +2 -2
- package/dist/cjs/Kpi/Kpi.styles.cjs +2 -2
- package/dist/cjs/Link/Link.styles.cjs +2 -2
- package/dist/cjs/List/List.styles.cjs +2 -2
- package/dist/cjs/ListContainer/ListContainer.styles.cjs +2 -2
- package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs +2 -2
- package/dist/cjs/Loading/Loading.styles.cjs +2 -2
- package/dist/cjs/LoadingContainer/LoadingContainer.styles.cjs +2 -2
- package/dist/cjs/Login/Login.styles.cjs +2 -2
- package/dist/cjs/MultiButton/MultiButton.styles.cjs +2 -2
- package/dist/cjs/OverflowTooltip/OverflowTooltip.styles.cjs +2 -2
- package/dist/cjs/Pagination/Pagination.styles.cjs +2 -2
- package/dist/cjs/Pagination/Select.styles.cjs +2 -2
- package/dist/cjs/Panel/Panel.styles.cjs +2 -2
- package/dist/cjs/ProgressBar/ProgressBar.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/QueryBuilder.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +2 -2
- package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +2 -2
- package/dist/cjs/Radio/Radio.styles.cjs +2 -2
- package/dist/cjs/RadioGroup/RadioGroup.styles.cjs +2 -2
- package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +2 -2
- package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +2 -2
- package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.styles.cjs +2 -2
- package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +2 -2
- package/dist/cjs/Section/Section.styles.cjs +2 -2
- package/dist/cjs/Select/Option.cjs +5 -5
- package/dist/cjs/Select/OptionGroup.cjs +4 -4
- package/dist/cjs/Select/Select.cjs +2 -2
- package/dist/cjs/Select/Select.styles.cjs +2 -2
- package/dist/cjs/SelectionList/SelectionList.styles.cjs +2 -2
- package/dist/cjs/SimpleGrid/SimpleGrid.styles.cjs +2 -2
- package/dist/cjs/Skeleton/Skeleton.styles.cjs +2 -2
- package/dist/cjs/Slider/Slider.styles.cjs +2 -2
- package/dist/cjs/Slider/SliderInput/SliderInput.styles.cjs +2 -2
- package/dist/cjs/Snackbar/Snackbar.styles.cjs +2 -2
- package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +2 -2
- package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +2 -2
- package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs +2 -2
- package/dist/cjs/Stack/Stack.styles.cjs +2 -2
- package/dist/cjs/Switch/Switch.styles.cjs +2 -2
- package/dist/cjs/Tab/Tab.styles.cjs +2 -2
- package/dist/cjs/Table/Table.styles.cjs +2 -2
- package/dist/cjs/Table/TableBody/TableBody.styles.cjs +2 -2
- package/dist/cjs/Table/TableCell/TableCell.styles.cjs +2 -2
- package/dist/cjs/Table/TableContainer/TableContainer.styles.cjs +2 -2
- package/dist/cjs/Table/TableHead/TableHead.styles.cjs +2 -2
- package/dist/cjs/Table/TableHeader/TableHeader.cjs +2 -2
- package/dist/cjs/Table/TableHeader/TableHeader.styles.cjs +2 -2
- package/dist/cjs/Table/TableRow/TableRow.styles.cjs +2 -2
- package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +2 -2
- package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +2 -2
- package/dist/cjs/TableSection/TableSection.styles.cjs +2 -2
- package/dist/cjs/Tabs/Tabs.styles.cjs +2 -2
- package/dist/cjs/Tag/Tag.cjs +2 -2
- package/dist/cjs/Tag/Tag.styles.cjs +2 -2
- package/dist/cjs/TagsInput/TagsInput.styles.cjs +2 -2
- package/dist/cjs/TextArea/TextArea.styles.cjs +2 -2
- package/dist/cjs/TimeAgo/TimeAgo.styles.cjs +2 -2
- package/dist/cjs/TimePicker/TimePicker.styles.cjs +2 -2
- package/dist/cjs/TimePicker/Unit/Unit.styles.cjs +2 -2
- package/dist/cjs/Tooltip/Tooltip.cjs +2 -2
- package/dist/cjs/Tooltip/Tooltip.styles.cjs +2 -2
- package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs +11 -12
- package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs +2 -2
- package/dist/cjs/TreeView/TreeView.styles.cjs +2 -2
- package/dist/cjs/Typography/Typography.cjs +2 -2
- package/dist/cjs/Typography/Typography.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/Actions/Actions.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/Navigation/Navigation.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +4 -4
- package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/TreeView/TreeView.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +2 -2
- package/dist/cjs/VerticalNavigation/VerticalNavigation.styles.cjs +2 -2
- package/dist/cjs/hooks/useDefaultProps.cjs +3 -4
- package/dist/cjs/index.cjs +31 -25
- package/dist/esm/Accordion/Accordion.styles.js +1 -1
- package/dist/esm/ActionBar/ActionBar.styles.js +1 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.js +8 -2
- package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js +1 -1
- package/dist/esm/AppSwitcher/Action/Action.styles.js +1 -1
- package/dist/esm/AppSwitcher/AppSwitcher.styles.js +1 -1
- package/dist/esm/Avatar/Avatar.styles.js +1 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js +2 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/esm/AvatarGroup/AvatarGroup.styles.js +1 -1
- package/dist/esm/Badge/Badge.styles.js +1 -1
- package/dist/esm/Banner/Banner.styles.js +1 -1
- package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +1 -1
- package/dist/esm/Banner/BannerContent/BannerContent.styles.js +1 -1
- package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +1 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.styles.js +1 -1
- package/dist/esm/BaseInput/BaseInput.styles.js +1 -1
- package/dist/esm/BaseRadio/BaseRadio.styles.js +1 -1
- package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
- package/dist/esm/BreadCrumb/BreadCrumb.styles.js +1 -1
- package/dist/esm/BreadCrumb/Page/Page.styles.js +1 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js +1 -1
- package/dist/esm/BulkActions/BulkActions.js +1 -1
- package/dist/esm/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/BulkActions/BulkActions.styles.js +1 -1
- package/dist/esm/Button/Button.js +1 -1
- package/dist/esm/Button/Button.js.map +1 -1
- package/dist/esm/Button/Button.styles.js +1 -1
- package/dist/esm/Calendar/Calendar.styles.js +1 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +1 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +1 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js +1 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js +1 -1
- package/dist/esm/Card/Card.styles.js +1 -1
- package/dist/esm/Card/Content/Content.styles.js +1 -1
- package/dist/esm/Card/Header/Header.styles.js +1 -1
- package/dist/esm/Card/Media/Media.styles.js +1 -1
- package/dist/esm/Carousel/Carousel.js +24 -6
- package/dist/esm/Carousel/Carousel.js.map +1 -1
- package/dist/esm/Carousel/Carousel.styles.js +1 -1
- package/dist/esm/Carousel/CarouselControls.js +9 -2
- package/dist/esm/Carousel/CarouselControls.js.map +1 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js +1 -1
- package/dist/esm/CheckBox/CheckBox.styles.js +1 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +1 -1
- package/dist/esm/ColorPicker/ColorPicker.styles.js +1 -1
- package/dist/esm/ColorPicker/Fields/Fields.styles.js +1 -1
- package/dist/esm/ColorPicker/Picker/Picker.js +1 -1
- package/dist/esm/ColorPicker/Picker/Picker.js.map +1 -1
- package/dist/esm/ColorPicker/Picker/Picker.styles.js +1 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js +1 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js +1 -1
- package/dist/esm/Container/Container.styles.js +1 -1
- package/dist/esm/Controls/Controls.js.map +1 -1
- package/dist/esm/Controls/Controls.styles.js +1 -1
- package/dist/esm/Controls/LeftControl/LeftControl.styles.js +1 -1
- package/dist/esm/Controls/RightControl/RightControl.styles.js +1 -1
- package/dist/esm/DatePicker/DatePicker.styles.js +1 -1
- package/dist/esm/Dialog/Actions/Actions.styles.js +1 -1
- package/dist/esm/Dialog/Content/Content.styles.js +1 -1
- package/dist/esm/Dialog/Dialog.js +1 -1
- package/dist/esm/Dialog/Dialog.js.map +1 -1
- package/dist/esm/Dialog/Dialog.styles.js +1 -1
- package/dist/esm/Dialog/Title/Title.styles.js +1 -1
- package/dist/esm/DotPagination/DotPagination.styles.js +1 -1
- package/dist/esm/Drawer/Drawer.styles.js +1 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js +7 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/DropDownMenu/DropDownMenu.styles.js +1 -1
- package/dist/esm/Dropdown/Dropdown.styles.js +1 -1
- package/dist/esm/Dropdown/List/List.styles.js +1 -1
- package/dist/esm/DropdownButton/DropdownButton.styles.js +1 -1
- package/dist/esm/EmptyState/EmptyState.styles.js +1 -1
- package/dist/esm/FileUploader/DropZone/DropZone.styles.js +1 -1
- package/dist/esm/FileUploader/File/File.styles.js +1 -1
- package/dist/esm/FileUploader/FileList/FileList.styles.js +1 -1
- package/dist/esm/FileUploader/Preview/Preview.styles.js +1 -1
- package/dist/esm/FilterGroup/Counter/Counter.styles.js +1 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.js +1 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js +1 -1
- package/dist/esm/FilterGroup/FilterGroup.styles.js +1 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js +1 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -1
- package/dist/esm/Focus/Focus.styles.js +1 -1
- package/dist/esm/Footer/Footer.styles.js +1 -1
- package/dist/esm/Forms/Adornment/Adornment.styles.js +1 -1
- package/dist/esm/Forms/CharCounter/CharCounter.styles.js +1 -1
- package/dist/esm/Forms/FormElement/FormElement.styles.js +1 -1
- package/dist/esm/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/esm/Forms/InfoMessage/InfoMessage.styles.js +1 -1
- package/dist/esm/Forms/Label/Label.styles.js +1 -1
- package/dist/esm/Forms/Suggestions/Suggestions.styles.js +1 -1
- package/dist/esm/Forms/WarningText/WarningText.styles.js +1 -1
- package/dist/esm/GlobalActions/GlobalActions.styles.js +1 -1
- package/dist/esm/GlobalActions/GlobalActions.styles.js.map +1 -1
- package/dist/esm/Grid/Grid.styles.js +1 -1
- package/dist/esm/Header/Actions/Actions.styles.js +1 -1
- package/dist/esm/Header/Brand/Brand.styles.js +1 -1
- package/dist/esm/Header/Header.styles.js +1 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js +1 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js +1 -1
- package/dist/esm/Header/Navigation/Navigation.styles.js +1 -1
- package/dist/esm/InlineEditor/InlineEditor.js +1 -1
- package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/InlineEditor/InlineEditor.styles.js +1 -1
- package/dist/esm/Input/Input.styles.js +1 -1
- package/dist/esm/Kpi/Kpi.styles.js +1 -1
- package/dist/esm/Link/Link.styles.js +1 -1
- package/dist/esm/List/List.styles.js +1 -1
- package/dist/esm/ListContainer/ListContainer.styles.js +1 -1
- package/dist/esm/ListContainer/ListItem/ListItem.styles.js +1 -1
- package/dist/esm/Loading/Loading.styles.js +1 -1
- package/dist/esm/LoadingContainer/LoadingContainer.styles.js +1 -1
- package/dist/esm/Login/Login.styles.js +1 -1
- package/dist/esm/MultiButton/MultiButton.styles.js +1 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js +1 -1
- package/dist/esm/Pagination/Pagination.styles.js +1 -1
- package/dist/esm/Pagination/Select.styles.js +1 -1
- package/dist/esm/Panel/Panel.styles.js +1 -1
- package/dist/esm/ProgressBar/ProgressBar.styles.js +1 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +1 -1
- package/dist/esm/QueryBuilder/QueryBuilder.styles.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Rule.styles.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +1 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +1 -1
- package/dist/esm/Radio/Radio.styles.js +1 -1
- package/dist/esm/RadioGroup/RadioGroup.styles.js +1 -1
- package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +1 -1
- package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +1 -1
- package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js +1 -1
- package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
- package/dist/esm/Section/Section.styles.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/Select/Select.js.map +1 -1
- package/dist/esm/Select/Select.styles.js +1 -1
- package/dist/esm/SelectionList/SelectionList.styles.js +1 -1
- package/dist/esm/SimpleGrid/SimpleGrid.styles.js +1 -1
- package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +1 -1
- package/dist/esm/Skeleton/Skeleton.styles.js +1 -1
- package/dist/esm/Slider/Slider.styles.js +1 -1
- package/dist/esm/Slider/SliderInput/SliderInput.styles.js +1 -1
- package/dist/esm/Snackbar/Snackbar.styles.js +1 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +1 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +1 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js +1 -1
- package/dist/esm/Stack/Stack.styles.js +1 -1
- package/dist/esm/Switch/Switch.styles.js +1 -1
- package/dist/esm/Tab/Tab.styles.js +1 -1
- package/dist/esm/Table/Table.styles.js +1 -1
- package/dist/esm/Table/TableBody/TableBody.styles.js +1 -1
- package/dist/esm/Table/TableCell/TableCell.styles.js +1 -1
- package/dist/esm/Table/TableContainer/TableContainer.styles.js +1 -1
- package/dist/esm/Table/TableHead/TableHead.styles.js +1 -1
- package/dist/esm/Table/TableHeader/TableHeader.js +1 -1
- package/dist/esm/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/Table/TableHeader/TableHeader.styles.js +1 -1
- package/dist/esm/Table/TableRow/TableRow.styles.js +1 -1
- package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +1 -1
- package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +1 -1
- package/dist/esm/TableSection/TableSection.styles.js +1 -1
- package/dist/esm/Tabs/Tabs.styles.js +1 -1
- package/dist/esm/Tag/Tag.js +1 -1
- package/dist/esm/Tag/Tag.js.map +1 -1
- package/dist/esm/Tag/Tag.styles.js +1 -1
- package/dist/esm/TagsInput/TagsInput.styles.js +1 -1
- package/dist/esm/TextArea/TextArea.styles.js +1 -1
- package/dist/esm/TimeAgo/TimeAgo.styles.js +1 -1
- package/dist/esm/TimePicker/TimePicker.styles.js +1 -1
- package/dist/esm/TimePicker/Unit/Unit.styles.js +1 -1
- package/dist/esm/Tooltip/Tooltip.js +1 -1
- package/dist/esm/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/Tooltip/Tooltip.styles.js +1 -1
- package/dist/esm/TreeView/TreeItem/DefaultContent.js +1 -2
- package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +1 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.styles.js +1 -1
- package/dist/esm/TreeView/TreeView.styles.js +1 -1
- package/dist/esm/Typography/Typography.js +1 -1
- package/dist/esm/Typography/Typography.js.map +1 -1
- package/dist/esm/Typography/Typography.styles.js +1 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js +1 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.styles.js +1 -1
- package/dist/esm/VerticalNavigation/Header/Header.styles.js +1 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +1 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +2 -2
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +1 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js +1 -1
- package/dist/esm/hooks/useDefaultProps.js +1 -2
- package/dist/esm/hooks/useDefaultProps.js.map +1 -1
- package/dist/esm/index.js +3 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/generic.js.map +1 -1
- package/dist/types/index.d.ts +132 -131
- package/package.json +5 -7
- package/dist/cjs/hooks/useCss.cjs +0 -53
- package/dist/cjs/hooks/useEmotionCache.cjs +0 -11
- package/dist/cjs/hooks/useTheme.cjs +0 -15
- package/dist/cjs/utils/classes.cjs +0 -52
- package/dist/esm/hooks/useCss.js +0 -51
- package/dist/esm/hooks/useCss.js.map +0 -1
- package/dist/esm/hooks/useEmotionCache.js +0 -11
- package/dist/esm/hooks/useEmotionCache.js.map +0 -1
- package/dist/esm/hooks/useTheme.js +0 -15
- package/dist/esm/hooks/useTheme.js.map +0 -1
- package/dist/esm/utils/classes.js +0 -52
- package/dist/esm/utils/classes.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createClasses } from "../../../utils/classes.js";
|
|
2
1
|
import { outlineStyles } from "../../../utils/focusUtils.js";
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const name = "HvBannerActionContainer";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses(name, {
|
|
5
5
|
actionContainer: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { useClasses, staticClasses } = createClasses("HvBannerContent", {
|
|
4
4
|
root: {
|
|
5
5
|
minWidth: "100%",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const name = "HvBannerMessageContainer";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses(name, {
|
|
5
5
|
message: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvBaseCheckBox", {
|
|
5
5
|
root: {
|
|
6
6
|
padding: 0,
|
|
@@ -5,10 +5,10 @@ import { usePopper } from "react-popper";
|
|
|
5
5
|
import ClickAwayListener from "@mui/material/ClickAwayListener";
|
|
6
6
|
import { detectOverflow } from "@popperjs/core";
|
|
7
7
|
import { DropUpXS, DropDownXS } from "@hitachivantara/uikit-react-icons";
|
|
8
|
+
import { useTheme } from "@hitachivantara/uikit-react-shared";
|
|
8
9
|
import { useControlled } from "../hooks/useControlled.js";
|
|
9
10
|
import { useDefaultProps } from "../hooks/useDefaultProps.js";
|
|
10
11
|
import { useForkRef } from "../hooks/useForkRef.js";
|
|
11
|
-
import { useTheme } from "../hooks/useTheme.js";
|
|
12
12
|
import { useUniqueId } from "../hooks/useUniqueId.js";
|
|
13
13
|
import { getFirstAndLastFocus } from "../utils/focusableElementFinder.js";
|
|
14
14
|
import { isKey, isOneOfKeys } from "../utils/keyboardUtils.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdown.js","sources":["../../../src/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { PopperProps, usePopper } from \"react-popper\";\nimport ClickAwayListener, {\n ClickAwayListenerProps,\n} from \"@mui/material/ClickAwayListener\";\nimport {\n detectOverflow,\n ModifierArguments,\n Options,\n Placement,\n} from \"@popperjs/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useForkRef } from \"../hooks/useForkRef\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getFirstAndLastFocus } from \"../utils/focusableElementFinder\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport { useBaseDropdownContext } from \"./BaseDropdownContext/BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps<any>>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nconst BaseDropdown = forwardRef<\n HTMLDivElement,\n Omit<\n HvBaseDropdownProps,\n \"popperProps\" | \"variableWidth\" | \"placement\" | \"onContainerCreation\"\n >\n>((props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n popperPlacement,\n popper,\n popperElement,\n referenceElement,\n setPopperElement,\n setReferenceElement,\n } = useBaseDropdownContext();\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref,\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp,\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp);\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n \"aria-disabled\": disabled ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies React.AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies React.AriaAttributes;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const handleToggle = useCallback(\n (event: any) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement],\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement?.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement?.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && isValidElement(component)\n ? cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: React.KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popper?.styles.popper}\n {...popper?.attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement?.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <div\n // TODO: review in v6. `containerId` needs to be on the role element (`children` has it)\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement?.includes(\"top\"),\n [classes.panelOpenedDown]: popperPlacement?.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n {popperPlacement?.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n },\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body,\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className,\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n});\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n popperProps = {},\n variableWidth,\n placement: placementProp = \"right\",\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n\n const placement: Placement = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null,\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize],\n );\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n [],\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n [],\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n [],\n );\n\n const modifiers = useMemo<Options[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ],\n );\n\n const popper = usePopper(referenceElement, popperElement, {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const value = useMemo(\n () => ({\n ...popperMaxSize,\n popperPlacement:\n popper?.attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\",\n popper,\n popperElement,\n setPopperElement,\n referenceElement,\n setReferenceElement,\n }),\n [popper, popperElement, popperMaxSize, referenceElement],\n );\n\n return (\n <BaseDropdownContext.Provider value={value}>\n <BaseDropdown ref={ref} {...others} />\n </BaseDropdownContext.Provider>\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdown.js","sources":["../../../src/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { PopperProps, usePopper } from \"react-popper\";\nimport ClickAwayListener, {\n ClickAwayListenerProps,\n} from \"@mui/material/ClickAwayListener\";\nimport {\n detectOverflow,\n ModifierArguments,\n Options,\n Placement,\n} from \"@popperjs/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useForkRef } from \"../hooks/useForkRef\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getFirstAndLastFocus } from \"../utils/focusableElementFinder\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport { useBaseDropdownContext } from \"./BaseDropdownContext/BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps<any>>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nconst BaseDropdown = forwardRef<\n HTMLDivElement,\n Omit<\n HvBaseDropdownProps,\n \"popperProps\" | \"variableWidth\" | \"placement\" | \"onContainerCreation\"\n >\n>((props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n popperPlacement,\n popper,\n popperElement,\n referenceElement,\n setPopperElement,\n setReferenceElement,\n } = useBaseDropdownContext();\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref,\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp,\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp);\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n \"aria-disabled\": disabled ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies React.AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies React.AriaAttributes;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const handleToggle = useCallback(\n (event: any) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement],\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement?.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement?.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && isValidElement(component)\n ? cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: React.KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popper?.styles.popper}\n {...popper?.attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement?.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <div\n // TODO: review in v6. `containerId` needs to be on the role element (`children` has it)\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement?.includes(\"top\"),\n [classes.panelOpenedDown]: popperPlacement?.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n {popperPlacement?.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n },\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body,\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className,\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n});\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n popperProps = {},\n variableWidth,\n placement: placementProp = \"right\",\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n\n const placement: Placement = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null,\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize],\n );\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n [],\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n [],\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n [],\n );\n\n const modifiers = useMemo<Options[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ],\n );\n\n const popper = usePopper(referenceElement, popperElement, {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const value = useMemo(\n () => ({\n ...popperMaxSize,\n popperPlacement:\n popper?.attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\",\n popper,\n popperElement,\n setPopperElement,\n referenceElement,\n setReferenceElement,\n }),\n [popper, popperElement, popperMaxSize, referenceElement],\n );\n\n return (\n <BaseDropdownContext.Provider value={value}>\n <BaseDropdown ref={ref} {...others} />\n </BaseDropdownContext.Provider>\n );\n },\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { useClasses, staticClasses } = createClasses("HvBaseDropdown", {
|
|
5
5
|
root: { width: "100%", position: "relative" },
|
|
6
6
|
rootDisabled: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvBaseInput", {
|
|
5
5
|
root: {
|
|
6
6
|
display: "inline-block",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvBaseRadio", {
|
|
5
5
|
root: {
|
|
6
6
|
padding: 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
|
|
5
5
|
root: {
|
|
6
6
|
padding: 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvBreadCrumb", {
|
|
4
4
|
root: { display: "flex", alignItems: "center", zIndex: 0 },
|
|
5
5
|
link: {},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvBreadCrumbPage", {
|
|
5
5
|
link: {
|
|
6
6
|
padding: `8px ${theme.space.xs}`,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createClasses } from "
|
|
1
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
2
2
|
const { staticClasses, useClasses } = createClasses("HvPathElement", {
|
|
3
3
|
centerContainer: { display: "flex", alignItems: "center" },
|
|
4
4
|
separatorContainer: {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useTheme } from "@hitachivantara/uikit-react-shared";
|
|
2
3
|
import { useDefaultProps } from "../hooks/useDefaultProps.js";
|
|
3
|
-
import { useTheme } from "../hooks/useTheme.js";
|
|
4
4
|
import { setId } from "../utils/setId.js";
|
|
5
5
|
import { useClasses } from "./BulkActions.styles.js";
|
|
6
6
|
import { staticClasses } from "./BulkActions.styles.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkActions.js","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { HvActionsGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport {
|
|
1
|
+
{"version":3,"file":"BulkActions.js","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { HvActionsGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /** Custom label for select all checkbox */\n selectAllLabel?: React.ReactNode;\n /** Custom label for select all checkbox conjunction */\n selectAllConjunctionLabel?: string;\n /** Custom label for select all pages button */\n selectAllPagesLabel?: React.ReactNode;\n /** Whether select all pages element should be visible */\n showSelectAllPages?: boolean;\n /** The total number of elements */\n numTotal?: number;\n /** The number of elements currently selected */\n numSelected?: number;\n /** Function called when the \"select all\" Checkbox is toggled. */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /** Function called when the \"select all pages\" button is clicked toggled. */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /** Whether the bulk actions should use the semantic styles when there are selected elements. */\n semantic?: boolean;\n /** The renderable content inside the right actions slot, or an array of actions `{ id, label, icon, disabled, ... }` */\n actions?: HvActionsGenericProps[\"actions\"];\n /** Whether actions should be all disabled */\n actionsDisabled?: boolean;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** Properties to be passed onto the checkbox component, the values of the object are equivalent to the HvCheckbox API. */\n checkboxProps?: HvCheckBoxProps;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback, // TODO - remove in v6\n onAction,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n className,\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions\n .actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ?? `Select all ${numTotal} items`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions.actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n onAction={onAction}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AA2Da,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,EAAE,gBAAgB;AAExB,QAAM,cAAc,cAAc;AAClC,QAAM,aAAa,YAAY;AAE/B,QAAM,0BACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,eAAe;AAAA,MACzB,SAAQ;AAAA,MAEP,UAAA,CAAC,cAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAe,gBAAA;AAAA,QAC7C,KAAK,QAAQ;AAAA,MAAA,EAAA,CAChB,IAGE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAY,aAAA;AAAA,QAC1C,IAAI,yBAAyB,IAAI,QAAQ;AAAA,MAAA,GAC5C;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,qBAAA,OAAA,EAAI,WAAW,QAAQ,oBACtB,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI,MAAM,IAAI,QAAQ;AAAA,cACtB,WAAW,QAAQ;AAAA,cACnB,SAAS,cAAc;AAAA,cACvB,UAAU;AAAA,cACV,UAAU;AAAA,cACV,eAAe,cAAc,KAAK,cAAc;AAAA,cAChD,OAAO;AAAA,cACN,GAAG;AAAA,YAAA;AAAA,UACN;AAAA,UACC,sBAAsB,eAAe,cAAc,YAEhD,qBAAA,UAAA,EAAA,UAAA;AAAA,YAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,CAAA;AAAA,YACjC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI,MAAM,IAAI,OAAO;AAAA,gBACrB,WAAW,QAAQ;AAAA,gBACnB,SACE,aACK,aAAa,YACX,sBACH;AAAA,gBAEN,SAAS;AAAA,gBAER,UAAA,uBAAuB,cAAc,QAAQ;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA,GACF;AAAA,QAAA,GAEJ;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI,MAAM,IAAI,SAAS;AAAA,YACvB,SAAS,EAAE,MAAM,QAAQ,QAAQ;AAAA,YACjC,SACE,aACK,aAAa,YAAY,sBAC1B;AAAA,YAEN;AAAA,YACA,UAAU,mBAAmB,gBAAgB;AAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { staticClasses as staticClasses$1 } from "../ActionsGeneric/ActionsGeneric.styles.js";
|
|
4
3
|
import "react/jsx-runtime";
|
|
5
4
|
import "react";
|
|
6
5
|
import "@hitachivantara/uikit-react-icons";
|
|
6
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
7
7
|
const { staticClasses, useClasses } = createClasses("HvBulkActions", {
|
|
8
8
|
root: {
|
|
9
9
|
display: "flex",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
+
import { useTheme } from "@hitachivantara/uikit-react-shared";
|
|
3
4
|
import { useDefaultProps } from "../hooks/useDefaultProps.js";
|
|
4
|
-
import { useTheme } from "../hooks/useTheme.js";
|
|
5
5
|
import { fixedForwardRef } from "../types/generic.js";
|
|
6
6
|
import { useClasses, getIconSizeStyles, getSizeStyles, getColoringStyle, getRadiusStyles, getOverrideColors } from "./Button.styles.js";
|
|
7
7
|
import { staticClasses } from "./Button.styles.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import { useMemo } from \"react\";\
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport {\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n} from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport {\n staticClasses as buttonClasses,\n getColoringStyle,\n getIconSizeStyles,\n getOverrideColors,\n getRadiusStyles,\n getSizeStyles,\n useClasses,\n} from \"./Button.styles\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \"./types\";\n\nexport { buttonClasses };\n\nexport type HvButtonClasses = ExtractNames<typeof useClasses>;\n\nexport type HvButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n {\n /** Use the variant prop to change the visual style of the button. */\n variant?: HvButtonVariant;\n /** Whether the button is an icon-only button. */\n icon?: boolean;\n /** Whether the button is disabled or not. */\n disabled?: boolean;\n /** Class names to be applied. */\n className?: string;\n /** Element placed before the children. */\n startIcon?: React.ReactNode;\n /** Element placed after the children. */\n endIcon?: React.ReactNode;\n /** Button size. */\n size?: HvButtonSize;\n /** Button border radius. */\n radius?: HvButtonRadius;\n /** Defines the default colors of the button are forced into the icon. */\n overrideIconColors?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvButtonClasses;\n /** Whether the button is selected or not. */\n selected?: boolean;\n /**\n * Whether the button is focusable when disabled.\n * Without this property, the accessibility of the button decreases when disabled since it's not read by screen readers.\n * Set this property to `true` when you need the button to still be focusable when disabled for accessibility purposes.\n */\n focusableWhenDisabled?: boolean;\n }\n >;\n\n/**\n * Normalize the button variant. It's meant to give us some retro-compatibility with\n * the DS 3.6 API.\n * @returns the normalized variant in DS 5 API\n */\nconst mapVariant = (\n variant: HvButtonVariant,\n theme?: string,\n): HvButtonVariant => {\n if (theme === \"ds3\") return variant;\n\n const deprecatedVariantMap: Record<string, HvButtonVariant> = {\n secondary: \"secondarySubtle\",\n ghost: \"primaryGhost\",\n };\n\n const mappedVariant = deprecatedVariantMap[variant];\n\n if (import.meta.env.DEV && mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `Button variant '${variant}' is deprecated. Please use '${mappedVariant}'.`,\n );\n }\n\n return mappedVariant || variant;\n};\n\n/**\n * Button component is used to trigger an action or event.\n */\nexport const HvButton = fixedForwardRef(function HvButton<\n C extends React.ElementType = \"button\",\n>(props: HvButtonProps<C>, ref: PolymorphicRef<C>) {\n const {\n classes: classesProp,\n children,\n variant: variantProp, // TODO - should we split into two props (color and type) in v6?\n disabled = false,\n className,\n startIcon,\n endIcon,\n icon = false,\n size,\n radius,\n overrideIconColors = true,\n component: Component = \"button\",\n focusableWhenDisabled,\n onClick: onClickProp,\n onMouseDown: onMouseDownProp,\n selected,\n style,\n ...others\n } = useDefaultProps(\"HvButton\", props);\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n const variant = mapVariant(\n variantProp ?? (icon ? \"secondaryGhost\" : \"primary\"),\n activeTheme?.name,\n );\n\n const handleClick: HvButtonProps[\"onClick\"] = (e) => {\n if (disabled) return;\n onClickProp?.(e);\n };\n\n const handleMouseDown: HvButtonProps[\"onMouseDown\"] = (e) => {\n if (disabled) return;\n onMouseDownProp?.(e);\n };\n\n const [color, type] = useMemo(() => {\n const result = variant.split(/(?=[A-Z])/);\n if (\n result[0] === \"ghost\" ||\n result[0] === \"semantic\" ||\n (result[0] === \"secondary\" && !result[1])\n )\n return [];\n return result.map((x) => x.toLowerCase());\n }, [variant]);\n\n const sizeStyles = useMemo(\n () =>\n size ? (icon ? getIconSizeStyles(size) : getSizeStyles(size)) : undefined,\n [size, icon],\n );\n\n return (\n <Component\n ref={ref}\n style={{\n ...style,\n \"--HvButton-height\": sizeStyles ? sizeStyles.height : \"32px\",\n }}\n className={cx(\n classes.root,\n type && classes[type as keyof HvButtonClasses],\n color && css(getColoringStyle(color, type)),\n classes[variant as keyof HvButtonClasses], // Placed after type and color CSS for DS3 override\n radius && css(getRadiusStyles(radius)),\n overrideIconColors && css(getOverrideColors()),\n {\n [classes.icon]: icon,\n [classes.disabled]: disabled,\n },\n sizeStyles && css(sizeStyles),\n className,\n )}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n {...(Component === \"button\" && { type: \"button\" })}\n {...(disabled && {\n disabled: !focusableWhenDisabled,\n tabIndex: focusableWhenDisabled ? 0 : -1,\n \"aria-disabled\": true,\n })}\n {...(selected && { \"aria-pressed\": selected })}\n {...others}\n >\n {startIcon && <span className={classes.startIcon}>{startIcon}</span>}\n {children}\n {endIcon && <span className={classes.endIcon}>{endIcon}</span>}\n </Component>\n );\n});\n"],"names":["HvButton"],"mappings":";;;;;;;AAiEA,MAAM,aAAa,CACjB,SACA,UACoB;AAChB,MAAA,UAAU,MAAc,QAAA;AAE5B,QAAM,uBAAwD;AAAA,IAC5D,WAAW;AAAA,IACX,OAAO;AAAA,EAAA;AAGH,QAAA,gBAAgB,qBAAqB,OAAO;AASlD,SAAO,iBAAiB;AAC1B;AAKO,MAAM,WAAW,gBAAgB,SAASA,UAE/C,OAAyB,KAAwB;AAC3C,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA,SAAS;AAAA;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB,WAAW,YAAY;AAAA,IACvB;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AACrC,QAAM,EAAE,SAAS,KAAK,GAAG,IAAI,WAAW,WAAW;AAC7C,QAAA,EAAE,gBAAgB;AACxB,QAAM,UAAU;AAAA,IACd,gBAAgB,OAAO,mBAAmB;AAAA,IAC1C,aAAa;AAAA,EAAA;AAGT,QAAA,cAAwC,CAAC,MAAM;AACnD,QAAI,SAAU;AACd,kBAAc,CAAC;AAAA,EAAA;AAGX,QAAA,kBAAgD,CAAC,MAAM;AAC3D,QAAI,SAAU;AACd,sBAAkB,CAAC;AAAA,EAAA;AAGrB,QAAM,CAAC,OAAO,IAAI,IAAI,QAAQ,MAAM;AAC5B,UAAA,SAAS,QAAQ,MAAM,WAAW;AACxC,QACE,OAAO,CAAC,MAAM,WACd,OAAO,CAAC,MAAM,cACb,OAAO,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC;AAEvC,aAAO;AACT,WAAO,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa;AAAA,EAAA,GACvC,CAAC,OAAO,CAAC;AAEZ,QAAM,aAAa;AAAA,IACjB,MACE,OAAQ,OAAO,kBAAkB,IAAI,IAAI,cAAc,IAAI,IAAK;AAAA,IAClE,CAAC,MAAM,IAAI;AAAA,EAAA;AAIX,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB,aAAa,WAAW,SAAS;AAAA,MACxD;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,QAAQ,IAA6B;AAAA,QAC7C,SAAS,IAAI,iBAAiB,OAAO,IAAI,CAAC;AAAA,QAC1C,QAAQ,OAAgC;AAAA;AAAA,QACxC,UAAU,IAAI,gBAAgB,MAAM,CAAC;AAAA,QACrC,sBAAsB,IAAI,mBAAmB;AAAA,QAC7C;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG;AAAA,UAChB,CAAC,QAAQ,QAAQ,GAAG;AAAA,QACtB;AAAA,QACA,cAAc,IAAI,UAAU;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,aAAa;AAAA,MACZ,GAAI,cAAc,YAAY,EAAE,MAAM,SAAS;AAAA,MAC/C,GAAI,YAAY;AAAA,QACf,UAAU,CAAC;AAAA,QACX,UAAU,wBAAwB,IAAI;AAAA,QACtC,iBAAiB;AAAA,MACnB;AAAA,MACC,GAAI,YAAY,EAAE,gBAAgB,SAAS;AAAA,MAC3C,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,aAAc,oBAAA,QAAA,EAAK,WAAW,QAAQ,WAAY,UAAU,WAAA;AAAA,QAC5D;AAAA,QACA,WAAY,oBAAA,QAAA,EAAK,WAAW,QAAQ,SAAU,UAAQ,SAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG7D,CAAC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvButton", {
|
|
5
5
|
root: {
|
|
6
6
|
display: "inline-flex",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCalendar", {
|
|
4
4
|
root: {
|
|
5
5
|
display: "flex",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCalendarHeader", {
|
|
4
4
|
root: {
|
|
5
5
|
paddingBottom: theme.space.md,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../../../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../../../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const hover = {
|
|
5
5
|
backgroundColor: theme.colors.atmo3,
|
|
6
6
|
cursor: "pointer"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvNavigation", {
|
|
4
4
|
root: {
|
|
5
5
|
display: "flex",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const hover = {
|
|
5
5
|
backgroundColor: theme.colors.containerBackgroundHover,
|
|
6
6
|
cursor: "pointer"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvSingleCalendar", {
|
|
4
4
|
calendarContainer: {
|
|
5
5
|
width: "318px",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "../utils/classes.js";
|
|
3
2
|
import { outlineStyles } from "../utils/focusUtils.js";
|
|
3
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
4
4
|
const { staticClasses, useClasses } = createClasses("HvCard", {
|
|
5
5
|
root: {
|
|
6
6
|
overflow: "visible",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCardContent", {
|
|
4
4
|
content: {
|
|
5
5
|
padding: `0 ${theme.space.sm} 15px ${theme.space.sm}`,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
-
import { createClasses } from "
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-shared";
|
|
3
3
|
const { staticClasses, useClasses } = createClasses("HvCardHeader", {
|
|
4
4
|
root: {
|
|
5
5
|
position: "relative",
|
|
@@ -2,8 +2,9 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef, useState, Children, useCallback, useEffect } from "react";
|
|
3
3
|
import useCarousel from "embla-carousel-react";
|
|
4
4
|
import { Close, Fullscreen, Backwards, Forwards } from "@hitachivantara/uikit-react-icons";
|
|
5
|
+
import { useTheme } from "@hitachivantara/uikit-react-shared";
|
|
5
6
|
import { useDefaultProps } from "../hooks/useDefaultProps.js";
|
|
6
|
-
import {
|
|
7
|
+
import { useLabels } from "../hooks/useLabels.js";
|
|
7
8
|
import { clamp } from "../utils/helpers.js";
|
|
8
9
|
import { useClasses } from "./Carousel.styles.js";
|
|
9
10
|
import { staticClasses } from "./Carousel.styles.js";
|
|
@@ -13,6 +14,12 @@ import { HvContainer } from "../Container/Container.js";
|
|
|
13
14
|
import { HvButton } from "../Button/Button.js";
|
|
14
15
|
import { HvIconButton } from "../IconButton/IconButton.js";
|
|
15
16
|
import { HvTypography } from "../Typography/Typography.js";
|
|
17
|
+
const DEFAULT_LABELS = {
|
|
18
|
+
close: "Close",
|
|
19
|
+
fullscreen: "Fullscreen",
|
|
20
|
+
backwards: "Backwards",
|
|
21
|
+
forwards: "Forwards"
|
|
22
|
+
};
|
|
16
23
|
const HvCarousel = (props) => {
|
|
17
24
|
const {
|
|
18
25
|
className,
|
|
@@ -30,13 +37,16 @@ const HvCarousel = (props) => {
|
|
|
30
37
|
hideThumbnails: hideThumbnailsProp,
|
|
31
38
|
controlsPosition: controlsPositionProp,
|
|
32
39
|
thumbnailsPosition: thumbnailsPositionProp,
|
|
40
|
+
labels: labelsProps,
|
|
33
41
|
carouselOptions,
|
|
34
42
|
renderThumbnail,
|
|
35
43
|
onChange,
|
|
44
|
+
onFullscreen,
|
|
36
45
|
...others
|
|
37
46
|
} = useDefaultProps("HvCarousel", props);
|
|
38
47
|
const { activeTheme } = useTheme();
|
|
39
48
|
const { classes, css, cx } = useClasses(classesProp);
|
|
49
|
+
const labels = useLabels(DEFAULT_LABELS, labelsProps);
|
|
40
50
|
const thumbnailsRef = useRef(null);
|
|
41
51
|
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
42
52
|
const isDs3 = activeTheme?.name === "ds3";
|
|
@@ -83,6 +93,10 @@ const HvCarousel = (props) => {
|
|
|
83
93
|
controller.reInit();
|
|
84
94
|
setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides));
|
|
85
95
|
}, [numSlides, controller]);
|
|
96
|
+
const handleFullscreen = (event) => {
|
|
97
|
+
onFullscreen?.(event, !isFullscreen);
|
|
98
|
+
setIsFullscreen((curr) => !curr);
|
|
99
|
+
};
|
|
86
100
|
const canPrev = controller?.canScrollPrev() ?? false;
|
|
87
101
|
const canNext = controller?.canScrollNext() ?? false;
|
|
88
102
|
const showTitle = !!title && (!xs || isFullscreen);
|
|
@@ -104,8 +118,8 @@ const HvCarousel = (props) => {
|
|
|
104
118
|
showFullscreen && /* @__PURE__ */ jsx(
|
|
105
119
|
HvIconButton,
|
|
106
120
|
{
|
|
107
|
-
title: isFullscreen ?
|
|
108
|
-
onClick:
|
|
121
|
+
title: isFullscreen ? labels.close : labels.fullscreen,
|
|
122
|
+
onClick: handleFullscreen,
|
|
109
123
|
className: classes.closeButton,
|
|
110
124
|
children: isFullscreen ? /* @__PURE__ */ jsx(Close, {}) : /* @__PURE__ */ jsx(Fullscreen, {})
|
|
111
125
|
}
|
|
@@ -124,7 +138,11 @@ const HvCarousel = (props) => {
|
|
|
124
138
|
canNext,
|
|
125
139
|
onPreviousClick: handlePrevious,
|
|
126
140
|
onNextClick: handleNext,
|
|
127
|
-
actions: actionsPosition === "controls" && actions
|
|
141
|
+
actions: actionsPosition === "controls" && actions,
|
|
142
|
+
labels: {
|
|
143
|
+
backwards: labels.backwards,
|
|
144
|
+
forwards: labels.forwards
|
|
145
|
+
}
|
|
128
146
|
}
|
|
129
147
|
);
|
|
130
148
|
const thumbnails = showThumbnails && /* @__PURE__ */ jsx(
|
|
@@ -168,7 +186,7 @@ const HvCarousel = (props) => {
|
|
|
168
186
|
icon: true,
|
|
169
187
|
disabled: !canPrev,
|
|
170
188
|
variant: "secondarySubtle",
|
|
171
|
-
"aria-label":
|
|
189
|
+
"aria-label": labels.backwards,
|
|
172
190
|
onClick: handlePrevious,
|
|
173
191
|
children: /* @__PURE__ */ jsx(Backwards, { iconSize: "XS" })
|
|
174
192
|
}
|
|
@@ -179,7 +197,7 @@ const HvCarousel = (props) => {
|
|
|
179
197
|
icon: true,
|
|
180
198
|
disabled: !canNext,
|
|
181
199
|
variant: "secondarySubtle",
|
|
182
|
-
"aria-label":
|
|
200
|
+
"aria-label": labels.forwards,
|
|
183
201
|
onClick: handleNext,
|
|
184
202
|
children: /* @__PURE__ */ jsx(Forwards, { iconSize: "XS" })
|
|
185
203
|
}
|