@hitachivantara/uikit-react-core 5.7.4 → 5.7.5
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.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +5 -5
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.cjs +2 -2
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/Banner/Banner.cjs +1 -1
- package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.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/Banner/BannerContent/MessageContainer/MessageContainer.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +3 -3
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +18 -20
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.cjs +2 -2
- package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.styles.cjs +5 -5
- package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +2 -3
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +0 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
- package/dist/cjs/components/Card/Content/Content.cjs +2 -2
- package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.cjs +2 -2
- package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +9 -11
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs +1 -1
- package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs +1 -1
- package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
- package/dist/cjs/components/Container/Container.cjs +1 -1
- package/dist/cjs/components/Container/Container.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +3 -3
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +5 -5
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.cjs +2 -2
- package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +3 -3
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +4 -4
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +1 -1
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +3 -3
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroup.cjs +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs +1 -1
- package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +2 -2
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +6 -4
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs +3 -3
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +1 -1
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
- package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.cjs.map +1 -1
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs +2 -2
- package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs.map +1 -1
- package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +9 -6
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +9 -9
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +1 -0
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +2 -2
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs +6 -6
- package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +4 -4
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +3 -3
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +2 -2
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs +5 -5
- package/dist/cjs/components/Snackbar/Snackbar.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.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.cjs +3 -3
- package/dist/cjs/components/Table/Table.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +2 -2
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +5 -5
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -2
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +3 -3
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -3
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +5 -5
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +4 -4
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +12 -6
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/utils.cjs +2 -1
- package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +2 -2
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +2 -2
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +5 -3
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +3 -3
- package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +3 -2
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +3 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +7 -10
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +4 -4
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +4 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs.map +1 -1
- package/dist/cjs/providers/Provider.cjs +2 -2
- package/dist/cjs/providers/Provider.cjs.map +1 -1
- package/dist/cjs/utils/iconVariant.cjs.map +1 -1
- package/dist/cjs/utils/theme.cjs +3 -4
- package/dist/cjs/utils/theme.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +5 -5
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/esm/components/Badge/Badge.js +2 -2
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Banner/Banner.js +1 -1
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +1 -1
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.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/Banner/BannerContent/MessageContainer/MessageContainer.js +1 -1
- package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +3 -3
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +18 -20
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.js +2 -2
- package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.styles.js +5 -5
- package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +2 -3
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +0 -1
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +1 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/components/Card/Content/Content.js +2 -2
- package/dist/esm/components/Card/Content/Content.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.js +1 -1
- package/dist/esm/components/Card/Header/Header.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.js +2 -2
- package/dist/esm/components/Card/Media/Media.js.map +1 -1
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +10 -12
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
- package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js +1 -1
- package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js +1 -1
- package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
- package/dist/esm/components/Container/Container.js +1 -1
- package/dist/esm/components/Container/Container.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +3 -3
- package/dist/esm/components/Controls/Controls.js.map +1 -1
- package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js +1 -1
- package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.styles.js +5 -5
- package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.js +2 -2
- package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.js +3 -3
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.js.map +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.js +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js +4 -4
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
- package/dist/esm/components/FilterGroup/Counter/Counter.js +1 -1
- package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +3 -3
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterGroup.js +1 -1
- package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js +1 -1
- package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +2 -2
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +6 -4
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.js +3 -3
- package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/components/Input/Input.js +1 -1
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Input/Input.styles.js.map +1 -1
- package/dist/esm/components/Kpi/Kpi.js.map +1 -1
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js +2 -2
- package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js.map +1 -1
- package/dist/esm/components/Loading/Loading.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.styles.js +9 -6
- package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +9 -9
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/QueryBuilder/QueryBuilder.js +1 -0
- package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +2 -2
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/Value.js +6 -6
- package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +4 -4
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +3 -3
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +2 -2
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js +5 -5
- package/dist/esm/components/Snackbar/Snackbar.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.map +1 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Table/Table.js +3 -3
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +2 -2
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +5 -5
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -2
- package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +3 -3
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -3
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +5 -5
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +4 -4
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +12 -6
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Table/utils/utils.js +2 -1
- package/dist/esm/components/Table/utils/utils.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +1 -1
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +2 -2
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +2 -2
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +6 -4
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +3 -3
- package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +3 -2
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +3 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +7 -10
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +4 -4
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +4 -1
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/providers/Provider.js +2 -2
- package/dist/esm/providers/Provider.js.map +1 -1
- package/dist/esm/utils/iconVariant.js.map +1 -1
- package/dist/esm/utils/theme.js +3 -4
- package/dist/esm/utils/theme.js.map +1 -1
- package/dist/types/index.d.ts +10 -7
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.styles.js","sources":["../../../../src/components/Pagination/Pagination.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport
|
|
1
|
+
{"version":3,"file":"Pagination.styles.js","sources":["../../../../src/components/Pagination/Pagination.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { inputClasses } from \"@core/components\";\nimport { CSSProperties } from \"react\";\nimport Select from \"./Select\";\nimport ButtonIconTooltip from \"./ButtonIconTooltip\";\nimport paginationClasses from \"./paginationClasses\";\n\nconst hoverColor = theme.colors.atmo3;\n\nexport const StyledRoot = styled(\"div\")({\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.space.sm,\n [`& .${paginationClasses.pageSizeInput}`]: {\n ...(theme.typography.label as CSSProperties),\n },\n [`& .${paginationClasses.pageSizeInputContainer}`]: {\n width: 40,\n minWidth: 40,\n maxWidth: theme.spacing(8),\n '& input[type=\"number\"]::-webkit-inner-spin-button, input[type=\"number\"]::-webkit-outer-spin-button':\n {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n },\n [`&& .${paginationClasses.pageSizeInputRoot}`]: {\n backgroundColor: \"transparent\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: hoverColor,\n },\n },\n});\n\nexport const StyledPageSizeOptions = styled(\"div\")({\n display: \"flex\",\n position: \"absolute\",\n height: 32,\n marginRight: 40,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n});\n\nexport const StyledPageSizePrev = styled(\"div\")({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"32px\",\n padding: \"8px 0\",\n});\n\nexport const StyledSelect = styled(Select)({\n display: \"inline-block\",\n margin: `0px ${theme.space.xs}`,\n width: \"auto\",\n});\n\nexport const StyledPageSizeTextContainer = styled(\"div\")({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"32px\",\n padding: \"8px 0\",\n});\n\nexport const StyledPageNavigator = styled(\"div\")({\n display: \"flex\",\n alignItems: \"stretch\",\n height: \"32px\",\n \"&>*\": {\n margin: `0 4px`,\n },\n});\n\nexport const StyledButtonIconTooltip = styled(ButtonIconTooltip)({\n padding: 0,\n});\n\nexport const StyledPageInfo = styled(\"div\")({\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n});\n\nexport const StyledPageJump = styled(\"div\")({\n display: \"inline-block\",\n marginRight: `4px`,\n [`& .${inputClasses.inputRoot}`]: {\n [`& .${paginationClasses.pageSizeInput}`]: {\n paddingLeft: `4px`,\n paddingRight: `4px`,\n margin: 0,\n textAlign: \"center\",\n borderRadius: theme.radii.base,\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: hoverColor,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n});\n"],"names":["hoverColor","theme","colors","atmo3","StyledRoot","process","env","NODE_ENV","target","label","position","zIndex","display","justifyContent","alignItems","flexWrap","marginTop","space","sm","paginationClasses","pageSizeInput","typography","pageSizeInputContainer","width","minWidth","maxWidth","spacing","WebkitAppearance","margin","pageSizeInputRoot","backgroundColor","StyledPageSizeOptions","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledPageSizePrev","StyledSelect","Select","xs","StyledPageSizeTextContainer","StyledPageNavigator","height","StyledButtonIconTooltip","ButtonIconTooltip","StyledPageInfo","StyledPageJump","marginRight","inputClasses","inputRoot","paddingLeft","paddingRight","textAlign","borderRadius","radii","base","MozAppearance","cursor"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sources":["../../../../src/components/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sources":["../../../../src/components/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport clamp from \"lodash/clamp\";\nimport { HvBaseProps } from \"@core/types\";\nimport { HvTypographyProps } from \"../Typography\";\nimport {\n StyledProgressBar,\n StyledProgressBarContainer,\n StyledProgressContainer,\n StyledRoot,\n StyledValue,\n} from \"./ProgressBar.styles\";\nimport progressBarClasses, { HvProgressBarClasses } from \"./progressBarClasses\";\n\nexport type HvProgressBarStatus = \"inProgress\" | \"completed\" | \"error\";\n\n/**\n * ProgressBar provides feedback about a process that is taking place in the application.\n */\nexport interface HvProgressBarProps extends HvBaseProps {\n /** The value of the progress bar. */\n value: number;\n /**\n * The status of the progress bar.\n *\n * inProgress is black, error is red and completed is green.\n *\n * When uncontrolled and unspecified it will default to \"inProgress\".\n */\n status?: HvProgressBarStatus;\n /** Aria Properties passed on to the progress bar. */\n labelProps?: HvTypographyProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvProgressBarClasses;\n}\n\nexport const HvProgressBar = (props: HvProgressBarProps) => {\n const {\n className,\n classes,\n value = 0,\n status = \"inProgress\",\n labelProps,\n ...others\n } = props;\n\n const clampedValue = clamp(value, 0, 100);\n\n return (\n <StyledRoot\n className={clsx(\n className,\n progressBarClasses.root,\n classes?.root,\n progressBarClasses.progress,\n classes?.progress\n )}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={clampedValue}\n {...others}\n >\n <StyledProgressContainer\n className={clsx(\n classes?.progressContainer,\n progressBarClasses.progressContainer\n )}\n >\n <StyledValue\n className={clsx(\n progressBarClasses.progressBarLabel,\n classes?.progressBarLabel,\n status === \"completed\" &&\n clsx(progressBarClasses.progressDone, classes?.progressDone)\n )}\n variant=\"caption2\"\n style={{ width: `${clampedValue}%` }}\n {...labelProps}\n >\n {`${clampedValue}%`}\n </StyledValue>\n <StyledProgressBarContainer\n className={clsx(\n classes?.progressBarContainer,\n progressBarClasses.progressBarContainer\n )}\n >\n <StyledProgressBar\n style={{ width: `${clampedValue}%` }}\n className={clsx(\n progressBarClasses.progressBar,\n classes?.progressBar,\n status === \"completed\" &&\n clsx(classes?.progressDone, progressBarClasses.progressDone),\n status === \"error\" &&\n clsx(classes?.progressError, progressBarClasses.progressError)\n )}\n $status={status}\n />\n </StyledProgressBarContainer>\n </StyledProgressContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvProgressBar","props","className","classes","value","status","labelProps","others","clampedValue","clamp","StyledRoot","clsx","progressBarClasses","root","progress","role","children","StyledProgressContainer","progressContainer","_jsx","StyledValue","progressBarLabel","progressDone","variant","style","width","StyledProgressBarContainer","progressBarContainer","StyledProgressBar","progressBar","progressError","$status"],"mappings":";;;;;AAmCaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,SAAS;AAAA,IACTC;AAAAA,IACA,GAAGC;AAAAA,EACDN,IAAAA;AAEJ,QAAMO,eAAeC,MAAML,OAAO,GAAG,GAAG;AAExC,6BACGM,YAAU;AAAA,IACTR,WAAWS,KACTT,WACAU,mBAAmBC,MACnBV,mCAASU,MACTD,mBAAmBE,UACnBX,mCAASW,QAAQ;AAAA,IAEnBC,MAAK;AAAA,IACL,iBAAe;AAAA,IACf,iBAAe;AAAA,IACf,iBAAeP;AAAAA,IAAa,GACxBD;AAAAA,IAAMS,+BAETC,yBAAuB;AAAA,MACtBf,WAAWS,KACTR,mCAASe,mBACTN,mBAAmBM,iBAAiB;AAAA,MACpCF,UAAA,CAEFG,oBAACC,aAAW;AAAA,QACVlB,WAAWS,KACTC,mBAAmBS,kBACnBlB,mCAASkB,kBACThB,WAAW,eACTM,KAAKC,mBAAmBU,cAAcnB,mCAASmB,YAAY,CAAC;AAAA,QAEhEC,SAAQ;AAAA,QACRC,OAAO;AAAA,UAAEC,OAAQ,GAAEjB;AAAAA,QAAgB;AAAA,QAAE,GACjCF;AAAAA,QAAUU,UAEZ,GAAER;AAAAA,MAAAA,CACQ,GACdW,oBAACO,4BAA0B;AAAA,QACzBxB,WAAWS,KACTR,mCAASwB,sBACTf,mBAAmBe,oBAAoB;AAAA,QACvCX,8BAEDY,mBAAiB;AAAA,UAChBJ,OAAO;AAAA,YAAEC,OAAQ,GAAEjB;AAAAA,UAAgB;AAAA,UACnCN,WAAWS,KACTC,mBAAmBiB,aACnB1B,mCAAS0B,aACTxB,WAAW,eACTM,KAAKR,mCAASmB,cAAcV,mBAAmBU,YAAY,GAC7DjB,WAAW,WACTM,KAAKR,mCAAS2B,eAAelB,mBAAmBkB,aAAa,CAAC;AAAA,UAElEC,SAAS1B;AAAAA,QAAAA,CAAO;AAAA,MAAA,CAES,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAEpB;AAEjB;"}
|
|
@@ -28,6 +28,7 @@ const HvQueryBuilder = ({
|
|
|
28
28
|
dispatchAction,
|
|
29
29
|
askAction,
|
|
30
30
|
attributes,
|
|
31
|
+
/* eslint-disable react/destructuring-assignment */
|
|
31
32
|
operators: operators ?? defaultcontext.operators,
|
|
32
33
|
combinators: combinators ?? defaultcontext.combinators,
|
|
33
34
|
maxDepth: maxDepth ?? defaultcontext.maxDepth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sources":["../../../../src/components/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport {\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport { QueryBuilderContext } from \"./Context\";\nimport { HvQueryBuilderClasses } from \"./queryBuilderClasses\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n Attribute,\n Query,\n QueryBuilderLabels,\n QueryCombinator,\n QueryOperator,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport interface HvQueryBuilderProps {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n attributes?: Record<string, Attribute>;\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators?: Record<string, QueryOperator[]>;\n /**\n * The query combinators operands.\n */\n combinators?: QueryCombinator[];\n /**\n * The initial query representation.\n */\n query?: Query;\n /**\n * Callback fired when query changes.\n * @param {Query} value - the query representation.\n */\n onChange?: (value: Query) => void;\n /**\n * Max depth of nested query groups.\n */\n maxDepth?: number;\n /**\n * An object containing all the labels.\n */\n labels?: QueryBuilderLabels;\n /**\n * A flag indicating if the Query Builder is in read only mode.\n */\n readOnly?: boolean;\n}\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * **PLEASE NOTE**: This component implementation is still a WIP. There might be breaking changes.\n */\nexport const HvQueryBuilder = ({\n attributes,\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n readOnly = false,\n classes,\n}: HvQueryBuilderProps) => {\n const [pendingAction, askAction] = useState<AskAction>();\n const currentAttributes = useRef<\n Record<string, Attribute> | undefined | null\n >(null);\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultcontext = useContext(QueryBuilderContext);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n operators: operators ?? defaultcontext.operators,\n combinators: combinators ?? defaultcontext.combinators,\n maxDepth: maxDepth ?? defaultcontext.maxDepth,\n labels: labels ?? defaultcontext.labels,\n initialTouched: initialState,\n readOnly,\n }),\n [\n attributes,\n operators,\n defaultcontext.operators,\n defaultcontext.combinators,\n defaultcontext.maxDepth,\n defaultcontext.labels,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <QueryBuilderContext.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </QueryBuilderContext.Provider>\n );\n};\n"],"names":["HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","readOnly","classes","pendingAction","askAction","useState","currentAttributes","useRef","state","dispatchAction","useReducer","reducer","initialState","emptyGroup","prevState","setPrevState","defaultcontext","useContext","QueryBuilderContext","context","useMemo","initialTouched","useEffect","current","type","isEqual","clearNodeIds","cloneDeep","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","_jsxs","Provider","value","children","_jsx","RuleGroup","level","id","combinator","rules","ConfirmationDialog","isOpen","onConfirm","onCancel","title","dialog","dialogTitle","message","dialogMessage","confirmButtonLabel","dialogConfirm","cancelButtonLabel","dialogCancel","closeButtonTooltip","dialogCloseTooltip"],"mappings":";;;;;;;;;AAqEO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC,WAAW;AAAA,EACXC;AACmB,MAAM;AACzB,QAAM,CAACC,eAAeC,SAAS,IAAIC,SAAqB;AAClDC,QAAAA,oBAAoBC,OAExB,IAAI;AACA,QAAA,CAACC,OAAOC,cAAc,IAAIC,WAC9BC,SACAhB,OACCiB,CAAAA,kBAAiBA,iBAAgBC,WAAY,CAAA;AAGhD,QAAMD,eAAejB,UAAUa;AAC/B,QAAM,CAACM,WAAWC,YAAY,IAAIV,SAAU;AAEtCW,QAAAA,iBAAiBC,WAAWC,mBAAmB;AAE/CC,QAAAA,UAAUC,QACd,OAAO;AAAA,IACLX;AAAAA,IACAL;AAAAA,IACAV;AAAAA,
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sources":["../../../../src/components/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport isEqual from \"lodash/isEqual\";\nimport {\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport { QueryBuilderContext } from \"./Context\";\nimport { HvQueryBuilderClasses } from \"./queryBuilderClasses\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n Attribute,\n Query,\n QueryBuilderLabels,\n QueryCombinator,\n QueryOperator,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport interface HvQueryBuilderProps {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n attributes?: Record<string, Attribute>;\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators?: Record<string, QueryOperator[]>;\n /**\n * The query combinators operands.\n */\n combinators?: QueryCombinator[];\n /**\n * The initial query representation.\n */\n query?: Query;\n /**\n * Callback fired when query changes.\n * @param {Query} value - the query representation.\n */\n onChange?: (value: Query) => void;\n /**\n * Max depth of nested query groups.\n */\n maxDepth?: number;\n /**\n * An object containing all the labels.\n */\n labels?: QueryBuilderLabels;\n /**\n * A flag indicating if the Query Builder is in read only mode.\n */\n readOnly?: boolean;\n}\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * **PLEASE NOTE**: This component implementation is still a WIP. There might be breaking changes.\n */\nexport const HvQueryBuilder = ({\n attributes,\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n readOnly = false,\n classes,\n}: HvQueryBuilderProps) => {\n const [pendingAction, askAction] = useState<AskAction>();\n const currentAttributes = useRef<\n Record<string, Attribute> | undefined | null\n >(null);\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultcontext = useContext(QueryBuilderContext);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n /* eslint-disable react/destructuring-assignment */\n operators: operators ?? defaultcontext.operators,\n combinators: combinators ?? defaultcontext.combinators,\n maxDepth: maxDepth ?? defaultcontext.maxDepth,\n labels: labels ?? defaultcontext.labels,\n initialTouched: initialState,\n readOnly,\n }),\n [\n attributes,\n operators,\n defaultcontext.operators,\n defaultcontext.combinators,\n defaultcontext.maxDepth,\n defaultcontext.labels,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <QueryBuilderContext.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </QueryBuilderContext.Provider>\n );\n};\n"],"names":["HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","readOnly","classes","pendingAction","askAction","useState","currentAttributes","useRef","state","dispatchAction","useReducer","reducer","initialState","emptyGroup","prevState","setPrevState","defaultcontext","useContext","QueryBuilderContext","context","useMemo","initialTouched","useEffect","current","type","isEqual","clearNodeIds","cloneDeep","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","_jsxs","Provider","value","children","_jsx","RuleGroup","level","id","combinator","rules","ConfirmationDialog","isOpen","onConfirm","onCancel","title","dialog","dialogTitle","message","dialogMessage","confirmButtonLabel","dialogConfirm","cancelButtonLabel","dialogCancel","closeButtonTooltip","dialogCloseTooltip"],"mappings":";;;;;;;;;AAqEO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC,WAAW;AAAA,EACXC;AACmB,MAAM;AACzB,QAAM,CAACC,eAAeC,SAAS,IAAIC,SAAqB;AAClDC,QAAAA,oBAAoBC,OAExB,IAAI;AACA,QAAA,CAACC,OAAOC,cAAc,IAAIC,WAC9BC,SACAhB,OACCiB,CAAAA,kBAAiBA,iBAAgBC,WAAY,CAAA;AAGhD,QAAMD,eAAejB,UAAUa;AAC/B,QAAM,CAACM,WAAWC,YAAY,IAAIV,SAAU;AAEtCW,QAAAA,iBAAiBC,WAAWC,mBAAmB;AAE/CC,QAAAA,UAAUC,QACd,OAAO;AAAA,IACLX;AAAAA,IACAL;AAAAA,IACAV;AAAAA;AAAAA,IAEAG,WAAWA,aAAamB,eAAenB;AAAAA,IACvCC,aAAaA,eAAekB,eAAelB;AAAAA,IAC3CC,UAAUA,YAAYiB,eAAejB;AAAAA,IACrCC,QAAQA,UAAUgB,eAAehB;AAAAA,IACjCqB,gBAAgBT;AAAAA,IAChBX;AAAAA,EAAAA,IAEF,CACEP,YACAG,WACAmB,eAAenB,WACfmB,eAAelB,aACfkB,eAAejB,UACfiB,eAAehB,QACfF,aACAC,UACAC,QACAC,UACAW,YAAY,CACb;AAGHU,YAAU,MAAM;AACVhB,QAAAA,kBAAkBiB,WAAW,MAAM;AAErCjB,wBAAkBiB,UAAU7B;AAAAA,IAAAA,WACnBY,kBAAkBiB,YAAY7B,YAAY;AAEnDY,wBAAkBiB,UAAU7B;AACb,qBAAA;AAAA,QAAE8B,MAAM;AAAA,MAAA,CAAe;AAAA,IACxC;AAAA,EAAA,GACC,CAAC9B,UAAU,CAAC;AAGf4B,YAAU,MAAM;AACd,QAAI,CAACV,gBAAgB,CAACa,QAAQjB,OAAOM,SAAS,GAAG;AACpCY,2CAAAA,aAAalB,KAAK;AAChBmB,mBAAAA,UAAUnB,KAAK,CAAC;AAAA,IAC/B;AAAA,KACC,CAACA,OAAOM,WAAWF,cAAchB,QAAQ,CAAC;AAE7C,QAAMgC,mBAAmBA,MAAM;AAC7B,QAAIzB,eAAe;AACjBC,gBAAUyB,MAAS;AACnB1B,oBAAc2B,QAAQC,QAASC,CAAWvB,WAAAA,eAAeuB,MAAM,CAAC;AAAA,IAClE;AAAA,EAAA;AAGF,QAAMC,kBAAkBA,MAAM;AAC5B7B,cAAUyB,MAAS;AAAA,EAAA;AAInBK,SAAAA,qBAAChB,oBAAoBiB,UAAQ;AAAA,IAACC,OAAOjB;AAAAA,IAAQkB,UAAA,CAC3CC,oBAACC,WAAS;AAAA,MACRC,OAAO;AAAA,MACPC,IAAIjC,MAAMiC;AAAAA,MACVC,YAAYlC,MAAMkC;AAAAA,MAClBC,OAAOnC,MAAMmC;AAAAA,MACbzC;AAAAA,IAAAA,CACA,GACFoC,oBAACM,oBAAkB;AAAA,MACjBC,QAAQ1C,iBAAiB;AAAA,MACzB2C,WAAWlB;AAAAA,MACXmB,UAAUd;AAAAA,MACVe,QAAO7C,+CAAe8C,OAAOC,gBAAe;AAAA,MAC5CC,UAAShD,+CAAe8C,OAAOG,kBAAiB;AAAA,MAChDC,qBAAoBlD,+CAAe8C,OAAOK,kBAAiB;AAAA,MAC3DC,oBAAmBpD,+CAAe8C,OAAOO,iBAAgB;AAAA,MACzDC,qBAAoBtD,+CAAe8C,OAAOS,uBAAsB;AAAA,IAAA,CAChE,CAAA;AAAA,EAAA,CAC2B;AAEnC;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useContext, useCallback, useState, memo } from "react";
|
|
2
2
|
import uniqueId from "lodash/uniqueId";
|
|
3
3
|
import isEmpty from "lodash/isEmpty";
|
|
4
|
-
import { QueryBuilderContext } from "../../../Context.js";
|
|
5
4
|
import { ClassNames } from "@emotion/react";
|
|
6
|
-
import { styles } from "./Numeric.styles.js";
|
|
7
5
|
import { useTheme, useMediaQuery } from "@mui/material";
|
|
6
|
+
import { QueryBuilderContext } from "../../../Context.js";
|
|
7
|
+
import { styles } from "./Numeric.styles.js";
|
|
8
8
|
import numericValueClasses from "./numericValueClasses.js";
|
|
9
9
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
10
10
|
import { HvInput } from "../../../../Input/Input.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericValue.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.tsx"],"sourcesContent":["import { memo, useCallback, useContext, useState } from \"react\";\nimport uniqueId from \"lodash/uniqueId\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { HvInput } from \"../../../..\";\nimport { QueryBuilderContext } from \"../../../Context\";\nimport { ClassNames } from \"@emotion/react\";\nimport { styles } from \"./Numeric.styles\";\nimport { useMediaQuery, useTheme } from \"@mui/material\";\nimport numericValueClasses from \"./numericValueClasses\";\n\nexport interface NumericValueProps {\n id: number;\n value: any;\n operator: string;\n initialTouched?: boolean;\n}\n\nexport const NumericValue = ({\n id,\n value,\n operator,\n initialTouched = false,\n}: NumericValueProps) => {\n const isRange = operator === \"range\";\n const context = useContext(QueryBuilderContext);\n const { labels, dispatchAction, readOnly } = context;\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const onSingleValueChange = useCallback(\n (evt, data) => {\n const numericData = isEmpty(data) ? null : Number(data);\n dispatchAction({\n type: \"set-value\",\n id,\n value: Number.isNaN(numericData) ? data : numericData,\n });\n },\n [dispatchAction, id]\n );\n\n const onRangeValueChange = useCallback(\n (evt, data, from = true) => {\n const numericData = isEmpty(data) ? null : Number(data);\n const currentValue = value;\n const numericRange = {\n from: currentValue?.from,\n to: currentValue?.to,\n };\n if (from) {\n numericRange.from = Number.isNaN(numericData) ? data : numericData;\n } else {\n numericRange.to = Number.isNaN(numericData) ? data : numericData;\n }\n dispatchAction({\n type: \"set-value\",\n id,\n value: numericRange,\n });\n },\n [dispatchAction, id, value]\n );\n\n const [touchedNumeric, setTouchedNumeric] = useState(initialTouched);\n const [touchedNumericTo, setTouchedNumericTo] = useState(initialTouched);\n\n const elementId = uniqueId(\"numeric\");\n\n let numericValidation: \"required\" | \"invalid\" | null = null;\n let rightValidation: \"required\" | \"invalid\" | \"greaterThan\" | \"equal\" | null =\n null;\n\n if (touchedNumeric || touchedNumericTo) {\n if (value === undefined || value?.toString() === \"\") {\n if (touchedNumeric) {\n numericValidation = \"required\";\n }\n if (touchedNumericTo) {\n rightValidation = \"required\";\n }\n } else if (!isRange) {\n if (Number.isNaN(Number(value))) {\n numericValidation = \"invalid\";\n }\n } else if (isRange) {\n const rangeValue = value;\n if (\n rangeValue?.from === undefined ||\n rangeValue?.from?.toString() === \"\"\n ) {\n numericValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.from))) {\n numericValidation = \"invalid\";\n }\n\n if (rangeValue?.to === undefined || rangeValue?.to?.toString() === \"\") {\n rightValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.to))) {\n rightValidation = \"invalid\";\n } else if (Number(rangeValue?.from) > Number(rangeValue?.to)) {\n rightValidation = \"greaterThan\";\n } else if (Number(rangeValue?.from) === Number(rangeValue?.to)) {\n rightValidation = \"equal\";\n }\n }\n }\n\n const numericStatus = numericValidation != null ? \"invalid\" : \"valid\";\n const rightStatus = rightValidation != null ? \"invalid\" : \"valid\";\n\n const renderRangeInputs = (rangeValue) => (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n numericValueClasses.rangeContainer,\n css(styles.rangeContainer),\n isMdDown\n ? cx(numericValueClasses.isMdDown, css(styles.isMdDown))\n : \"\"\n )}\n >\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.range.leftLabel}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric-from`}\n name={`${elementId}-numeric-from`}\n value={rangeValue?.from?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data)}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.range.rightLabel}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric-to`}\n name={`${elementId}-numeric-to`}\n value={rangeValue?.to?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data, false)}\n onBlur={() => {\n setTouchedNumericTo(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumericTo ? \"standBy\" : rightStatus}\n statusMessage={\n rightValidation\n ? labels.rule.value.numeric.validation[rightValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n </div>\n )}\n </ClassNames>\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <div className={cx(numericValueClasses.root, css(styles.root))}>\n {isRange && renderRangeInputs(value || {})}\n {!isRange && (\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.label}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric`}\n name={`${elementId}-numeric`}\n value={value ? value.toString() : \"\"}\n onChange={onSingleValueChange}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n readOnly={readOnly}\n />\n </div>\n )}\n </div>\n )}\n </ClassNames>\n );\n};\n\nexport default memo(NumericValue);\n"],"names":["NumericValue","id","value","operator","initialTouched","isRange","context","useContext","QueryBuilderContext","labels","dispatchAction","readOnly","theme","useTheme","isMdDown","useMediaQuery","breakpoints","down","onSingleValueChange","useCallback","evt","data","numericData","isEmpty","Number","type","isNaN","onRangeValueChange","from","currentValue","numericRange","to","touchedNumeric","setTouchedNumeric","useState","touchedNumericTo","setTouchedNumericTo","elementId","uniqueId","numericValidation","rightValidation","undefined","toString","rangeValue","numericStatus","rightStatus","renderRangeInputs","_jsx","ClassNames","children","css","cx","className","numericValueClasses","rangeContainer","styles","inputContainer","HvInput","label","rule","numeric","range","leftLabel","input","name","onChange","event","onBlur","onKeyDown","e","key","preventDefault","status","statusMessage","validation","required","inputProps","autoComplete","placeholder","rightLabel","root","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumericValue.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.tsx"],"sourcesContent":["import { memo, useCallback, useContext, useState } from \"react\";\nimport uniqueId from \"lodash/uniqueId\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { ClassNames } from \"@emotion/react\";\nimport { useMediaQuery, useTheme } from \"@mui/material\";\nimport { HvInput } from \"../../../..\";\nimport { QueryBuilderContext } from \"../../../Context\";\nimport { styles } from \"./Numeric.styles\";\nimport numericValueClasses from \"./numericValueClasses\";\n\nexport interface NumericValueProps {\n id: number;\n value: any;\n operator: string;\n initialTouched?: boolean;\n}\n\nexport const NumericValue = ({\n id,\n value,\n operator,\n initialTouched = false,\n}: NumericValueProps) => {\n const isRange = operator === \"range\";\n const context = useContext(QueryBuilderContext);\n const { labels, dispatchAction, readOnly } = context;\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const onSingleValueChange = useCallback(\n (evt, data) => {\n const numericData = isEmpty(data) ? null : Number(data);\n dispatchAction({\n type: \"set-value\",\n id,\n value: Number.isNaN(numericData) ? data : numericData,\n });\n },\n [dispatchAction, id]\n );\n\n const onRangeValueChange = useCallback(\n (evt, data, from = true) => {\n const numericData = isEmpty(data) ? null : Number(data);\n const currentValue = value;\n const numericRange = {\n from: currentValue?.from,\n to: currentValue?.to,\n };\n if (from) {\n numericRange.from = Number.isNaN(numericData) ? data : numericData;\n } else {\n numericRange.to = Number.isNaN(numericData) ? data : numericData;\n }\n dispatchAction({\n type: \"set-value\",\n id,\n value: numericRange,\n });\n },\n [dispatchAction, id, value]\n );\n\n const [touchedNumeric, setTouchedNumeric] = useState(initialTouched);\n const [touchedNumericTo, setTouchedNumericTo] = useState(initialTouched);\n\n const elementId = uniqueId(\"numeric\");\n\n let numericValidation: \"required\" | \"invalid\" | null = null;\n let rightValidation: \"required\" | \"invalid\" | \"greaterThan\" | \"equal\" | null =\n null;\n\n if (touchedNumeric || touchedNumericTo) {\n if (value === undefined || value?.toString() === \"\") {\n if (touchedNumeric) {\n numericValidation = \"required\";\n }\n if (touchedNumericTo) {\n rightValidation = \"required\";\n }\n } else if (!isRange) {\n if (Number.isNaN(Number(value))) {\n numericValidation = \"invalid\";\n }\n } else if (isRange) {\n const rangeValue = value;\n if (\n rangeValue?.from === undefined ||\n rangeValue?.from?.toString() === \"\"\n ) {\n numericValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.from))) {\n numericValidation = \"invalid\";\n }\n\n if (rangeValue?.to === undefined || rangeValue?.to?.toString() === \"\") {\n rightValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.to))) {\n rightValidation = \"invalid\";\n } else if (Number(rangeValue?.from) > Number(rangeValue?.to)) {\n rightValidation = \"greaterThan\";\n } else if (Number(rangeValue?.from) === Number(rangeValue?.to)) {\n rightValidation = \"equal\";\n }\n }\n }\n\n const numericStatus = numericValidation != null ? \"invalid\" : \"valid\";\n const rightStatus = rightValidation != null ? \"invalid\" : \"valid\";\n\n const renderRangeInputs = (rangeValue) => (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n numericValueClasses.rangeContainer,\n css(styles.rangeContainer),\n isMdDown\n ? cx(numericValueClasses.isMdDown, css(styles.isMdDown))\n : \"\"\n )}\n >\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.range.leftLabel}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric-from`}\n name={`${elementId}-numeric-from`}\n value={rangeValue?.from?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data)}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.range.rightLabel}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric-to`}\n name={`${elementId}-numeric-to`}\n value={rangeValue?.to?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data, false)}\n onBlur={() => {\n setTouchedNumericTo(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumericTo ? \"standBy\" : rightStatus}\n statusMessage={\n rightValidation\n ? labels.rule.value.numeric.validation[rightValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n </div>\n )}\n </ClassNames>\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <div className={cx(numericValueClasses.root, css(styles.root))}>\n {isRange && renderRangeInputs(value || {})}\n {!isRange && (\n <div\n className={cx(\n numericValueClasses.inputContainer,\n css(styles.inputContainer)\n )}\n >\n <HvInput\n label={labels.rule.value.numeric.label}\n className={cx(numericValueClasses.input, css(styles.input))}\n id={`${elementId}-numeric`}\n name={`${elementId}-numeric`}\n value={value ? value.toString() : \"\"}\n onChange={onSingleValueChange}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n readOnly={readOnly}\n />\n </div>\n )}\n </div>\n )}\n </ClassNames>\n );\n};\n\nexport default memo(NumericValue);\n"],"names":["NumericValue","id","value","operator","initialTouched","isRange","context","useContext","QueryBuilderContext","labels","dispatchAction","readOnly","theme","useTheme","isMdDown","useMediaQuery","breakpoints","down","onSingleValueChange","useCallback","evt","data","numericData","isEmpty","Number","type","isNaN","onRangeValueChange","from","currentValue","numericRange","to","touchedNumeric","setTouchedNumeric","useState","touchedNumericTo","setTouchedNumericTo","elementId","uniqueId","numericValidation","rightValidation","undefined","toString","rangeValue","numericStatus","rightStatus","renderRangeInputs","_jsx","ClassNames","children","css","cx","className","numericValueClasses","rangeContainer","styles","inputContainer","HvInput","label","rule","numeric","range","leftLabel","input","name","onChange","event","onBlur","onKeyDown","e","key","preventDefault","status","statusMessage","validation","required","inputProps","autoComplete","placeholder","rightLabel","root","memo"],"mappings":"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"}
|
|
@@ -38,6 +38,12 @@ const Value = ({
|
|
|
38
38
|
initialTouched
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
+
case "dateandtime": {
|
|
42
|
+
return /* @__PURE__ */ jsx(BooleanValue, {
|
|
43
|
+
id,
|
|
44
|
+
value: !!valueProp
|
|
45
|
+
});
|
|
46
|
+
}
|
|
41
47
|
case "text":
|
|
42
48
|
case "textarea":
|
|
43
49
|
default: {
|
|
@@ -47,12 +53,6 @@ const Value = ({
|
|
|
47
53
|
initialTouched
|
|
48
54
|
});
|
|
49
55
|
}
|
|
50
|
-
case "dateandtime": {
|
|
51
|
-
return /* @__PURE__ */ jsx(BooleanValue, {
|
|
52
|
-
id,
|
|
53
|
-
value: !!valueProp
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
memo(Value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Value.js","sources":["../../../../../../src/components/QueryBuilder/Rule/Value/Value.tsx"],"sourcesContent":["import { memo, useContext } from \"react\";\n\nimport { QueryBuilderContext } from \"../../Context\";\nimport { BooleanValue } from \"./BooleanValue\";\nimport { NumericValue } from \"./NumericValue\";\nimport TextValue from \"./TextValue/TextValue\";\n\n// import DateTimeValue from \"./DateTimeValue\";\n\nexport interface ValueProps {\n id: number;\n attribute: string;\n operator: string;\n value: any;\n}\n\nexport const Value = ({\n id,\n attribute,\n operator,\n value: valueProp,\n}: ValueProps) => {\n const context = useContext(QueryBuilderContext);\n const { attributes, initialTouched } = context;\n const value =\n attribute && attributes ? { ...attributes[attribute] } : { type: null };\n const { type } = value;\n\n switch (type) {\n case \"boolean\": {\n return <BooleanValue id={id} value={!!valueProp} />;\n }\n case \"numeric\": {\n return (\n <NumericValue\n id={id}\n operator={operator}\n value={valueProp}\n initialTouched={initialTouched}\n />\n );\n }\n case \"
|
|
1
|
+
{"version":3,"file":"Value.js","sources":["../../../../../../src/components/QueryBuilder/Rule/Value/Value.tsx"],"sourcesContent":["import { memo, useContext } from \"react\";\n\nimport { QueryBuilderContext } from \"../../Context\";\nimport { BooleanValue } from \"./BooleanValue\";\nimport { NumericValue } from \"./NumericValue\";\nimport TextValue from \"./TextValue/TextValue\";\n\n// import DateTimeValue from \"./DateTimeValue\";\n\nexport interface ValueProps {\n id: number;\n attribute: string;\n operator: string;\n value: any;\n}\n\nexport const Value = ({\n id,\n attribute,\n operator,\n value: valueProp,\n}: ValueProps) => {\n const context = useContext(QueryBuilderContext);\n const { attributes, initialTouched } = context;\n const value =\n attribute && attributes ? { ...attributes[attribute] } : { type: null };\n const { type } = value;\n\n switch (type) {\n case \"boolean\": {\n return <BooleanValue id={id} value={!!valueProp} />;\n }\n case \"numeric\": {\n return (\n <NumericValue\n id={id}\n operator={operator}\n value={valueProp}\n initialTouched={initialTouched}\n />\n );\n }\n case \"dateandtime\": {\n return <BooleanValue id={id} value={!!valueProp} />;\n }\n case \"text\":\n case \"textarea\":\n default: {\n return (\n <TextValue id={id} value={valueProp} initialTouched={initialTouched} />\n );\n }\n }\n};\n\nexport default memo(Value);\n"],"names":["Value","id","attribute","operator","value","valueProp","context","useContext","QueryBuilderContext","attributes","initialTouched","type","BooleanValue","NumericValue","TextValue","memo"],"mappings":";;;;;;AAgBO,MAAMA,QAAQA,CAAC;AAAA,EACpBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,OAAOC;AACG,MAAM;AACVC,QAAAA,UAAUC,WAAWC,mBAAmB;AACxC,QAAA;AAAA,IAAEC;AAAAA,IAAYC;AAAAA,EAAmBJ,IAAAA;AACjCF,QAAAA,QACJF,aAAaO,aAAa;AAAA,IAAE,GAAGA,WAAWP,SAAS;AAAA,EAAA,IAAM;AAAA,IAAES,MAAM;AAAA,EAAA;AAC7D,QAAA;AAAA,IAAEA;AAAAA,EAASP,IAAAA;AAEjB,UAAQO,MAAI;AAAA,IACV,KAAK,WAAW;AACd,iCAAQC,cAAY;AAAA,QAACX;AAAAA,QAAQG,OAAO,CAAC,CAACC;AAAAA,MAAAA,CAAa;AAAA,IACrD;AAAA,IACA,KAAK,WAAW;AACd,iCACGQ,cAAY;AAAA,QACXZ;AAAAA,QACAE;AAAAA,QACAC,OAAOC;AAAAA,QACPK;AAAAA,MAAAA,CACA;AAAA,IAEN;AAAA,IACA,KAAK,eAAe;AAClB,iCAAQE,cAAY;AAAA,QAACX;AAAAA,QAAQG,OAAO,CAAC,CAACC;AAAAA,MAAAA,CAAa;AAAA,IACrD;AAAA,IACA,KAAK;AAAA,IACL,KAAK;AAAA,IACL,SAAS;AACP,iCACGS,WAAS;AAAA,QAACb;AAAAA,QAAQG,OAAOC;AAAAA,QAAWK;AAAAA,MAAAA,CAAkC;AAAA,IAE3E;AAAA,EAAC;AAEL;AAEeK,KAAKf,KAAK;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useContext, useCallback } from "react";
|
|
2
2
|
import { Delete, Info, Add } from "@hitachivantara/uikit-react-icons";
|
|
3
|
+
import { ClassNames } from "@emotion/react";
|
|
3
4
|
import queryBuilderClasses from "../queryBuilderClasses.js";
|
|
4
5
|
import { QueryBuilderContext } from "../Context.js";
|
|
5
|
-
import { ClassNames } from "@emotion/react";
|
|
6
6
|
import { styles } from "./RuleGroup.styles.js";
|
|
7
7
|
import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
|
|
8
8
|
import withTooltip from "../../../hocs/withTooltip.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","sources":["../../../../../src/components/QueryBuilder/RuleGroup/RuleGroup.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\nimport {\n HvButton,\n HvEmptyState,\n HvGrid,\n HvMultiButton,\n HvTypography,\n} from \"@core/components\";\nimport { Rule } from \"../Rule\";\nimport { withTooltip } from \"@core/hocs\";\nimport queryBuilderClasses, {\n HvQueryBuilderClasses,\n} from \"../queryBuilderClasses\";\nimport { QueryBuilderContext } from \"../Context\";\nimport { ClassNames } from \"@emotion/react\";\nimport { styles } from \"./RuleGroup.styles\";\n\nexport interface RuleGroupProps {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n id?: number;\n level?: number;\n combinator?: string;\n rules?: any[];\n}\n\nexport const RuleGroup = ({\n level = 0,\n id,\n combinator = \"and\",\n rules = [],\n classes,\n}: RuleGroupProps) => {\n const context = useContext(QueryBuilderContext);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels, readOnly } =\n context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n css(styles.buttonBackground),\n classes?.buttonBackground\n )}\n >\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n </div>\n {level <= normalizedMaxDepth && (\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n css(styles.buttonBackground),\n classes?.buttonBackground\n )}\n >\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n </div>\n )}\n </>\n )}\n </ClassNames>\n );\n\n const DeleteIcon = withTooltip(\n () => (\n <ClassNames>\n {({ css, cx }) => (\n <Delete\n className={\n readOnly\n ? cx(\n queryBuilderClasses.topRemoveButtonDisabled,\n css(styles.topRemoveButtonDisabled),\n classes?.topRemoveButtonDisabled\n )\n : \"\"\n }\n />\n )}\n </ClassNames>\n ),\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n queryBuilderClasses.root,\n level === 0\n ? queryBuilderClasses.topGroup\n : queryBuilderClasses.subGroup,\n css(styles.root),\n level === 0 ? css(styles.topGroup) : css(styles.subGroup),\n classes?.root,\n level === 0 ? classes?.topGroup : classes?.subGroup\n )}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton\n className={cx(\n queryBuilderClasses.combinator,\n queryBuilderClasses.topCombinator,\n css(styles.combinator),\n css(styles.topCombinator),\n classes?.combinator,\n classes?.topCombinator\n )}\n disabled={readOnly}\n >\n {combinators &&\n combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={cx(\n queryBuilderClasses.combinatorButton,\n css(styles.combinatorButton),\n classes?.combinatorButton\n )}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n size={\"xs\"}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n queryBuilderClasses.topRemoveButton,\n css(styles.buttonBackground),\n css(styles.topRemoveButton),\n classes?.buttonBackground,\n classes?.topRemoveButton\n )}\n >\n <HvButton\n icon\n className={cx(\n queryBuilderClasses.removeButton,\n css(styles.removeButton),\n classes?.removeButton\n )}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n variant=\"secondaryGhost\"\n >\n <DeleteIcon />\n </HvButton>\n </div>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={cx(\n queryBuilderClasses.rulesContainer,\n level > 0 && queryBuilderClasses.subRulesContainer,\n level === 0 && queryBuilderClasses.topRulesContainer,\n css(styles.rulesContainer),\n level > 0 && css(styles.subRulesContainer),\n level === 0 && css(styles.topRulesContainer),\n classes?.rulesContainer,\n level > 0 && classes?.subRulesContainer,\n level === 0 && classes?.topRulesContainer\n )}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (\n r.attribute === rule.attribute &&\n r.id !== rule.id &&\n i < index\n ) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={cx(\n queryBuilderClasses.actionButtonContainer,\n queryBuilderClasses.topActionButtonContainer,\n css(styles.actionButtonContainer),\n css(styles.topActionButtonContainer),\n classes?.actionButtonContainer,\n classes?.topActionButtonContainer\n )}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n )}\n </ClassNames>\n );\n};\n"],"names":["RuleGroup","level","id","combinator","rules","classes","context","useContext","QueryBuilderContext","dispatchAction","askAction","maxDepth","combinators","labels","readOnly","normalizedMaxDepth","actionButtons","ClassNames","children","css","cx","_Fragment","_jsx","className","queryBuilderClasses","buttonBackground","styles","HvButton","variant","onClick","type","disabled","startIcon","Add","query","addRule","label","group","addGroup","DeleteIcon","withTooltip","Delete","topRemoveButtonDisabled","delete","tooltip","onClickCombinator","useCallback","item","operand","root","topGroup","subGroup","_jsxs","HvGrid","container","HvMultiButton","topCombinator","map","combinatorButton","selected","size","topRemoveButton","icon","removeButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","topRulesContainer","rule","index","isInvalid","some","r","i","attribute","Rule","HvEmptyState","title","empty","message","HvTypography","component","style","cursor","textDecoration","createCondition","spacer","createGroup","Info","actionButtonContainer","topActionButtonContainer"],"mappings":";;;;;;;;;;;;;;AA8BO,MAAMA,YAAYA,CAAC;AAAA,EACxBC,QAAQ;AAAA,EACRC;AAAAA,EACAC,aAAa;AAAA,EACbC,QAAQ,CAAE;AAAA,EACVC;AACc,MAAM;;AACdC,QAAAA,UAAUC,WAAWC,mBAAmB;AAExC,QAAA;AAAA,IAAEC;AAAAA,IAAgBC;AAAAA,IAAWC;AAAAA,IAAUC;AAAAA,IAAaC;AAAAA,IAAQC;AAAAA,EAChER,IAAAA;AACF,QAAMS,qBAAqBJ,WAAW;AAEhCK,QAAAA,oCACHC,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA;;kCACPC,UAAA;AAAA,QAAAH,WACEI,oBAAA,OAAA;AAAA,UACEC,WAAWH,GACTI,oBAAoBC,kBACpBN,IAAIO,OAAOD,gBAAgB,GAC3BpB,mCAASoB,gBAAgB;AAAA,UACzBP,8BAEDS,UAAQ;AAAA,YACPC,SAAQ;AAAA,YACRC,SAASA,MAAM;AACE,6BAAA;AAAA,gBAAEC,MAAM;AAAA,gBAAY5B;AAAAA,cAAAA,CAAI;AAAA,YACzC;AAAA,YACA6B,UAAUjB;AAAAA,YACVkB,WAAWV,oBAACW,KAAO,EAAA;AAAA,YAAAf,UAElBjB,UAAU,OAAKY,OAAAA,MAAAA,OAAOqB,UAAPrB,gBAAAA,IAAcsB,YAAdtB,gBAAAA,IAAuBuB,UAAS,QAC5CvB,OAAAA,MAAAA,OAAOqB,UAAPrB,gBAAAA,IAAcsB,YAAdtB,gBAAAA,IAAuBuB,QACvBvB,OAAOwB,MAAMF,QAAQC;AAAAA,UAAAA,CAAK;AAAA,QACrB,CAAA,GAEZnC,SAASc,0CACR,OAAA;AAAA,UACEQ,WAAWH,GACTI,oBAAoBC,kBACpBN,IAAIO,OAAOD,gBAAgB,GAC3BpB,mCAASoB,gBAAgB;AAAA,UACzBP,8BAEDS,UAAQ;AAAA,YACPC,SAAQ;AAAA,YACRC,SAASA,MAAM;AACE,6BAAA;AAAA,gBAAEC,MAAM;AAAA,gBAAa5B;AAAAA,cAAAA,CAAI;AAAA,YAC1C;AAAA,YACA6B,UAAUjB;AAAAA,YACVkB,WAAWV,oBAACW,KAAO,EAAA;AAAA,YAAAf,UAElBjB,UAAU,OAAKY,kBAAOqB,UAAPrB,mBAAcyB,aAAdzB,mBAAwBuB,UAAS,QAC7CvB,kBAAOqB,UAAPrB,mBAAcyB,aAAdzB,mBAAwBuB,QACxBvB,OAAOwB,MAAMC,SAASF;AAAAA,UAAAA,CAAK;AAAA,QAAA,CAGpC,CAAA;AAAA,MAAA,CAAA;AAAA;AAAA,EAAA,CAIR;AAED,QAAMG,aAAaC,YACjB,MACElB,oBAACL,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA,0BACNqB,QAAM;AAAA,MACLlB,WACET,WACIM,GACEI,oBAAoBkB,yBACpBvB,IAAIO,OAAOgB,uBAAuB,GAClCrC,mCAASqC,uBAAuB,IAElC;AAAA,IAAA,CACL;AAAA,EAAA,CAEJ,GAGLzC,UAAU,OAAKY,kBAAOqB,UAAPrB,mBAAc8B,WAAd9B,mBAAsB+B,YACjC/B,kBAAOqB,UAAPrB,mBAAc8B,WAAd9B,mBAAsB+B,UACtB/B,OAAOwB,MAAMM,OAAOC,SACxB,KAAK;AAGDC,QAAAA,oBAAoBC,YACvBC,CAAS,SAAA;AACO,mBAAA;AAAA,MACbjB,MAAM;AAAA,MACN5B;AAAAA,MACAC,YAAY4C,KAAKC;AAAAA,IAAAA,CAClB;AAAA,EAAA,GAEH,CAACvC,gBAAgBP,EAAE,CAAC;AAGtB,6BACGe,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA;;kCACP,OAAA;AAAA,QACEG,WAAWH,GACTI,oBAAoByB,MACpBhD,UAAU,IACNuB,oBAAoB0B,WACpB1B,oBAAoB2B,UACxBhC,IAAIO,OAAOuB,IAAI,GACfhD,UAAU,IAAIkB,IAAIO,OAAOwB,QAAQ,IAAI/B,IAAIO,OAAOyB,QAAQ,GACxD9C,mCAAS4C,MACThD,UAAU,IAAII,mCAAS6C,WAAW7C,mCAAS8C,QAAQ;AAAA,QACnDjC,UAAA,CAEFkC,qBAACC,QAAM;AAAA,UAACC,WAAS;AAAA,UAAApC,UAAA,CACfI,oBAAC+B,QAAM;AAAA,YAACN,MAAI;AAAA,YAAA7B,8BACTqC,eAAa;AAAA,cACZhC,WAAWH,GACTI,oBAAoBrB,YACpBqB,oBAAoBgC,eACpBrC,IAAIO,OAAOvB,UAAU,GACrBgB,IAAIO,OAAO8B,aAAa,GACxBnD,mCAASF,YACTE,mCAASmD,aAAa;AAAA,cAExBzB,UAAUjB;AAAAA,cAASI,UAElBN,eACCA,YAAY6C,IAAKV,CAAAA,6BACdpB,UAAQ;AAAA,gBAEPJ,WAAWH,GACTI,oBAAoBkC,kBACpBvC,IAAIO,OAAOgC,gBAAgB,GAC3BrD,mCAASqD,gBAAgB;AAAA,gBAE3BC,UAAUZ,KAAKC,YAAY7C;AAAAA,gBAC3B0B,SAASA,MAAMkB,KAAKC,WAAWH,kBAAkBE,IAAI;AAAA,gBACrDhB,UAAUjB;AAAAA,gBACV8C,MAAM;AAAA,gBAAK1C,UAEV6B,KAAKX;AAAAA,cAAAA,GAXDW,KAAKC,OAAO,CAapB;AAAA,YAAA,CAAC;AAAA,UAAA,CAEC,GACT1B,oBAAC+B,QAAM;AAAA,YAACN,MAAI;AAAA,YAAA7B,8BACV,OAAA;AAAA,cACEK,WAAWH,GACTI,oBAAoBC,kBACpBD,oBAAoBqC,iBACpB1C,IAAIO,OAAOD,gBAAgB,GAC3BN,IAAIO,OAAOmC,eAAe,GAC1BxD,mCAASoB,kBACTpB,mCAASwD,eAAe;AAAA,cACxB3C,8BAEDS,UAAQ;AAAA,gBACPmC,MAAI;AAAA,gBACJvC,WAAWH,GACTI,oBAAoBuC,cACpB5C,IAAIO,OAAOqC,YAAY,GACvB1D,mCAAS0D,YAAY;AAAA,gBAEvBlC,SAASA,MAAM;;AACH,4BAAA;AAAA,oBACRmC,SAAS,CAAC;AAAA,sBAAElC,MAAM;AAAA,sBAAe5B;AAAAA,oBAAAA,CAAI;AAAA,oBACrC+D,QACEhE,UAAU,OAAKY,MAAAA,OAAOqB,UAAPrB,gBAAAA,IAAc8B,WAAU,OACnC9B,OAAOqB,MAAMS,SACb9B,OAAOwB,MAAMM;AAAAA,kBAAAA,CACpB;AAAA,gBACH;AAAA,gBACA,cACE1C,UAAU,OAAKY,OAAAA,MAAAA,OAAOqB,UAAPrB,gBAAAA,IAAc8B,WAAd9B,gBAAAA,IAAsBqD,cACjCrD,OAAAA,MAAAA,OAAOqB,UAAPrB,gBAAAA,IAAc8B,WAAd9B,gBAAAA,IAAsBqD,YACtBrD,OAAOwB,MAAMM,OAAOuB;AAAAA,gBAE1BnC,UAAUjB;AAAAA,gBACVc,SAAQ;AAAA,gBAAgBV,UAExBI,oBAACiB,YAAU,EAAA;AAAA,cAAA,CAAG;AAAA,YAAA,CACL;AAAA,UAAA,CAEN,CAAA;AAAA,QAAA,CAAA,IAEVnC,+BAAO+D,UAAS,yBACf,OAAA;AAAA,UACE5C,WAAWH,GACTI,oBAAoB4C,gBACpBnE,QAAQ,KAAKuB,oBAAoB6C,mBACjCpE,UAAU,KAAKuB,oBAAoB8C,mBACnCnD,IAAIO,OAAO0C,cAAc,GACzBnE,QAAQ,KAAKkB,IAAIO,OAAO2C,iBAAiB,GACzCpE,UAAU,KAAKkB,IAAIO,OAAO4C,iBAAiB,GAC3CjE,mCAAS+D,gBACTnE,QAAQ,MAAKI,mCAASgE,oBACtBpE,UAAU,MAAKI,mCAASiE,kBAAiB;AAAA,UACzCpD,UAEDd,MAAMqD,IAAI,CAACc,MAAMC,UAAU;AAC1B,gBAAI,gBAAgBD,MAAM;AACxB,yCACGvE,WAAS;AAAA,gBAERC,OAAOA,QAAQ;AAAA,gBAAE,GACbsE;AAAAA,gBACJrE,IAAIqE,KAAKrE;AAAAA,gBACTG;AAAAA,cAAAA,GAJKkE,KAAKrE,MAAMsE,KAAK;AAAA,YAO3B;AAEA,kBAAMC,YACJtE,eAAe,SACfC,MAAMsE,KAAK,CAACC,GAAGC,MAAM;AACnB,kBAAI,eAAeD,GAAG;AAElBA,oBAAAA,EAAEE,cAAcN,KAAKM,aACrBF,EAAEzE,OAAOqE,KAAKrE,MACd0E,IAAIJ,OACJ;AACO,yBAAA;AAAA,gBACT;AAAA,cACF;AACO,qBAAA;AAAA,YAAA,CACR;AAEH,uCACGM,MAAI;AAAA,cAAA,GAECP;AAAAA,cACJE;AAAAA,cACAvE,IAAIqE,KAAKrE;AAAAA,cACTC;AAAAA,YAAAA,GAJKoE,KAAKrE,MAAMsE,KAAK;AAAA,UAAA,CAO1B;AAAA,QAEJ,CAAA,IACApE,+BAAO+D,YAAW,yBAChBY,cAAY;AAAA,UACXC,QAAOnE,YAAOoE,UAAPpE,mBAAcmE;AAAAA,UACrBE,8BACE7D,UAAA;AAAA,YAAAH,UAAA,CACEI,oBAAC6D,cAAY;AAAA,cACXvD,SAAQ;AAAA,cACRwD,WAAU;AAAA,cACVvD,SAASA,MAAM;AACE,+BAAA;AAAA,kBAAEC,MAAM;AAAA,kBAAY5B;AAAAA,gBAAAA,CAAI;AAAA,cACzC;AAAA,cACAmF,OAAO;AAAA,gBAAEC,QAAQ;AAAA,gBAAWC,gBAAgB;AAAA,cAAY;AAAA,cAAErE,UAExD,IAAEL,YAAOoE,UAAPpE,mBAAc2E;AAAAA,YAAiB,CAAA,GAEpCvF,SAASc,2CACRM,UAAA;AAAA,cAAAH,UAAA,CACI,IAAEL,YAAOoE,UAAPpE,mBAAc4E,8BACjBN,cAAY;AAAA,gBACXvD,SAAQ;AAAA,gBACRwD,WAAU;AAAA,gBACVvD,SAASA,MAAM;AACE,iCAAA;AAAA,oBAAEC,MAAM;AAAA,oBAAa5B;AAAAA,kBAAAA,CAAI;AAAA,gBAC1C;AAAA,gBACAmF,OAAO;AAAA,kBACLC,QAAQ;AAAA,kBACRC,gBAAgB;AAAA,gBAClB;AAAA,gBAAErE,UAEA,IAAEL,YAAOoE,UAAPpE,mBAAc6E;AAAAA,cAAAA,CACL,CAAA;AAAA,YAAA,CAElB,CAAA;AAAA,UAAA,CAEJ;AAAA,UACD5B,MAAMxC,oBAACqE,MAAI,EAAA;AAAA,QAAA,CAEd,GACDrE,oBAAC+B,QAAM;AAAA,UAACC,WAAS;AAAA,UAAApC,8BACdmC,QAAM;AAAA,YACLN,MAAI;AAAA,YACJxB,WAAWH,GACTI,oBAAoBoE,uBACpBpE,oBAAoBqE,0BACpB1E,IAAIO,OAAOkE,qBAAqB,GAChCzE,IAAIO,OAAOmE,wBAAwB,GACnCxF,mCAASuF,uBACTvF,mCAASwF,wBAAwB;AAAA,YACjC3E,UAEDF;AAAAA,UAAAA,CAAa;AAAA,QAAA,CAET,CAAA;AAAA,MAAA,CAAA;AAAA;AAAA,EAAA,CAGF;AAEjB;"}
|
|
1
|
+
{"version":3,"file":"RuleGroup.js","sources":["../../../../../src/components/QueryBuilder/RuleGroup/RuleGroup.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\nimport {\n HvButton,\n HvEmptyState,\n HvGrid,\n HvMultiButton,\n HvTypography,\n} from \"@core/components\";\nimport { withTooltip } from \"@core/hocs\";\nimport { ClassNames } from \"@emotion/react\";\nimport { Rule } from \"../Rule\";\nimport queryBuilderClasses, {\n HvQueryBuilderClasses,\n} from \"../queryBuilderClasses\";\nimport { QueryBuilderContext } from \"../Context\";\nimport { styles } from \"./RuleGroup.styles\";\n\nexport interface RuleGroupProps {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes?: HvQueryBuilderClasses;\n id?: number;\n level?: number;\n combinator?: string;\n rules?: any[];\n}\n\nexport const RuleGroup = ({\n level = 0,\n id,\n combinator = \"and\",\n rules = [],\n classes,\n}: RuleGroupProps) => {\n const context = useContext(QueryBuilderContext);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels, readOnly } =\n context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n css(styles.buttonBackground),\n classes?.buttonBackground\n )}\n >\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n </div>\n {level <= normalizedMaxDepth && (\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n css(styles.buttonBackground),\n classes?.buttonBackground\n )}\n >\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n </div>\n )}\n </>\n )}\n </ClassNames>\n );\n\n const DeleteIcon = withTooltip(\n () => (\n <ClassNames>\n {({ css, cx }) => (\n <Delete\n className={\n readOnly\n ? cx(\n queryBuilderClasses.topRemoveButtonDisabled,\n css(styles.topRemoveButtonDisabled),\n classes?.topRemoveButtonDisabled\n )\n : \"\"\n }\n />\n )}\n </ClassNames>\n ),\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n queryBuilderClasses.root,\n level === 0\n ? queryBuilderClasses.topGroup\n : queryBuilderClasses.subGroup,\n css(styles.root),\n level === 0 ? css(styles.topGroup) : css(styles.subGroup),\n classes?.root,\n level === 0 ? classes?.topGroup : classes?.subGroup\n )}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton\n className={cx(\n queryBuilderClasses.combinator,\n queryBuilderClasses.topCombinator,\n css(styles.combinator),\n css(styles.topCombinator),\n classes?.combinator,\n classes?.topCombinator\n )}\n disabled={readOnly}\n >\n {combinators &&\n combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={cx(\n queryBuilderClasses.combinatorButton,\n css(styles.combinatorButton),\n classes?.combinatorButton\n )}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n size=\"xs\"\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <div\n className={cx(\n queryBuilderClasses.buttonBackground,\n queryBuilderClasses.topRemoveButton,\n css(styles.buttonBackground),\n css(styles.topRemoveButton),\n classes?.buttonBackground,\n classes?.topRemoveButton\n )}\n >\n <HvButton\n icon\n className={cx(\n queryBuilderClasses.removeButton,\n css(styles.removeButton),\n classes?.removeButton\n )}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n variant=\"secondaryGhost\"\n >\n <DeleteIcon />\n </HvButton>\n </div>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={cx(\n queryBuilderClasses.rulesContainer,\n level > 0 && queryBuilderClasses.subRulesContainer,\n level === 0 && queryBuilderClasses.topRulesContainer,\n css(styles.rulesContainer),\n level > 0 && css(styles.subRulesContainer),\n level === 0 && css(styles.topRulesContainer),\n classes?.rulesContainer,\n level > 0 && classes?.subRulesContainer,\n level === 0 && classes?.topRulesContainer\n )}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (\n r.attribute === rule.attribute &&\n r.id !== rule.id &&\n i < index\n ) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={cx(\n queryBuilderClasses.actionButtonContainer,\n queryBuilderClasses.topActionButtonContainer,\n css(styles.actionButtonContainer),\n css(styles.topActionButtonContainer),\n classes?.actionButtonContainer,\n classes?.topActionButtonContainer\n )}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n )}\n </ClassNames>\n );\n};\n"],"names":["RuleGroup","level","id","combinator","rules","classes","context","useContext","QueryBuilderContext","dispatchAction","askAction","maxDepth","combinators","labels","readOnly","normalizedMaxDepth","actionButtons","ClassNames","children","css","cx","_Fragment","_jsx","className","queryBuilderClasses","buttonBackground","styles","HvButton","variant","onClick","type","disabled","startIcon","Add","query","addRule","label","group","addGroup","DeleteIcon","withTooltip","Delete","topRemoveButtonDisabled","delete","tooltip","onClickCombinator","useCallback","item","operand","root","topGroup","subGroup","_jsxs","HvGrid","container","HvMultiButton","topCombinator","map","combinatorButton","selected","size","topRemoveButton","icon","removeButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","topRulesContainer","rule","index","isInvalid","some","r","i","attribute","Rule","HvEmptyState","title","empty","message","HvTypography","component","style","cursor","textDecoration","createCondition","spacer","createGroup","Info","actionButtonContainer","topActionButtonContainer"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport { HvWarningText } from \"@core/components\";\nimport { HvLabelProps } from \"../Forms/Label\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport { useControlled, useUniqueId } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport {\n StyledDivContainer,\n StyledHvBaseRadio,\n StyledHvFormElement,\n StyledHvLabel,\n} from \"./Radio.styles\";\nimport radioClasses, { HvRadioClasses } from \"./radioClasses\";\n\nexport type HvRadioStatus = \"standBy\" | \"valid\" | \"invalid\";\n\nexport interface HvRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvRadioClasses;\n /**\n * Id to be applied to the form element root node.\n */\n id?: string;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The value of the form element.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided.\n */\n label?: React.ReactNode;\n /**\n * @ignore\n */\n \"aria-label\"?: string;\n /**\n * @ignore\n */\n \"aria-labelledby\"?: string;\n /**\n * @ignore\n */\n \"aria-describedby\"?: string;\n /**\n * Properties passed on to the label element.\n */\n labelProps?: HvLabelProps;\n /**\n * Indicates that user input is required on the form element.\n *\n * If a single radio button in a group has the required attribute, a radio button in\n * that group must be check, though it doesn't have to be the one with the attribute is applied.\n *\n * For that reason, the component doesn't make any uncontrolled changes to its validation status.\n * That should ideally be managed in the context of a radio button group.\n */\n required?: boolean;\n /**\n * Indicates that the form element is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n */\n status?: HvRadioStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: string;\n /**\n * Identifies the element that provides an error message for the radio button.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\n/**\n * A Radio Button is a mechanism that allows user to select just an option from a group of options.\n *\n * It should used in a Radio Button Group to present the user with a range of options from\n * which the user <b>may select just one option</b> to complete their task.\n *\n * Individual use of radio buttons, at least uncontrolled, is unadvised as React state management doesn't\n * respond to the browser's native management of radio inputs checked state.\n */\nexport const HvRadio = (props: HvRadioProps) => {\n const {\n classes,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n labelProps,\n checked,\n defaultChecked = false,\n onChange,\n status = \"standBy\",\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = props;\n\n const elementId = useUniqueId(id, \"hvradio\");\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const [isChecked, setIsChecked] = useControlled(\n checked,\n Boolean(defaultChecked)\n );\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>, newChecked: boolean) => {\n setIsChecked(newChecked);\n\n onChange?.(evt, newChecked, value);\n },\n [onChange, setIsChecked, value]\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled\n const canShowError =\n ariaErrorMessage == null &&\n status !== undefined &&\n statusMessage !== undefined;\n\n const hasLabel = label != null;\n\n const isStateInvalid = isInvalid(status);\n\n let errorMessageId: string | undefined;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n const radio = (\n <StyledHvBaseRadio\n id={label ? setId(elementId, \"input\") : setId(id, \"input\")}\n name={name}\n className={clsx(\n radioClasses.radio,\n classes?.radio,\n isStateInvalid && clsx(radioClasses.invalidRadio, classes?.invalidRadio)\n )}\n $invalid={isStateInvalid}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onLocalChange}\n value={value}\n checked={isChecked}\n semantic={semantic}\n inputProps={{\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...inputProps,\n }}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n\n return (\n <StyledHvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={clsx(className, radioClasses.root, classes?.root)}\n >\n {hasLabel ? (\n <StyledDivContainer\n className={clsx(\n radioClasses.container,\n classes?.container,\n disabled && clsx(radioClasses.disabled, classes?.disabled),\n focusVisible &&\n label &&\n clsx(radioClasses.focusVisible, classes?.focusVisible),\n isStateInvalid &&\n clsx(radioClasses.invalidContainer, classes?.invalidContainer)\n )}\n $invalid={isStateInvalid}\n $focusVisible={!!(focusVisible && label)}\n $disabled={disabled}\n >\n {radio}\n <StyledHvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={clsx(radioClasses.label, classes?.label)}\n $disabled={disabled}\n {...labelProps}\n />\n </StyledDivContainer>\n ) : (\n radio\n )}\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder>\n {statusMessage}\n </HvWarningText>\n )}\n </StyledHvFormElement>\n );\n};\n"],"names":["HvRadio","props","classes","className","id","name","value","required","readOnly","disabled","label","ariaLabel","ariaLabelledBy","ariaDescribedBy","labelProps","checked","defaultChecked","onChange","status","statusMessage","ariaErrorMessage","semantic","inputProps","onFocusVisible","onBlur","others","elementId","useUniqueId","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","isChecked","setIsChecked","useControlled","Boolean","onLocalChange","newChecked","canShowError","undefined","hasLabel","isStateInvalid","isInvalid","errorMessageId","setId","radio","StyledHvBaseRadio","clsx","radioClasses","invalidRadio","$invalid","StyledHvFormElement","root","children","_jsxs","StyledDivContainer","container","invalidContainer","$focusVisible","$disabled","_jsx","StyledHvLabel","htmlFor","HvWarningText","disableBorder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport { HvWarningText } from \"@core/components\";\nimport { useControlled, useUniqueId } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport { HvLabelProps } from \"../Forms/Label\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport {\n StyledDivContainer,\n StyledHvBaseRadio,\n StyledHvFormElement,\n StyledHvLabel,\n} from \"./Radio.styles\";\nimport radioClasses, { HvRadioClasses } from \"./radioClasses\";\n\nexport type HvRadioStatus = \"standBy\" | \"valid\" | \"invalid\";\n\nexport interface HvRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\">,\n HvBaseProps<HTMLButtonElement, \"onChange\" | \"color\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvRadioClasses;\n /**\n * Id to be applied to the form element root node.\n */\n id?: string;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The value of the form element.\n *\n * The default value is \"on\".\n */\n value?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided.\n */\n label?: React.ReactNode;\n /**\n * @ignore\n */\n \"aria-label\"?: string;\n /**\n * @ignore\n */\n \"aria-labelledby\"?: string;\n /**\n * @ignore\n */\n \"aria-describedby\"?: string;\n /**\n * Properties passed on to the label element.\n */\n labelProps?: HvLabelProps;\n /**\n * Indicates that user input is required on the form element.\n *\n * If a single radio button in a group has the required attribute, a radio button in\n * that group must be check, though it doesn't have to be the one with the attribute is applied.\n *\n * For that reason, the component doesn't make any uncontrolled changes to its validation status.\n * That should ideally be managed in the context of a radio button group.\n */\n required?: boolean;\n /**\n * Indicates that the form element is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n */\n status?: HvRadioStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: string;\n /**\n * Identifies the element that provides an error message for the radio button.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: React.FocusEvent<any>) => void;\n}\n\n/**\n * A Radio Button is a mechanism that allows user to select just an option from a group of options.\n *\n * It should used in a Radio Button Group to present the user with a range of options from\n * which the user <b>may select just one option</b> to complete their task.\n *\n * Individual use of radio buttons, at least uncontrolled, is unadvised as React state management doesn't\n * respond to the browser's native management of radio inputs checked state.\n */\nexport const HvRadio = (props: HvRadioProps) => {\n const {\n classes,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n labelProps,\n checked,\n defaultChecked = false,\n onChange,\n status = \"standBy\",\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = props;\n\n const elementId = useUniqueId(id, \"hvradio\");\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const [isChecked, setIsChecked] = useControlled(\n checked,\n Boolean(defaultChecked)\n );\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>, newChecked: boolean) => {\n setIsChecked(newChecked);\n\n onChange?.(evt, newChecked, value);\n },\n [onChange, setIsChecked, value]\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled\n const canShowError =\n ariaErrorMessage == null &&\n status !== undefined &&\n statusMessage !== undefined;\n\n const hasLabel = label != null;\n\n const isStateInvalid = isInvalid(status);\n\n let errorMessageId: string | undefined;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n const radio = (\n <StyledHvBaseRadio\n id={label ? setId(elementId, \"input\") : setId(id, \"input\")}\n name={name}\n className={clsx(\n radioClasses.radio,\n classes?.radio,\n isStateInvalid && clsx(radioClasses.invalidRadio, classes?.invalidRadio)\n )}\n $invalid={isStateInvalid}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onLocalChange}\n value={value}\n checked={isChecked}\n semantic={semantic}\n inputProps={{\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...inputProps,\n }}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n\n return (\n <StyledHvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={clsx(className, radioClasses.root, classes?.root)}\n >\n {hasLabel ? (\n <StyledDivContainer\n className={clsx(\n radioClasses.container,\n classes?.container,\n disabled && clsx(radioClasses.disabled, classes?.disabled),\n focusVisible &&\n label &&\n clsx(radioClasses.focusVisible, classes?.focusVisible),\n isStateInvalid &&\n clsx(radioClasses.invalidContainer, classes?.invalidContainer)\n )}\n $invalid={isStateInvalid}\n $focusVisible={!!(focusVisible && label)}\n $disabled={disabled}\n >\n {radio}\n <StyledHvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={clsx(radioClasses.label, classes?.label)}\n $disabled={disabled}\n {...labelProps}\n />\n </StyledDivContainer>\n ) : (\n radio\n )}\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder>\n {statusMessage}\n </HvWarningText>\n )}\n </StyledHvFormElement>\n );\n};\n"],"names":["HvRadio","props","classes","className","id","name","value","required","readOnly","disabled","label","ariaLabel","ariaLabelledBy","ariaDescribedBy","labelProps","checked","defaultChecked","onChange","status","statusMessage","ariaErrorMessage","semantic","inputProps","onFocusVisible","onBlur","others","elementId","useUniqueId","focusVisible","setFocusVisible","useState","onFocusVisibleCallback","useCallback","evt","onBlurCallback","isChecked","setIsChecked","useControlled","Boolean","onLocalChange","newChecked","canShowError","undefined","hasLabel","isStateInvalid","isInvalid","errorMessageId","setId","radio","StyledHvBaseRadio","clsx","radioClasses","invalidRadio","$invalid","StyledHvFormElement","root","children","_jsxs","StyledDivContainer","container","invalidContainer","$focusVisible","$disabled","_jsx","StyledHvLabel","htmlFor","HvWarningText","disableBorder"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useMemo, Children, cloneElement } from "react";
|
|
2
|
-
import { StyledFormElement, StyledLabel, StyledGroup } from "./RadioGroup.styles.js";
|
|
3
2
|
import { clsx } from "clsx";
|
|
3
|
+
import { StyledFormElement, StyledLabel, StyledGroup } from "./RadioGroup.styles.js";
|
|
4
4
|
import radioGroupClasses from "./radioGroupClasses.js";
|
|
5
5
|
import { jsxs, jsx } from "@emotion/react/jsx-runtime";
|
|
6
6
|
import useUniqueId from "../../hooks/useUniqueId.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { Children, useMemo, useCallback, cloneElement } from \"react\";\nimport { HvFormStatus, HvInfoMessage, HvWarningText } from \"../Forms\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n StyledFormElement,\n StyledGroup,\n StyledLabel,\n} from \"./RadioGroup.styles\";\nimport { clsx } from \"clsx\";\nimport { useControlled, useUniqueId } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport radioGroupClasses, { HvRadioGroupClasses } from \"./radioGroupClasses\";\n\nexport interface HvRadioGroupProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * The form element name.\n *\n * It is propagated to the children radio buttons, unless they already have one (which they shouldn't).\n */\n name?: string;\n /**\n * The value of the form element, represented in one of the child radio buttons values.\n *\n * When defined the radio button group state becomes controlled.\n */\n value?: any;\n /**\n * When uncontrolled, defines the initial value.\n */\n defaultValue?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /**\n * Provide additional descriptive text for the form element.\n */\n description?: React.ReactNode;\n /**\n * Indicates that the form element is disabled.\n * If `true` the state is propagated to the children radio buttons.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is not editable.\n * If `true` the state is propagated to the children radio buttons.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n * If `true` the state is propagated to the children radio buttons' input element.\n */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: React.ReactNode;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;\n /**\n * Indicates whether the radio buttons group's orientation is horizontal or vertical.\n *\n * Defaults to vertical.\n */\n orientation?: \"vertical\" | \"horizontal\";\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvRadioGroupClasses;\n}\n\nconst getValueFromSelectedChildren = (children: React.ReactNode) => {\n const childrenArray = Children.toArray(children);\n const childrenCount = childrenArray.length;\n for (let i = 0; i !== childrenCount; i += 1) {\n const child: any = childrenArray[i];\n\n const childIsControlled = child?.props?.checked !== undefined;\n const childIsSelected = childIsControlled\n ? child?.props?.checked\n : child?.props?.defaultChecked;\n\n if (childIsSelected) {\n return child?.props?.value;\n }\n }\n\n return null;\n};\n\n/**\n * A group of radio buttons.\n *\n * A radio group is a type of selection list that can only have a single entry checked at any one time.\n */\nexport const HvRadioGroup = ({\n id,\n classes,\n className,\n children,\n name,\n value: valueProp,\n defaultValue,\n label,\n description,\n status,\n statusMessage,\n required = false,\n readOnly = false,\n disabled = false,\n orientation = \"vertical\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-errormessage\": ariaErrorMessage,\n onChange,\n ...others\n}: HvRadioGroupProps) => {\n const elementId = useUniqueId(id, \"hvradiogroup\");\n\n const [value, setValue] = useControlled(\n valueProp,\n defaultValue !== undefined\n ? defaultValue\n : // When uncontrolled and no default value is given,\n // extract the initial selected values from the children own state\n () => getValueFromSelectedChildren(children)\n );\n\n const onChildChangeInterceptor = useCallback(\n (\n childOnChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void,\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any\n ) => {\n childOnChange?.(event, isChecked, newValue);\n\n onChange?.(event, newValue);\n\n setValue(newValue);\n },\n [onChange, setValue]\n );\n\n const modifiedChildren = useMemo(() => {\n return Children.map(children, (child: any) => {\n const childValue = child?.props?.value ?? \"on\";\n\n const childIsSelected = childValue === value;\n\n return cloneElement(child, {\n checked: childIsSelected,\n name: child?.props?.name || name || elementId,\n onChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any\n ) =>\n onChildChangeInterceptor(\n child?.props?.onChange,\n event,\n isChecked,\n newValue\n ),\n inputProps: {\n ...child?.props?.inputProps,\n // Set the required attribute directly in the input\n // the radio form element context shouldn't be aware so the\n // label doesn't show redundant asterisk\n required,\n },\n disabled: disabled || child?.props?.disabled,\n readOnly: readOnly || child?.props?.readOnly,\n });\n });\n }, [\n children,\n disabled,\n elementId,\n name,\n onChildChangeInterceptor,\n readOnly,\n required,\n value,\n ]);\n\n // The error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={clsx(className, classes?.root, radioGroupClasses.root)}\n >\n {label && (\n <StyledLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={clsx(classes?.label, radioGroupClasses.label)}\n />\n )}\n\n {description && (\n <HvInfoMessage id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n\n <StyledGroup\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={\n ariaLabelledBy || (label && setId(elementId, \"label\")) || undefined\n }\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? errorMessageId : undefined}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n className={clsx(\n classes?.group,\n radioGroupClasses.group,\n orientation === \"vertical\" &&\n clsx(classes?.vertical, radioGroupClasses.vertical),\n orientation === \"horizontal\" &&\n clsx(classes?.horizontal, radioGroupClasses.horizontal),\n status === \"invalid\" &&\n clsx(classes?.invalid, radioGroupClasses.invalid)\n )}\n $vertical={orientation === \"vertical\"}\n $horizontal={orientation === \"horizontal\"}\n $invalid={status === \"invalid\"}\n {...others}\n >\n {modifiedChildren}\n </StyledGroup>\n\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(classes?.error, radioGroupClasses.error)}\n >\n {statusMessage}\n </HvWarningText>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["getValueFromSelectedChildren","children","childrenArray","Children","toArray","childrenCount","length","i","child","childIsControlled","props","checked","undefined","childIsSelected","defaultChecked","value","HvRadioGroup","id","classes","className","name","valueProp","defaultValue","label","description","status","statusMessage","required","readOnly","disabled","orientation","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaErrorMessage","onChange","others","elementId","useUniqueId","setValue","useControlled","onChildChangeInterceptor","useCallback","childOnChange","event","isChecked","newValue","modifiedChildren","useMemo","map","childValue","cloneElement","inputProps","canShowError","errorMessageId","setId","StyledFormElement","clsx","root","radioGroupClasses","_jsx","StyledLabel","HvInfoMessage","StyledGroup","role","join","trim","group","vertical","horizontal","invalid","$vertical","$horizontal","$invalid","HvWarningText","disableBorder","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { Children, useMemo, useCallback, cloneElement } from \"react\";\nimport { HvBaseProps } from \"@core/types\";\nimport { clsx } from \"clsx\";\nimport { useControlled, useUniqueId } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport {\n StyledFormElement,\n StyledGroup,\n StyledLabel,\n} from \"./RadioGroup.styles\";\nimport { HvFormStatus, HvInfoMessage, HvWarningText } from \"../Forms\";\nimport radioGroupClasses, { HvRadioGroupClasses } from \"./radioGroupClasses\";\n\nexport interface HvRadioGroupProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * The form element name.\n *\n * It is propagated to the children radio buttons, unless they already have one (which they shouldn't).\n */\n name?: string;\n /**\n * The value of the form element, represented in one of the child radio buttons values.\n *\n * When defined the radio button group state becomes controlled.\n */\n value?: any;\n /**\n * When uncontrolled, defines the initial value.\n */\n defaultValue?: any;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /**\n * Provide additional descriptive text for the form element.\n */\n description?: React.ReactNode;\n /**\n * Indicates that the form element is disabled.\n * If `true` the state is propagated to the children radio buttons.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is not editable.\n * If `true` the state is propagated to the children radio buttons.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n * If `true` the state is propagated to the children radio buttons' input element.\n */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: React.ReactNode;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;\n /**\n * Indicates whether the radio buttons group's orientation is horizontal or vertical.\n *\n * Defaults to vertical.\n */\n orientation?: \"vertical\" | \"horizontal\";\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvRadioGroupClasses;\n}\n\nconst getValueFromSelectedChildren = (children: React.ReactNode) => {\n const childrenArray = Children.toArray(children);\n const childrenCount = childrenArray.length;\n for (let i = 0; i !== childrenCount; i += 1) {\n const child: any = childrenArray[i];\n\n const childIsControlled = child?.props?.checked !== undefined;\n const childIsSelected = childIsControlled\n ? child?.props?.checked\n : child?.props?.defaultChecked;\n\n if (childIsSelected) {\n return child?.props?.value;\n }\n }\n\n return null;\n};\n\n/**\n * A group of radio buttons.\n *\n * A radio group is a type of selection list that can only have a single entry checked at any one time.\n */\nexport const HvRadioGroup = ({\n id,\n classes,\n className,\n children,\n name,\n value: valueProp,\n defaultValue,\n label,\n description,\n status,\n statusMessage,\n required = false,\n readOnly = false,\n disabled = false,\n orientation = \"vertical\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-errormessage\": ariaErrorMessage,\n onChange,\n ...others\n}: HvRadioGroupProps) => {\n const elementId = useUniqueId(id, \"hvradiogroup\");\n\n const [value, setValue] = useControlled(\n valueProp,\n defaultValue !== undefined\n ? defaultValue\n : // When uncontrolled and no default value is given,\n // extract the initial selected values from the children own state\n () => getValueFromSelectedChildren(children)\n );\n\n const onChildChangeInterceptor = useCallback(\n (\n childOnChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any\n ) => void,\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any\n ) => {\n childOnChange?.(event, isChecked, newValue);\n\n onChange?.(event, newValue);\n\n setValue(newValue);\n },\n [onChange, setValue]\n );\n\n const modifiedChildren = useMemo(() => {\n return Children.map(children, (child: any) => {\n const childValue = child?.props?.value ?? \"on\";\n\n const childIsSelected = childValue === value;\n\n return cloneElement(child, {\n checked: childIsSelected,\n name: child?.props?.name || name || elementId,\n onChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any\n ) =>\n onChildChangeInterceptor(\n child?.props?.onChange,\n event,\n isChecked,\n newValue\n ),\n inputProps: {\n ...child?.props?.inputProps,\n // Set the required attribute directly in the input\n // the radio form element context shouldn't be aware so the\n // label doesn't show redundant asterisk\n required,\n },\n disabled: disabled || child?.props?.disabled,\n readOnly: readOnly || child?.props?.readOnly,\n });\n });\n }, [\n children,\n disabled,\n elementId,\n name,\n onChildChangeInterceptor,\n readOnly,\n required,\n value,\n ]);\n\n // The error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={clsx(className, classes?.root, radioGroupClasses.root)}\n >\n {label && (\n <StyledLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={clsx(classes?.label, radioGroupClasses.label)}\n />\n )}\n\n {description && (\n <HvInfoMessage id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n\n <StyledGroup\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={\n ariaLabelledBy || (label && setId(elementId, \"label\")) || undefined\n }\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? errorMessageId : undefined}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n className={clsx(\n classes?.group,\n radioGroupClasses.group,\n orientation === \"vertical\" &&\n clsx(classes?.vertical, radioGroupClasses.vertical),\n orientation === \"horizontal\" &&\n clsx(classes?.horizontal, radioGroupClasses.horizontal),\n status === \"invalid\" &&\n clsx(classes?.invalid, radioGroupClasses.invalid)\n )}\n $vertical={orientation === \"vertical\"}\n $horizontal={orientation === \"horizontal\"}\n $invalid={status === \"invalid\"}\n {...others}\n >\n {modifiedChildren}\n </StyledGroup>\n\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(classes?.error, radioGroupClasses.error)}\n >\n {statusMessage}\n </HvWarningText>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["getValueFromSelectedChildren","children","childrenArray","Children","toArray","childrenCount","length","i","child","childIsControlled","props","checked","undefined","childIsSelected","defaultChecked","value","HvRadioGroup","id","classes","className","name","valueProp","defaultValue","label","description","status","statusMessage","required","readOnly","disabled","orientation","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaErrorMessage","onChange","others","elementId","useUniqueId","setValue","useControlled","onChildChangeInterceptor","useCallback","childOnChange","event","isChecked","newValue","modifiedChildren","useMemo","map","childValue","cloneElement","inputProps","canShowError","errorMessageId","setId","StyledFormElement","clsx","root","radioGroupClasses","_jsx","StyledLabel","HvInfoMessage","StyledGroup","role","join","trim","group","vertical","horizontal","invalid","$vertical","$horizontal","$invalid","HvWarningText","disableBorder","error"],"mappings":";;;;;;;;;;AAsFA,MAAMA,+BAA+BA,CAACC,aAA8B;;AAC5DC,QAAAA,gBAAgBC,SAASC,QAAQH,QAAQ;AAC/C,QAAMI,gBAAgBH,cAAcI;AACpC,WAASC,IAAI,GAAGA,MAAMF,eAAeE,KAAK,GAAG;AACrCC,UAAAA,QAAaN,cAAcK,CAAC;AAE5BE,UAAAA,sBAAoBD,oCAAOE,UAAPF,mBAAcG,aAAYC;AACpD,UAAMC,kBAAkBJ,qBACpBD,oCAAOE,UAAPF,mBAAcG,WACdH,oCAAOE,UAAPF,mBAAcM;AAElB,QAAID,iBAAiB;AACnB,cAAOL,oCAAOE,UAAPF,mBAAcO;AAAAA,IACvB;AAAA,EACF;AAEO,SAAA;AACT;AAOO,MAAMC,eAAeA,CAAC;AAAA,EAC3BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAlB;AAAAA,EACAmB;AAAAA,EACAL,OAAOM;AAAAA,EACPC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,cAAc;AAAA,EACd,cAAcC;AAAAA,EACd,mBAAmBC;AAAAA,EACnB,oBAAoBC;AAAAA,EACpB,qBAAqBC;AAAAA,EACrBC;AAAAA,EACA,GAAGC;AACc,MAAM;AACjBC,QAAAA,YAAYC,YAAYrB,IAAI,cAAc;AAEhD,QAAM,CAACF,OAAOwB,QAAQ,IAAIC,cACxBnB,WACAC,iBAAiBV,SACbU;AAAAA;AAAAA;AAAAA,IAGA,MAAMtB,6BAA6BC,QAAQ;AAAA,GAAC;AAGlD,QAAMwC,2BAA2BC,YAC/B,CACEC,eAKAC,OACAC,WACAC,aACG;AACaF,mDAAAA,OAAOC,WAAWC;AAElCX,yCAAWS,OAAOE;AAElBP,aAASO,QAAQ;AAAA,EAAA,GAEnB,CAACX,UAAUI,QAAQ,CAAC;AAGhBQ,QAAAA,mBAAmBC,QAAQ,MAAM;AACrC,WAAO7C,SAAS8C,IAAIhD,UAAU,CAACO,UAAe;;AACtC0C,YAAAA,eAAa1C,oCAAOE,UAAPF,mBAAcO,UAAS;AAE1C,YAAMF,kBAAkBqC,eAAenC;AAEvC,aAAOoC,aAAa3C,OAAO;AAAA,QACzBG,SAASE;AAAAA,QACTO,QAAMZ,oCAAOE,UAAPF,mBAAcY,SAAQA,QAAQiB;AAAAA,QACpCF,UAAUA,CACRS,OACAC,WACAC,aAAAA;;AAEAL,2CACEjC,MAAAA,+BAAOE,UAAPF,gBAAAA,IAAc2B,UACdS,OACAC,WACAC,QAAQ;AAAA;AAAA,QAEZM,YAAY;AAAA,UACV,IAAG5C,oCAAOE,UAAPF,mBAAc4C;AAAAA;AAAAA;AAAAA;AAAAA,UAIjBzB;AAAAA,QACF;AAAA,QACAE,UAAUA,cAAYrB,oCAAOE,UAAPF,mBAAcqB;AAAAA,QACpCD,UAAUA,cAAYpB,oCAAOE,UAAPF,mBAAcoB;AAAAA,MAAAA,CACrC;AAAA,IAAA,CACF;AAAA,EAAA,GACA,CACD3B,UACA4B,UACAQ,WACAjB,MACAqB,0BACAb,UACAD,UACAZ,KAAK,CACN;AAMKsC,QAAAA,eACJnB,oBAAoB,SAClBT,WAAWb,UAAac,kBAAkBd,UACzCa,WAAWb,UAAae;AAE7B,QAAM2B,iBAAiBD,eACnBE,MAAMlB,WAAW,OAAO,IACxBH;AAEJ,8BACGsB,mBAAiB;AAAA,IAChBvC;AAAAA,IACAG;AAAAA,IACAK,QAAQA,UAAU;AAAA,IAClBI;AAAAA,IACAF;AAAAA,IACAC;AAAAA,IACAT,WAAWsC,KAAKtC,WAAWD,mCAASwC,MAAMC,kBAAkBD,IAAI;AAAA,IAAEzD,UAEjEsB,CAAAA,SACCqC,oBAACC,aAAW;AAAA,MACV5C,IAAIsC,MAAMlB,WAAW,OAAO;AAAA,MAC5Bd;AAAAA,MACAJ,WAAWsC,KAAKvC,mCAASK,OAAOoC,kBAAkBpC,KAAK;AAAA,IAAA,CAAE,GAI5DC,eACCoC,oBAACE,eAAa;AAAA,MAAC7C,IAAIsC,MAAMlB,WAAW,aAAa;AAAA,MAAEpC,UAChDuB;AAAAA,IAAAA,CAEJ,GAEDoC,oBAACG,aAAW;AAAA,MACVC,MAAK;AAAA,MACL,cAAYjC;AAAAA,MACZ,mBACEC,kBAAmBT,SAASgC,MAAMlB,WAAW,OAAO,KAAMzB;AAAAA,MAE5D,gBAAca,WAAW,YAAY,OAAOb;AAAAA,MAC5C,qBAAmBa,WAAW,YAAY6B,iBAAiB1C;AAAAA,MAC3D,oBACE,CAACY,eAAe+B,MAAMlB,WAAW,aAAa,GAAGJ,eAAe,EAC7DgC,KAAK,GAAG,EACRC,UAAUtD;AAAAA,MAEfO,WAAWsC,KACTvC,mCAASiD,OACTR,kBAAkBQ,OAClBrC,gBAAgB,cACd2B,KAAKvC,mCAASkD,UAAUT,kBAAkBS,QAAQ,GACpDtC,gBAAgB,gBACd2B,KAAKvC,mCAASmD,YAAYV,kBAAkBU,UAAU,GACxD5C,WAAW,aACTgC,KAAKvC,mCAASoD,SAASX,kBAAkBW,OAAO,CAAC;AAAA,MAErDC,WAAWzC,gBAAgB;AAAA,MAC3B0C,aAAa1C,gBAAgB;AAAA,MAC7B2C,UAAUhD,WAAW;AAAA,MAAU,GAC3BW;AAAAA,MAAMnC,UAET8C;AAAAA,IAAAA,CAAgB,GAGlBM,gBACCO,oBAACc,eAAa;AAAA,MACZzD,IAAIsC,MAAMlB,WAAW,OAAO;AAAA,MAC5BsC,eAAa;AAAA,MACbxD,WAAWsC,KAAKvC,mCAAS0D,OAAOjB,kBAAkBiB,KAAK;AAAA,MAAE3E,UAExDyB;AAAAA,IAAAA,CAEJ,CAAA;AAAA,EAAA,CACiB;AAExB;"}
|
package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import horizontalScrollListItemClasses from "./horizontalScrollListItemClasses.js";
|
|
2
1
|
import { ClassNames } from "@emotion/react";
|
|
2
|
+
import horizontalScrollListItemClasses from "./horizontalScrollListItemClasses.js";
|
|
3
3
|
import { styles } from "./HorizontalScrollListItem.styles.js";
|
|
4
4
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
5
5
|
import { setId } from "../../../../utils/setId.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalScrollListItem.js","sources":["../../../../../../src/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types\";\nimport
|
|
1
|
+
{"version":3,"file":"HorizontalScrollListItem.js","sources":["../../../../../../src/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types\";\nimport { ClassNames } from \"@emotion/react\";\nimport { setId } from \"@core/utils\";\nimport { HvTypographyProps } from \"@core/components\";\nimport horizontalScrollListItemClasses, {\n HvHorizontalScrollListItemClasses,\n} from \"./horizontalScrollListItemClasses\";\nimport { styles } from \"./HorizontalScrollListItem.styles\";\n\nexport interface HvVerticalScrollListItemProps extends HvBaseProps {\n /** The text to render. */\n children: React.ReactNode;\n /** A function component that renders a typography wrapped with a tooltip. */\n tooltipWrapper: React.FunctionComponent<{\n id?: string;\n className?: string;\n variant?: HvTypographyProps[\"variant\"];\n children?: React.ReactNode;\n }>;\n /** Whether the element is selected. */\n selected?: boolean;\n /** The function to be executed when the element is clicked. */\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n /** The function to be executed when the element is clicked. */\n onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvHorizontalScrollListItemClasses;\n}\n\n/**\n * HvHorizontalScrollListItem a focusable item to be used as part of the horizontal scroll\n */\nexport const HvHorizontalScrollListItem = ({\n id,\n className,\n classes,\n selected,\n children,\n onClick,\n onKeyDown,\n tooltipWrapper,\n ...others\n}: HvVerticalScrollListItemProps) => {\n const variant = selected ? \"label\" : \"body\";\n const labelId = setId(id, \"label\");\n const buttonId = setId(id, \"button\");\n const Tooltip = tooltipWrapper;\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <li\n id={id}\n className={cx(\n horizontalScrollListItemClasses.root,\n css(styles.root),\n className,\n classes?.root\n )}\n aria-current={selected}\n >\n <div\n id={buttonId}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={onKeyDown}\n className={cx(\n horizontalScrollListItemClasses.button,\n css(styles.button),\n classes?.button\n )}\n aria-labelledby={labelId}\n {...others}\n >\n <Tooltip\n id={labelId}\n className={cx(\n horizontalScrollListItemClasses.text,\n selected && horizontalScrollListItemClasses.selected,\n css(styles.text),\n selected && css(styles.selected),\n classes?.text,\n selected && classes?.selected\n )}\n variant={variant}\n >\n {children}\n </Tooltip>\n </div>\n </li>\n )}\n </ClassNames>\n );\n};\n"],"names":["HvHorizontalScrollListItem","id","className","classes","selected","children","onClick","onKeyDown","tooltipWrapper","others","variant","labelId","setId","buttonId","Tooltip","ClassNames","css","cx","horizontalScrollListItemClasses","root","styles","role","tabIndex","button","text"],"mappings":";;;;;AAgCO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC0B,MAAM;AAC7BC,QAAAA,UAAUN,WAAW,UAAU;AAC/BO,QAAAA,UAAUC,MAAMX,IAAI,OAAO;AAC3BY,QAAAA,WAAWD,MAAMX,IAAI,QAAQ;AACnC,QAAMa,UAAUN;AAEhB,6BACGO,YAAU;AAAA,IAAAV,UACRA,CAAC;AAAA,MAAEW;AAAAA,MAAKC;AAAAA,IAAAA,0BACP,MAAA;AAAA,MACEhB;AAAAA,MACAC,WAAWe,GACTC,gCAAgCC,MAChCH,IAAII,OAAOD,IAAI,GACfjB,WACAC,mCAASgB,IAAI;AAAA,MAEf,gBAAcf;AAAAA,MAASC,8BAEvB,OAAA;AAAA,QACEJ,IAAIY;AAAAA,QACJQ,MAAK;AAAA,QACLC,UAAU;AAAA,QACVhB;AAAAA,QACAC;AAAAA,QACAL,WAAWe,GACTC,gCAAgCK,QAChCP,IAAII,OAAOG,MAAM,GACjBpB,mCAASoB,MAAM;AAAA,QAEjB,mBAAiBZ;AAAAA,QAAQ,GACrBF;AAAAA,QAAMJ,8BAETS,SAAO;AAAA,UACNb,IAAIU;AAAAA,UACJT,WAAWe,GACTC,gCAAgCM,MAChCpB,YAAYc,gCAAgCd,UAC5CY,IAAII,OAAOI,IAAI,GACfpB,YAAYY,IAAII,OAAOhB,QAAQ,GAC/BD,mCAASqB,MACTpB,aAAYD,mCAASC,SAAQ;AAAA,UAE/BM;AAAAA,UAAiBL;AAAAA,QAAAA,CAER;AAAA,MAAA,CACD;AAAA,IAAA,CACN;AAAA,EAAA,CAGC;AAEjB;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import scrollToHorizontalClasses from "./scrollToHorizontalClasses.js";
|
|
2
1
|
import { ClassNames } from "@emotion/react";
|
|
3
|
-
import { styles } from "./ScrollToHorizontal.styles.js";
|
|
4
|
-
import { useScrollTo } from "../useScrollTo.js";
|
|
5
2
|
import { useMemo, useCallback } from "react";
|
|
6
|
-
import { withTooltip } from "../withTooltip.js";
|
|
7
3
|
import { useTheme } from "@mui/material/styles";
|
|
8
4
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
9
5
|
import fade from "../../../utils/hexToRgbA.js";
|
|
10
6
|
import { CurrentStep } from "@hitachivantara/uikit-react-icons";
|
|
11
7
|
import { useMediaQuery } from "@mui/material";
|
|
8
|
+
import { withTooltip } from "../withTooltip.js";
|
|
9
|
+
import { useScrollTo } from "../useScrollTo.js";
|
|
10
|
+
import { styles } from "./ScrollToHorizontal.styles.js";
|
|
11
|
+
import scrollToHorizontalClasses from "./scrollToHorizontalClasses.js";
|
|
12
12
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
13
13
|
import useUniqueId from "../../../hooks/useUniqueId.js";
|
|
14
14
|
import { HvHorizontalScrollListItem } from "./HorizontalScrollListItem/HorizontalScrollListItem.js";
|