@hitachivantara/uikit-react-core 5.22.0 → 5.23.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/components/Accordion/Accordion.cjs +17 -15
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -1
- package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +13 -11
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +16 -14
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs +41 -35
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.styles.cjs +92 -134
- package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.cjs +20 -16
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.styles.cjs +23 -69
- package/dist/cjs/components/Badge/Badge.styles.cjs.map +1 -1
- package/dist/cjs/components/Banner/Banner.cjs +22 -20
- package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +21 -19
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +26 -24
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +23 -21
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs +2 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +2 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/Box/Box.cjs +9 -8
- package/dist/cjs/components/Box/Box.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -12
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.cjs +22 -20
- package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +4 -3
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.cjs +20 -18
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.cjs +13 -11
- package/dist/cjs/components/Card/Card.cjs.map +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs +2 -2
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselControls.cjs +2 -3
- package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
- package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
- package/dist/cjs/components/CheckBox/CheckBox.cjs +29 -27
- package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +28 -26
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs +34 -32
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/cjs/components/Container/Container.cjs +9 -7
- package/dist/cjs/components/Container/Container.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +14 -12
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs +39 -37
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Actions/Actions.cjs +9 -7
- package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.cjs +8 -6
- package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +16 -14
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs +11 -9
- package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs +14 -12
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/Drawer/Drawer.cjs +13 -11
- package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +20 -17
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs +2 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.cjs +2 -1
- package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.cjs +0 -1
- package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs +17 -15
- package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs +0 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroup.cjs +30 -28
- package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +8 -6
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs +2 -1
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +13 -11
- package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
- package/dist/cjs/components/Forms/FormElement/FormElement.cjs +15 -13
- package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
- package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +11 -9
- package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
- package/dist/cjs/components/Forms/Label/Label.cjs +13 -11
- package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs +16 -14
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -11
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.cjs +10 -8
- package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
- package/dist/cjs/components/Header/Actions/Actions.cjs +8 -6
- package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Header/Brand/Brand.cjs +9 -7
- package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
- package/dist/cjs/components/Header/Header.cjs +2 -1
- package/dist/cjs/components/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs +11 -9
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs +18 -16
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +2 -1
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/Kpi/Kpi.cjs +13 -11
- package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.cjs +11 -9
- package/dist/cjs/components/Link/Link.cjs.map +1 -1
- package/dist/cjs/components/List/List.cjs +21 -19
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -10
- package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +20 -18
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/Loading/Loading.cjs +2 -1
- package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
- package/dist/cjs/components/Login/Login.cjs +10 -8
- package/dist/cjs/components/Login/Login.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs +11 -9
- package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +12 -10
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
- package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +0 -1
- package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +22 -20
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Select.cjs +1 -1
- package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.cjs +9 -7
- package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs +2 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +13 -11
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +0 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -2
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs +2 -1
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +25 -23
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +18 -16
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +19 -17
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
- package/dist/cjs/components/SelectionList/SelectionList.cjs +27 -25
- package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
- package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -7
- package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +37 -35
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
- package/dist/cjs/components/Stack/Stack.cjs +13 -11
- package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs +2 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.cjs +8 -6
- package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.cjs +12 -10
- package/dist/cjs/components/Table/Table.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -3
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -1
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +0 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs +6 -4
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs +18 -16
- package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +39 -37
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +2 -1
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/TimeAgo/TimeAgo.cjs +14 -12
- package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -2
- package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +2 -1
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +0 -2
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +0 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +1 -0
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +10 -6
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +12 -10
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/hooks/useDefaultProps.cjs +41 -0
- package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -0
- package/dist/cjs/index.cjs +9 -4
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/classes.cjs +1 -1
- package/dist/cjs/utils/classes.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +17 -15
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/ActionBar/ActionBar.js +2 -1
- package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +13 -11
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +16 -14
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +42 -37
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.styles.js +92 -132
- package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
- package/dist/esm/components/Badge/Badge.js +23 -18
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Badge/Badge.styles.js +23 -67
- package/dist/esm/components/Badge/Badge.styles.js.map +1 -1
- package/dist/esm/components/Banner/Banner.js +22 -20
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +21 -19
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +26 -24
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +23 -21
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js +2 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js +2 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/Box/Box.js +9 -8
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -12
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.js +22 -20
- package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/components/Button/Button.js +4 -3
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.js +20 -18
- package/dist/esm/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/Card/Card.js +13 -11
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Carousel/Carousel.js +2 -2
- package/dist/esm/components/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselControls.js +2 -3
- package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +1 -1
- package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
- package/dist/esm/components/CheckBox/CheckBox.js +29 -27
- package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +28 -26
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js +34 -32
- package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/Container/Container.js +9 -7
- package/dist/esm/components/Container/Container.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +14 -12
- package/dist/esm/components/Controls/Controls.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +39 -37
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/Dialog/Actions/Actions.js +9 -7
- package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.js +8 -6
- package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +16 -14
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js +11 -9
- package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js +14 -12
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +13 -11
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +20 -17
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.js +2 -1
- package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.js +0 -1
- package/dist/esm/components/FileUploader/File/File.js.map +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js +17 -15
- package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js +0 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterGroup.js +30 -28
- package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterGroupContext.js +8 -6
- package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js +2 -1
- package/dist/esm/components/Footer/Footer.js.map +1 -1
- package/dist/esm/components/Forms/CharCounter/CharCounter.js +13 -11
- package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/esm/components/Forms/FormElement/FormElement.js +15 -13
- package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +11 -9
- package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/esm/components/Forms/Label/Label.js +13 -11
- package/dist/esm/components/Forms/Label/Label.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.js +16 -14
- package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js +13 -11
- package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js +10 -8
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Header/Actions/Actions.js +8 -6
- package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Header/Brand/Brand.js +9 -7
- package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
- package/dist/esm/components/Header/Header.js +2 -1
- package/dist/esm/components/Header/Header.js.map +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js +11 -9
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.js +18 -16
- package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/components/Input/Input.js +2 -1
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Kpi/Kpi.js +13 -11
- package/dist/esm/components/Kpi/Kpi.js.map +1 -1
- package/dist/esm/components/Link/Link.js +11 -9
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/List/List.js +21 -19
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/ListContainer/ListContainer.js +12 -10
- package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +20 -18
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/Loading/Loading.js +2 -1
- package/dist/esm/components/Loading/Loading.js.map +1 -1
- package/dist/esm/components/Login/Login.js +10 -8
- package/dist/esm/components/Login/Login.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js +11 -9
- package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +12 -10
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/esm/components/Pagination/ButtonIconTooltip.js +0 -1
- package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +22 -20
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Select.js +1 -1
- package/dist/esm/components/Pagination/Select.js.map +1 -1
- package/dist/esm/components/Panel/Panel.js +9 -7
- package/dist/esm/components/Panel/Panel.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js +2 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/QueryBuilder/QueryBuilder.js +13 -11
- package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js +0 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -2
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js +2 -1
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +25 -23
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +18 -16
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +19 -17
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/esm/components/SelectionList/SelectionList.js +27 -25
- package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
- package/dist/esm/components/SimpleGrid/SimpleGrid.js +9 -7
- package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +37 -35
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
- package/dist/esm/components/Stack/Stack.js +13 -11
- package/dist/esm/components/Stack/Stack.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +2 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tab/Tab.js +8 -6
- package/dist/esm/components/Tab/Tab.js.map +1 -1
- package/dist/esm/components/Table/Table.js +12 -10
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -3
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowExpand.js +0 -1
- package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +0 -1
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +6 -4
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +18 -16
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +39 -37
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +2 -1
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TimeAgo/TimeAgo.js +14 -12
- package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +3 -2
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
- package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +2 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +2 -1
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +0 -2
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +0 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -0
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +10 -6
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +12 -10
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/hooks/useDefaultProps.js +41 -0
- package/dist/esm/hooks/useDefaultProps.js.map +1 -0
- package/dist/esm/index.js +213 -208
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/classes.js +1 -1
- package/dist/esm/utils/classes.js.map +1 -1
- package/dist/types/index.d.ts +279 -244
- package/package.json +5 -5
- package/dist/cjs/components/Avatar/avatarClasses.cjs +0 -8
- package/dist/cjs/components/Avatar/avatarClasses.cjs.map +0 -1
- package/dist/cjs/components/Badge/badgeClasses.cjs +0 -8
- package/dist/cjs/components/Badge/badgeClasses.cjs.map +0 -1
- package/dist/esm/components/Avatar/avatarClasses.js +0 -8
- package/dist/esm/components/Avatar/avatarClasses.js.map +0 -1
- package/dist/esm/components/Badge/badgeClasses.js +0 -8
- package/dist/esm/components/Badge/badgeClasses.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useEffect, useMemo, useRef } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { setId } from \"@core/utils/setId\";\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\n\nimport {\n StyledFixedSizeList,\n StyledSelectAllCheckBox,\n StyledLink,\n StyledMultiSelectCheckBox,\n StyledSingleSelectRadio,\n StyledListItem,\n StyledDropRightXS,\n} from \"./List.styles\";\nimport listClasses, { HvListClasses } from \"./listClasses\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\nimport { HvListLabels, HvListValue } from \"./types\";\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = ({\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n}: HvListProps) => {\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledSelectAllCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={clsx(\n listClasses.selectAllSelector,\n classes?.selectAllSelector\n )}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <StyledLink\n key={item.label}\n route={item.path}\n classes={{ a: clsx(listClasses.link, classes?.link) }}\n >\n <ItemText />\n </StyledLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledMultiSelectCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledSingleSelectRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <StyledListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={clsx(listClasses.item, classes?.item)}\n classes={{\n selected:\n useSelector || multiSelect\n ? clsx(listClasses.itemSelector, classes?.itemSelector)\n : undefined,\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <StyledDropRightXS\n className={clsx(listClasses.box, classes?.box)}\n iconSize=\"XS\"\n />\n )\n }\n $applySelected={useSelector || multiSelect}\n {...otherProps}\n >\n {multiSelect\n ? renderMultiSelectItem(item, itemId)\n : renderSingleSelectItem(item, itemId)}\n </StyledListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const renderFixedList = useMemo(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <StyledFixedSizeList\n ref={listRef}\n className={clsx(\n listClasses.virtualizedRoot,\n classes?.virtualizedRoot\n )}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </StyledFixedSizeList>\n )}\n </>\n );\n};\n"],"names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","useSelectableList","listRef","useRef","useEffect","passedProps","parsedList","parseList","undefined","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","HvTypography","component","children","_jsxs","_Fragment","_jsx","StyledSelectAllCheckBox","setId","label","clsx","listClasses","selectAllSelector","indeterminate","checked","renderItemText","ItemText","wrapperTooltip","StyledLink","route","a","link","renderMultiSelectItem","itemId","Selection","StyledMultiSelectCheckBox","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","StyledSingleSelectRadio","renderListItem","i","otherProps","startAdornment","StyledListItem","role","itemSelector","endAdornment","showNavIcon","StyledDropRightXS","box","iconSize","$applySelected","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","renderFixedList","useMemo","forwardRef","rest","ref","HvListContainer","StyledFixedSizeList","virtualizedRoot","itemCount","itemSize","innerElementType"],"mappings":";;;;;;;;;;;AAyEA,MAAMA,iBAAiB;AAAA,EACrBC,WAAW;AAAA,EACXC,sBAAsB;AACxB;AAKO,MAAMC,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,cAAc;AAAA,EACdC,cAAc;AAAA,EACdC,gBAAgB;AAAA,EAChBC,SAASV;AAAAA,EACTW,cAAc;AAAA,EACdC,aAAa;AAAA,EACbC,wBAAwB;AAAA,EACxBC,YAAY;AAAA,EACZC;AAAAA,EACAC;AAAAA,EACAC,QAAQC,aAAa,CAAE;AAAA,EACvBC;AAAAA,EACAC,cAAc;AAAA,EACd,GAAGC;AACQ,MAAM;AACjB,QAAM,CAACC,MAAMC,SAASC,SAAS,IAAIC,kBAAkBP,UAAU;AACzDQ,QAAAA,UAAUC,OAAY,IAAI;AAEhCC,YAAU,MAAM;AACd,UAAMC,cAAc;AAAA,MAAEtB;AAAAA,MAAaK;AAAAA,MAAYC;AAAAA,IAAAA;AAC/C,UAAMiB,aAA4BC,UAChCC,QACAH,aACAG,QACAd,UACF;AAEAK,YAAQO,UAAU;AAAA,EAAA,GACjB,CAACZ,YAAYX,aAAaK,YAAYC,uBAAuBU,OAAO,CAAC;AAElEU,QAAAA,eAAeA,CAACC,KAAKC,SAAS;AAClC,QAAI,CAACA,KAAKC;AAAMF,UAAIG,eAAe;AACnC,QAAIF,KAAKG;AAAU;AAEnB,UAAMT,cAAc;AAAA,MAAEtB;AAAAA,MAAaK;AAAAA,MAAYC;AAAAA,IAAAA;AAC/C,UAAMiB,aAAaC,UAAUI,MAAMN,aAAaG,QAAWV,IAAI;AAC/DC,YAAQO,UAAU;AAElBd,uCAAUkB,KAAKC;AACfpB,yCAAWe;AAAAA,EAAU;AAGvB,QAAMS,kBAAkBA,MAAM;AAC5B,UAAMV,cAAc;AAAA,MAAEtB;AAAAA,MAAaK;AAAAA,MAAYC;AAAAA,IAAAA;AAC/C,UAAM2B,wBAAwBlB,KAAKmB,KAChCC,UAASA,KAAKC,YAAYD,KAAKJ,QAClC;AACA,UAAMR,aAAaC,UACjBC,QACAH,aACA,CAACW,uBACDlB,IACF;AACAC,YAAQO,UAAU;AAElBf,yCAAWe;AAAAA,EAAU;AAGvB,QAAMc,iBAAkBT,CAAS,SAAA;;AAC/B,WAAOU,eAAeV,KAAKW,IAAI,IAC3BX,KAAKW,QACLX,UAAKW,SAALX,8BAAY;AAAA,MACVY,YAAYZ,KAAKQ;AAAAA,MACjBK,YAAYb,KAAKG;AAAAA,IAAAA;AAAAA,EAClB;AAGP,QAAMW,kBAAkBA,MAAM;AACtB,UAAA;AAAA,MAAEhD;AAAAA,MAAWC;AAAAA,IAAyBQ,IAAAA;AAEtCwC,UAAAA,eAAc,CAAC,EAAC1B,uCAAW2B;AAC3BC,UAAAA,cAAc5B,UAAU2B,WAAW7B,KAAK6B;AAExCE,UAAAA,qCACHC,cAAY;AAAA,MAACC,WAAU;AAAA,MAAMC,UAC3B,CAACN,eACAO,qBAAAC,UAAA;AAAA,QAAAF,WACEG,oBAAA,KAAA;AAAA,UAAAH,UAAIvD;AAAAA,QAAa,CAAA,GACf,KAAIqB,KAAK6B,SAAS;AAAA,MAAA,CACpB,IAEFM,qBAAAC,UAAA;AAAA,QAAAF,WACEG,oBAAA,KAAA;AAAA,UAAAH,UAAIhC,UAAU2B;AAAAA,QAAAA,CAAU,GACtB,IAAMjD,yBACPoB,KAAK6B,MAAM;AAAA,MAAA,CACZ;AAAA,IAAA,CAEQ;AAGhB,+BACGS,yBAAuB;AAAA,MACtBxD,IAAIyD,MAAMzD,IAAI,YAAY;AAAA,MAC1B0D,OAAOT;AAAAA,MACPtC,UAAUwB;AAAAA,MACVjC,WAAWyD,KACTC,YAAYC,mBACZ5D,mCAAS4D,iBACX;AAAA,MACAC,eAAehB,gBAAe,CAACE;AAAAA,MAC/Be,SAASf;AAAAA,IAAAA,CACV;AAAA,EAAA;AAIL,QAAMgB,iBAAkBjC,CAAS,SAAA;AAC/B,UAAMkC,WAAWC,eAAe9D,aAAa2B,KAAK2B,OAAO3B,KAAK2B,KAAK;AAEnE,WAAO,CAACvD,eAAe4B,KAAKC,2BACzBmC,YAAU;AAAA,MAETC,OAAOrC,KAAKC;AAAAA,MACZ/B,SAAS;AAAA,QAAEoE,GAAGV,KAAKC,YAAYU,MAAMrE,mCAASqE,IAAI;AAAA,MAAE;AAAA,MAAElB,UAEtDG,oBAACU,UAAU,EAAA;AAAA,IAAA,GAJNlC,KAAK2B,KAKA,IAEXO,oBAAAA,UAAQ,CAAE,CAAA;AAAA,EAAA;AAITM,QAAAA,wBAAwBA,CAACxC,MAAMyC,WAAW;AAC9C,QAAIjE,aAAa;AACf,YAAMkE,YAAYP,eAChB9D,aACAmD,oBAACmB,2BAAyB;AAAA,QACxB1E,IAAIyD,MAAMe,QAAQ,UAAU;AAAA,QAC5Bd,OAAO3B,KAAK2B;AAAAA,QACZK,SAAShC,KAAKQ;AAAAA,QACdL,UAAUH,KAAKG;AAAAA,QACfvB,UAAWmB,CAAAA,QAAQD,aAAaC,KAAKC,IAAI;AAAA,QACzC9B,SAAS;AAAA,UACP0E,MAAMhB,KAAKC,YAAYgB,cAAc3E,mCAAS2E,YAAY;AAAA,UAC1DC,WAAWlB,KACTC,YAAYkB,mBACZ7E,mCAAS6E,iBACX;AAAA,UACApB,OAAOC,KAAKC,YAAYmB,UAAU9E,mCAAS8E,QAAQ;AAAA,QACrD;AAAA,MAAA,CACD,GACDhD,KAAK2B,KACP;AACOH,aAAAA,oBAACkB,WAAS,CAAA,CAAE;AAAA,IACrB;AAEA,WAAOT,eAAejC,IAAI;AAAA,EAAA;AAGtBiD,QAAAA,yBAAyBA,CAACjD,MAAMyC,WAAW;AAC/C,QAAIjE,aAAa;AACf,YAAMkE,YAAYP,eAChB9D,aACAmD,oBAAC0B,yBAAuB;AAAA,QACtBjF,IAAIyD,MAAMe,QAAQ,UAAU;AAAA,QAC5Bd,OAAO3B,KAAK2B;AAAAA,QACZK,SAAShC,KAAKQ;AAAAA,QACdL,UAAUH,KAAKG;AAAAA,QACfjC,SAAS;AAAA,UACP0E,MAAMhB,KAAKC,YAAYgB,cAAc3E,mCAAS2E,YAAY;AAAA,UAC1DC,WAAWlB,KACTC,YAAYkB,mBACZ7E,mCAAS6E,iBACX;AAAA,UACApB,OAAOC,KAAKC,YAAYmB,UAAU9E,mCAAS8E,QAAQ;AAAA,QACrD;AAAA,MAAA,CACD,GACDhD,KAAK2B,KACP;AACOH,aAAAA,oBAACkB,WAAS,CAAA,CAAE;AAAA,IACrB;AACA,WAAOT,eAAejC,IAAI;AAAA,EAAA;AAG5B,QAAMmD,iBAAiBA,CAACnD,MAAMoD,GAAGC,aAAa,CAAA,MAAO;AACnD,UAAMZ,SAASf,MAAMzD,IAAI,QAAQmF,CAAC;AAC5B5C,UAAAA,WAAWR,KAAKQ,YAAY;AAElC,QAAI8C,iBAAiB;AACjB,QAAA,CAAC9E,eAAewB,KAAKW,MAAM;AAC7B2C,uBAAiB7C,eAAeT,IAAI;AAAA,IACtC;AAEA,+BACGuD,gBAAc;AAAA,MAEbtF,IAAIwE;AAAAA,MACJe,MAAM/E,aAAa,WAAW;AAAA,MAC9B0B,UAAUH,KAAKG,YAAYN;AAAAA,MAC3B1B,WAAWyD,KAAKC,YAAY7B,MAAM9B,mCAAS8B,IAAI;AAAA,MAC/C9B,SAAS;AAAA,QACPsC,UACEhC,eAAeJ,cACXwD,KAAKC,YAAY4B,cAAcvF,mCAASuF,YAAY,IACpD5D;AAAAA,MACR;AAAA,MACAW,UAAUpC,eAAeoC,WAAWA,WAAWX;AAAAA,MAC/ChB,SAAUkB,CAAAA,QAAQD,aAAaC,KAAKC,IAAI;AAAA,MACxCsD;AAAAA,MACAI,cACE1D,KAAK2D,eACHnC,oBAACoC,mBAAiB;AAAA,QAChBzF,WAAWyD,KAAKC,YAAYgC,KAAK3F,mCAAS2F,GAAG;AAAA,QAC7CC,UAAS;AAAA,MAAA,CACV;AAAA,MAGLC,gBAAgBvF,eAAeJ;AAAAA,MAAY,GACvCiF;AAAAA,MAAUhC,UAEbjD,cACGoE,sBAAsBxC,MAAMyC,MAAM,IAClCQ,uBAAuBjD,MAAMyC,MAAM;AAAA,OA3BlCW,CA4BS;AAAA,EAAA;AAIpB,QAAMY,eAAe7E,KAAK8E,OAAQC,CAAO,OAAA,CAACA,GAAGC,QAAQ;AACrD,QAAMpD,cAAc5B,KACjBiF,IAAKpE,CAASA,SAAAA,KAAKQ,YAAY,CAACR,KAAKG,QAAQ,EAC7CkE,OAAO,CAACC,QAAQ9D,aAAa8D,UAAU9D,UAAU,KAAK;AAEzD,QAAM+D,oBAAoBpF,KAAKqF,UAAWxE,CAAAA,SAASA,KAAKQ,QAAQ;AAChEf,YAAU,MAAM;AACd,QAAI8E,qBAAqB,KAAKhF,QAAQkF,YAAY,MAAM;AAC9CA,cAAAA,QAAQC,aAAaH,iBAAiB;AAAA,IAChD;AAAA,EAAA,GACC,CAAChF,SAASgF,iBAAiB,CAAC;AAE/B,QAAMI,WAAWA,CAAC;AAAA,IAAEC;AAAAA,IAAOC;AAAAA,EAAAA,MAAY;AAC/B7E,UAAAA,OAAOgE,aAAaY,KAAK;AAC/B,UAAME,WACJ9E,KAAK8E,YACJ,CAAC/D,eAAe6D,UAAU,KAC1B5E,KAAKQ,YAAY,CAACR,KAAKG,WACpB,IACA;AAECgD,WAAAA,eAAenD,MAAM4E,OAAO;AAAA,MACjCC,OAAO;AAAA,QACL,GAAGA;AAAAA,QACHE,KAAM,GAAEC,WAAWH,MAAME,GAAG,IAAI;AAAA,QAChCE,MAAO,GAAED,WAAWH,MAAMI,IAAI,IAAI;AAAA,QAClCC,OAAQ,QAAOF,WAAWH,MAAMK,KAAK;AAAA,MACvC;AAAA,MACAJ;AAAAA,MACAK,aAAa;AAAA,MACbxG;AAAAA,MACAyG,gBAAgB5G;AAAAA,IAAAA,CACjB;AAAA,EAAA;AAGG6G,QAAAA,kBAAkBC,QAAQ,MAAM;AACpC,WAAOC,WAAW,CAAC;AAAA,MAAE,GAAGC;AAAAA,IAAAA,GAAQC,QAC9BjE,oBAACkE,iBAAe;AAAA,MACdzH;AAAAA,MACAE,WAAWyD,KAAKzD,WAAW0D,YAAYe,MAAM1E,mCAAS0E,IAAI;AAAA,MAC1DY,MAAM/E,aAAa,YAAY;AAAA,MAC/B0G,aAAW;AAAA,MACXxG;AAAAA,MACAyG,gBAAgB5G;AAAAA,MAChB,wBAAuBC,cAAcL,eAAgByB;AAAAA,MACrD4F;AAAAA,MAAS,GACLD;AAAAA,IACL,CAAA,CACF;AAAA,EAAA,GACA,CAACvH,IAAIO,aAAaL,WAAWD,SAASS,WAAWF,YAAYL,WAAW,CAAC;AAE5E,8BACEmD,UAAA;AAAA,IAAAF,UAAA,CACGjD,eAAeI,eAAeF,iBAAiBwC,gBAE/CkD,GAAAA,aAAahD,SAAS,KAAK,CAAC/B,mCAC1ByG,iBAAe;AAAA,MACdzH;AAAAA,MACAE,WAAWyD,KAAKzD,WAAW0D,YAAYe,MAAM1E,mCAAS0E,IAAI;AAAA,MAC1DY,MAAM/E,aAAa,YAAY;AAAA,MAC/B0G,aAAW;AAAA,MACXxG;AAAAA,MACAyG,gBAAgB5G;AAAAA,MAChB,wBAAuBC,cAAcL,eAAgByB;AAAAA,MAAU,GAC3DX;AAAAA,MAAMmC,UAET2C,aAAaI,IAAI,CAACpE,MAAMoD,MAAMD,eAAenD,MAAMoD,CAAC,CAAC;AAAA,IAAA,CACvC,GAElBY,aAAahD,SAAS,KAAK/B,mCACzB0G,qBAAmB;AAAA,MAClBF,KAAKlG;AAAAA,MACLpB,WAAWyD,KACTC,YAAY+D,iBACZ1H,mCAAS0H,eACX;AAAA,MACA5G,SAASA,UAAU,KAAK;AAAA,MACxBkG,OAAM;AAAA,MACNW,WAAW7B,aAAahD;AAAAA,MACxB8E,UAAUnH,YAAY,KAAK;AAAA,MAC3BoH,kBAAkBV;AAAAA,MAAgB,GAC9BnG;AAAAA,MAAMmC,UAETsD;AAAAA,IAAAA,CACkB,CACtB;AAAA,EAAA,CACD;AAEN;"}
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useEffect, useMemo, useRef } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { setId } from \"@core/utils/setId\";\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\n\nimport {\n StyledFixedSizeList,\n StyledSelectAllCheckBox,\n StyledLink,\n StyledMultiSelectCheckBox,\n StyledSingleSelectRadio,\n StyledListItem,\n StyledDropRightXS,\n} from \"./List.styles\";\nimport listClasses, { HvListClasses } from \"./listClasses\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\nimport { HvListLabels, HvListValue } from \"./types\";\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = (props: HvListProps) => {\n const {\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = useDefaultProps(\"HvList\", props);\n\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledSelectAllCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={clsx(\n listClasses.selectAllSelector,\n classes?.selectAllSelector\n )}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <StyledLink\n key={item.label}\n route={item.path}\n classes={{ a: clsx(listClasses.link, classes?.link) }}\n >\n <ItemText />\n </StyledLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledMultiSelectCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledSingleSelectRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <StyledListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={clsx(listClasses.item, classes?.item)}\n classes={{\n selected:\n useSelector || multiSelect\n ? clsx(listClasses.itemSelector, classes?.itemSelector)\n : undefined,\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <StyledDropRightXS\n className={clsx(listClasses.box, classes?.box)}\n iconSize=\"XS\"\n />\n )\n }\n $applySelected={useSelector || multiSelect}\n {...otherProps}\n >\n {multiSelect\n ? renderMultiSelectItem(item, itemId)\n : renderSingleSelectItem(item, itemId)}\n </StyledListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const renderFixedList = useMemo(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <StyledFixedSizeList\n ref={listRef}\n className={clsx(\n listClasses.virtualizedRoot,\n classes?.virtualizedRoot\n )}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </StyledFixedSizeList>\n )}\n </>\n );\n};\n"],"names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","useDefaultProps","list","setList","selection","useSelectableList","listRef","useRef","useEffect","passedProps","parsedList","parseList","undefined","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","HvTypography","component","children","_jsxs","_Fragment","_jsx","StyledSelectAllCheckBox","setId","label","clsx","listClasses","selectAllSelector","indeterminate","checked","renderItemText","ItemText","wrapperTooltip","StyledLink","route","a","link","renderMultiSelectItem","itemId","Selection","StyledMultiSelectCheckBox","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","StyledSingleSelectRadio","renderListItem","i","otherProps","startAdornment","StyledListItem","role","itemSelector","endAdornment","showNavIcon","StyledDropRightXS","box","iconSize","$applySelected","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","renderFixedList","useMemo","forwardRef","rest","ref","HvListContainer","StyledFixedSizeList","virtualizedRoot","itemCount","itemSize","innerElementType"],"mappings":"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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import React__default, { useRef, useContext, useMemo } from "react";
|
|
2
2
|
import { clsx } from "clsx";
|
|
3
3
|
import { useForkRef } from "../../hooks/useForkRef.js";
|
|
4
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
4
5
|
import listContainerClasses from "./listContainerClasses.js";
|
|
5
6
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
6
7
|
import HvListContext from "./ListContext/ListContext.js";
|
|
7
|
-
const HvListContainer = React__default.forwardRef(({
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
const HvListContainer = React__default.forwardRef((props, externalRef) => {
|
|
9
|
+
const {
|
|
10
|
+
id,
|
|
11
|
+
classes,
|
|
12
|
+
className,
|
|
13
|
+
interactive = false,
|
|
14
|
+
condensed,
|
|
15
|
+
disableGutters,
|
|
16
|
+
children,
|
|
17
|
+
...others
|
|
18
|
+
} = useDefaultProps("HvListContainer", props);
|
|
17
19
|
const containerRef = useRef(null);
|
|
18
20
|
const {
|
|
19
21
|
topContainerRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListContainer.js","sources":["../../../../src/components/ListContainer/ListContainer.tsx"],"sourcesContent":["import React, { useRef, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\n\nimport HvListContext from \"./ListContext\";\nimport listContainerClasses, {\n HvListContainerClasses,\n} from \"./listContainerClasses\";\n\nexport interface HvListContainerProps extends HvBaseProps<HTMLUListElement> {\n /**\n * If the list items should be focusable and react to mouse over events.\n * Defaults to true if the list is selectable, false otherwise.\n */\n interactive?: boolean;\n /** If `true` compact the vertical spacing between list items. */\n condensed?: boolean;\n /** If `true`, the list items' left and right padding is removed. */\n disableGutters?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListContainerClasses;\n}\n\n/**\n * A <b>list</b> is any enumeration of a set of items.\n * The simple list is for continuous <b>vertical indexes of text or icons+text</b>. The content of these lists must be simple: ideally simples fields.\n * This pattern is ideal for <b>selections</b>. It should be used inside a HvPanel.\n */\nexport const HvListContainer = React.forwardRef(\n (\n {\n id,\n classes,\n className,\n interactive = false,\n condensed,\n disableGutters,\n children,\n ...others\n }
|
|
1
|
+
{"version":3,"file":"ListContainer.js","sources":["../../../../src/components/ListContainer/ListContainer.tsx"],"sourcesContent":["import React, { useRef, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport HvListContext from \"./ListContext\";\nimport listContainerClasses, {\n HvListContainerClasses,\n} from \"./listContainerClasses\";\n\nexport interface HvListContainerProps extends HvBaseProps<HTMLUListElement> {\n /**\n * If the list items should be focusable and react to mouse over events.\n * Defaults to true if the list is selectable, false otherwise.\n */\n interactive?: boolean;\n /** If `true` compact the vertical spacing between list items. */\n condensed?: boolean;\n /** If `true`, the list items' left and right padding is removed. */\n disableGutters?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListContainerClasses;\n}\n\n/**\n * A <b>list</b> is any enumeration of a set of items.\n * The simple list is for continuous <b>vertical indexes of text or icons+text</b>. The content of these lists must be simple: ideally simples fields.\n * This pattern is ideal for <b>selections</b>. It should be used inside a HvPanel.\n */\nexport const HvListContainer = React.forwardRef(\n (props: HvListContainerProps, externalRef) => {\n const {\n id,\n classes,\n className,\n interactive = false,\n condensed,\n disableGutters,\n children,\n ...others\n } = useDefaultProps(\"HvListContainer\", props);\n const containerRef = useRef(null);\n\n const { topContainerRef, nesting = -1 } = useContext<any>(HvListContext);\n\n const listContext = useMemo(\n () => ({\n topContainerRef: topContainerRef || containerRef,\n condensed,\n disableGutters,\n interactive,\n nesting: nesting + 1,\n }),\n [condensed, disableGutters, interactive, nesting, topContainerRef]\n );\n\n const renderChildren = () => {\n if (!interactive) {\n return children;\n }\n\n const anySelected = React.Children.toArray(children)\n .map((child: any) => child.props.selected && !child.props.disabled)\n .reduce((result, selected) => result || selected, false);\n\n return React.Children.map(children, (child: any, i) => {\n const tabIndex =\n child.props.tabIndex ||\n (!anySelected && i === 0) ||\n (child.props.selected && !child.props.disabled)\n ? 0\n : -1;\n\n return React.cloneElement(child, {\n tabIndex,\n interactive,\n });\n });\n };\n\n const handleRef = useForkRef(externalRef, containerRef);\n\n return (\n <HvListContext.Provider value={listContext}>\n <ul\n ref={handleRef}\n id={id}\n className={clsx(className, listContainerClasses.root, classes?.root)}\n {...others}\n >\n {renderChildren()}\n </ul>\n </HvListContext.Provider>\n );\n }\n);\n"],"names":["HvListContainer","React","forwardRef","props","externalRef","id","classes","className","interactive","condensed","disableGutters","children","others","useDefaultProps","containerRef","useRef","topContainerRef","nesting","useContext","HvListContext","listContext","useMemo","renderChildren","anySelected","Children","toArray","map","child","selected","disabled","reduce","result","i","tabIndex","cloneElement","handleRef","useForkRef","_jsx","Provider","value","ref","clsx","listContainerClasses","root"],"mappings":";;;;;;;AA+BO,MAAMA,kBAAkBC,eAAMC,WACnC,CAACC,OAA6BC,gBAAgB;AACtC,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,cAAc;AAAA,IACdC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,mBAAmBV,KAAK;AACtCW,QAAAA,eAAeC,OAAO,IAAI;AAE1B,QAAA;AAAA,IAAEC;AAAAA,IAAiBC,UAAU;AAAA,EAAA,IAAOC,WAAgBC,aAAa;AAEjEC,QAAAA,cAAcC,QAClB,OAAO;AAAA,IACLL,iBAAiBA,mBAAmBF;AAAAA,IACpCL;AAAAA,IACAC;AAAAA,IACAF;AAAAA,IACAS,SAASA,UAAU;AAAA,EAAA,IAErB,CAACR,WAAWC,gBAAgBF,aAAaS,SAASD,eAAe,CACnE;AAEA,QAAMM,iBAAiBA,MAAM;AAC3B,QAAI,CAACd,aAAa;AACTG,aAAAA;AAAAA,IACT;AAEMY,UAAAA,cAActB,eAAMuB,SAASC,QAAQd,QAAQ,EAChDe,IAAI,CAACC,UAAeA,MAAMxB,MAAMyB,YAAY,CAACD,MAAMxB,MAAM0B,QAAQ,EACjEC,OAAO,CAACC,QAAQH,aAAaG,UAAUH,UAAU,KAAK;AAEzD,WAAO3B,eAAMuB,SAASE,IAAIf,UAAU,CAACgB,OAAYK,MAAM;AACrD,YAAMC,WACJN,MAAMxB,MAAM8B,YACX,CAACV,eAAeS,MAAM,KACtBL,MAAMxB,MAAMyB,YAAY,CAACD,MAAMxB,MAAM0B,WAClC,IACA;AAEC5B,aAAAA,eAAMiC,aAAaP,OAAO;AAAA,QAC/BM;AAAAA,QACAzB;AAAAA,MAAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGG2B,QAAAA,YAAYC,WAAWhC,aAAaU,YAAY;AAGpDuB,SAAAA,oBAAClB,cAAcmB,UAAQ;AAAA,IAACC,OAAOnB;AAAAA,IAAYT,8BACzC,MAAA;AAAA,MACE6B,KAAKL;AAAAA,MACL9B;AAAAA,MACAE,WAAWkC,KAAKlC,WAAWmC,qBAAqBC,MAAMrC,mCAASqC,IAAI;AAAA,MAAE,GACjE/B;AAAAA,MAAMD,UAETW,eAAe;AAAA,IAAA,CACd;AAAA,EAAA,CACkB;AAE5B,CACF;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
2
|
import React__default, { useContext, useCallback, useMemo } from "react";
|
|
3
|
+
import { useDefaultProps } from "../../../hooks/useDefaultProps.js";
|
|
3
4
|
import { StyledListItem, StyledFocus } from "./ListItem.styles.js";
|
|
4
5
|
import listItemClasses from "./listItemClasses.js";
|
|
5
6
|
import { jsxs, jsx } from "@emotion/react/jsx-runtime";
|
|
@@ -25,24 +26,25 @@ const applyClassNameToElement = (element, className, externalClassname) => {
|
|
|
25
26
|
}
|
|
26
27
|
return null;
|
|
27
28
|
};
|
|
28
|
-
const HvListItem = ({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
29
|
+
const HvListItem = (props) => {
|
|
30
|
+
const {
|
|
31
|
+
id,
|
|
32
|
+
classes,
|
|
33
|
+
className,
|
|
34
|
+
role,
|
|
35
|
+
value,
|
|
36
|
+
selected,
|
|
37
|
+
disabled,
|
|
38
|
+
interactive: interactiveProp,
|
|
39
|
+
condensed: condensedProp,
|
|
40
|
+
disableGutters: disableGuttersProp,
|
|
41
|
+
startAdornment,
|
|
42
|
+
endAdornment,
|
|
43
|
+
onClick,
|
|
44
|
+
children,
|
|
45
|
+
tabIndex,
|
|
46
|
+
...others
|
|
47
|
+
} = useDefaultProps("HvListItem", props);
|
|
46
48
|
const {
|
|
47
49
|
topContainerRef,
|
|
48
50
|
condensed: condensedContext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../../src/components/ListContainer/ListItem/ListItem.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { useCallback, useContext, useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport HvListContext from \"../ListContext\";\nimport { StyledListItem, StyledFocus } from \"./ListItem.styles\";\nimport listItemClasses, { HvListItemClasses } from \"./listItemClasses\";\n\nexport interface HvListItemProps extends HvBaseProps<HTMLLIElement> {\n /**\n * Overrides the implicit list item role.\n * It defaults to \"option\" if unspecified and the container list role is \"listbox\".\n */\n role?: string;\n /** Indicates if the list item is selected. */\n selected?: boolean;\n /** If true, the list item will be disabled. */\n disabled?: boolean;\n /**\n * If the list item is focusable and reacts to mouse over events.\n * Defaults to true if the container list is interactive, false otherwise.\n */\n interactive?: boolean;\n /**\n * If `true` compacts the vertical spacing intended to separate the list items.\n * Defaults to the value set in container list.\n */\n condensed?: boolean;\n /**\n * If `true`, the left and right padding is removed.\n * Defaults to the value set in container list.\n */\n disableGutters?: boolean;\n /**\n * Element placed before the children.\n * Also removes the left padding (gutter).\n *\n * Some modifications are applied, assuming that it is either an icon (changing the color when the item is disabled)\n * or a selector (preventing the double focus ring, propagating the checked and disabled states and wiring the onChange event).\n * If unwanted, the element should be placed directly as a child.\n */\n startAdornment?: React.ReactNode;\n /**\n * Element placed after the children and aligned next to the margin.\n * Also removes the right padding (gutter).\n *\n * Some modifications are applied, assuming that it is an icon (changing the color when the item is disabled).\n * If unwanted, the element should be placed directly as a child.\n */\n endAdornment?: React.ReactNode;\n /** The value to be set on the 'li' element */\n value?: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListItemClasses;\n}\n\nconst applyClassNameAndStateToElement = (\n element,\n selected,\n disabled,\n onClick,\n className,\n externalClassname\n) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n checked: !!selected,\n disabled,\n onChange: (evt) => onClick?.(evt),\n });\n }\n\n return null;\n};\n\nconst applyClassNameToElement = (element, className, externalClassname) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n });\n }\n\n return null;\n};\n\n/**\n * ListItem description/documentation paragraph\n */\nexport const HvListItem = ({\n id,\n classes,\n className,\n role,\n value,\n selected,\n disabled,\n interactive: interactiveProp,\n condensed: condensedProp,\n disableGutters: disableGuttersProp,\n startAdornment,\n endAdornment,\n onClick,\n children,\n tabIndex,\n ...others\n}: HvListItemProps) => {\n const {\n topContainerRef,\n condensed: condensedContext,\n disableGutters: disableGuttersContext,\n interactive: interactiveContext,\n } = useContext<any>(HvListContext);\n\n const condensed = condensedProp != null ? condensedProp : condensedContext;\n const disableGutters =\n disableGuttersProp != null ? disableGuttersProp : disableGuttersContext;\n const interactive =\n interactiveProp != null ? interactiveProp : interactiveContext;\n\n const handleOnClick = useCallback(\n (evt) => {\n if (!disabled) {\n onClick?.(evt);\n }\n },\n [disabled, onClick]\n );\n\n const clonedStartAdornment = useMemo(\n () =>\n applyClassNameAndStateToElement(\n startAdornment,\n selected,\n disabled,\n handleOnClick,\n clsx(\n listItemClasses.startAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.startAdornment, disabled && classes?.disabled)\n ),\n [\n classes?.startAdornment,\n classes?.disabled,\n disabled,\n handleOnClick,\n selected,\n startAdornment,\n ]\n );\n const clonedEndAdornment = useMemo(\n () =>\n applyClassNameToElement(\n endAdornment,\n clsx(\n listItemClasses.endAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.endAdornment, disabled && classes?.disabled)\n ),\n [classes?.endAdornment, classes?.disabled, disabled, endAdornment]\n );\n\n const roleOptionAriaProps =\n role === \"option\" || role === \"menuitem\"\n ? {\n \"aria-disabled\": disabled || undefined,\n \"aria-selected\": selected,\n }\n : {};\n\n const listItem = (\n <StyledListItem\n id={id}\n role={role}\n value={value}\n onClick={handleOnClick}\n onKeyDown={() => {}}\n className={clsx(\n className,\n listItemClasses.root,\n classes?.root,\n !disableGutters && clsx(listItemClasses.gutters, classes?.gutters),\n condensed && clsx(listItemClasses.condensed, classes?.condensed),\n interactive && clsx(listItemClasses.interactive, classes?.interactive),\n selected && clsx(listItemClasses.selected, classes?.selected),\n disabled && clsx(listItemClasses.disabled, classes?.disabled),\n startAdornment != null &&\n clsx(listItemClasses.withStartAdornment, classes?.withStartAdornment),\n endAdornment != null &&\n clsx(listItemClasses.withEndAdornment, classes?.withEndAdornment)\n )}\n $gutters={!disableGutters}\n $interactive={interactive}\n $disabled={disabled || false}\n $selected={selected || false}\n $startAdornment={startAdornment != null}\n $endAdornment={endAdornment != null}\n {...roleOptionAriaProps}\n {...others}\n >\n {clonedStartAdornment}\n {children}\n {clonedEndAdornment}\n </StyledListItem>\n );\n\n return interactiveProp ? (\n <StyledFocus\n rootRef={topContainerRef}\n selected={selected}\n disabledClass={disabled || undefined}\n strategy={role === \"option\" ? \"listbox\" : \"menu\"}\n classes={{ focus: clsx(classes?.focus, listItemClasses.focus) }}\n configuration={{\n tabIndex,\n }}\n >\n {listItem}\n </StyledFocus>\n ) : (\n listItem\n );\n};\n"],"names":["applyClassNameAndStateToElement","element","selected","disabled","onClick","className","externalClassname","React","cloneElement","clsx","props","checked","onChange","evt","applyClassNameToElement","HvListItem","id","classes","role","value","interactive","interactiveProp","condensed","condensedProp","disableGutters","disableGuttersProp","startAdornment","endAdornment","children","tabIndex","others","topContainerRef","condensedContext","disableGuttersContext","interactiveContext","useContext","HvListContext","handleOnClick","useCallback","clonedStartAdornment","useMemo","listItemClasses","clonedEndAdornment","roleOptionAriaProps","undefined","listItem","StyledListItem","onKeyDown","root","gutters","withStartAdornment","withEndAdornment","$gutters","$interactive","$disabled","$selected","$startAdornment","$endAdornment","StyledFocus","rootRef","disabledClass","strategy","focus","configuration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListItem.js","sources":["../../../../../src/components/ListContainer/ListItem/ListItem.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { useCallback, useContext, useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport HvListContext from \"../ListContext\";\nimport { StyledListItem, StyledFocus } from \"./ListItem.styles\";\nimport listItemClasses, { HvListItemClasses } from \"./listItemClasses\";\n\nexport interface HvListItemProps extends HvBaseProps<HTMLLIElement> {\n /**\n * Overrides the implicit list item role.\n * It defaults to \"option\" if unspecified and the container list role is \"listbox\".\n */\n role?: string;\n /** Indicates if the list item is selected. */\n selected?: boolean;\n /** If true, the list item will be disabled. */\n disabled?: boolean;\n /**\n * If the list item is focusable and reacts to mouse over events.\n * Defaults to true if the container list is interactive, false otherwise.\n */\n interactive?: boolean;\n /**\n * If `true` compacts the vertical spacing intended to separate the list items.\n * Defaults to the value set in container list.\n */\n condensed?: boolean;\n /**\n * If `true`, the left and right padding is removed.\n * Defaults to the value set in container list.\n */\n disableGutters?: boolean;\n /**\n * Element placed before the children.\n * Also removes the left padding (gutter).\n *\n * Some modifications are applied, assuming that it is either an icon (changing the color when the item is disabled)\n * or a selector (preventing the double focus ring, propagating the checked and disabled states and wiring the onChange event).\n * If unwanted, the element should be placed directly as a child.\n */\n startAdornment?: React.ReactNode;\n /**\n * Element placed after the children and aligned next to the margin.\n * Also removes the right padding (gutter).\n *\n * Some modifications are applied, assuming that it is an icon (changing the color when the item is disabled).\n * If unwanted, the element should be placed directly as a child.\n */\n endAdornment?: React.ReactNode;\n /** The value to be set on the 'li' element */\n value?: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListItemClasses;\n}\n\nconst applyClassNameAndStateToElement = (\n element,\n selected,\n disabled,\n onClick,\n className,\n externalClassname\n) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n checked: !!selected,\n disabled,\n onChange: (evt) => onClick?.(evt),\n });\n }\n\n return null;\n};\n\nconst applyClassNameToElement = (element, className, externalClassname) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n });\n }\n\n return null;\n};\n\n/**\n * ListItem description/documentation paragraph\n */\nexport const HvListItem = (props: HvListItemProps) => {\n const {\n id,\n classes,\n className,\n role,\n value,\n selected,\n disabled,\n interactive: interactiveProp,\n condensed: condensedProp,\n disableGutters: disableGuttersProp,\n startAdornment,\n endAdornment,\n onClick,\n children,\n tabIndex,\n ...others\n } = useDefaultProps(\"HvListItem\", props);\n\n const {\n topContainerRef,\n condensed: condensedContext,\n disableGutters: disableGuttersContext,\n interactive: interactiveContext,\n } = useContext<any>(HvListContext);\n\n const condensed = condensedProp != null ? condensedProp : condensedContext;\n const disableGutters =\n disableGuttersProp != null ? disableGuttersProp : disableGuttersContext;\n const interactive =\n interactiveProp != null ? interactiveProp : interactiveContext;\n\n const handleOnClick = useCallback(\n (evt) => {\n if (!disabled) {\n onClick?.(evt);\n }\n },\n [disabled, onClick]\n );\n\n const clonedStartAdornment = useMemo(\n () =>\n applyClassNameAndStateToElement(\n startAdornment,\n selected,\n disabled,\n handleOnClick,\n clsx(\n listItemClasses.startAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.startAdornment, disabled && classes?.disabled)\n ),\n [\n classes?.startAdornment,\n classes?.disabled,\n disabled,\n handleOnClick,\n selected,\n startAdornment,\n ]\n );\n const clonedEndAdornment = useMemo(\n () =>\n applyClassNameToElement(\n endAdornment,\n clsx(\n listItemClasses.endAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.endAdornment, disabled && classes?.disabled)\n ),\n [classes?.endAdornment, classes?.disabled, disabled, endAdornment]\n );\n\n const roleOptionAriaProps =\n role === \"option\" || role === \"menuitem\"\n ? {\n \"aria-disabled\": disabled || undefined,\n \"aria-selected\": selected,\n }\n : {};\n\n const listItem = (\n <StyledListItem\n id={id}\n role={role}\n value={value}\n onClick={handleOnClick}\n onKeyDown={() => {}}\n className={clsx(\n className,\n listItemClasses.root,\n classes?.root,\n !disableGutters && clsx(listItemClasses.gutters, classes?.gutters),\n condensed && clsx(listItemClasses.condensed, classes?.condensed),\n interactive && clsx(listItemClasses.interactive, classes?.interactive),\n selected && clsx(listItemClasses.selected, classes?.selected),\n disabled && clsx(listItemClasses.disabled, classes?.disabled),\n startAdornment != null &&\n clsx(listItemClasses.withStartAdornment, classes?.withStartAdornment),\n endAdornment != null &&\n clsx(listItemClasses.withEndAdornment, classes?.withEndAdornment)\n )}\n $gutters={!disableGutters}\n $interactive={interactive}\n $disabled={disabled || false}\n $selected={selected || false}\n $startAdornment={startAdornment != null}\n $endAdornment={endAdornment != null}\n {...roleOptionAriaProps}\n {...others}\n >\n {clonedStartAdornment}\n {children}\n {clonedEndAdornment}\n </StyledListItem>\n );\n\n return interactiveProp ? (\n <StyledFocus\n rootRef={topContainerRef}\n selected={selected}\n disabledClass={disabled || undefined}\n strategy={role === \"option\" ? \"listbox\" : \"menu\"}\n classes={{ focus: clsx(classes?.focus, listItemClasses.focus) }}\n configuration={{\n tabIndex,\n }}\n >\n {listItem}\n </StyledFocus>\n ) : (\n listItem\n );\n};\n"],"names":["applyClassNameAndStateToElement","element","selected","disabled","onClick","className","externalClassname","React","cloneElement","clsx","props","checked","onChange","evt","applyClassNameToElement","HvListItem","id","classes","role","value","interactive","interactiveProp","condensed","condensedProp","disableGutters","disableGuttersProp","startAdornment","endAdornment","children","tabIndex","others","useDefaultProps","topContainerRef","condensedContext","disableGuttersContext","interactiveContext","useContext","HvListContext","handleOnClick","useCallback","clonedStartAdornment","useMemo","listItemClasses","clonedEndAdornment","roleOptionAriaProps","undefined","listItem","StyledListItem","onKeyDown","root","gutters","withStartAdornment","withEndAdornment","$gutters","$interactive","$disabled","$selected","$startAdornment","$endAdornment","StyledFocus","rootRef","disabledClass","strategy","focus","configuration"],"mappings":";;;;;;;AA2DA,MAAMA,kCAAkCA,CACtCC,SACAC,UACAC,UACAC,SACAC,WACAC,sBACG;;AACH,MAAIL,WAAW,MAAM;AACZM,WAAAA,eAAMC,aAAaP,SAAS;AAAA,MACjCI,WAAWI,KAAKJ,WAAWC,oBAAmBL,wCAASS,UAATT,mBAAgBI,SAAS;AAAA,MACvEM,SAAS,CAAC,CAACT;AAAAA,MACXC;AAAAA,MACAS,UAAWC,CAAQT,QAAAA,mCAAUS;AAAAA,IAAG,CACjC;AAAA,EACH;AAEO,SAAA;AACT;AAEA,MAAMC,0BAA0BA,CAACb,SAASI,WAAWC,sBAAsB;;AACzE,MAAIL,WAAW,MAAM;AACZM,WAAAA,eAAMC,aAAaP,SAAS;AAAA,MACjCI,WAAWI,KAAKJ,WAAWC,oBAAmBL,wCAASS,UAATT,mBAAgBI,SAAS;AAAA,IAAA,CACxE;AAAA,EACH;AAEO,SAAA;AACT;AAKaU,MAAAA,aAAaA,CAACL,UAA2B;AAC9C,QAAA;AAAA,IACJM;AAAAA,IACAC;AAAAA,IACAZ;AAAAA,IACAa;AAAAA,IACAC;AAAAA,IACAjB;AAAAA,IACAC;AAAAA,IACAiB,aAAaC;AAAAA,IACbC,WAAWC;AAAAA,IACXC,gBAAgBC;AAAAA,IAChBC;AAAAA,IACAC;AAAAA,IACAvB;AAAAA,IACAwB;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,cAAcrB,KAAK;AAEjC,QAAA;AAAA,IACJsB;AAAAA,IACAV,WAAWW;AAAAA,IACXT,gBAAgBU;AAAAA,IAChBd,aAAae;AAAAA,EAAAA,IACXC,WAAgBC,aAAa;AAE3Bf,QAAAA,YAAYC,iBAAiB,OAAOA,gBAAgBU;AACpDT,QAAAA,iBACJC,sBAAsB,OAAOA,qBAAqBS;AAC9Cd,QAAAA,cACJC,mBAAmB,OAAOA,kBAAkBc;AAExCG,QAAAA,gBAAgBC,YACnB1B,CAAQ,QAAA;AACP,QAAI,CAACV,UAAU;AACbC,yCAAUS;AAAAA,IACZ;AAAA,EAAA,GAEF,CAACV,UAAUC,OAAO,CACpB;AAEA,QAAMoC,uBAAuBC,QAC3B,MACEzC,gCACE0B,gBACAxB,UACAC,UACAmC,eACA7B,KACEiC,gBAAgBhB,gBAChBvB,YAAYuC,gBAAgBvC,QAC9B,GACAM,KAAKQ,mCAASS,gBAAgBvB,aAAYc,mCAASd,SAAQ,CAC7D,GACF,CACEc,mCAASS,gBACTT,mCAASd,UACTA,UACAmC,eACApC,UACAwB,cAAc,CAElB;AACMiB,QAAAA,qBAAqBF,QACzB,MACE3B,wBACEa,cACAlB,KACEiC,gBAAgBf,cAChBxB,YAAYuC,gBAAgBvC,QAC9B,GACAM,KAAKQ,mCAASU,cAAcxB,aAAYc,mCAASd,SAAQ,CAC3D,GACF,CAACc,mCAASU,cAAcV,mCAASd,UAAUA,UAAUwB,YAAY,CACnE;AAEA,QAAMiB,sBACJ1B,SAAS,YAAYA,SAAS,aAC1B;AAAA,IACE,iBAAiBf,YAAY0C;AAAAA,IAC7B,iBAAiB3C;AAAAA,MAEnB;AAEA4C,QAAAA,gCACHC,gBAAc;AAAA,IACb/B;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAf,SAASkC;AAAAA,IACTU,WAAWA,MAAM;AAAA,IAAC;AAAA,IAClB3C,WAAWI,KACTJ,WACAqC,gBAAgBO,MAChBhC,mCAASgC,MACT,CAACzB,kBAAkBf,KAAKiC,gBAAgBQ,SAASjC,mCAASiC,OAAO,GACjE5B,aAAab,KAAKiC,gBAAgBpB,WAAWL,mCAASK,SAAS,GAC/DF,eAAeX,KAAKiC,gBAAgBtB,aAAaH,mCAASG,WAAW,GACrElB,YAAYO,KAAKiC,gBAAgBxC,UAAUe,mCAASf,QAAQ,GAC5DC,YAAYM,KAAKiC,gBAAgBvC,UAAUc,mCAASd,QAAQ,GAC5DuB,kBAAkB,QAChBjB,KAAKiC,gBAAgBS,oBAAoBlC,mCAASkC,kBAAkB,GACtExB,gBAAgB,QACdlB,KAAKiC,gBAAgBU,kBAAkBnC,mCAASmC,gBAAgB,CACpE;AAAA,IACAC,UAAU,CAAC7B;AAAAA,IACX8B,cAAclC;AAAAA,IACdmC,WAAWpD,YAAY;AAAA,IACvBqD,WAAWtD,YAAY;AAAA,IACvBuD,iBAAiB/B,kBAAkB;AAAA,IACnCgC,eAAe/B,gBAAgB;AAAA,IAAK,GAChCiB;AAAAA,IAAmB,GACnBd;AAAAA,IAAMF,UAETY,CAAAA,sBACAZ,UACAe,kBAAkB;AAAA,EAAA,CACL;AAGXtB,SAAAA,sCACJsC,aAAW;AAAA,IACVC,SAAS5B;AAAAA,IACT9B;AAAAA,IACA2D,eAAe1D,YAAY0C;AAAAA,IAC3BiB,UAAU5C,SAAS,WAAW,YAAY;AAAA,IAC1CD,SAAS;AAAA,MAAE8C,OAAOtD,KAAKQ,mCAAS8C,OAAOrB,gBAAgBqB,KAAK;AAAA,IAAE;AAAA,IAC9DC,eAAe;AAAA,MACbnC;AAAAA,IACF;AAAA,IAAED,UAEDkB;AAAAA,EACU,CAAA,IAEbA;AAEJ;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
2
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
2
3
|
import { clsx } from "clsx";
|
|
3
4
|
import range from "lodash/range";
|
|
4
5
|
import { StyledRoot, StyledBarContainer, StyledBar, StyledLabel } from "./Loading.styles.js";
|
|
@@ -13,7 +14,7 @@ const HvLoading = (props) => {
|
|
|
13
14
|
classes,
|
|
14
15
|
className,
|
|
15
16
|
...others
|
|
16
|
-
} = props;
|
|
17
|
+
} = useDefaultProps("HvLoading", props);
|
|
17
18
|
const getColor = (colorName) => {
|
|
18
19
|
return color ? theme.colors[color] || color : theme.colors[colorName];
|
|
19
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sources":["../../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { clsx } from \"clsx\";\n\nimport range from \"lodash/range\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n StyledBar,\n StyledBarContainer,\n StyledLabel,\n StyledRoot,\n} from \"./Loading.styles\";\nimport loadingClasses, { HvLoadingClasses } from \"./loadingClasses\";\n\nexport interface HvLoadingProps extends HvBaseProps {\n /** Indicates if the component should be render in a small size. */\n small?: boolean;\n /** The label to be displayed. */\n label?: string | React.ReactNode;\n /** Whether the loading animation is hidden. */\n hidden?: boolean;\n /** Color applied to the bars. */\n color?: string;\n classes?: HvLoadingClasses;\n}\n\n/**\n * Loading provides feedback about a process that is taking place in the application.\n */\nexport const HvLoading = (props: HvLoadingProps) => {\n const { color, hidden, small, label, classes, className, ...others }
|
|
1
|
+
{"version":3,"file":"Loading.js","sources":["../../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { clsx } from \"clsx\";\n\nimport range from \"lodash/range\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n StyledBar,\n StyledBarContainer,\n StyledLabel,\n StyledRoot,\n} from \"./Loading.styles\";\nimport loadingClasses, { HvLoadingClasses } from \"./loadingClasses\";\n\nexport interface HvLoadingProps extends HvBaseProps {\n /** Indicates if the component should be render in a small size. */\n small?: boolean;\n /** The label to be displayed. */\n label?: string | React.ReactNode;\n /** Whether the loading animation is hidden. */\n hidden?: boolean;\n /** Color applied to the bars. */\n color?: string;\n classes?: HvLoadingClasses;\n}\n\n/**\n * Loading provides feedback about a process that is taking place in the application.\n */\nexport const HvLoading = (props: HvLoadingProps) => {\n const { color, hidden, small, label, classes, className, ...others } =\n useDefaultProps(\"HvLoading\", props);\n\n const getColor = (colorName: string) => {\n return color ? theme.colors[color] || color : theme.colors[colorName];\n };\n\n const size = small ? \"small\" : \"regular\";\n const colorVariant = color ? \"Color\" : \"\";\n const variant = `${size}${colorVariant}`;\n\n const inline = { backgroundColor: getColor(small ? \"secondary\" : \"brand\") };\n return (\n <StyledRoot\n hidden={!!hidden}\n className={clsx(\n className,\n loadingClasses.root,\n classes?.root,\n hidden && clsx(classes?.hidden, loadingClasses.hidden)\n )}\n {...others}\n >\n <StyledBarContainer\n className={clsx(loadingClasses.barContainer, classes?.barContainer)}\n >\n {range(0, 3).map((e) => (\n <StyledBar\n key={e}\n style={inline}\n className={clsx(\n loadingClasses.loadingBar,\n classes?.loadingBar,\n loadingClasses[variant],\n classes?.[variant]\n )}\n $variant={variant}\n />\n ))}\n </StyledBarContainer>\n {label && (\n <StyledLabel\n variant=\"caption1\"\n className={clsx(loadingClasses.label, classes?.label)}\n >\n {label}\n </StyledLabel>\n )}\n </StyledRoot>\n );\n};\n"],"names":["HvLoading","props","color","hidden","small","label","classes","className","others","useDefaultProps","getColor","colorName","theme","colors","size","colorVariant","variant","inline","backgroundColor","StyledRoot","clsx","loadingClasses","root","children","_jsx","StyledBarContainer","barContainer","range","map","e","StyledBar","style","loadingBar","$variant","StyledLabel"],"mappings":";;;;;;;AAgCaA,MAAAA,YAAYA,CAACC,UAA0B;AAC5C,QAAA;AAAA,IAAEC;AAAAA,IAAOC;AAAAA,IAAQC;AAAAA,IAAOC;AAAAA,IAAOC;AAAAA,IAASC;AAAAA,IAAW,GAAGC;AAAAA,EAAAA,IAC1DC,gBAAgB,aAAaR,KAAK;AAE9BS,QAAAA,WAAWA,CAACC,cAAsB;AAC/BT,WAAAA,QAAQU,MAAMC,OAAOX,KAAK,KAAKA,QAAQU,MAAMC,OAAOF,SAAS;AAAA,EAAA;AAGhEG,QAAAA,OAAOV,QAAQ,UAAU;AACzBW,QAAAA,eAAeb,QAAQ,UAAU;AACjCc,QAAAA,UAAW,GAAEF,OAAOC;AAE1B,QAAME,SAAS;AAAA,IAAEC,iBAAiBR,SAASN,QAAQ,cAAc,OAAO;AAAA,EAAA;AACxE,8BACGe,YAAU;AAAA,IACThB,QAAQ,CAAC,CAACA;AAAAA,IACVI,WAAWa,KACTb,WACAc,eAAeC,MACfhB,mCAASgB,MACTnB,UAAUiB,KAAKd,mCAASH,QAAQkB,eAAelB,MAAM,CACvD;AAAA,IAAE,GACEK;AAAAA,IAAMe,UAAA,CAEVC,oBAACC,oBAAkB;AAAA,MACjBlB,WAAWa,KAAKC,eAAeK,cAAcpB,mCAASoB,YAAY;AAAA,MAAEH,UAEnEI,MAAM,GAAG,CAAC,EAAEC,IAAKC,CAAAA,0BACfC,WAAS;AAAA,QAERC,OAAOd;AAAAA,QACPV,WAAWa,KACTC,eAAeW,YACf1B,mCAAS0B,YACTX,eAAeL,OAAO,GACtBV,mCAAUU,QACZ;AAAA,QACAiB,UAAUjB;AAAAA,MAAQ,GARba,CASN,CACF;AAAA,IAAA,CACiB,GACnBxB,SACCmB,oBAACU,aAAW;AAAA,MACVlB,SAAQ;AAAA,MACRT,WAAWa,KAAKC,eAAehB,OAAOC,mCAASD,KAAK;AAAA,MAAEkB,UAErDlB;AAAAA,IAAAA,CACU,CACd;AAAA,EAAA,CACS;AAEhB;"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
2
3
|
import { StyledRoot, StyledFormContainer } from "./Login.styles.js";
|
|
3
4
|
import loginClasses from "./loginClasses.js";
|
|
4
5
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
5
|
-
const HvLogin = ({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
const HvLogin = (props) => {
|
|
7
|
+
const {
|
|
8
|
+
id,
|
|
9
|
+
className,
|
|
10
|
+
classes,
|
|
11
|
+
children,
|
|
12
|
+
background,
|
|
13
|
+
...others
|
|
14
|
+
} = useDefaultProps("HvLogin", props);
|
|
13
15
|
return /* @__PURE__ */ jsx(StyledRoot, {
|
|
14
16
|
id,
|
|
15
17
|
className: clsx(className, loginClasses.root, classes == null ? void 0 : classes.root),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../../../../src/components/Login/Login.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledFormContainer, StyledRoot } from \"./Login.styles\";\nimport loginClasses, { HvLoginClasses } from \"./loginClasses\";\n\nexport interface HvLoginProps extends HvBaseProps {\n /**\n * The path for the background image.\n */\n background?: string;\n /**\n * Class names to be applied.\n */\n classes?: HvLoginClasses;\n}\n\n/**\n * Container layout for the login form.\n */\nexport const HvLogin = ({\n id
|
|
1
|
+
{"version":3,"file":"Login.js","sources":["../../../../src/components/Login/Login.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledFormContainer, StyledRoot } from \"./Login.styles\";\nimport loginClasses, { HvLoginClasses } from \"./loginClasses\";\n\nexport interface HvLoginProps extends HvBaseProps {\n /**\n * The path for the background image.\n */\n background?: string;\n /**\n * Class names to be applied.\n */\n classes?: HvLoginClasses;\n}\n\n/**\n * Container layout for the login form.\n */\nexport const HvLogin = (props: HvLoginProps) => {\n const { id, className, classes, children, background, ...others } =\n useDefaultProps(\"HvLogin\", props);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(className, loginClasses.root, classes?.root)}\n style={{\n backgroundImage: background && `url(${background})`,\n }}\n {...others}\n >\n <StyledFormContainer\n className={clsx(loginClasses.formContainer, classes?.formContainer)}\n >\n {children}\n </StyledFormContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvLogin","props","id","className","classes","children","background","others","useDefaultProps","StyledRoot","clsx","loginClasses","root","style","backgroundImage","StyledFormContainer","formContainer"],"mappings":";;;;;AAsBaA,MAAAA,UAAUA,CAACC,UAAwB;AACxC,QAAA;AAAA,IAAEC;AAAAA,IAAIC;AAAAA,IAAWC;AAAAA,IAASC;AAAAA,IAAUC;AAAAA,IAAY,GAAGC;AAAAA,EAAAA,IACvDC,gBAAgB,WAAWP,KAAK;AAElC,6BACGQ,YAAU;AAAA,IACTP;AAAAA,IACAC,WAAWO,KAAKP,WAAWQ,aAAaC,MAAMR,mCAASQ,IAAI;AAAA,IAC3DC,OAAO;AAAA,MACLC,iBAAiBR,cAAe,OAAMA;AAAAA,IACxC;AAAA,IAAE,GACEC;AAAAA,IAAMF,8BAETU,qBAAmB;AAAA,MAClBZ,WAAWO,KAAKC,aAAaK,eAAeZ,mCAASY,aAAa;AAAA,MAAEX;AAAAA,IAAAA,CAGjD;AAAA,EAAA,CACX;AAEhB;"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
2
3
|
import React__default, { cloneElement } from "react";
|
|
3
4
|
import { StyledRoot, StyledButton } from "./MultiButton.styles.js";
|
|
4
5
|
import multiButtonClasses from "./multiButtonClasses.js";
|
|
5
6
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
6
|
-
const HvMultiButton = ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const HvMultiButton = (props) => {
|
|
8
|
+
const {
|
|
9
|
+
className,
|
|
10
|
+
children,
|
|
11
|
+
classes,
|
|
12
|
+
disabled = false,
|
|
13
|
+
vertical = false,
|
|
14
|
+
variant = "secondarySubtle",
|
|
15
|
+
...others
|
|
16
|
+
} = useDefaultProps("HvMultiButton", props);
|
|
15
17
|
return /* @__PURE__ */ jsx(StyledRoot, {
|
|
16
18
|
className: clsx(className, multiButtonClasses.root, classes == null ? void 0 : classes.root, vertical && clsx(classes == null ? void 0 : classes.vertical, multiButtonClasses.vertical)),
|
|
17
19
|
$vertical: vertical,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiButton.js","sources":["../../../../src/components/MultiButton/MultiButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { cloneElement } from \"react\";\n\nimport { HvButtonVariant } from \"@core/components/Button\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledButton, StyledRoot } from \"./MultiButton.styles\";\nimport multiButtonClasses, { HvMultiButtonClasses } from \"./multiButtonClasses\";\n\nexport interface HvMultiButtonProps extends HvBaseProps {\n /** If all the buttons are disabled. */\n disabled?: boolean;\n /** If the MultiButton is to be displayed vertically. */\n vertical?: boolean;\n /** Category of button to use */\n variant?: HvButtonVariant;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMultiButtonClasses;\n}\n\nexport const HvMultiButton = ({\n className,\n
|
|
1
|
+
{"version":3,"file":"MultiButton.js","sources":["../../../../src/components/MultiButton/MultiButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport React, { cloneElement } from \"react\";\n\nimport { HvButtonVariant } from \"@core/components/Button\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledButton, StyledRoot } from \"./MultiButton.styles\";\nimport multiButtonClasses, { HvMultiButtonClasses } from \"./multiButtonClasses\";\n\nexport interface HvMultiButtonProps extends HvBaseProps {\n /** If all the buttons are disabled. */\n disabled?: boolean;\n /** If the MultiButton is to be displayed vertically. */\n vertical?: boolean;\n /** Category of button to use */\n variant?: HvButtonVariant;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMultiButtonClasses;\n}\n\nexport const HvMultiButton = (props: HvMultiButtonProps) => {\n const {\n className,\n children,\n classes,\n disabled = false,\n vertical = false,\n variant = \"secondarySubtle\",\n ...others\n } = useDefaultProps(\"HvMultiButton\", props);\n\n return (\n <StyledRoot\n className={clsx(\n className,\n multiButtonClasses.root,\n classes?.root,\n vertical && clsx(classes?.vertical, multiButtonClasses.vertical)\n )}\n $vertical={vertical}\n {...others}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childIsSelected = !!child.props.selected;\n\n const btn = cloneElement(child as React.ReactElement, {\n variant,\n disabled: disabled || child.props.disabled,\n \"aria-pressed\": childIsSelected,\n className: clsx(\n child.props.className,\n multiButtonClasses.button,\n classes?.button,\n childIsSelected &&\n clsx(multiButtonClasses.selected, classes?.selected)\n ),\n });\n\n const StyledBtn = StyledButton(btn);\n\n return React.createElement(StyledBtn);\n }\n })}\n </StyledRoot>\n );\n};\n"],"names":["HvMultiButton","props","className","children","classes","disabled","vertical","variant","others","useDefaultProps","StyledRoot","clsx","multiButtonClasses","root","$vertical","React","Children","map","child","isValidElement","childIsSelected","selected","btn","cloneElement","button","StyledBtn","StyledButton","createElement"],"mappings":";;;;;;AAsBaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,UAAU;AAAA,IACV,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,iBAAiBR,KAAK;AAE1C,6BACGS,YAAU;AAAA,IACTR,WAAWS,KACTT,WACAU,mBAAmBC,MACnBT,mCAASS,MACTP,YAAYK,KAAKP,mCAASE,UAAUM,mBAAmBN,QAAQ,CACjE;AAAA,IACAQ,WAAWR;AAAAA,IAAS,GAChBE;AAAAA,IAAML,UAETY,eAAMC,SAASC,IAAId,UAAWe,CAAU,UAAA;AACnCH,UAAAA,eAAMI,eAAeD,KAAK,GAAG;AAC/B,cAAME,kBAAkB,CAAC,CAACF,MAAMjB,MAAMoB;AAEhCC,cAAAA,MAAMC,aAAaL,OAA6B;AAAA,UACpDX;AAAAA,UACAF,UAAUA,YAAYa,MAAMjB,MAAMI;AAAAA,UAClC,gBAAgBe;AAAAA,UAChBlB,WAAWS,KACTO,MAAMjB,MAAMC,WACZU,mBAAmBY,QACnBpB,mCAASoB,QACTJ,mBACET,KAAKC,mBAAmBS,UAAUjB,mCAASiB,QAAQ,CACvD;AAAA,QAAA,CACD;AAEKI,cAAAA,YAAYC,aAAaJ,GAAG;AAE3BP,eAAAA,eAAMY,cAAcF,SAAS;AAAA,MACtC;AAAA,IAAA,CACD;AAAA,EAAA,CACS;AAEhB;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
2
3
|
import { useMemo } from "react";
|
|
3
4
|
import { useResizeDetector } from "react-resize-detector";
|
|
4
5
|
import { StyledDataContainer } from "./OverflowTooltip.styles.js";
|
|
@@ -7,17 +8,18 @@ import { jsx } from "@emotion/react/jsx-runtime";
|
|
|
7
8
|
import { HvTooltip } from "../Tooltip/Tooltip.js";
|
|
8
9
|
import { HvTypography } from "../Typography/Typography.js";
|
|
9
10
|
const isParagraph = (children = "") => /\s/.test(children);
|
|
10
|
-
const HvOverflowTooltip = ({
|
|
11
|
-
id,
|
|
12
|
-
classes,
|
|
13
|
-
className,
|
|
14
|
-
data,
|
|
15
|
-
open,
|
|
16
|
-
paragraphOverflow,
|
|
17
|
-
placement = "top-start",
|
|
18
|
-
tooltipsProps
|
|
19
|
-
}) => {
|
|
11
|
+
const HvOverflowTooltip = (props) => {
|
|
20
12
|
var _a;
|
|
13
|
+
const {
|
|
14
|
+
id,
|
|
15
|
+
classes,
|
|
16
|
+
className,
|
|
17
|
+
data,
|
|
18
|
+
open,
|
|
19
|
+
paragraphOverflow,
|
|
20
|
+
placement = "top-start",
|
|
21
|
+
tooltipsProps
|
|
22
|
+
} = useDefaultProps("HvOverflowTooltip", props);
|
|
21
23
|
const {
|
|
22
24
|
width = 0,
|
|
23
25
|
ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTooltip.js","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { useMemo } from \"react\";\n\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvTooltip, HvTooltipProps } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children = \"\") => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = ({\n id,\n
|
|
1
|
+
{"version":3,"file":"OverflowTooltip.js","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { useMemo } from \"react\";\n\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvTooltip, HvTooltipProps } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children = \"\") => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = (props: HvOverflowTooltipProps) => {\n const {\n id,\n classes,\n className,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n } = useDefaultProps(\"HvOverflowTooltip\", props);\n\n const { width = 0, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n const scrollWidth = ref.current?.scrollWidth || 0;\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = scrollWidth - width >= 1;\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data?.toString()),\n [data, paragraphOverflow]\n );\n\n const content = useMemo(\n () => (\n <StyledDataContainer\n ref={ref}\n className={clsx(\n className,\n !isParag &&\n clsx(overflowTooltipClasses.tooltipAnchor, classes?.tooltipAnchor),\n isParag &&\n clsx(\n overflowTooltipClasses.tooltipAnchorParagraph,\n classes?.tooltipAnchorParagraph\n )\n )}\n $isParag={isParag}\n >\n {data}\n </StyledDataContainer>\n ),\n [\n className,\n classes?.tooltipAnchor,\n classes?.tooltipAnchorParagraph,\n data,\n isParag,\n ref,\n ]\n );\n\n return open || isOverflowing ? (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography\n className={clsx(\n overflowTooltipClasses.tooltipData,\n classes?.tooltipData\n )}\n variant=\"body\"\n >\n {data}\n </HvTypography>\n }\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n ) : (\n content\n );\n};\n"],"names":["isParagraph","children","test","HvOverflowTooltip","props","id","classes","className","data","open","paragraphOverflow","placement","tooltipsProps","useDefaultProps","width","ref","useResizeDetector","refreshMode","refreshOptions","trailing","handleHeight","scrollWidth","current","isOverflowing","isParag","useMemo","toString","content","_jsx","StyledDataContainer","clsx","overflowTooltipClasses","tooltipAnchor","tooltipAnchorParagraph","$isParag","HvTooltip","disableHoverListener","title","HvTypography","tooltipData","variant"],"mappings":";;;;;;;;;AA2CA,MAAMA,cAAcA,CAACC,WAAW,OAAO,KAAKC,KAAKD,QAAQ;AAK5CE,MAAAA,oBAAoBA,CAACC,UAAkC;;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,YAAY;AAAA,IACZC;AAAAA,EAAAA,IACEC,gBAAgB,qBAAqBT,KAAK;AAExC,QAAA;AAAA,IAAEU,QAAQ;AAAA,IAAGC;AAAAA,MAAQC,kBAAkB;AAAA,IAC3CC,aAAa;AAAA,IACbC,gBAAgB;AAAA,MACdC,UAAU;AAAA,IACZ;AAAA,IACAC,cAAc;AAAA,EAAA,CACf;AACKC,QAAAA,gBAAcN,SAAIO,YAAJP,mBAAaM,gBAAe;AAE1CE,QAAAA,gBAAgBF,cAAcP,SAAS;AAE7C,QAAMU,UAAUC,QACd,MAAMf,qBAAqBV,YAAYQ,6BAAMkB,UAAU,GACvD,CAAClB,MAAME,iBAAiB,CAC1B;AAEA,QAAMiB,UAAUF,QACd,MACEG,oBAACC,qBAAmB;AAAA,IAClBd;AAAAA,IACAR,WAAWuB,KACTvB,WACA,CAACiB,WACCM,KAAKC,uBAAuBC,eAAe1B,mCAAS0B,aAAa,GACnER,WACEM,KACEC,uBAAuBE,wBACvB3B,mCAAS2B,sBACX,CACJ;AAAA,IACAC,UAAUV;AAAAA,IAAQvB,UAEjBO;AAAAA,EACkB,CAAA,GAEvB,CACED,WACAD,mCAAS0B,eACT1B,mCAAS2B,wBACTzB,MACAgB,SACAT,GAAG,CAEP;AAEON,SAAAA,QAAQc,gBACbK,oBAACO,WAAS;AAAA,IACR9B;AAAAA,IACA+B,sBAAsB,CAACb;AAAAA,IACvBd;AAAAA,IACAE;AAAAA,IACA0B,2BACGC,cAAY;AAAA,MACX/B,WAAWuB,KACTC,uBAAuBQ,aACvBjC,mCAASiC,WACX;AAAA,MACAC,SAAQ;AAAA,MAAMvC,UAEbO;AAAAA,IAAAA,CACW;AAAA,IACf,GACGI;AAAAA,IAAaX,UAEhB0B;AAAAA,EACQ,CAAA,IAEXA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonIconTooltip.js","sources":["../../../../src/components/Pagination/ButtonIconTooltip.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvTooltip } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\ninterface ButtonIconTooltipProps extends HvButtonProps {\n tooltip: ReactNode;\n children: ReactNode;\n}\n\nconst ButtonIconTooltip = ({\n tooltip,\n children,\n ...buttonProps\n}: ButtonIconTooltipProps) => {\n return (\n <HvTooltip title={<HvTypography>{tooltip}</HvTypography>}>\n <div>\n <HvButton icon
|
|
1
|
+
{"version":3,"file":"ButtonIconTooltip.js","sources":["../../../../src/components/Pagination/ButtonIconTooltip.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvTooltip } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\ninterface ButtonIconTooltipProps extends HvButtonProps {\n tooltip: ReactNode;\n children: ReactNode;\n}\n\nconst ButtonIconTooltip = ({\n tooltip,\n children,\n ...buttonProps\n}: ButtonIconTooltipProps) => {\n return (\n <HvTooltip title={<HvTypography>{tooltip}</HvTypography>}>\n <div>\n <HvButton icon {...buttonProps}>\n {children}\n </HvButton>\n </div>\n </HvTooltip>\n );\n};\nexport default ButtonIconTooltip;\n"],"names":["ButtonIconTooltip","tooltip","children","buttonProps","HvTooltip","title","HvTypography","HvButton","icon"],"mappings":";;;;AAWA,MAAMA,oBAAoBA,CAAC;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACmB,MAAM;AAC5B,6BACGC,WAAS;AAAA,IAACC,2BAAQC,cAAY;AAAA,MAAAJ,UAAED;AAAAA,IAAAA,CAAsB;AAAA,IAAEC,8BACvD,OAAA;AAAA,MAAAA,8BACGK,UAAQ;AAAA,QAACC,MAAI;AAAA,QAAA,GAAKL;AAAAA,QAAWD;AAAAA,MAAAA,CAEpB;AAAA,IAAA,CACP;AAAA,EAAA,CACI;AAEf;AACA,MAAA,sBAAeF;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect } from "react";
|
|
2
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
2
3
|
import { Hidden } from "@mui/material";
|
|
3
4
|
import { Start, Backwards, Forwards, End } from "@hitachivantara/uikit-react-icons";
|
|
4
5
|
import { setId } from "../../utils/setId.js";
|
|
@@ -28,26 +29,27 @@ const DEFAULT_LABELS = {
|
|
|
28
29
|
lastPage: "Last Page"
|
|
29
30
|
};
|
|
30
31
|
const defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];
|
|
31
|
-
const HvPagination = ({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
const HvPagination = (props) => {
|
|
33
|
+
const {
|
|
34
|
+
classes: classesProp,
|
|
35
|
+
className,
|
|
36
|
+
id,
|
|
37
|
+
pages = 1,
|
|
38
|
+
page = 0,
|
|
39
|
+
showPageSizeOptions = true,
|
|
40
|
+
pageSizeOptions = defaultPageSizeOptions,
|
|
41
|
+
pageSize = defaultPageSizeOptions[1],
|
|
42
|
+
showPageJump = true,
|
|
43
|
+
canPrevious = false,
|
|
44
|
+
canNext = false,
|
|
45
|
+
onPageChange,
|
|
46
|
+
onPageSizeChange,
|
|
47
|
+
labels: labelsProp,
|
|
48
|
+
showPageProps,
|
|
49
|
+
navigationProps,
|
|
50
|
+
currentPageInputProps,
|
|
51
|
+
...others
|
|
52
|
+
} = useDefaultProps("HvPagination", props);
|
|
51
53
|
const labels = useLabels(DEFAULT_LABELS, labelsProp);
|
|
52
54
|
const [pageInput, handleInputChange] = usePageInput(page);
|
|
53
55
|
const {
|