@hitachivantara/uikit-react-core 5.31.0 → 5.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Accordion/Accordion.cjs +4 -5
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +5 -5
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs +2 -2
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +2 -2
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +3 -3
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +15 -18
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +6 -6
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/validations.cjs +12 -13
- package/dist/cjs/components/BaseInput/validations.cjs.map +1 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs +3 -3
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +3 -3
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/Box/Box.cjs +1 -1
- package/dist/cjs/components/Box/Box.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +2 -5
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +11 -9
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -3
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/utils.cjs +1 -1
- package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.cjs +4 -4
- package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +1 -1
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.cjs +3 -3
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/Calendar.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +6 -9
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +4 -4
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +2 -2
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +8 -28
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +9 -39
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +3 -6
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +15 -19
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs +9 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/utils.cjs +8 -13
- package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs +10 -11
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselControls.cjs +1 -1
- package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselThumbnails.cjs +1 -1
- package/dist/cjs/components/Carousel/CarouselThumbnails.cjs.map +1 -1
- package/dist/cjs/components/CheckBox/CheckBox.cjs +3 -3
- package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +11 -17
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs +10 -10
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +16 -16
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +3 -3
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +7 -13
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +2 -2
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs +3 -3
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs +10 -11
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +5 -5
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs +4 -4
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/Drawer/Drawer.cjs +1 -1
- package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +5 -6
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs +10 -12
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.cjs +10 -13
- package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +13 -14
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.cjs +6 -6
- package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/File/File.styles.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/FileList/FileList.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +2 -4
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +10 -11
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +14 -26
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +8 -13
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/Focus/utils.cjs +1 -1
- package/dist/cjs/components/Focus/utils.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
- package/dist/cjs/components/Forms/Adornment/Adornment.cjs +1 -2
- package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs +17 -20
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
- package/dist/cjs/components/Forms/Label/Label.cjs +1 -2
- package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +2 -2
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs +3 -6
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +6 -7
- package/dist/cjs/components/Forms/WarningText/WarningText.styles.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/GlobalActions/GlobalActions.styles.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.cjs +1 -1
- package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs +1 -2
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +14 -15
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs +8 -7
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs +2 -2
- package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +24 -29
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/Kpi/Kpi.cjs +4 -4
- package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.cjs +1 -1
- package/dist/cjs/components/Link/Link.cjs.map +1 -1
- package/dist/cjs/components/List/List.cjs +5 -6
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/List/utils.cjs +6 -6
- package/dist/cjs/components/List/utils.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +4 -4
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/Login/Login.styles.cjs +1 -1
- package/dist/cjs/components/Login/Login.styles.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -4
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +18 -16
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +27 -8
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Select.cjs +1 -1
- package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +2 -2
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Context.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +3 -3
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs +4 -6
- package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +18 -23
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +31 -35
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +10 -12
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/utils/index.cjs +1 -1
- package/dist/cjs/components/QueryBuilder/utils/index.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs +3 -3
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +11 -16
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +7 -7
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +4 -4
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/useScrollTo.cjs +3 -3
- package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/utils.cjs +4 -7
- package/dist/cjs/components/ScrollTo/utils.cjs.map +1 -1
- package/dist/cjs/components/Section/Section.cjs +50 -0
- package/dist/cjs/components/Section/Section.cjs.map +1 -0
- package/dist/cjs/components/Section/Section.styles.cjs +40 -0
- package/dist/cjs/components/Section/Section.styles.cjs.map +1 -0
- package/dist/cjs/components/SelectionList/SelectionList.cjs +9 -15
- package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +9 -10
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -1
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +2 -2
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
- package/dist/cjs/components/Slider/utils.cjs +2 -2
- package/dist/cjs/components/Slider/utils.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +2 -2
- package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
- package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs +1 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.styles.cjs +1 -1
- package/dist/cjs/components/Tab/Tab.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -2
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +3 -4
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -2
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -4
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -3
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs +1 -2
- package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useResizeColumns.cjs +1 -2
- package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs +2 -5
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -4
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useSticky.cjs +5 -7
- package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +6 -7
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/fallbacks.cjs +1 -1
- package/dist/cjs/components/Table/utils/fallbacks.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs +2 -2
- package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +16 -26
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +5 -9
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/Placeholder.cjs +1 -1
- package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -4
- package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs +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/Tooltip/Tooltip.styles.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +1 -1
- 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/Action.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +10 -10
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs +2 -4
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +5 -16
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +7 -8
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
- package/dist/cjs/hocs/withTooltip.cjs +1 -1
- package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
- package/dist/cjs/hooks/useClickOutside.cjs +2 -2
- package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
- package/dist/cjs/hooks/useComputation.cjs +1 -1
- package/dist/cjs/hooks/useComputation.cjs.map +1 -1
- package/dist/cjs/hooks/useCss.cjs.map +1 -1
- package/dist/cjs/hooks/useDefaultProps.cjs +4 -5
- package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +1 -2
- package/dist/cjs/hooks/useTheme.cjs.map +1 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/classes.cjs +2 -2
- package/dist/cjs/utils/classes.cjs.map +1 -1
- package/dist/cjs/utils/keyboardUtils.cjs +1 -1
- package/dist/cjs/utils/keyboardUtils.cjs.map +1 -1
- package/dist/cjs/utils/setId.cjs +1 -3
- package/dist/cjs/utils/setId.cjs.map +1 -1
- package/dist/cjs/utils/theme.cjs +2 -4
- package/dist/cjs/utils/theme.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +4 -5
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +5 -5
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.js +2 -2
- package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +2 -2
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +1 -1
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +3 -3
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +15 -18
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +6 -6
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseInput/validations.js +12 -13
- package/dist/esm/components/BaseInput/validations.js.map +1 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js +3 -3
- package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js +3 -3
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/Box/Box.js +1 -1
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -4
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +11 -9
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -3
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/utils.js +1 -1
- package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.js +4 -4
- package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
- package/dist/esm/components/Button/Button.js +1 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.js +3 -3
- package/dist/esm/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.styles.js +1 -1
- package/dist/esm/components/Calendar/Calendar.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +6 -8
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +4 -4
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +8 -28
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +9 -39
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +3 -6
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +15 -17
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js +9 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
- package/dist/esm/components/Calendar/utils.js +8 -12
- package/dist/esm/components/Calendar/utils.js.map +1 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.js.map +1 -1
- package/dist/esm/components/Carousel/Carousel.js +10 -11
- package/dist/esm/components/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselControls.js +1 -1
- package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselThumbnails.js +1 -1
- package/dist/esm/components/Carousel/CarouselThumbnails.js.map +1 -1
- package/dist/esm/components/CheckBox/CheckBox.js +3 -3
- package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +11 -17
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js +10 -10
- package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/ColorPicker/Fields/Fields.js +16 -16
- package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/esm/components/ColorPicker/Picker/Picker.js +3 -3
- package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
- package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +7 -13
- package/dist/esm/components/Controls/Controls.js.map +1 -1
- package/dist/esm/components/Controls/LeftControl/LeftControl.js +2 -2
- package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
- package/dist/esm/components/Controls/RightControl/RightControl.js +3 -3
- package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +10 -11
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/utils.js +1 -1
- package/dist/esm/components/DatePicker/utils.js.map +1 -1
- package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +5 -5
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js +4 -4
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +1 -1
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +5 -6
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +10 -12
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.js +10 -11
- package/dist/esm/components/Dropdown/List/List.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.js +13 -14
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.js +6 -6
- package/dist/esm/components/FileUploader/File/File.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.styles.js +1 -1
- package/dist/esm/components/FileUploader/File/File.styles.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/FileList/FileList.styles.js +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
- package/dist/esm/components/FilterGroup/Counter/Counter.js +2 -4
- package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +10 -11
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterGroupContext.js +1 -1
- package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +14 -26
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +8 -12
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/Focus/utils.js +1 -1
- package/dist/esm/components/Focus/utils.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js.map +1 -1
- package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
- package/dist/esm/components/Forms/Adornment/Adornment.js +1 -2
- package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js +17 -20
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/esm/components/Forms/Label/Label.js +1 -2
- package/dist/esm/components/Forms/Label/Label.js.map +1 -1
- package/dist/esm/components/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.js +3 -4
- package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.styles.js +6 -7
- package/dist/esm/components/Forms/WarningText/WarningText.styles.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/GlobalActions/GlobalActions.styles.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js +1 -1
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Header/Actions/Actions.styles.js +1 -2
- package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +14 -15
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Header/Navigation/useSelectionPath.js +1 -1
- package/dist/esm/components/Header/Navigation/useSelectionPath.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.js +8 -7
- package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.styles.js +2 -2
- package/dist/esm/components/InlineEditor/InlineEditor.styles.js.map +1 -1
- package/dist/esm/components/Input/Input.js +24 -29
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Kpi/Kpi.js +4 -4
- package/dist/esm/components/Kpi/Kpi.js.map +1 -1
- package/dist/esm/components/Link/Link.js +1 -1
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/List/List.js +5 -6
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/List/utils.js +6 -6
- package/dist/esm/components/List/utils.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +4 -4
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/Login/Login.styles.js +1 -1
- package/dist/esm/components/Login/Login.styles.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -4
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +18 -16
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +29 -10
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Select.js +1 -1
- package/dist/esm/components/Pagination/Select.js.map +1 -1
- package/dist/esm/components/Panel/Panel.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Context.js.map +1 -1
- package/dist/esm/components/QueryBuilder/QueryBuilder.js +3 -3
- package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js +4 -6
- package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +18 -23
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +31 -35
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +10 -12
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/esm/components/QueryBuilder/utils/index.js +1 -1
- package/dist/esm/components/QueryBuilder/utils/index.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js +3 -3
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +11 -16
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +7 -7
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +4 -4
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
- package/dist/esm/components/ScrollTo/useScrollTo.js +3 -3
- package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/components/ScrollTo/utils.js +4 -7
- package/dist/esm/components/ScrollTo/utils.js.map +1 -1
- package/dist/esm/components/Section/Section.js +51 -0
- package/dist/esm/components/Section/Section.js.map +1 -0
- package/dist/esm/components/Section/Section.styles.js +40 -0
- package/dist/esm/components/Section/Section.styles.js.map +1 -0
- package/dist/esm/components/SelectionList/SelectionList.js +9 -15
- package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +9 -10
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Slider/Slider.styles.js.map +1 -1
- package/dist/esm/components/Slider/SliderInput/SliderInput.js +2 -2
- package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/esm/components/Slider/utils.js +2 -2
- package/dist/esm/components/Slider/utils.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +2 -2
- package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
- package/dist/esm/components/Stack/Stack.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +1 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tab/Tab.js.map +1 -1
- package/dist/esm/components/Tab/Tab.styles.js +1 -1
- package/dist/esm/components/Tab/Tab.styles.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +1 -2
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +3 -4
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +1 -2
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -4
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +2 -3
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/hooks/useHeaderGroups.js +1 -2
- package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
- package/dist/esm/components/Table/hooks/useResizeColumns.js +1 -2
- package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowExpand.js +2 -5
- package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowSelection.js +2 -4
- package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/components/Table/hooks/useSticky.js +5 -7
- package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +6 -7
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Table/utils/fallbacks.js +1 -1
- package/dist/esm/components/Table/utils/fallbacks.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +2 -2
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +16 -24
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +5 -7
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TimePicker/Placeholder.js +1 -1
- package/dist/esm/components/TimePicker/Placeholder.js.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +3 -4
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js +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/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +1 -1
- 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/Action.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +10 -10
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +2 -2
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +2 -2
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js +2 -4
- package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +5 -16
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +7 -8
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
- package/dist/esm/hocs/withTooltip.js +1 -1
- package/dist/esm/hocs/withTooltip.js.map +1 -1
- package/dist/esm/hooks/useClickOutside.js +2 -2
- package/dist/esm/hooks/useClickOutside.js.map +1 -1
- package/dist/esm/hooks/useComputation.js +1 -1
- package/dist/esm/hooks/useComputation.js.map +1 -1
- package/dist/esm/hooks/useCss.js.map +1 -1
- package/dist/esm/hooks/useDefaultProps.js +4 -5
- package/dist/esm/hooks/useDefaultProps.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +1 -2
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/classes.js +2 -2
- package/dist/esm/utils/classes.js.map +1 -1
- package/dist/esm/utils/keyboardUtils.js +1 -1
- package/dist/esm/utils/keyboardUtils.js.map +1 -1
- package/dist/esm/utils/setId.js +1 -2
- package/dist/esm/utils/setId.js.map +1 -1
- package/dist/esm/utils/theme.js +2 -4
- package/dist/esm/utils/theme.js.map +1 -1
- package/dist/types/index.d.ts +59 -4
- package/package.json +5 -5
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +0 -24
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +0 -1
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs +0 -19
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs.map +0 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +0 -25
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +0 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js +0 -19
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import isNil from "lodash/isNil";
|
|
3
2
|
import React__default, { useState } from "react";
|
|
4
3
|
import { isOneOfKeys, isKey } from "../../utils/keyboardUtils.js";
|
|
5
4
|
import { isBrowser } from "../../utils/browser.js";
|
|
@@ -29,7 +28,7 @@ const HvFocus = ({
|
|
|
29
28
|
cx
|
|
30
29
|
} = useClasses(classesProp);
|
|
31
30
|
const getFocuses = () => {
|
|
32
|
-
const focuses =
|
|
31
|
+
const focuses = rootRef?.current ? Array.from(rootRef.current.getElementsByClassName(filterClass || staticClasses.root || "root")) : [];
|
|
33
32
|
return focuses;
|
|
34
33
|
};
|
|
35
34
|
const setTabIndex = (el, tabIndex = 0) => {
|
|
@@ -85,25 +84,23 @@ const HvFocus = ({
|
|
|
85
84
|
focusableChildren.forEach((child) => setTabIndex(child, -1));
|
|
86
85
|
setChildFocus(focusableChildren[0]);
|
|
87
86
|
}
|
|
88
|
-
if (
|
|
87
|
+
if (tabIndex != null)
|
|
89
88
|
setTabIndex(el, tabIndex);
|
|
90
89
|
setHasRunConfig(true);
|
|
91
90
|
};
|
|
92
91
|
const addFocusClass = (evt) => {
|
|
93
|
-
var _a;
|
|
94
92
|
if (!useFalseFocus) {
|
|
95
93
|
classes.focused.split(" ").forEach((c) => evt.currentTarget.classList.add(c));
|
|
96
94
|
evt.currentTarget.classList.add("HvIsFocused");
|
|
97
|
-
|
|
95
|
+
classes?.focus?.split(" ").forEach((c) => evt.currentTarget.classList.add(c));
|
|
98
96
|
}
|
|
99
97
|
};
|
|
100
98
|
const removeFocusClass = () => {
|
|
101
99
|
if (!useFalseFocus) {
|
|
102
100
|
getFocuses().forEach((element) => {
|
|
103
|
-
var _a;
|
|
104
101
|
classes.focused.split(" ").forEach((c) => element.classList.remove(c));
|
|
105
102
|
element.classList.remove("HvIsFocused");
|
|
106
|
-
|
|
103
|
+
classes?.focus?.split(" ").forEach((c) => element.classList.remove(c));
|
|
107
104
|
});
|
|
108
105
|
}
|
|
109
106
|
};
|
|
@@ -120,8 +117,7 @@ const HvFocus = ({
|
|
|
120
117
|
onBlurStrategy();
|
|
121
118
|
};
|
|
122
119
|
const onMouseDown = (evt) => {
|
|
123
|
-
|
|
124
|
-
const hasCard = !!((_a = evt.currentTarget) == null ? void 0 : _a.querySelector(".HvIsCardGridElement"));
|
|
120
|
+
const hasCard = !!evt.currentTarget?.querySelector(".HvIsCardGridElement");
|
|
125
121
|
if (strategy === "grid" && hasCard)
|
|
126
122
|
return;
|
|
127
123
|
setFocusTo(evt.currentTarget);
|
|
@@ -132,7 +128,7 @@ const HvFocus = ({
|
|
|
132
128
|
}
|
|
133
129
|
};
|
|
134
130
|
const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {
|
|
135
|
-
if (focusesList
|
|
131
|
+
if (focusesList?.includes(previousFocus)) {
|
|
136
132
|
setTabIndex(previousFocus, -1);
|
|
137
133
|
}
|
|
138
134
|
setTabIndex(nextFocus, 0);
|
|
@@ -227,12 +223,12 @@ const HvFocus = ({
|
|
|
227
223
|
evt.currentTarget.click();
|
|
228
224
|
};
|
|
229
225
|
const onKeyDown = (evt) => {
|
|
230
|
-
if (
|
|
226
|
+
if (rootRef?.current == null) {
|
|
231
227
|
onSingleHandler(evt);
|
|
232
228
|
return;
|
|
233
229
|
}
|
|
234
230
|
const isDisabledFocusable = strategy === "menu";
|
|
235
|
-
const focusesList = getFocuses().filter((el) => isDisabledFocusable || !el.classList.contains(classes
|
|
231
|
+
const focusesList = getFocuses().filter((el) => isDisabledFocusable || !el.classList.contains(classes?.disabled));
|
|
236
232
|
const currentFocus = focusesList.indexOf(evt.currentTarget);
|
|
237
233
|
const focuses = {
|
|
238
234
|
first: focusesList[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import isNil from \"lodash/isNil\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { isKey, isOneOfKeys } from \"@core/utils/keyboardUtils\";\nimport { isBrowser } from \"@core/utils/browser\";\nimport { ConditionalWrapper } from \"@core/utils/ConditionalWrapper\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { getFocusableChildren, setFocusTo } from \"./utils\";\nimport { staticClasses, useClasses } from \"./Focus.styles\";\n\nexport { staticClasses as focusClasses };\nexport type HvFocusClasses = ExtractNames<typeof useClasses>;\n\nexport type HvFocusStrategies = \"listbox\" | \"menu\" | \"card\" | \"grid\";\n\nexport interface HvFocusProps extends HvBaseProps<HTMLElement, \"children\"> {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v */\n focusOnClick?: boolean;\n /** Show focus when click element. v */\n focusDisabled?: boolean;\n /** Focus and navigation strategy to be used. v */\n strategy?: HvFocusStrategies;\n /** Uses an absolute positioned div as a focus. v */\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v */\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v */\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n}\n\nexport const HvFocus = ({\n classes: classesProp,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n const { classes, cx } = useClasses(classesProp);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || staticClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n if (!el) return;\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(classes.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n // evt.currentTarget.classList.add(classes.focused);\n classes.focused\n .split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n // element.classList.remove(classes.focused);\n classes.focused.split(\" \").forEach((c) => element.classList.remove(c));\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [\"Enter\", \"Space\"])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case \"ArrowUp\":\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowDown\":\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowLeft\":\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowRight\":\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n evt.target.click();\n break;\n case \"ArrowUp\":\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case \"ArrowDown\":\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\"Space\", \"Enter\"]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {React.cloneElement(children, {\n className: cx(\n [classes.root, filterClass],\n {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n },\n children.props.className\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["HvFocus","classes","classesProp","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","cx","useClasses","getFocuses","focuses","current","Array","from","getElementsByClassName","staticClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","focused","split","c","add","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","code","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","externalReference","falseFocus","React","cloneElement","className","props","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Focus.js","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import React, { RefObject, useState } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { isKey, isOneOfKeys } from \"@core/utils/keyboardUtils\";\nimport { isBrowser } from \"@core/utils/browser\";\nimport { ConditionalWrapper } from \"@core/utils/ConditionalWrapper\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { getFocusableChildren, setFocusTo } from \"./utils\";\nimport { staticClasses, useClasses } from \"./Focus.styles\";\n\nexport { staticClasses as focusClasses };\nexport type HvFocusClasses = ExtractNames<typeof useClasses>;\n\nexport type HvFocusStrategies = \"listbox\" | \"menu\" | \"card\" | \"grid\";\n\nexport interface HvFocusProps extends HvBaseProps<HTMLElement, \"children\"> {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v */\n focusOnClick?: boolean;\n /** Show focus when click element. v */\n focusDisabled?: boolean;\n /** Focus and navigation strategy to be used. v */\n strategy?: HvFocusStrategies;\n /** Uses an absolute positioned div as a focus. v */\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v */\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v */\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n}\n\nexport const HvFocus = ({\n classes: classesProp,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n const { classes, cx } = useClasses(classesProp);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || staticClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n if (!el) return;\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(classes.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (tabIndex != null) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n // evt.currentTarget.classList.add(classes.focused);\n classes.focused\n .split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n // element.classList.remove(classes.focused);\n classes.focused.split(\" \").forEach((c) => element.classList.remove(c));\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [\"Enter\", \"Space\"])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case \"ArrowUp\":\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowDown\":\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowLeft\":\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowRight\":\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n evt.target.click();\n break;\n case \"ArrowUp\":\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case \"ArrowDown\":\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\"Space\", \"Enter\"]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {React.cloneElement(children, {\n className: cx(\n [classes.root, filterClass],\n {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n },\n children.props.className\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["HvFocus","classes","classesProp","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","cx","useClasses","getFocuses","focuses","current","Array","from","getElementsByClassName","staticClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","addFocusClass","focused","split","c","add","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","code","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","externalReference","falseFocus","React","cloneElement","className","props","ref"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const getFocusableChildren = (el) =>
|
|
1
|
+
const getFocusableChildren = (el) => el?.querySelectorAll("input, button, select, textarea, a[href]") || [];
|
|
2
2
|
const setFocusTo = (el) => {
|
|
3
3
|
el.focus();
|
|
4
4
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/components/Focus/utils.ts"],"sourcesContent":["export const getFocusableChildren = (el) =>\n el?.querySelectorAll(\"input, button, select, textarea, a[href]\") || [];\n\nexport const setFocusTo = (el) => {\n el.focus();\n};\n"],"names":["getFocusableChildren","el","querySelectorAll","setFocusTo","focus"],"mappings":"AAAO,MAAMA,uBAAwBC,CACnCA,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/Focus/utils.ts"],"sourcesContent":["export const getFocusableChildren = (el) =>\n el?.querySelectorAll(\"input, button, select, textarea, a[href]\") || [];\n\nexport const setFocusTo = (el) => {\n el.focus();\n};\n"],"names":["getFocusableChildren","el","querySelectorAll","setFocusTo","focus"],"mappings":"AAAO,MAAMA,uBAAwBC,CACnCA,OAAAA,IAAIC,iBAAiB,0CAA0C,KAAK,CAAE;AAEjE,MAAMC,aAAcF,CAAO,OAAA;AAChCA,KAAGG,MAAM;AACX;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","classesProp","className","others","useDefaultProps","muiTheme","useTheme","cx","useClasses","isSmDown","useMediaQuery","breakpoints","down","root","small","rightContainer","separator"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","classesProp","className","others","useDefaultProps","muiTheme","useTheme","cx","useClasses","isSmDown","useMediaQuery","breakpoints","down","root","small","rightContainer","separator"],"mappings":";;;;;;;AA4BaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,kCAAgC,oBAAIC,QAAOC,YAAc,CAAA;AAAA,IACtEC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYV,KAAK;AACrC,QAAMW,WAAWC;AACX,QAAA;AAAA,IAAEN;AAAAA,IAASO;AAAAA,EAAAA,IAAOC,WAAWP,WAAW;AAE9C,QAAMQ,WAAWC,cAAcL,SAASM,YAAYC,KAAK,IAAI,CAAC;AAE9D,SACG,qBAAA,UAAA,EACC,WAAWL,GAAGP,QAAQa,MAAM;AAAA,IAAE,CAACb,QAAQc,KAAK,GAAGL;AAAAA,EAAYP,GAAAA,SAAS,GACpE,GAAIC,QAEJ,UAAA;AAAA,IAAA,oBAAC,gBAAa,SAAQ,SAAQ,WAAWH,QAAQL,MAC9CA,UACH,MAAA;AAAA,IACC,qBAAA,OAAA,EAAI,WAAWK,QAAQe,gBACtB,UAAA;AAAA,MAAA,oBAAC,cAAa,EAAA,WAAWf,QAAQJ,WAAYA,UAAU,WAAA;AAAA,MACtDG,SAAS,oBAAC,OAAI,EAAA,WAAWC,QAAQgB,WAAa;AAAA,MAC9CjB;AAAAA,IAAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.styles.js","sources":["../../../../src/components/Footer/Footer.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvFooter\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n padding: `${theme.space.xs} ${theme.space.sm}`,\n height: 40,\n bottom: 0,\n zIndex: theme.zIndices.base,\n backgroundColor: theme.colors.atmo1,\n boxShadow: `0 -1px 0 ${theme.colors.atmo4}`,\n },\n name: {},\n rightContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n marginLeft: \"auto\",\n },\n copyright: {},\n separator: {\n width: 1,\n height: 16,\n backgroundColor: theme.colors.secondary,\n margin: `${theme.space.xs} ${theme.space.sm}`,\n },\n small: {\n \"&$root\": {\n height: \"unset\",\n flexDirection: \"column\",\n padding: theme.space.xs,\n },\n \"& $name\": {\n marginBottom: theme.space.xs,\n },\n \"& $rightContainer\": {\n flexDirection: \"column\",\n textAlign: \"center\",\n marginLeft: \"unset\",\n },\n \"& $copyright\": {\n flexDirection: \"column\",\n marginBottom: theme.space.xs,\n },\n \"& $separator\": { display: \"none\" },\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","display","alignItems","flexDirection","padding","theme","space","xs","sm","height","bottom","zIndex","zIndices","base","backgroundColor","colors","atmo1","boxShadow","atmo4","name","rightContainer","marginLeft","copyright","separator","width","secondary","margin","small","marginBottom","textAlign"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Footer.styles.js","sources":["../../../../src/components/Footer/Footer.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvFooter\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n padding: `${theme.space.xs} ${theme.space.sm}`,\n height: 40,\n bottom: 0,\n zIndex: theme.zIndices.base,\n backgroundColor: theme.colors.atmo1,\n boxShadow: `0 -1px 0 ${theme.colors.atmo4}`,\n },\n name: {},\n rightContainer: {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n marginLeft: \"auto\",\n },\n copyright: {},\n separator: {\n width: 1,\n height: 16,\n backgroundColor: theme.colors.secondary,\n margin: `${theme.space.xs} ${theme.space.sm}`,\n },\n small: {\n \"&$root\": {\n height: \"unset\",\n flexDirection: \"column\",\n padding: theme.space.xs,\n },\n \"& $name\": {\n marginBottom: theme.space.xs,\n },\n \"& $rightContainer\": {\n flexDirection: \"column\",\n textAlign: \"center\",\n marginLeft: \"unset\",\n },\n \"& $copyright\": {\n flexDirection: \"column\",\n marginBottom: theme.space.xs,\n },\n \"& $separator\": { display: \"none\" },\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","display","alignItems","flexDirection","padding","theme","space","xs","sm","height","bottom","zIndex","zIndices","base","backgroundColor","colors","atmo1","boxShadow","atmo4","name","rightContainer","marginLeft","copyright","separator","width","secondary","margin","small","marginBottom","textAlign"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,YAAY;AAAA,EACrEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,eAAe;AAAA,IACfC,SAAU,GAAEC,MAAMC,MAAMC,EAAG,IAAGF,MAAMC,MAAME,EAAG;AAAA,IAC7CC,QAAQ;AAAA,IACRC,QAAQ;AAAA,IACRC,QAAQN,MAAMO,SAASC;AAAAA,IACvBC,iBAAiBT,MAAMU,OAAOC;AAAAA,IAC9BC,WAAY,YAAWZ,MAAMU,OAAOG,KAAM;AAAA,EAC5C;AAAA,EACAC,MAAM,CAAC;AAAA,EACPC,gBAAgB;AAAA,IACdnB,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,eAAe;AAAA,IACfkB,YAAY;AAAA,EACd;AAAA,EACAC,WAAW,CAAC;AAAA,EACZC,WAAW;AAAA,IACTC,OAAO;AAAA,IACPf,QAAQ;AAAA,IACRK,iBAAiBT,MAAMU,OAAOU;AAAAA,IAC9BC,QAAS,GAAErB,MAAMC,MAAMC,EAAG,IAAGF,MAAMC,MAAME,EAAG;AAAA,EAC9C;AAAA,EACAmB,OAAO;AAAA,IACL,UAAU;AAAA,MACRlB,QAAQ;AAAA,MACRN,eAAe;AAAA,MACfC,SAASC,MAAMC,MAAMC;AAAAA,IACvB;AAAA,IACA,WAAW;AAAA,MACTqB,cAAcvB,MAAMC,MAAMC;AAAAA,IAC5B;AAAA,IACA,qBAAqB;AAAA,MACnBJ,eAAe;AAAA,MACf0B,WAAW;AAAA,MACXR,YAAY;AAAA,IACd;AAAA,IACA,gBAAgB;AAAA,MACdlB,eAAe;AAAA,MACfyB,cAAcvB,MAAMC,MAAMC;AAAAA,IAC5B;AAAA,IACA,gBAAgB;AAAA,MAAEN,SAAS;AAAA,IAAO;AAAA,EACpC;AACF,CAAC;"}
|
|
@@ -16,7 +16,6 @@ const HvAdornment = forwardRef(({
|
|
|
16
16
|
isVisible = void 0,
|
|
17
17
|
...others
|
|
18
18
|
}, ref) => {
|
|
19
|
-
var _a;
|
|
20
19
|
const {
|
|
21
20
|
classes,
|
|
22
21
|
cx
|
|
@@ -29,7 +28,7 @@ const HvAdornment = forwardRef(({
|
|
|
29
28
|
} = useContext(HvFormElementDescriptorsContext);
|
|
30
29
|
const displayIcon = isVisible ?? (showWhen === void 0 || elementStatus === showWhen);
|
|
31
30
|
const isClickable = !!onClick;
|
|
32
|
-
return isClickable ? /* @__PURE__ */ jsx("button", { id, ref, type: "button", tabIndex: -1, "aria-controls":
|
|
31
|
+
return isClickable ? /* @__PURE__ */ jsx("button", { id, ref, type: "button", tabIndex: -1, "aria-controls": input?.[0]?.id, className: cx(classes.root, classes.adornment, classes.adornmentButton, {
|
|
33
32
|
[classes.hideIcon]: !displayIcon
|
|
34
33
|
}, className), onClick, onMouseDown: (event) => event.preventDefault(), onKeyDown: noop, ...others, children: /* @__PURE__ */ jsx("div", { className: classes.icon, children: icon }) }) : /* @__PURE__ */ jsx("div", { id, ref, className: cx(classes.root, classes.adornment, classes.adornmentIcon, {
|
|
35
34
|
[classes.hideIcon]: !displayIcon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\n\nconst noop = () => {};\n\nexport { staticClasses as adornmentClasses };\n\nexport type HvAdornmentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAdornmentProps\n extends HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n \"onMouseDown\" | \"onKeyDown\"\n > {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n}\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes: classesProp,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentButton,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n onClick={onClick}\n onMouseDown={(event) => event.preventDefault()}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentIcon,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n }\n);\n"],"names":["noop","HvAdornment","forwardRef","id","classes","classesProp","className","icon","showWhen","undefined","onClick","isVisible","others","ref","cx","useClasses","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","root","adornment","adornmentButton","hideIcon","event","preventDefault","adornmentIcon"],"mappings":";;;;;;AAYA,MAAMA,OAAOA,MAAM;AAAC;AAkCPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC,SAASC;AAAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,EACZ,GAAGG;AACL,GACAC,QACG
|
|
1
|
+
{"version":3,"file":"Adornment.js","sources":["../../../../../src/components/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef, MouseEventHandler, ForwardedRef } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\n\nconst noop = () => {};\n\nexport { staticClasses as adornmentClasses };\n\nexport type HvAdornmentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAdornmentProps\n extends HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n \"onMouseDown\" | \"onKeyDown\"\n > {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n}\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes: classesProp,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentButton,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n onClick={onClick}\n onMouseDown={(event) => event.preventDefault()}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref as ForwardedRef<HTMLDivElement>}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentIcon,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n }\n);\n"],"names":["noop","HvAdornment","forwardRef","id","classes","classesProp","className","icon","showWhen","undefined","onClick","isVisible","others","ref","cx","useClasses","elementStatus","useContext","HvFormElementContext","input","HvFormElementDescriptorsContext","displayIcon","isClickable","root","adornment","adornmentButton","hideIcon","event","preventDefault","adornmentIcon"],"mappings":";;;;;;AAYA,MAAMA,OAAOA,MAAM;AAAC;AAkCPC,MAAAA,cAAcC,WAIzB,CACE;AAAA,EACEC;AAAAA,EACAC,SAASC;AAAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC,WAAWC;AAAAA,EACXC;AAAAA,EACAC,YAAYF;AAAAA,EACZ,GAAGG;AACL,GACAC,QACG;AACG,QAAA;AAAA,IAAET;AAAAA,IAASU;AAAAA,EAAAA,IAAOC,WAAWV,WAAW;AAExC,QAAA;AAAA,IAAEW,gBAAgB;AAAA,EAAA,IAAOC,WAAWC,oBAAoB;AAExD,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAUF,WAAWG,+BAA+B;AAE5D,QAAMC,cACJV,cAAcH,aAAaC,UAAaO,kBAAkBR;AAEtDc,QAAAA,cAAc,CAAC,CAACZ;AAEfY,SAAAA,kCACJ,UACC,EAAA,IACA,KACA,MAAK,UACL,UAAU,IACV,iBAAeH,QAAQ,CAAC,GAAGhB,IAC3B,WAAWW,GACTV,QAAQmB,MACRnB,QAAQoB,WACRpB,QAAQqB,iBACR;AAAA,IAAE,CAACrB,QAAQsB,QAAQ,GAAG,CAACL;AAAAA,EAAAA,GACvBf,SACF,GACA,SACA,aAAcqB,CAAUA,UAAAA,MAAMC,eAAe,GAC7C,WAAW5B,MACX,GAAIY,QAEJ,8BAAC,OAAI,EAAA,WAAWR,QAAQG,MAAOA,UAAK,KAAA,CAAA,EACtC,CAAA,IAEA,oBAAC,SACC,IACA,KACA,WAAWO,GACTV,QAAQmB,MACRnB,QAAQoB,WACRpB,QAAQyB,eACR;AAAA,IAAE,CAACzB,QAAQsB,QAAQ,GAAG,CAACL;AAAAA,EAAAA,GACvBf,SACF,GACA,MAAK,gBACDM,GAAAA,QAEJ,UAAA,oBAAC,OAAI,EAAA,WAAWR,QAAQG,MAAOA,gBAAK,EACtC,CAAA;AAEJ,CACF;"}
|
|
@@ -9,47 +9,44 @@ const findDescriptors = (children, descriptors = {
|
|
|
9
9
|
HvCalendarHeader: []
|
|
10
10
|
}) => {
|
|
11
11
|
React__default.Children.forEach(children, (child) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
htmlFor: (_d = child.props) == null ? void 0 : _d.htmlFor
|
|
12
|
+
if (child?.type?.formElementType && child.props?.id) {
|
|
13
|
+
descriptors[child.type.formElementType]?.push({
|
|
14
|
+
id: child.props?.id,
|
|
15
|
+
htmlFor: child.props?.htmlFor
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
|
-
if (
|
|
20
|
-
findDescriptors(
|
|
18
|
+
if (child?.type?.formElementType !== "formelement") {
|
|
19
|
+
findDescriptors(child?.props?.children, descriptors);
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
22
|
return descriptors;
|
|
24
23
|
};
|
|
25
24
|
const getIdReferenceListFor = (formElementType, descriptors, filterFor = null) => {
|
|
26
|
-
|
|
27
|
-
const referenceList = (_b = (_a = descriptors == null ? void 0 : descriptors[formElementType]) == null ? void 0 : _a.filter((d) => d.htmlFor !== filterFor)) == null ? void 0 : _b.map((d) => d.id).join(" ").trim();
|
|
25
|
+
const referenceList = descriptors?.[formElementType]?.filter((d) => d.htmlFor !== filterFor)?.map((d) => d.id).join(" ").trim();
|
|
28
26
|
return referenceList !== "" ? referenceList : void 0;
|
|
29
27
|
};
|
|
30
28
|
const getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {
|
|
31
|
-
|
|
32
|
-
const referenceList = (_c = (_b = (_a = descriptors == null ? void 0 : descriptors[formElementType]) == null ? void 0 : _a.filter((d) => d.htmlFor !== filterFor)) == null ? void 0 : _b.map((d) => d.id)) == null ? void 0 : _c[0];
|
|
29
|
+
const referenceList = descriptors?.[formElementType]?.filter((d) => d.htmlFor !== filterFor)?.map((d) => d.id)?.[0];
|
|
33
30
|
return referenceList !== "" ? referenceList : void 0;
|
|
34
31
|
};
|
|
35
32
|
const buildFormElementPropsFromContext = (name, disabled, readOnly, required, context) => {
|
|
36
33
|
return {
|
|
37
|
-
name: name ||
|
|
38
|
-
disabled: disabled !== void 0 ? disabled : context
|
|
39
|
-
readOnly: readOnly !== void 0 ? readOnly : context
|
|
40
|
-
required: required !== void 0 ? required : context
|
|
41
|
-
status: context
|
|
34
|
+
name: name || context?.elementName,
|
|
35
|
+
disabled: disabled !== void 0 ? disabled : context?.elementDisabled,
|
|
36
|
+
readOnly: readOnly !== void 0 ? readOnly : context?.elementReadOnly,
|
|
37
|
+
required: required !== void 0 ? required : context?.elementRequired,
|
|
38
|
+
status: context?.elementStatus
|
|
42
39
|
};
|
|
43
40
|
};
|
|
44
41
|
const buildAriaPropsFromContext = (props, context, isInvalid, inputId) => {
|
|
45
42
|
const arias = {
|
|
46
|
-
"aria-labelledby":
|
|
47
|
-
"aria-describedby":
|
|
48
|
-
"aria-controls":
|
|
43
|
+
"aria-labelledby": props?.["aria-labelledby"] !== void 0 ? props?.["aria-labelledby"] : getIdReferenceListFor("label", context?.descriptors, inputId),
|
|
44
|
+
"aria-describedby": props?.["aria-describedby"] !== void 0 ? props?.["aria-describedby"] : getIdReferenceListFor("description", context?.descriptors),
|
|
45
|
+
"aria-controls": props?.["aria-controls"] !== void 0 ? props?.["aria-controls"] : getIdReferenceListFor("controlled", context?.descriptors)
|
|
49
46
|
};
|
|
50
47
|
if (isInvalid) {
|
|
51
48
|
arias["aria-invalid"] = isInvalid;
|
|
52
|
-
arias["aria-errormessage"] =
|
|
49
|
+
arias["aria-errormessage"] = props?.["aria-errormessage"] !== void 0 ? props?.["aria-errormessage"] : getIdReferenceFor("errormessage", context?.descriptors);
|
|
53
50
|
}
|
|
54
51
|
return arias;
|
|
55
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormUtils.js","sources":["../../../../../../src/components/Forms/FormElement/utils/FormUtils.ts"],"sourcesContent":["import React from \"react\";\n\ninterface Descriptor {\n id?: string;\n htmlFor?: string;\n}\n/**\n * Scans the element's children looking for the children IDs that match the different form element types.\n * This function will produce an object that has a key for each provided name\n * Inside each key there will be an array with each id of the found descriptor.\n *\n * @param {Array} children - The children inside the form element to scan.\n * @param {Object} descriptors - Initial descriptors map (used for recursion).\n *\n */\nconst findDescriptors = (\n children,\n descriptors: {\n input: Descriptor[];\n label: Descriptor[];\n description: Descriptor[];\n controlled: Descriptor[];\n errormessage: Descriptor[];\n HvCalendarHeader?: Descriptor[];\n } = {\n input: [],\n label: [],\n description: [],\n controlled: [],\n errormessage: [],\n\n // TODO: refactor this out\n HvCalendarHeader: [],\n }\n) => {\n React.Children.forEach(children, (child) => {\n if (child?.type?.formElementType && child.props?.id) {\n descriptors[child.type.formElementType]?.push({\n id: child.props?.id,\n htmlFor: child.props?.htmlFor,\n });\n }\n\n if (child?.type?.formElementType !== \"formelement\") {\n findDescriptors(child?.props?.children, descriptors);\n }\n });\n\n return descriptors;\n};\n\nconst getIdReferenceListFor = (\n formElementType,\n descriptors,\n filterFor = null\n) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)\n .join(\" \")\n .trim();\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)?.[0];\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst buildFormElementPropsFromContext = (\n name,\n disabled,\n readOnly,\n required,\n context\n) => {\n return {\n name: name || context?.elementName,\n disabled: disabled !== undefined ? disabled : context?.elementDisabled,\n readOnly: readOnly !== undefined ? readOnly : context?.elementReadOnly,\n required: required !== undefined ? required : context?.elementRequired,\n status: context?.elementStatus,\n };\n};\n\nconst buildAriaPropsFromContext = (props, context, isInvalid, inputId) => {\n const arias = {\n \"aria-labelledby\":\n props?.[\"aria-labelledby\"] !== undefined\n ? props?.[\"aria-labelledby\"]\n : getIdReferenceListFor(\"label\", context?.descriptors, inputId),\n \"aria-describedby\":\n props?.[\"aria-describedby\"] !== undefined\n ? props?.[\"aria-describedby\"]\n : getIdReferenceListFor(\"description\", context?.descriptors),\n \"aria-controls\":\n props?.[\"aria-controls\"] !== undefined\n ? props?.[\"aria-controls\"]\n : getIdReferenceListFor(\"controlled\", context?.descriptors),\n };\n\n if (isInvalid) {\n arias[\"aria-invalid\"] = isInvalid;\n arias[\"aria-errormessage\"] =\n props?.[\"aria-errormessage\"] !== undefined\n ? props?.[\"aria-errormessage\"]\n : getIdReferenceFor(\"errormessage\", context?.descriptors);\n }\n\n return arias;\n};\n\nexport {\n findDescriptors,\n getIdReferenceListFor,\n getIdReferenceFor,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n};\n"],"names":["findDescriptors","children","descriptors","input","label","description","controlled","errormessage","HvCalendarHeader","Children","forEach","child","type","formElementType","props","id","push","htmlFor","getIdReferenceListFor","filterFor","referenceList","filter","d","map","join","trim","undefined","getIdReferenceFor","buildFormElementPropsFromContext","name","disabled","readOnly","required","context","elementName","elementDisabled","elementReadOnly","elementRequired","status","elementStatus","buildAriaPropsFromContext","isInvalid","inputId","arias"],"mappings":";AAeMA,MAAAA,kBAAkBA,CACtBC,UACAC,cAOI;AAAA,EACFC,OAAO,CAAE;AAAA,EACTC,OAAO,CAAE;AAAA,EACTC,aAAa,CAAE;AAAA,EACfC,YAAY,CAAE;AAAA,EACdC,cAAc,CAAE;AAAA;AAAA,EAGhBC,kBAAkB,CAAA;AACpB,MACG;AACGC,iBAAAA,SAASC,QAAQT,UAAWU,CAAU,UAAA
|
|
1
|
+
{"version":3,"file":"FormUtils.js","sources":["../../../../../../src/components/Forms/FormElement/utils/FormUtils.ts"],"sourcesContent":["import React from \"react\";\n\ninterface Descriptor {\n id?: string;\n htmlFor?: string;\n}\n/**\n * Scans the element's children looking for the children IDs that match the different form element types.\n * This function will produce an object that has a key for each provided name\n * Inside each key there will be an array with each id of the found descriptor.\n *\n * @param {Array} children - The children inside the form element to scan.\n * @param {Object} descriptors - Initial descriptors map (used for recursion).\n *\n */\nconst findDescriptors = (\n children,\n descriptors: {\n input: Descriptor[];\n label: Descriptor[];\n description: Descriptor[];\n controlled: Descriptor[];\n errormessage: Descriptor[];\n HvCalendarHeader?: Descriptor[];\n } = {\n input: [],\n label: [],\n description: [],\n controlled: [],\n errormessage: [],\n\n // TODO: refactor this out\n HvCalendarHeader: [],\n }\n) => {\n React.Children.forEach(children, (child) => {\n if (child?.type?.formElementType && child.props?.id) {\n descriptors[child.type.formElementType]?.push({\n id: child.props?.id,\n htmlFor: child.props?.htmlFor,\n });\n }\n\n if (child?.type?.formElementType !== \"formelement\") {\n findDescriptors(child?.props?.children, descriptors);\n }\n });\n\n return descriptors;\n};\n\nconst getIdReferenceListFor = (\n formElementType,\n descriptors,\n filterFor = null\n) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)\n .join(\" \")\n .trim();\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)?.[0];\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst buildFormElementPropsFromContext = (\n name,\n disabled,\n readOnly,\n required,\n context\n) => {\n return {\n name: name || context?.elementName,\n disabled: disabled !== undefined ? disabled : context?.elementDisabled,\n readOnly: readOnly !== undefined ? readOnly : context?.elementReadOnly,\n required: required !== undefined ? required : context?.elementRequired,\n status: context?.elementStatus,\n };\n};\n\nconst buildAriaPropsFromContext = (props, context, isInvalid, inputId) => {\n const arias = {\n \"aria-labelledby\":\n props?.[\"aria-labelledby\"] !== undefined\n ? props?.[\"aria-labelledby\"]\n : getIdReferenceListFor(\"label\", context?.descriptors, inputId),\n \"aria-describedby\":\n props?.[\"aria-describedby\"] !== undefined\n ? props?.[\"aria-describedby\"]\n : getIdReferenceListFor(\"description\", context?.descriptors),\n \"aria-controls\":\n props?.[\"aria-controls\"] !== undefined\n ? props?.[\"aria-controls\"]\n : getIdReferenceListFor(\"controlled\", context?.descriptors),\n };\n\n if (isInvalid) {\n arias[\"aria-invalid\"] = isInvalid;\n arias[\"aria-errormessage\"] =\n props?.[\"aria-errormessage\"] !== undefined\n ? props?.[\"aria-errormessage\"]\n : getIdReferenceFor(\"errormessage\", context?.descriptors);\n }\n\n return arias;\n};\n\nexport {\n findDescriptors,\n getIdReferenceListFor,\n getIdReferenceFor,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n};\n"],"names":["findDescriptors","children","descriptors","input","label","description","controlled","errormessage","HvCalendarHeader","Children","forEach","child","type","formElementType","props","id","push","htmlFor","getIdReferenceListFor","filterFor","referenceList","filter","d","map","join","trim","undefined","getIdReferenceFor","buildFormElementPropsFromContext","name","disabled","readOnly","required","context","elementName","elementDisabled","elementReadOnly","elementRequired","status","elementStatus","buildAriaPropsFromContext","isInvalid","inputId","arias"],"mappings":";AAeMA,MAAAA,kBAAkBA,CACtBC,UACAC,cAOI;AAAA,EACFC,OAAO,CAAE;AAAA,EACTC,OAAO,CAAE;AAAA,EACTC,aAAa,CAAE;AAAA,EACfC,YAAY,CAAE;AAAA,EACdC,cAAc,CAAE;AAAA;AAAA,EAGhBC,kBAAkB,CAAA;AACpB,MACG;AACGC,iBAAAA,SAASC,QAAQT,UAAWU,CAAU,UAAA;AAC1C,QAAIA,OAAOC,MAAMC,mBAAmBF,MAAMG,OAAOC,IAAI;AACnDb,kBAAYS,MAAMC,KAAKC,eAAe,GAAGG,KAAK;AAAA,QAC5CD,IAAIJ,MAAMG,OAAOC;AAAAA,QACjBE,SAASN,MAAMG,OAAOG;AAAAA,MAAAA,CACvB;AAAA,IACH;AAEIN,QAAAA,OAAOC,MAAMC,oBAAoB,eAAe;AAClCF,sBAAAA,OAAOG,OAAOb,UAAUC,WAAW;AAAA,IACrD;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAMgB,wBAAwBA,CAC5BL,iBACAX,aACAiB,YAAY,SACT;AACH,QAAMC,gBAAgBlB,cAAcW,eAAe,GAC/CQ,OAAQC,CAAAA,MAAMA,EAAEL,YAAYE,SAAS,GACrCI,IAAKD,OAAMA,EAAEP,EAAE,EAChBS,KAAK,GAAG,EACRC;AAEIL,SAAAA,kBAAkB,KAAKA,gBAAgBM;AAChD;AAEA,MAAMC,oBAAoBA,CAACd,iBAAiBX,aAAaiB,YAAY,SAAS;AAC5E,QAAMC,gBAAgBlB,cAAcW,eAAe,GAC/CQ,OAAQC,CAAMA,MAAAA,EAAEL,YAAYE,SAAS,GACrCI,IAAKD,CAAAA,MAAMA,EAAEP,EAAE,IAAI,CAAC;AAEjBK,SAAAA,kBAAkB,KAAKA,gBAAgBM;AAChD;AAEA,MAAME,mCAAmCA,CACvCC,MACAC,UACAC,UACAC,UACAC,YACG;AACI,SAAA;AAAA,IACLJ,MAAMA,QAAQI,SAASC;AAAAA,IACvBJ,UAAUA,aAAaJ,SAAYI,WAAWG,SAASE;AAAAA,IACvDJ,UAAUA,aAAaL,SAAYK,WAAWE,SAASG;AAAAA,IACvDJ,UAAUA,aAAaN,SAAYM,WAAWC,SAASI;AAAAA,IACvDC,QAAQL,SAASM;AAAAA,EAAAA;AAErB;AAEA,MAAMC,4BAA4BA,CAAC1B,OAAOmB,SAASQ,WAAWC,YAAY;AACxE,QAAMC,QAAQ;AAAA,IACZ,mBACE7B,QAAQ,iBAAiB,MAAMY,SAC3BZ,QAAQ,iBAAiB,IACzBI,sBAAsB,SAASe,SAAS/B,aAAawC,OAAO;AAAA,IAClE,oBACE5B,QAAQ,kBAAkB,MAAMY,SAC5BZ,QAAQ,kBAAkB,IAC1BI,sBAAsB,eAAee,SAAS/B,WAAW;AAAA,IAC/D,iBACEY,QAAQ,eAAe,MAAMY,SACzBZ,QAAQ,eAAe,IACvBI,sBAAsB,cAAce,SAAS/B,WAAW;AAAA,EAAA;AAGhE,MAAIuC,WAAW;AACbE,UAAM,cAAc,IAAIF;AACxBE,UAAM,mBAAmB,IACvB7B,QAAQ,mBAAmB,MAAMY,SAC7BZ,QAAQ,mBAAmB,IAC3Ba,kBAAkB,gBAAgBM,SAAS/B,WAAW;AAAA,EAC9D;AAEOyC,SAAAA;AACT;"}
|
|
@@ -8,7 +8,6 @@ import { staticClasses } from "./Label.styles.js";
|
|
|
8
8
|
import { HvFormElementContext } from "../FormElement/context/FormElementContext.js";
|
|
9
9
|
import { HvTypography } from "../../Typography/Typography.js";
|
|
10
10
|
const HvLabel = (props) => {
|
|
11
|
-
var _a, _b, _c;
|
|
12
11
|
const {
|
|
13
12
|
id,
|
|
14
13
|
classes: classesProp,
|
|
@@ -32,7 +31,7 @@ const HvLabel = (props) => {
|
|
|
32
31
|
const localDisabled = disabled || elementDisabled;
|
|
33
32
|
const localRequired = required || elementRequired;
|
|
34
33
|
const localId = id ?? setId(elementId, "label");
|
|
35
|
-
const forId = htmlForProp ||
|
|
34
|
+
const forId = htmlForProp || findDescriptors(children)?.input?.[0]?.id;
|
|
36
35
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37
36
|
/* @__PURE__ */ jsxs(HvTypography, { id: localId, className: cx(classes.root, {
|
|
38
37
|
[classes.labelDisabled]: !!localDisabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sources":["../../../../../src/components/Forms/Label/Label.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography, HvTypographyProps } from \"@core/components/Typography\";\n\nimport { HvFormElementContext } from \"../FormElement\";\nimport { findDescriptors } from \"../FormElement/utils/FormUtils\";\nimport { staticClasses, useClasses } from \"./Label.styles\";\n\nexport { staticClasses as labelClasses };\n\nexport type HvLabelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLabelProps extends HvTypographyProps<\"label\"> {\n /** Id to be applied to the root node */\n id?: string;\n /** The text to be shown by the label. */\n label?: React.ReactNode;\n /** The id of the form element the label is bound to. */\n htmlFor?: string;\n /** If `true` the label is displayed with a disabled style. */\n disabled?: boolean;\n /** If `true`, the label will indicate that the form element is required (an `*` after the label text). */\n required?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLabelClasses;\n}\n\n/**\n * Provides the user with a recognizable name for a given form element.\n */\nexport const HvLabel = (props: HvLabelProps) => {\n const {\n id,\n classes: classesProp,\n className,\n children,\n label,\n disabled,\n required,\n htmlFor: htmlForProp,\n ...others\n } = useDefaultProps(\"HvLabel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId, elementDisabled, elementRequired } =\n useContext(HvFormElementContext);\n\n const localDisabled = disabled || elementDisabled;\n const localRequired = required || elementRequired;\n\n const localId = id ?? setId(elementId, \"label\");\n\n const forId = htmlForProp || findDescriptors(children)?.input?.[0]?.id;\n\n return (\n <>\n <HvTypography\n id={localId}\n className={cx(\n classes.root,\n {\n [classes.labelDisabled]: !!localDisabled,\n [classes.childGutter]: !!(children && label),\n },\n className\n )}\n variant=\"label\"\n component=\"label\"\n htmlFor={forId}\n {...others}\n >\n {label}\n {localRequired && <span aria-hidden=\"true\">*</span>}\n </HvTypography>\n {children}\n </>\n );\n};\n"],"names":["HvLabel","props","id","classes","classesProp","className","children","label","disabled","required","htmlFor","htmlForProp","others","useDefaultProps","cx","useClasses","elementId","elementDisabled","elementRequired","useContext","HvFormElementContext","localDisabled","localRequired","localId","setId","forId","findDescriptors","input","root","labelDisabled","childGutter"],"mappings":";;;;;;;;;AAiCaA,MAAAA,UAAUA,CAACC,UAAwB
|
|
1
|
+
{"version":3,"file":"Label.js","sources":["../../../../../src/components/Forms/Label/Label.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography, HvTypographyProps } from \"@core/components/Typography\";\n\nimport { HvFormElementContext } from \"../FormElement\";\nimport { findDescriptors } from \"../FormElement/utils/FormUtils\";\nimport { staticClasses, useClasses } from \"./Label.styles\";\n\nexport { staticClasses as labelClasses };\n\nexport type HvLabelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLabelProps extends HvTypographyProps<\"label\"> {\n /** Id to be applied to the root node */\n id?: string;\n /** The text to be shown by the label. */\n label?: React.ReactNode;\n /** The id of the form element the label is bound to. */\n htmlFor?: string;\n /** If `true` the label is displayed with a disabled style. */\n disabled?: boolean;\n /** If `true`, the label will indicate that the form element is required (an `*` after the label text). */\n required?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLabelClasses;\n}\n\n/**\n * Provides the user with a recognizable name for a given form element.\n */\nexport const HvLabel = (props: HvLabelProps) => {\n const {\n id,\n classes: classesProp,\n className,\n children,\n label,\n disabled,\n required,\n htmlFor: htmlForProp,\n ...others\n } = useDefaultProps(\"HvLabel\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId, elementDisabled, elementRequired } =\n useContext(HvFormElementContext);\n\n const localDisabled = disabled || elementDisabled;\n const localRequired = required || elementRequired;\n\n const localId = id ?? setId(elementId, \"label\");\n\n const forId = htmlForProp || findDescriptors(children)?.input?.[0]?.id;\n\n return (\n <>\n <HvTypography\n id={localId}\n className={cx(\n classes.root,\n {\n [classes.labelDisabled]: !!localDisabled,\n [classes.childGutter]: !!(children && label),\n },\n className\n )}\n variant=\"label\"\n component=\"label\"\n htmlFor={forId}\n {...others}\n >\n {label}\n {localRequired && <span aria-hidden=\"true\">*</span>}\n </HvTypography>\n {children}\n </>\n );\n};\n"],"names":["HvLabel","props","id","classes","classesProp","className","children","label","disabled","required","htmlFor","htmlForProp","others","useDefaultProps","cx","useClasses","elementId","elementDisabled","elementRequired","useContext","HvFormElementContext","localDisabled","localRequired","localId","setId","forId","findDescriptors","input","root","labelDisabled","childGutter"],"mappings":";;;;;;;;;AAiCaA,MAAAA,UAAUA,CAACC,UAAwB;AACxC,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACT,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,WAAWZ,KAAK;AAE9B,QAAA;AAAA,IAAEE;AAAAA,IAASW;AAAAA,EAAAA,IAAOC,WAAWX,WAAW;AAExC,QAAA;AAAA,IAAEY;AAAAA,IAAWC;AAAAA,IAAiBC;AAAAA,EAAAA,IAClCC,WAAWC,oBAAoB;AAEjC,QAAMC,gBAAgBb,YAAYS;AAClC,QAAMK,gBAAgBb,YAAYS;AAElC,QAAMK,UAAUrB,MAAMsB,MAAMR,WAAW,OAAO;AAE9C,QAAMS,QAAQd,eAAee,gBAAgBpB,QAAQ,GAAGqB,QAAQ,CAAC,GAAGzB;AAEpE,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,qBAAC,gBACC,IAAIqB,SACJ,WAAWT,GACTX,QAAQyB,MACR;AAAA,MACE,CAACzB,QAAQ0B,aAAa,GAAG,CAAC,CAACR;AAAAA,MAC3B,CAAClB,QAAQ2B,WAAW,GAAG,CAAC,EAAExB,YAAYC;AAAAA,IACxC,GACAF,SACF,GACA,SAAQ,SACR,WAAU,SACV,SAASoB,OACLb,GAAAA,QAEHL,UAAAA;AAAAA,MAAAA;AAAAA,MACAe,iBAAiB,oBAAC,QAAK,EAAA,eAAY,QAAO,UAAC,KAAA;AAAA,IAAA,GAC9C;AAAA,IACChB;AAAAA,EACH,EAAA,CAAA;AAEJ;"}
|
|
@@ -33,12 +33,12 @@ const HvSuggestions = forwardRef((props, extRef) => {
|
|
|
33
33
|
const [isOpen, setIsOpen] = useState(expanded);
|
|
34
34
|
useClickOutside(ref, (event) => {
|
|
35
35
|
setIsOpen(false);
|
|
36
|
-
onClose
|
|
36
|
+
onClose?.(event);
|
|
37
37
|
});
|
|
38
38
|
useEffect(() => {
|
|
39
39
|
setIsOpen(expanded);
|
|
40
40
|
}, [expanded]);
|
|
41
|
-
return /* @__PURE__ */ jsx("div", { id: localId, ref: forkedRef, className: cx(classes.root, className), ...others, children: /* @__PURE__ */ jsx(Popper, { open: isOpen, disablePortal: true, anchorEl, className: classes.popper, children: /* @__PURE__ */ jsx(HvSelectionList, { className: classes.list, id: setId(localId, "list"), onChange: onSuggestionSelected, children: suggestionValues
|
|
41
|
+
return /* @__PURE__ */ jsx("div", { id: localId, ref: forkedRef, className: cx(classes.root, className), ...others, children: /* @__PURE__ */ jsx(Popper, { open: isOpen, disablePortal: true, anchorEl, className: classes.popper, children: /* @__PURE__ */ jsx(HvSelectionList, { className: classes.list, id: setId(localId, "list"), onChange: onSuggestionSelected, children: suggestionValues?.map((item, i) => {
|
|
42
42
|
const itemKey = item.id || setId("item", i);
|
|
43
43
|
return /* @__PURE__ */ jsx(HvListItem, { value: item, disabled: item.disabled || void 0, children: item.label }, itemKey);
|
|
44
44
|
}) }) }) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suggestions.js","sources":["../../../../../src/components/Forms/Suggestions/Suggestions.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { useForkRef, Popper as MuiPopper } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport { HvListItem } from \"@core/components/ListContainer\";\nimport {\n HvClickOutsideEvent,\n useClickOutside,\n} from \"@core/hooks/useClickOutside\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvSelectionList } from \"@core/components/SelectionList\";\n\nimport { staticClasses, useClasses } from \"./Suggestions.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\n\nexport { staticClasses as suggestionsClasses };\n\nexport type HvSuggestionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSuggestion {\n id?: string;\n label: React.ReactNode;\n value?: string;\n disabled?: boolean;\n}\n\nexport interface HvSuggestionsProps extends HvBaseProps {\n /** Whether suggestions is visible. */\n expanded?: boolean;\n /** The HTML element Suggestions attaches to. */\n anchorEl?: HTMLElement | null;\n /** Array of { id, label, ...others } values to display in the suggestion list */\n suggestionValues?: HvSuggestion[] | null;\n /** Function called when a suggestion is selected */\n onSuggestionSelected?: (event: React.MouseEvent, value: HvSuggestion) => void;\n /** Function called when suggestion list is closed */\n onClose?: (event: HvClickOutsideEvent) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSuggestionsClasses;\n}\n\nexport const HvSuggestions = forwardRef((props: HvSuggestionsProps, extRef) => {\n const {\n id,\n className,\n classes: classesProp,\n expanded = false,\n anchorEl,\n suggestionValues = [],\n onClose,\n onSuggestionSelected,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId } = useContext(HvFormElementContext);\n const localId = id ?? setId(elementId, \"suggestions\");\n\n const ref = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef(ref, extRef);\n\n const [isOpen, setIsOpen] = useState(expanded);\n\n useClickOutside(ref, (event) => {\n setIsOpen(false);\n onClose?.(event);\n });\n\n useEffect(() => {\n setIsOpen(expanded);\n }, [expanded]);\n\n return (\n <div\n id={localId}\n ref={forkedRef}\n className={cx(classes.root, className)}\n {...others}\n >\n <MuiPopper\n open={isOpen}\n disablePortal\n anchorEl={anchorEl}\n className={classes.popper}\n >\n <HvSelectionList\n className={classes.list}\n id={setId(localId, \"list\")}\n onChange={onSuggestionSelected}\n >\n {suggestionValues?.map((item, i) => {\n const itemKey = item.id || setId(\"item\", i);\n\n return (\n <HvListItem\n key={itemKey}\n value={item}\n disabled={item.disabled || undefined}\n >\n {item.label}\n </HvListItem>\n );\n })}\n </HvSelectionList>\n </MuiPopper>\n </div>\n );\n});\n"],"names":["HvSuggestions","forwardRef","props","extRef","id","className","classes","classesProp","expanded","anchorEl","suggestionValues","onClose","onSuggestionSelected","others","cx","useClasses","elementId","useContext","HvFormElementContext","localId","setId","ref","useRef","forkedRef","useForkRef","isOpen","setIsOpen","useState","useClickOutside","event","useEffect","root","MuiPopper","popper","list","map","item","i","itemKey","disabled","undefined","label"],"mappings":";;;;;;;;;;AAiDO,MAAMA,gBAAgBC,WAAW,CAACC,OAA2BC,WAAW;AACvE,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,WAAW;AAAA,IACXC;AAAAA,IACAC,mBAAmB,CAAE;AAAA,IACrBC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EACDX,IAAAA;AACE,QAAA;AAAA,IAAEI;AAAAA,IAASQ;AAAAA,EAAAA,IAAOC,WAAWR,WAAW;AAExC,QAAA;AAAA,IAAES;AAAAA,EAAAA,IAAcC,WAAWC,oBAAoB;AACrD,QAAMC,UAAUf,MAAMgB,MAAMJ,WAAW,aAAa;AAE9CK,QAAAA,MAAMC,OAAuB,IAAI;AACjCC,QAAAA,YAAYC,WAAWH,KAAKlB,MAAM;AAExC,QAAM,CAACsB,QAAQC,SAAS,IAAIC,SAASnB,QAAQ;AAE7CoB,kBAAgBP,KAAMQ,CAAU,UAAA;AAC9BH,cAAU,KAAK;AACff,
|
|
1
|
+
{"version":3,"file":"Suggestions.js","sources":["../../../../../src/components/Forms/Suggestions/Suggestions.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { useForkRef, Popper as MuiPopper } from \"@mui/material\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport { HvListItem } from \"@core/components/ListContainer\";\nimport {\n HvClickOutsideEvent,\n useClickOutside,\n} from \"@core/hooks/useClickOutside\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvSelectionList } from \"@core/components/SelectionList\";\n\nimport { staticClasses, useClasses } from \"./Suggestions.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\n\nexport { staticClasses as suggestionsClasses };\n\nexport type HvSuggestionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSuggestion {\n id?: string;\n label: React.ReactNode;\n value?: string;\n disabled?: boolean;\n}\n\nexport interface HvSuggestionsProps extends HvBaseProps {\n /** Whether suggestions is visible. */\n expanded?: boolean;\n /** The HTML element Suggestions attaches to. */\n anchorEl?: HTMLElement | null;\n /** Array of { id, label, ...others } values to display in the suggestion list */\n suggestionValues?: HvSuggestion[] | null;\n /** Function called when a suggestion is selected */\n onSuggestionSelected?: (event: React.MouseEvent, value: HvSuggestion) => void;\n /** Function called when suggestion list is closed */\n onClose?: (event: HvClickOutsideEvent) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSuggestionsClasses;\n}\n\nexport const HvSuggestions = forwardRef((props: HvSuggestionsProps, extRef) => {\n const {\n id,\n className,\n classes: classesProp,\n expanded = false,\n anchorEl,\n suggestionValues = [],\n onClose,\n onSuggestionSelected,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId } = useContext(HvFormElementContext);\n const localId = id ?? setId(elementId, \"suggestions\");\n\n const ref = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef(ref, extRef);\n\n const [isOpen, setIsOpen] = useState(expanded);\n\n useClickOutside(ref, (event) => {\n setIsOpen(false);\n onClose?.(event);\n });\n\n useEffect(() => {\n setIsOpen(expanded);\n }, [expanded]);\n\n return (\n <div\n id={localId}\n ref={forkedRef}\n className={cx(classes.root, className)}\n {...others}\n >\n <MuiPopper\n open={isOpen}\n disablePortal\n anchorEl={anchorEl}\n className={classes.popper}\n >\n <HvSelectionList\n className={classes.list}\n id={setId(localId, \"list\")}\n onChange={onSuggestionSelected}\n >\n {suggestionValues?.map((item, i) => {\n const itemKey = item.id || setId(\"item\", i);\n\n return (\n <HvListItem\n key={itemKey}\n value={item}\n disabled={item.disabled || undefined}\n >\n {item.label}\n </HvListItem>\n );\n })}\n </HvSelectionList>\n </MuiPopper>\n </div>\n );\n});\n"],"names":["HvSuggestions","forwardRef","props","extRef","id","className","classes","classesProp","expanded","anchorEl","suggestionValues","onClose","onSuggestionSelected","others","cx","useClasses","elementId","useContext","HvFormElementContext","localId","setId","ref","useRef","forkedRef","useForkRef","isOpen","setIsOpen","useState","useClickOutside","event","useEffect","root","MuiPopper","popper","list","map","item","i","itemKey","disabled","undefined","label"],"mappings":";;;;;;;;;;AAiDO,MAAMA,gBAAgBC,WAAW,CAACC,OAA2BC,WAAW;AACvE,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,WAAW;AAAA,IACXC;AAAAA,IACAC,mBAAmB,CAAE;AAAA,IACrBC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EACDX,IAAAA;AACE,QAAA;AAAA,IAAEI;AAAAA,IAASQ;AAAAA,EAAAA,IAAOC,WAAWR,WAAW;AAExC,QAAA;AAAA,IAAES;AAAAA,EAAAA,IAAcC,WAAWC,oBAAoB;AACrD,QAAMC,UAAUf,MAAMgB,MAAMJ,WAAW,aAAa;AAE9CK,QAAAA,MAAMC,OAAuB,IAAI;AACjCC,QAAAA,YAAYC,WAAWH,KAAKlB,MAAM;AAExC,QAAM,CAACsB,QAAQC,SAAS,IAAIC,SAASnB,QAAQ;AAE7CoB,kBAAgBP,KAAMQ,CAAU,UAAA;AAC9BH,cAAU,KAAK;AACff,cAAUkB,KAAK;AAAA,EAAA,CAChB;AAEDC,YAAU,MAAM;AACdJ,cAAUlB,QAAQ;AAAA,EAAA,GACjB,CAACA,QAAQ,CAAC;AAEb,6BACG,OACC,EAAA,IAAIW,SACJ,KAAKI,WACL,WAAWT,GAAGR,QAAQyB,MAAM1B,SAAS,GACrC,GAAIQ,QAEJ,8BAACmB,QACC,EAAA,MAAMP,QACN,eAAa,MACb,UACA,WAAWnB,QAAQ2B,QAEnB,UAAA,oBAAC,mBACC,WAAW3B,QAAQ4B,MACnB,IAAId,MAAMD,SAAS,MAAM,GACzB,UAAUP,sBAETF,4BAAkByB,IAAI,CAACC,MAAMC,MAAM;AAClC,UAAMC,UAAUF,KAAKhC,MAAMgB,MAAM,QAAQiB,CAAC;AAGxC,WAAA,oBAAC,YAEC,EAAA,OAAOD,MACP,UAAUA,KAAKG,YAAYC,QAE1BJ,UAAKK,KAAAA,MAAAA,GAJDH,OAKP;AAAA,EAAA,CAEH,EACH,CAAA,GACF,EACF,CAAA;AAEJ,CAAC;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
-
import isNil from "lodash/isNil";
|
|
4
3
|
import { Fail } from "@hitachivantara/uikit-react-icons";
|
|
5
4
|
import { useDefaultProps } from "../../../hooks/useDefaultProps.js";
|
|
6
5
|
import { setId } from "../../../utils/setId.js";
|
|
@@ -33,11 +32,11 @@ const HvWarningText = (props) => {
|
|
|
33
32
|
elementDisabled
|
|
34
33
|
} = useContext(HvFormElementContext);
|
|
35
34
|
const localDisabled = disabled || elementDisabled;
|
|
36
|
-
const localVisible =
|
|
35
|
+
const localVisible = isVisible ?? elementStatus === "invalid";
|
|
37
36
|
const localId = id ?? setId(elementId, "error");
|
|
38
37
|
const showWarning = localVisible && !localDisabled;
|
|
39
38
|
const content = showWarning ? children : "";
|
|
40
|
-
const localAdornment = adornment || /* @__PURE__ */ jsx(Fail, { className: classes.defaultIcon, color: "negative" });
|
|
39
|
+
const localAdornment = adornment || /* @__PURE__ */ jsx(Fail, { iconSize: "XS", className: classes.defaultIcon, color: "negative" });
|
|
41
40
|
return /* @__PURE__ */ jsxs("div", { className: cx(classes.root, {
|
|
42
41
|
[classes.show]: showWarning,
|
|
43
42
|
[classes.topBorder]: !disableBorder
|
|
@@ -46,7 +45,7 @@ const HvWarningText = (props) => {
|
|
|
46
45
|
/* @__PURE__ */ jsx(HvTypography, { id: localId, className: cx(classes.warningText, {
|
|
47
46
|
[classes.topGutter]: !disableGutter,
|
|
48
47
|
[classes.hideText]: hideText
|
|
49
|
-
}), role: "status", "aria-live": "polite", "aria-relevant": "additions text", ...others, children: showWarning && content })
|
|
48
|
+
}), variant: "caption1", role: "status", "aria-live": "polite", "aria-relevant": "additions text", ...others, children: showWarning && content })
|
|
50
49
|
] });
|
|
51
50
|
};
|
|
52
51
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarningText.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport
|
|
1
|
+
{"version":3,"file":"WarningText.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { Fail } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { staticClasses, useClasses } from \"./WarningText.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\n\nexport { staticClasses as warningTextClasses };\n\nexport type HvWarningTextClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvWarningTextProps extends HvBaseProps {\n /** Icon to be rendered alongside the warning text. */\n adornment?: React.ReactNode;\n /** If `true` the text is not rendered. */\n isVisible?: boolean;\n /** If `true` the text is disabled. */\n disabled?: boolean;\n /** If `true` the text won't include a gutter. */\n disableGutter?: boolean;\n /** If `true` the text won't include the top border. */\n disableBorder?: boolean;\n /** If `true` the adornment icon isn't shown. */\n disableAdornment?: boolean;\n /** If `true` the text isn't shown. */\n hideText?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvWarningTextClasses;\n}\n\n/**\n * Provides the user with a descriptive text, signaling an error, for when the form element is in an invalid state.\n */\nexport const HvWarningText = (props: HvWarningTextProps) => {\n const {\n children,\n adornment,\n isVisible,\n classes: classesProp,\n className,\n id,\n disabled,\n disableGutter = false,\n disableBorder = false,\n disableAdornment = false,\n hideText = false,\n ...others\n } = useDefaultProps(\"HvWarningText\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId, elementStatus, elementDisabled } =\n useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localVisible = isVisible ?? elementStatus === \"invalid\";\n const localId = id ?? setId(elementId, \"error\");\n const showWarning = localVisible && !localDisabled;\n const content = showWarning ? children : \"\";\n const localAdornment = adornment || (\n <Fail iconSize=\"XS\" className={classes.defaultIcon} color=\"negative\" />\n );\n\n return (\n <div\n className={cx(\n classes.root,\n {\n [classes.show]: showWarning,\n [classes.topBorder]: !disableBorder,\n },\n className\n )}\n >\n {!disableAdornment && localAdornment}\n <HvTypography\n id={localId}\n className={cx(classes.warningText, {\n [classes.topGutter]: !disableGutter,\n [classes.hideText]: hideText,\n })}\n variant=\"caption1\"\n role=\"status\"\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n {...others}\n >\n {showWarning && content}\n </HvTypography>\n </div>\n );\n};\n"],"names":["HvWarningText","props","children","adornment","isVisible","classes","classesProp","className","id","disabled","disableGutter","disableBorder","disableAdornment","hideText","others","useDefaultProps","cx","useClasses","elementId","elementStatus","elementDisabled","useContext","HvFormElementContext","localDisabled","localVisible","localId","setId","showWarning","content","localAdornment","defaultIcon","root","show","topBorder","warningText","topGutter"],"mappings":";;;;;;;;;AAuCaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,IAChBC,mBAAmB;AAAA,IACnBC,WAAW;AAAA,IACX,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,iBAAiBd,KAAK;AAEpC,QAAA;AAAA,IAAEI;AAAAA,IAASW;AAAAA,EAAAA,IAAOC,WAAWX,WAAW;AAExC,QAAA;AAAA,IAAEY;AAAAA,IAAWC;AAAAA,IAAeC;AAAAA,EAAAA,IAChCC,WAAWC,oBAAoB;AACjC,QAAMC,gBAAgBd,YAAYW;AAC5BI,QAAAA,eAAepB,aAAae,kBAAkB;AACpD,QAAMM,UAAUjB,MAAMkB,MAAMR,WAAW,OAAO;AACxCS,QAAAA,cAAcH,gBAAgB,CAACD;AAC/BK,QAAAA,UAAUD,cAAczB,WAAW;AACnC2B,QAAAA,iBAAiB1B,aACrB,oBAAC,MAAK,EAAA,UAAS,MAAK,WAAWE,QAAQyB,aAAa,OAAM,WAC3D,CAAA;AAED,SACG,qBAAA,OAAA,EACC,WAAWd,GACTX,QAAQ0B,MACR;AAAA,IACE,CAAC1B,QAAQ2B,IAAI,GAAGL;AAAAA,IAChB,CAACtB,QAAQ4B,SAAS,GAAG,CAACtB;AAAAA,EAAAA,GAExBJ,SACF,GAEC,UAAA;AAAA,IAAA,CAACK,oBAAoBiB;AAAAA,wBACrB,cACC,EAAA,IAAIJ,SACJ,WAAWT,GAAGX,QAAQ6B,aAAa;AAAA,MACjC,CAAC7B,QAAQ8B,SAAS,GAAG,CAACzB;AAAAA,MACtB,CAACL,QAAQQ,QAAQ,GAAGA;AAAAA,IACrB,CAAA,GACD,SAAQ,YACR,MAAK,UACL,aAAU,UACV,iBAAc,kBACVC,GAAAA,QAEHa,yBAAeC,QAClB,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
|
@@ -8,20 +8,19 @@ const {
|
|
|
8
8
|
display: "none"
|
|
9
9
|
},
|
|
10
10
|
defaultIcon: {
|
|
11
|
-
minWidth: "
|
|
11
|
+
minWidth: "24px",
|
|
12
|
+
width: "24px",
|
|
13
|
+
height: "24px"
|
|
12
14
|
},
|
|
13
15
|
warningText: {
|
|
14
|
-
color: theme.colors.
|
|
15
|
-
paddingRight: theme.space.xs
|
|
16
|
-
"&:first-of-type": {
|
|
17
|
-
paddingLeft: theme.space.xs
|
|
18
|
-
}
|
|
16
|
+
color: theme.colors.negative_120,
|
|
17
|
+
paddingRight: theme.space.xs
|
|
19
18
|
},
|
|
20
19
|
show: {
|
|
21
20
|
display: "flex"
|
|
22
21
|
},
|
|
23
22
|
topGutter: {
|
|
24
|
-
paddingTop:
|
|
23
|
+
paddingTop: "3px"
|
|
25
24
|
},
|
|
26
25
|
hideText: {
|
|
27
26
|
// display none or visibility hidden prevents
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarningText.styles.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvWarningText\", {\n root: { display: \"none\" },\n defaultIcon: { minWidth: \"
|
|
1
|
+
{"version":3,"file":"WarningText.styles.js","sources":["../../../../../src/components/Forms/WarningText/WarningText.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvWarningText\", {\n root: { display: \"none\" },\n defaultIcon: { minWidth: \"24px\", width: \"24px\", height: \"24px\" },\n warningText: {\n color: theme.colors.negative_120,\n paddingRight: theme.space.xs,\n },\n show: { display: \"flex\" },\n topGutter: { paddingTop: \"3px\" },\n hideText: {\n // display none or visibility hidden prevents\n // browser to trigger the aria-alert\n width: 0,\n height: 0,\n padding: 0,\n margin: 0,\n overflow: \"hidden\",\n },\n topBorder: { borderTop: `solid 1px ${theme.colors.negative}` },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","display","defaultIcon","minWidth","width","height","warningText","color","theme","colors","negative_120","paddingRight","space","xs","show","topGutter","paddingTop","hideText","padding","margin","overflow","topBorder","borderTop","negative"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,iBAAiB;AAAA,EAC1EC,MAAM;AAAA,IAAEC,SAAS;AAAA,EAAO;AAAA,EACxBC,aAAa;AAAA,IAAEC,UAAU;AAAA,IAAQC,OAAO;AAAA,IAAQC,QAAQ;AAAA,EAAO;AAAA,EAC/DC,aAAa;AAAA,IACXC,OAAOC,MAAMC,OAAOC;AAAAA,IACpBC,cAAcH,MAAMI,MAAMC;AAAAA,EAC5B;AAAA,EACAC,MAAM;AAAA,IAAEb,SAAS;AAAA,EAAO;AAAA,EACxBc,WAAW;AAAA,IAAEC,YAAY;AAAA,EAAM;AAAA,EAC/BC,UAAU;AAAA;AAAA;AAAA,IAGRb,OAAO;AAAA,IACPC,QAAQ;AAAA,IACRa,SAAS;AAAA,IACTC,QAAQ;AAAA,IACRC,UAAU;AAAA,EACZ;AAAA,EACAC,WAAW;AAAA,IAAEC,WAAY,aAAYd,MAAMC,OAAOc,QAAS;AAAA,EAAE;AAC/D,CAAC;"}
|