@hitachivantara/uikit-react-core 5.92.0 → 5.93.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/Badge/Badge.styles.cjs +13 -1
- package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +1 -1
- package/dist/cjs/BaseDropdown/BaseDropdown.cjs +1 -0
- package/dist/cjs/BaseInput/validations.cjs +8 -15
- package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +1 -1
- package/dist/cjs/Button/Button.styles.cjs +6 -4
- package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +1 -2
- package/dist/cjs/Card/Card.cjs +5 -4
- package/dist/cjs/Card/Card.styles.cjs +5 -3
- package/dist/cjs/Card/Header/Header.styles.cjs +3 -3
- package/dist/cjs/CheckBox/CheckBox.cjs +1 -1
- package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +9 -8
- package/dist/cjs/ColorPicker/ColorPicker.cjs +14 -22
- package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +1 -4
- package/dist/cjs/DatePicker/DatePicker.cjs +15 -23
- package/dist/cjs/DatePicker/DatePicker.styles.cjs +1 -4
- package/dist/cjs/DotPagination/DotPagination.styles.cjs +1 -1
- package/dist/cjs/Dropdown/Dropdown.cjs +16 -24
- package/dist/cjs/Dropdown/Dropdown.styles.cjs +1 -1
- package/dist/cjs/FileUploader/DropZone/DropZone.cjs +19 -17
- package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs +0 -3
- package/dist/cjs/FilterGroup/FilterGroup.cjs +15 -23
- package/dist/cjs/FilterGroup/FilterGroup.styles.cjs +1 -1
- package/dist/cjs/FormElement/InfoMessage/InfoMessage.cjs +1 -1
- package/dist/cjs/FormElement/Label/Label.cjs +4 -1
- package/dist/cjs/FormElement/LabelContainer.cjs +58 -0
- package/dist/cjs/FormElement/WarningText/WarningText.cjs +4 -4
- package/dist/cjs/FormElement/utils.cjs +2 -8
- package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -0
- package/dist/cjs/InlineEditor/InlineEditor.styles.cjs +1 -2
- package/dist/cjs/Input/Input.cjs +38 -43
- package/dist/cjs/Input/Input.styles.cjs +1 -5
- package/dist/cjs/Input/utils.cjs +12 -0
- package/dist/cjs/NumberInput/NumberInput.cjs +54 -0
- package/dist/cjs/NumberInput/NumberInput.styles.cjs +11 -0
- package/dist/cjs/Pagination/Pagination.styles.cjs +1 -2
- package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +1 -1
- package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs +2 -2
- package/dist/cjs/RadioGroup/RadioGroup.cjs +9 -8
- package/dist/cjs/SearchInput/SearchInput.cjs +28 -0
- package/dist/cjs/SearchInput/SearchInput.styles.cjs +10 -0
- package/dist/cjs/Select/Select.cjs +15 -14
- package/dist/cjs/Select/Select.styles.cjs +1 -4
- package/dist/cjs/SelectionList/SelectionList.cjs +1 -1
- package/dist/cjs/Slider/Slider.cjs +34 -44
- package/dist/cjs/Slider/SliderInput/SliderInput.cjs +0 -1
- package/dist/cjs/Slider/utils.cjs +6 -9
- package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs +16 -14
- package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs +1 -1
- package/dist/cjs/Switch/Switch.cjs +1 -1
- package/dist/cjs/TagsInput/TagsInput.cjs +31 -40
- package/dist/cjs/TagsInput/TagsInput.styles.cjs +3 -3
- package/dist/cjs/TextArea/TextArea.cjs +40 -40
- package/dist/cjs/TextArea/TextArea.styles.cjs +3 -5
- package/dist/cjs/TimePicker/TimePicker.cjs +15 -21
- package/dist/cjs/TimePicker/TimePicker.styles.cjs +1 -4
- package/dist/cjs/VerticalNavigation/Actions/Action.cjs +2 -1
- package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +3 -5
- package/dist/cjs/icons.cjs +2 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/esm/Badge/Badge.styles.js +13 -1
- package/dist/esm/Banner/BannerContent/BannerContent.styles.js +1 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js +1 -0
- package/dist/esm/BaseInput/validations.js +9 -16
- package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
- package/dist/esm/Button/Button.styles.js +6 -4
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +1 -2
- package/dist/esm/Card/Card.js +5 -4
- package/dist/esm/Card/Card.styles.js +5 -3
- package/dist/esm/Card/Header/Header.styles.js +3 -3
- package/dist/esm/CheckBox/CheckBox.js +1 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +9 -8
- package/dist/esm/ColorPicker/ColorPicker.js +14 -22
- package/dist/esm/ColorPicker/ColorPicker.styles.js +1 -4
- package/dist/esm/DatePicker/DatePicker.js +15 -23
- package/dist/esm/DatePicker/DatePicker.styles.js +1 -4
- package/dist/esm/DotPagination/DotPagination.styles.js +1 -1
- package/dist/esm/Dropdown/Dropdown.js +16 -24
- package/dist/esm/Dropdown/Dropdown.styles.js +1 -1
- package/dist/esm/FileUploader/DropZone/DropZone.js +19 -17
- package/dist/esm/FileUploader/DropZone/DropZone.styles.js +0 -3
- package/dist/esm/FilterGroup/FilterGroup.js +15 -23
- package/dist/esm/FilterGroup/FilterGroup.styles.js +1 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.js +1 -1
- package/dist/esm/FormElement/Label/Label.js +5 -2
- package/dist/esm/FormElement/LabelContainer.js +58 -0
- package/dist/esm/FormElement/WarningText/WarningText.js +4 -4
- package/dist/esm/FormElement/utils.js +3 -9
- package/dist/esm/InlineEditor/InlineEditor.js +1 -0
- package/dist/esm/InlineEditor/InlineEditor.styles.js +1 -2
- package/dist/esm/Input/Input.js +35 -40
- package/dist/esm/Input/Input.styles.js +1 -5
- package/dist/esm/Input/utils.js +12 -0
- package/dist/esm/NumberInput/NumberInput.js +54 -0
- package/dist/esm/NumberInput/NumberInput.styles.js +11 -0
- package/dist/esm/Pagination/Pagination.styles.js +1 -2
- package/dist/esm/QueryBuilder/Rule/Rule.styles.js +1 -1
- package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js +2 -2
- package/dist/esm/RadioGroup/RadioGroup.js +9 -8
- package/dist/esm/SearchInput/SearchInput.js +28 -0
- package/dist/esm/SearchInput/SearchInput.styles.js +10 -0
- package/dist/esm/Select/Select.js +15 -14
- package/dist/esm/Select/Select.styles.js +1 -4
- package/dist/esm/SelectionList/SelectionList.js +1 -1
- package/dist/esm/Slider/Slider.js +34 -44
- package/dist/esm/Slider/SliderInput/SliderInput.js +0 -1
- package/dist/esm/Slider/utils.js +6 -9
- package/dist/esm/SnackbarProvider/SnackbarProvider.js +16 -14
- package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js +1 -1
- package/dist/esm/Switch/Switch.js +1 -1
- package/dist/esm/TagsInput/TagsInput.js +31 -40
- package/dist/esm/TagsInput/TagsInput.styles.js +3 -3
- package/dist/esm/TextArea/TextArea.js +42 -42
- package/dist/esm/TextArea/TextArea.styles.js +3 -5
- package/dist/esm/TimePicker/TimePicker.js +15 -21
- package/dist/esm/TimePicker/TimePicker.styles.js +1 -4
- package/dist/esm/VerticalNavigation/Actions/Action.js +2 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js +3 -5
- package/dist/esm/icons.js +2 -1
- package/dist/esm/index.js +4 -0
- package/dist/types/index.d.ts +51 -12
- package/package.json +5 -5
- package/dist/esm/Accordion/Accordion.js.map +0 -1
- package/dist/esm/Accordion/Accordion.styles.js.map +0 -1
- package/dist/esm/ActionBar/ActionBar.js.map +0 -1
- package/dist/esm/ActionBar/ActionBar.styles.js.map +0 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +0 -1
- package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js.map +0 -1
- package/dist/esm/AppSwitcher/Action/Action.js.map +0 -1
- package/dist/esm/AppSwitcher/Action/Action.styles.js.map +0 -1
- package/dist/esm/AppSwitcher/AppSwitcher.js.map +0 -1
- package/dist/esm/AppSwitcher/AppSwitcher.styles.js.map +0 -1
- package/dist/esm/Avatar/Avatar.js.map +0 -1
- package/dist/esm/Avatar/Avatar.styles.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroup.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +0 -1
- package/dist/esm/AvatarGroup/AvatarGroupContext.js.map +0 -1
- package/dist/esm/Badge/Badge.js.map +0 -1
- package/dist/esm/Badge/Badge.styles.js.map +0 -1
- package/dist/esm/Banner/Banner.js.map +0 -1
- package/dist/esm/Banner/Banner.styles.js.map +0 -1
- package/dist/esm/Banner/BannerContent/BannerContent.js.map +0 -1
- package/dist/esm/Banner/BannerContent/BannerContent.styles.js.map +0 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.js.map +0 -1
- package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js.map +0 -1
- package/dist/esm/BaseCheckBox/CheckBoxIcon.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdown.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdown.styles.js.map +0 -1
- package/dist/esm/BaseDropdown/BaseDropdownPanel.js.map +0 -1
- package/dist/esm/BaseDropdown/context.js.map +0 -1
- package/dist/esm/BaseInput/BaseInput.js.map +0 -1
- package/dist/esm/BaseInput/BaseInput.styles.js.map +0 -1
- package/dist/esm/BaseInput/validations.js.map +0 -1
- package/dist/esm/BaseRadio/BaseRadio.js.map +0 -1
- package/dist/esm/BaseRadio/BaseRadio.styles.js.map +0 -1
- package/dist/esm/BaseRadio/RadioIcon.js.map +0 -1
- package/dist/esm/BaseSwitch/BaseSwitch.js.map +0 -1
- package/dist/esm/BaseSwitch/BaseSwitch.styles.js.map +0 -1
- package/dist/esm/Box/Box.js.map +0 -1
- package/dist/esm/BreadCrumb/BreadCrumb.js.map +0 -1
- package/dist/esm/BreadCrumb/BreadCrumb.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/Page/Page.js.map +0 -1
- package/dist/esm/BreadCrumb/Page/Page.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.js.map +0 -1
- package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js.map +0 -1
- package/dist/esm/BreadCrumb/utils.js.map +0 -1
- package/dist/esm/BulkActions/BulkActions.js.map +0 -1
- package/dist/esm/BulkActions/BulkActions.styles.js.map +0 -1
- package/dist/esm/Button/Button.js.map +0 -1
- package/dist/esm/Button/Button.styles.js.map +0 -1
- package/dist/esm/ButtonBase/ButtonBase.js.map +0 -1
- package/dist/esm/ButtonBase/ButtonBase.styles.js.map +0 -1
- package/dist/esm/Calendar/Calendar.js.map +0 -1
- package/dist/esm/Calendar/Calendar.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js.map +0 -1
- package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js.map +0 -1
- package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js.map +0 -1
- package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js.map +0 -1
- package/dist/esm/Calendar/model.js.map +0 -1
- package/dist/esm/Calendar/utils.js.map +0 -1
- package/dist/esm/Card/Card.js.map +0 -1
- package/dist/esm/Card/Card.styles.js.map +0 -1
- package/dist/esm/Card/Content/Content.js.map +0 -1
- package/dist/esm/Card/Content/Content.styles.js.map +0 -1
- package/dist/esm/Card/Header/Header.js.map +0 -1
- package/dist/esm/Card/Header/Header.styles.js.map +0 -1
- package/dist/esm/Card/Media/Media.js.map +0 -1
- package/dist/esm/Card/Media/Media.styles.js.map +0 -1
- package/dist/esm/Carousel/Carousel.js.map +0 -1
- package/dist/esm/Carousel/Carousel.styles.js.map +0 -1
- package/dist/esm/Carousel/CarouselControls.js.map +0 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js.map +0 -1
- package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js.map +0 -1
- package/dist/esm/Carousel/CarouselThumbnails.js.map +0 -1
- package/dist/esm/CheckBox/CheckBox.js.map +0 -1
- package/dist/esm/CheckBox/CheckBox.styles.js.map +0 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +0 -1
- package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +0 -1
- package/dist/esm/ColorPicker/ColorPicker.js.map +0 -1
- package/dist/esm/ColorPicker/ColorPicker.styles.js.map +0 -1
- package/dist/esm/ColorPicker/Fields/Fields.js.map +0 -1
- package/dist/esm/ColorPicker/Fields/Fields.styles.js.map +0 -1
- package/dist/esm/ColorPicker/Picker/Picker.js.map +0 -1
- package/dist/esm/ColorPicker/Picker/Picker.styles.js.map +0 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.js.map +0 -1
- package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js.map +0 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.js.map +0 -1
- package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js.map +0 -1
- package/dist/esm/Container/Container.js.map +0 -1
- package/dist/esm/Container/Container.styles.js.map +0 -1
- package/dist/esm/Controls/Controls.js.map +0 -1
- package/dist/esm/Controls/Controls.styles.js.map +0 -1
- package/dist/esm/Controls/LeftControl/LeftControl.js.map +0 -1
- package/dist/esm/Controls/LeftControl/LeftControl.styles.js.map +0 -1
- package/dist/esm/Controls/RightControl/RightControl.js.map +0 -1
- package/dist/esm/Controls/RightControl/RightControl.styles.js.map +0 -1
- package/dist/esm/Controls/context/ControlsContext.js.map +0 -1
- package/dist/esm/DatePicker/DatePicker.js.map +0 -1
- package/dist/esm/DatePicker/DatePicker.styles.js.map +0 -1
- package/dist/esm/DatePicker/useVisibleDate.js.map +0 -1
- package/dist/esm/DatePicker/utils.js.map +0 -1
- package/dist/esm/Dialog/Actions/Actions.js.map +0 -1
- package/dist/esm/Dialog/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/Dialog/Content/Content.js.map +0 -1
- package/dist/esm/Dialog/Content/Content.styles.js.map +0 -1
- package/dist/esm/Dialog/Dialog.js.map +0 -1
- package/dist/esm/Dialog/Dialog.styles.js.map +0 -1
- package/dist/esm/Dialog/Title/Title.js.map +0 -1
- package/dist/esm/Dialog/Title/Title.styles.js.map +0 -1
- package/dist/esm/Dialog/context.js.map +0 -1
- package/dist/esm/DotPagination/DotPagination.js.map +0 -1
- package/dist/esm/DotPagination/DotPagination.styles.js.map +0 -1
- package/dist/esm/Drawer/Drawer.js.map +0 -1
- package/dist/esm/Drawer/Drawer.styles.js.map +0 -1
- package/dist/esm/DropDownMenu/DropDownMenu.js.map +0 -1
- package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +0 -1
- package/dist/esm/Dropdown/Dropdown.js.map +0 -1
- package/dist/esm/Dropdown/Dropdown.styles.js.map +0 -1
- package/dist/esm/Dropdown/List/List.js.map +0 -1
- package/dist/esm/Dropdown/List/List.styles.js.map +0 -1
- package/dist/esm/Dropdown/utils.js.map +0 -1
- package/dist/esm/DropdownButton/DropdownButton.js.map +0 -1
- package/dist/esm/DropdownButton/DropdownButton.styles.js.map +0 -1
- package/dist/esm/EmptyState/EmptyState.js.map +0 -1
- package/dist/esm/EmptyState/EmptyState.styles.js.map +0 -1
- package/dist/esm/FileUploader/DropZone/DropZone.js.map +0 -1
- package/dist/esm/FileUploader/DropZone/DropZone.styles.js.map +0 -1
- package/dist/esm/FileUploader/File/File.js.map +0 -1
- package/dist/esm/FileUploader/File/File.styles.js.map +0 -1
- package/dist/esm/FileUploader/FileList/FileList.js.map +0 -1
- package/dist/esm/FileUploader/FileList/FileList.styles.js.map +0 -1
- package/dist/esm/FileUploader/FileUploader.js.map +0 -1
- package/dist/esm/FileUploader/FileUploader.styles.js.map +0 -1
- package/dist/esm/FileUploader/Preview/Preview.js.map +0 -1
- package/dist/esm/FileUploader/Preview/Preview.styles.js.map +0 -1
- package/dist/esm/FileUploader/utils.js.map +0 -1
- package/dist/esm/FilterGroup/Counter/Counter.js.map +0 -1
- package/dist/esm/FilterGroup/Counter/Counter.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +0 -1
- package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroup.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroup.styles.js.map +0 -1
- package/dist/esm/FilterGroup/FilterGroupContext.js.map +0 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +0 -1
- package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js.map +0 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +0 -1
- package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +0 -1
- package/dist/esm/Focus/Focus.js.map +0 -1
- package/dist/esm/Focus/Focus.styles.js.map +0 -1
- package/dist/esm/Focus/utils.js.map +0 -1
- package/dist/esm/Footer/Footer.js.map +0 -1
- package/dist/esm/Footer/Footer.styles.js.map +0 -1
- package/dist/esm/FormElement/Adornment/Adornment.js.map +0 -1
- package/dist/esm/FormElement/Adornment/Adornment.styles.js.map +0 -1
- package/dist/esm/FormElement/CharCounter/CharCounter.js.map +0 -1
- package/dist/esm/FormElement/CharCounter/CharCounter.styles.js.map +0 -1
- package/dist/esm/FormElement/FormElement.js.map +0 -1
- package/dist/esm/FormElement/FormElement.styles.js.map +0 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.js.map +0 -1
- package/dist/esm/FormElement/InfoMessage/InfoMessage.styles.js.map +0 -1
- package/dist/esm/FormElement/Label/Label.js.map +0 -1
- package/dist/esm/FormElement/Label/Label.styles.js.map +0 -1
- package/dist/esm/FormElement/Suggestions/Suggestions.js.map +0 -1
- package/dist/esm/FormElement/Suggestions/Suggestions.styles.js.map +0 -1
- package/dist/esm/FormElement/WarningText/WarningText.js.map +0 -1
- package/dist/esm/FormElement/WarningText/WarningText.styles.js.map +0 -1
- package/dist/esm/FormElement/context.js.map +0 -1
- package/dist/esm/FormElement/utils.js.map +0 -1
- package/dist/esm/GlobalActions/GlobalActions.js.map +0 -1
- package/dist/esm/GlobalActions/GlobalActions.styles.js.map +0 -1
- package/dist/esm/Grid/Grid.js.map +0 -1
- package/dist/esm/Grid/Grid.styles.js.map +0 -1
- package/dist/esm/Header/Actions/Actions.js.map +0 -1
- package/dist/esm/Header/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/Header/Brand/Brand.js.map +0 -1
- package/dist/esm/Header/Brand/Brand.styles.js.map +0 -1
- package/dist/esm/Header/Header.js.map +0 -1
- package/dist/esm/Header/Header.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuBar/MenuBar.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +0 -1
- package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/Navigation.js.map +0 -1
- package/dist/esm/Header/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/Header/Navigation/useSelectionPath.js.map +0 -1
- package/dist/esm/Header/Navigation/utils/FocusContext.js.map +0 -1
- package/dist/esm/Header/Navigation/utils/SelectionContext.js.map +0 -1
- package/dist/esm/IconButton/IconButton.js.map +0 -1
- package/dist/esm/IconContainer/IconContainer.js.map +0 -1
- package/dist/esm/InlineEditor/InlineEditor.js.map +0 -1
- package/dist/esm/InlineEditor/InlineEditor.styles.js.map +0 -1
- package/dist/esm/Input/Input.js.map +0 -1
- package/dist/esm/Input/Input.styles.js.map +0 -1
- package/dist/esm/Input/icons.js.map +0 -1
- package/dist/esm/Kpi/Kpi.js.map +0 -1
- package/dist/esm/Kpi/Kpi.styles.js.map +0 -1
- package/dist/esm/Link/Link.js.map +0 -1
- package/dist/esm/Link/Link.styles.js.map +0 -1
- package/dist/esm/List/List.js.map +0 -1
- package/dist/esm/List/List.styles.js.map +0 -1
- package/dist/esm/List/useSelectableList.js.map +0 -1
- package/dist/esm/List/utils.js.map +0 -1
- package/dist/esm/ListContainer/ListContainer.js.map +0 -1
- package/dist/esm/ListContainer/ListContainer.styles.js.map +0 -1
- package/dist/esm/ListContainer/ListContext/ListContext.js.map +0 -1
- package/dist/esm/ListContainer/ListItem/ListItem.js.map +0 -1
- package/dist/esm/ListContainer/ListItem/ListItem.styles.js.map +0 -1
- package/dist/esm/Loading/Loading.js.map +0 -1
- package/dist/esm/Loading/Loading.styles.js.map +0 -1
- package/dist/esm/LoadingContainer/LoadingContainer.js.map +0 -1
- package/dist/esm/LoadingContainer/LoadingContainer.styles.js.map +0 -1
- package/dist/esm/Login/Login.js.map +0 -1
- package/dist/esm/Login/Login.styles.js.map +0 -1
- package/dist/esm/MultiButton/MultiButton.js.map +0 -1
- package/dist/esm/MultiButton/MultiButton.styles.js.map +0 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.js.map +0 -1
- package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js.map +0 -1
- package/dist/esm/Pagination/Pagination.js.map +0 -1
- package/dist/esm/Pagination/Pagination.styles.js.map +0 -1
- package/dist/esm/Pagination/Select.js.map +0 -1
- package/dist/esm/Pagination/Select.styles.js.map +0 -1
- package/dist/esm/Panel/Panel.js.map +0 -1
- package/dist/esm/Panel/Panel.styles.js.map +0 -1
- package/dist/esm/ProgressBar/ProgressBar.js.map +0 -1
- package/dist/esm/ProgressBar/ProgressBar.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +0 -1
- package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Context.js.map +0 -1
- package/dist/esm/QueryBuilder/QueryBuilder.js.map +0 -1
- package/dist/esm/QueryBuilder/QueryBuilder.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Operator/Operator.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Rule.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Rule.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/EmptyValue/EmptyValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +0 -1
- package/dist/esm/QueryBuilder/Rule/Value/Value.js.map +0 -1
- package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js.map +0 -1
- package/dist/esm/QueryBuilder/types.js.map +0 -1
- package/dist/esm/QueryBuilder/utils/index.js.map +0 -1
- package/dist/esm/QueryBuilder/utils/reducer.js.map +0 -1
- package/dist/esm/Radio/Radio.js.map +0 -1
- package/dist/esm/Radio/Radio.styles.js.map +0 -1
- package/dist/esm/RadioGroup/RadioGroup.js.map +0 -1
- package/dist/esm/RadioGroup/RadioGroup.styles.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/ScrollToHorizontal.js.map +0 -1
- package/dist/esm/ScrollToHorizontal/ScrollToHorizontal.styles.js.map +0 -1
- package/dist/esm/ScrollToVertical/ScrollToVertical.js.map +0 -1
- package/dist/esm/ScrollToVertical/ScrollToVertical.styles.js.map +0 -1
- package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.js.map +0 -1
- package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +0 -1
- package/dist/esm/Section/Section.js.map +0 -1
- package/dist/esm/Section/Section.styles.js.map +0 -1
- package/dist/esm/Select/Option.js.map +0 -1
- package/dist/esm/Select/OptionGroup.js.map +0 -1
- package/dist/esm/Select/Select.js.map +0 -1
- package/dist/esm/Select/Select.styles.js.map +0 -1
- package/dist/esm/SelectionList/SelectionList.js.map +0 -1
- package/dist/esm/SelectionList/SelectionList.styles.js.map +0 -1
- package/dist/esm/SimpleGrid/SimpleGrid.js.map +0 -1
- package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +0 -1
- package/dist/esm/Skeleton/Skeleton.js.map +0 -1
- package/dist/esm/Skeleton/Skeleton.styles.js.map +0 -1
- package/dist/esm/Slider/Slider.js.map +0 -1
- package/dist/esm/Slider/Slider.styles.js.map +0 -1
- package/dist/esm/Slider/SliderInput/SliderInput.js.map +0 -1
- package/dist/esm/Slider/SliderInput/SliderInput.styles.js.map +0 -1
- package/dist/esm/Slider/base.js.map +0 -1
- package/dist/esm/Slider/utils.js.map +0 -1
- package/dist/esm/Snackbar/Snackbar.js.map +0 -1
- package/dist/esm/Snackbar/Snackbar.styles.js.map +0 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +0 -1
- package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +0 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.js.map +0 -1
- package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js.map +0 -1
- package/dist/esm/Stack/Stack.js.map +0 -1
- package/dist/esm/Stack/Stack.styles.js.map +0 -1
- package/dist/esm/Switch/Switch.js.map +0 -1
- package/dist/esm/Switch/Switch.styles.js.map +0 -1
- package/dist/esm/Table/Table.js.map +0 -1
- package/dist/esm/Table/Table.styles.js.map +0 -1
- package/dist/esm/Table/TableBody/TableBody.js.map +0 -1
- package/dist/esm/Table/TableBody/TableBody.styles.js.map +0 -1
- package/dist/esm/Table/TableCell/TableCell.js.map +0 -1
- package/dist/esm/Table/TableCell/TableCell.styles.js.map +0 -1
- package/dist/esm/Table/TableContainer/TableContainer.js.map +0 -1
- package/dist/esm/Table/TableContainer/TableContainer.styles.js.map +0 -1
- package/dist/esm/Table/TableContext.js.map +0 -1
- package/dist/esm/Table/TableHead/TableHead.js.map +0 -1
- package/dist/esm/Table/TableHead/TableHead.styles.js.map +0 -1
- package/dist/esm/Table/TableHeader/TableHeader.js.map +0 -1
- package/dist/esm/Table/TableHeader/TableHeader.styles.js.map +0 -1
- package/dist/esm/Table/TableHeader/utils.js.map +0 -1
- package/dist/esm/Table/TableRow/TableRow.js.map +0 -1
- package/dist/esm/Table/TableRow/TableRow.styles.js.map +0 -1
- package/dist/esm/Table/TableSection/TableSection.js.map +0 -1
- package/dist/esm/Table/TableSection/TableSection.styles.js.map +0 -1
- package/dist/esm/Table/TableSectionContext.js.map +0 -1
- package/dist/esm/Table/hooks/useHvBulkActions.js.map +0 -1
- package/dist/esm/Table/hooks/useHvFilters.js.map +0 -1
- package/dist/esm/Table/hooks/useHvGlobalFilter.js.map +0 -1
- package/dist/esm/Table/hooks/useHvHeaderGroups.js.map +0 -1
- package/dist/esm/Table/hooks/useHvPagination.js.map +0 -1
- package/dist/esm/Table/hooks/useHvResizeColumns.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowExpand.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowSelection.js.map +0 -1
- package/dist/esm/Table/hooks/useHvRowState.js.map +0 -1
- package/dist/esm/Table/hooks/useHvSortBy.js.map +0 -1
- package/dist/esm/Table/hooks/useHvSticky.js.map +0 -1
- package/dist/esm/Table/hooks/useHvTable.js.map +0 -1
- package/dist/esm/Table/hooks/useHvTableStyles.js.map +0 -1
- package/dist/esm/Table/renderers/DateColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/DefaultCell.js.map +0 -1
- package/dist/esm/Table/renderers/DropdownColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/ProgressColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/SwitchColumnCell.js.map +0 -1
- package/dist/esm/Table/renderers/renderers.js.map +0 -1
- package/dist/esm/Tabs/Tab/Tab.js.map +0 -1
- package/dist/esm/Tabs/Tab/Tab.styles.js.map +0 -1
- package/dist/esm/Tabs/Tabs.js.map +0 -1
- package/dist/esm/Tabs/Tabs.styles.js.map +0 -1
- package/dist/esm/Tag/Tag.js.map +0 -1
- package/dist/esm/Tag/Tag.styles.js.map +0 -1
- package/dist/esm/TagsInput/TagsInput.js.map +0 -1
- package/dist/esm/TagsInput/TagsInput.styles.js.map +0 -1
- package/dist/esm/TextArea/TextArea.js.map +0 -1
- package/dist/esm/TextArea/TextArea.styles.js.map +0 -1
- package/dist/esm/TimeAgo/TimeAgo.js.map +0 -1
- package/dist/esm/TimeAgo/TimeAgo.styles.js.map +0 -1
- package/dist/esm/TimeAgo/formatUtils.js.map +0 -1
- package/dist/esm/TimeAgo/useTimeAgo.js.map +0 -1
- package/dist/esm/TimeAgo/useTimeout.js.map +0 -1
- package/dist/esm/TimePicker/Placeholder.js.map +0 -1
- package/dist/esm/TimePicker/TimePicker.js.map +0 -1
- package/dist/esm/TimePicker/TimePicker.styles.js.map +0 -1
- package/dist/esm/TimePicker/Unit/Unit.js.map +0 -1
- package/dist/esm/TimePicker/Unit/Unit.styles.js.map +0 -1
- package/dist/esm/ToggleButton/ToggleButton.js.map +0 -1
- package/dist/esm/Tooltip/Tooltip.js.map +0 -1
- package/dist/esm/Tooltip/Tooltip.styles.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/TreeItem.styles.js.map +0 -1
- package/dist/esm/TreeView/TreeItem/useHvTreeItem.js.map +0 -1
- package/dist/esm/TreeView/TreeView.js.map +0 -1
- package/dist/esm/TreeView/TreeView.styles.js.map +0 -1
- package/dist/esm/TreeView/internals/DescendantProvider.js.map +0 -1
- package/dist/esm/TreeView/internals/TreeViewProvider.js.map +0 -1
- package/dist/esm/TreeView/internals/corePlugins.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/defaultPlugins.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewContextValueBuilder.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewExpansion.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewFocus.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewNodes.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewSelection.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useInstanceEventHandler.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeView.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeViewInstanceEvents.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/useTreeViewModels.js.map +0 -1
- package/dist/esm/TreeView/internals/hooks/utils.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/EventManager.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/TimerBasedCleanupTracking.js.map +0 -1
- package/dist/esm/TreeView/internals/utils/publishTreeViewEvent.js.map +0 -1
- package/dist/esm/Typography/Typography.js.map +0 -1
- package/dist/esm/Typography/Typography.styles.js.map +0 -1
- package/dist/esm/Typography/utils.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Action.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.js.map +0 -1
- package/dist/esm/VerticalNavigation/Actions/Actions.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Header/Header.js.map +0 -1
- package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +0 -1
- package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/NavigationSlider/utils.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewContext.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +0 -1
- package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js.map +0 -1
- package/dist/esm/VerticalNavigation/VerticalNavigationContext.js.map +0 -1
- package/dist/esm/VerticalNavigation/utils/VerticalNavigation.utils.js.map +0 -1
- package/dist/esm/hooks/useClickOutside.js.map +0 -1
- package/dist/esm/hooks/useComputation.js.map +0 -1
- package/dist/esm/hooks/useControlled.js.map +0 -1
- package/dist/esm/hooks/useEnhancedEffect.js.map +0 -1
- package/dist/esm/hooks/useExpandable.js.map +0 -1
- package/dist/esm/hooks/useFocus.js.map +0 -1
- package/dist/esm/hooks/useForkRef.js.map +0 -1
- package/dist/esm/hooks/useImageLoaded.js.map +0 -1
- package/dist/esm/hooks/useIsMounted.js.map +0 -1
- package/dist/esm/hooks/useLabels.js.map +0 -1
- package/dist/esm/hooks/useScrollTo.js.map +0 -1
- package/dist/esm/hooks/useUniqueId.js.map +0 -1
- package/dist/esm/hooks/useWidth.js.map +0 -1
- package/dist/esm/icons.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/providers/Provider.js.map +0 -1
- package/dist/esm/providers/ThemeProvider.js.map +0 -1
- package/dist/esm/types/generic.js.map +0 -1
- package/dist/esm/utils/Callout.js.map +0 -1
- package/dist/esm/utils/CounterLabel.js.map +0 -1
- package/dist/esm/utils/browser.js.map +0 -1
- package/dist/esm/utils/deepMerge.js.map +0 -1
- package/dist/esm/utils/document.js.map +0 -1
- package/dist/esm/utils/focusUtils.js.map +0 -1
- package/dist/esm/utils/focusableElementFinder.js.map +0 -1
- package/dist/esm/utils/getComponentName.js.map +0 -1
- package/dist/esm/utils/helpers.js.map +0 -1
- package/dist/esm/utils/hexToRgbA.js.map +0 -1
- package/dist/esm/utils/iconVariant.js.map +0 -1
- package/dist/esm/utils/keyboardUtils.js.map +0 -1
- package/dist/esm/utils/multiSelectionEventHandler.js.map +0 -1
- package/dist/esm/utils/scroll.js.map +0 -1
- package/dist/esm/utils/setId.js.map +0 -1
- package/dist/esm/utils/sizes.js.map +0 -1
- package/dist/esm/utils/theme.js.map +0 -1
- package/dist/esm/utils/useSavedState.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.js","sources":["../../../src/Grid/Grid.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport MuiGrid, { GridProps as MuiGridProps } from \"@mui/material/Grid\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useWidth } from \"../hooks/useWidth\";\nimport { staticClasses, useClasses } from \"./Grid.styles\";\n\nexport { staticClasses as gridClasses };\n\nexport type HvGridClasses = ExtractNames<typeof useClasses>;\n\nconst BREAKPOINT_GUTTERS = {\n xs: 2,\n sm: 2,\n md: 4,\n lg: 4,\n xl: 4,\n};\n\nconst BREAKPOINT_COLUMNS = {\n xs: 4,\n sm: 8,\n md: 12,\n lg: 12,\n xl: 12,\n};\n\nexport type HvGridDirection =\n | \"row\"\n | \"row-reverse\"\n | \"column\"\n | \"column-reverse\";\n\nexport type HvGridSpacing =\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"auto\"\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10;\n\nexport interface HvGridProps extends Omit<MuiGridProps, \"classes\" | \"columns\"> {\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n */\n container?: boolean;\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n */\n item?: boolean;\n /**\n * Defines the space between the type item component. It can only be used on a type container component.\n * Based in the 8x factor defined in the theme, it allows the definition of this factor based on the factor\n * (number between 0 and 10), breakpoint or auto.\n */\n spacing?: HvGridSpacing | number;\n /**\n * Defines the vertical space between the type item component. It can only be used on a type container component.\n * Based in the 8x factor defined in the theme, it allows the definition of this factor based on the factor\n * (number between 0 and 10), breakpoint or auto.\n * It overrides the value of the spacing prop.\n */\n rowSpacing?: HvGridSpacing | number;\n /**\n * Defines the horizontal space between the type item component. It can only be used on a type container component.\n * Based in the 8x factor defined in the theme, it allows the definition of this factor based on the factor\n * (number between 0 and 10), breakpoint or auto.\n * It overrides the value of the spacing prop.\n */\n columnSpacing?: HvGridSpacing | number;\n /**\n * The number of columns.\n * Defaults to a 12-column grid.\n * The value \"auto\" implements the Design System directives in terms of variable number of columns.\n * @default 12\n */\n columns?: \"auto\" | MuiGridProps[\"columns\"];\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n */\n direction?: HvGridDirection;\n /**\n * Defines the `justify-content` style property.\n * It is applied for all screen sizes.\n */\n justify?:\n | \"flex-start\"\n | \"center\"\n | \"flex-end\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for all the screen sizes with the lowest priority.\n */\n xs?: number | boolean;\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `sm` breakpoint and wider screens if not overridden.\n */\n sm?: number | boolean;\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `md` breakpoint and wider screens if not overridden.\n */\n md?: number | boolean;\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `lg` breakpoint and wider screens if not overridden.\n */\n lg?: number | boolean;\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `xl` breakpoint and wider screens.\n */\n xl?: number | boolean;\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n */\n wrap?: \"nowrap\" | \"wrap\" | \"wrap-reverse\";\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n */\n zeroMinWidth?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvGridClasses;\n}\n\nfunction getGridSpacing(spacing: HvGridProps[\"spacing\"]) {\n let gridSpacing: MuiGridProps[\"spacing\"];\n\n if (typeof spacing === \"string\") {\n if (spacing === \"auto\") {\n gridSpacing = BREAKPOINT_GUTTERS;\n } else {\n gridSpacing = BREAKPOINT_GUTTERS[spacing];\n }\n } else if (typeof spacing === \"object\") {\n gridSpacing = Object.keys(spacing).reduce<Record<string, number>>(\n (acc, bp) => {\n acc[bp] = BREAKPOINT_GUTTERS[spacing[bp]] ?? spacing[bp];\n return acc;\n },\n {},\n );\n } else if (spacing === 0) {\n gridSpacing = { xs: 0 };\n } else {\n gridSpacing = spacing;\n }\n\n return gridSpacing;\n}\n\nfunction getNumberOfColumns(columns: HvGridProps[\"columns\"]) {\n let numberOfColumns: MuiGridProps[\"columns\"];\n\n if (columns === \"auto\") {\n numberOfColumns = BREAKPOINT_COLUMNS;\n } else {\n numberOfColumns = columns;\n }\n\n return numberOfColumns;\n}\n\nfunction getContainerProps(\n spacing: HvGridProps[\"spacing\"],\n rowSpacing: HvGridProps[\"rowSpacing\"],\n columnSpacing: HvGridProps[\"columnSpacing\"],\n columns: HvGridProps[\"columns\"],\n) {\n const containerProps: Pick<\n MuiGridProps,\n \"container\" | \"spacing\" | \"rowSpacing\" | \"columnSpacing\" | \"columns\"\n > = { container: true };\n\n if (spacing != null) {\n containerProps.spacing = getGridSpacing(spacing);\n }\n if (rowSpacing != null) {\n containerProps.rowSpacing = getGridSpacing(rowSpacing);\n }\n if (columnSpacing != null) {\n containerProps.columnSpacing = getGridSpacing(columnSpacing);\n }\n if (columns != null) {\n containerProps.columns = getNumberOfColumns(columns);\n }\n\n return containerProps;\n}\n\nconst WidthGrid = forwardRef<\n // no-indent\n HTMLDivElement,\n HvGridProps\n>(function WidthGrid(props, ref) {\n const { container, spacing, rowSpacing, columnSpacing, columns, ...others } =\n props;\n\n const width = useWidth();\n\n const containerProps = container\n ? getContainerProps(\n spacing === \"auto\" ? width : spacing,\n rowSpacing === \"auto\" ? width : rowSpacing,\n columnSpacing === \"auto\" ? width : columnSpacing,\n columns,\n )\n : {};\n\n return <MuiGrid ref={ref} {...containerProps} {...others} />;\n});\n\n/**\n * The grid creates visual consistency between layouts while allowing flexibility\n * across a wide variety of designs. This component is based on a 12-column grid layout.\n *\n * It's based on the [Material UI Grid](https://mui.com/material-ui/react-grid/).\n *\n * However, the number of columns is set to 12 for all breakpoints, as it serves most\n * of the use cases and simplifies the implementation.\n * To opt-in to the Design System directives, you can set the `columns` prop to `auto`.\n *\n * Also, the Design System specifications are omissive about the horizontal gutters.\n * The HvGrid sets them to the same value as the vertical gutters, depending on the breakpoint.\n * It can be overridden by setting the `rowSpacing` prop.\n */\nexport const HvGrid = forwardRef<\n // no-indent\n HTMLDivElement,\n HvGridProps\n>(function HvGrid(props, ref) {\n const {\n item,\n container,\n spacing = \"auto\",\n rowSpacing,\n columnSpacing,\n columns,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvGrid\", props);\n\n const { classes } = useClasses(classesProp);\n\n // Fixes MUI error when using spacings as objects and the grid is an item and container\n // When set to \"auto\", the spacing changes depending on the screen's breakpoint\n // The condition avoids using useWidth and re-rendering the component unnecessarily\n if (\n container &&\n item &&\n (spacing === \"auto\" || rowSpacing === \"auto\" || columnSpacing === \"auto\")\n ) {\n return (\n <WidthGrid\n ref={ref}\n classes={classes}\n item={item}\n container={container}\n spacing={spacing}\n rowSpacing={rowSpacing}\n columnSpacing={columnSpacing}\n columns={columns}\n {...others}\n />\n );\n }\n\n const containerProps = container\n ? getContainerProps(spacing, rowSpacing, columnSpacing, columns)\n : {};\n\n return (\n <MuiGrid\n ref={ref}\n classes={classes}\n item={item}\n {...containerProps}\n {...others}\n />\n );\n});\n"],"names":["WidthGrid","HvGrid"],"mappings":";;;;;;;AAcA,MAAM,qBAAqB;AAAA,EACzB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,MAAM,qBAAqB;AAAA,EACzB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAuHA,SAAS,eAAe,SAAiC;AACnD,MAAA;AAEA,MAAA,OAAO,YAAY,UAAU;AAC/B,QAAI,YAAY,QAAQ;AACR,oBAAA;AAAA,IAAA,OACT;AACL,oBAAc,mBAAmB,OAAO;AAAA,IAAA;AAAA,EAC1C,WACS,OAAO,YAAY,UAAU;AACxB,kBAAA,OAAO,KAAK,OAAO,EAAE;AAAA,MACjC,CAAC,KAAK,OAAO;AACP,YAAA,EAAE,IAAI,mBAAmB,QAAQ,EAAE,CAAC,KAAK,QAAQ,EAAE;AAChD,eAAA;AAAA,MACT;AAAA,MACA,CAAA;AAAA,IACF;AAAA,EAAA,WACS,YAAY,GAAG;AACV,kBAAA,EAAE,IAAI,EAAE;AAAA,EAAA,OACjB;AACS,kBAAA;AAAA,EAAA;AAGT,SAAA;AACT;AAEA,SAAS,mBAAmB,SAAiC;AACvD,MAAA;AAEJ,MAAI,YAAY,QAAQ;AACJ,sBAAA;AAAA,EAAA,OACb;AACa,sBAAA;AAAA,EAAA;AAGb,SAAA;AACT;AAEA,SAAS,kBACP,SACA,YACA,eACA,SACA;AACM,QAAA,iBAGF,EAAE,WAAW,KAAK;AAEtB,MAAI,WAAW,MAAM;AACJ,mBAAA,UAAU,eAAe,OAAO;AAAA,EAAA;AAEjD,MAAI,cAAc,MAAM;AACP,mBAAA,aAAa,eAAe,UAAU;AAAA,EAAA;AAEvD,MAAI,iBAAiB,MAAM;AACV,mBAAA,gBAAgB,eAAe,aAAa;AAAA,EAAA;AAE7D,MAAI,WAAW,MAAM;AACJ,mBAAA,UAAU,mBAAmB,OAAO;AAAA,EAAA;AAG9C,SAAA;AACT;AAEA,MAAM,YAAY,WAIhB,SAASA,WAAU,OAAO,KAAK;AACzB,QAAA,EAAE,WAAW,SAAS,YAAY,eAAe,SAAS,GAAG,WACjE;AAEF,QAAM,QAAQ,SAAS;AAEvB,QAAM,iBAAiB,YACnB;AAAA,IACE,YAAY,SAAS,QAAQ;AAAA,IAC7B,eAAe,SAAS,QAAQ;AAAA,IAChC,kBAAkB,SAAS,QAAQ;AAAA,IACnC;AAAA,EAAA,IAEF,CAAC;AAEL,6BAAQ,SAAQ,EAAA,KAAW,GAAG,gBAAiB,GAAG,QAAQ;AAC5D,CAAC;AAgBM,MAAM,SAAS,WAIpB,SAASC,QAAO,OAAO,KAAK;AACtB,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,UAAU,KAAK;AAEnC,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAK1C,MACE,aACA,SACC,YAAY,UAAU,eAAe,UAAU,kBAAkB,SAClE;AAEE,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAIE,QAAA,iBAAiB,YACnB,kBAAkB,SAAS,YAAY,eAAe,OAAO,IAC7D,CAAC;AAGH,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EACN;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.styles.js","sources":["../../../src/Grid/Grid.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvGrid\", {\n root: {},\n container: {},\n item: {},\n zeroMinWidth: {},\n \"direction-xs-column\": {},\n \"direction-xs-reverse\": {},\n \"direction-xs-row-reverse\": {},\n \"wrap-xs-nowrap\": {},\n \"wrap-xs-wrap-reverse\": {},\n \"spacing-xs-1\": {},\n \"spacing-xs-2\": {},\n \"spacing-xs-3\": {},\n \"spacing-xs-4\": {},\n \"spacing-xs-5\": {},\n \"spacing-xs-6\": {},\n \"spacing-xs-7\": {},\n \"spacing-xs-8\": {},\n \"spacing-xs-9\": {},\n \"spacing-xs-10\": {},\n \"grid-xs-auto\": {},\n \"grid-xs-true\": {},\n \"grid-xs-1\": {},\n \"grid-xs-2\": {},\n \"grid-xs-3\": {},\n \"grid-xs-4\": {},\n \"grid-xs-5\": {},\n \"grid-xs-6\": {},\n \"grid-xs-7\": {},\n \"grid-xs-8\": {},\n \"grid-xs-9\": {},\n \"grid-xs-10\": {},\n \"grid-xs-11\": {},\n \"grid-xs-12\": {},\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,UAAU;AAAA,EACnE,MAAM,CAAC;AAAA,EACP,WAAW,CAAC;AAAA,EACZ,MAAM,CAAC;AAAA,EACP,cAAc,CAAC;AAAA,EACf,uBAAuB,CAAC;AAAA,EACxB,wBAAwB,CAAC;AAAA,EACzB,4BAA4B,CAAC;AAAA,EAC7B,kBAAkB,CAAC;AAAA,EACnB,wBAAwB,CAAC;AAAA,EACzB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,iBAAiB,CAAC;AAAA,EAClB,gBAAgB,CAAC;AAAA,EACjB,gBAAgB,CAAC;AAAA,EACjB,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,aAAa,CAAC;AAAA,EACd,cAAc,CAAC;AAAA,EACf,cAAc,CAAC;AAAA,EACf,cAAc,CAAA;AAChB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../src/Header/Actions/Actions.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { staticClasses, useClasses } from \"./Actions.styles\";\n\nexport { staticClasses as headerActionsClasses };\n\nexport type HvHeaderActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHeaderActionsProps extends HvBaseProps {\n classes?: HvHeaderActionsClasses;\n}\n\nexport const HvHeaderActions = forwardRef<\n React.ElementRef<\"div\">,\n HvHeaderActionsProps\n>(function HvHeaderActions(props, ref) {\n const {\n classes: classesProp,\n className,\n children,\n ...others\n } = useDefaultProps(\"HvHeaderActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div ref={ref} className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n});\n"],"names":["HvHeaderActions"],"mappings":";;;;;AAiBO,MAAM,kBAAkB,WAG7B,SAASA,iBAAgB,OAAO,KAAK;AAC/B,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAE5C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,SAAA,oBAAC,OAAI,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QACxD,SACH,CAAA;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.styles.js","sources":["../../../../src/Header/Actions/Actions.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { buttonClasses } from \"../../Button\";\n\n// TODO - rename to HvHeaderActions (the actual component's name) in v6\nexport const { staticClasses, useClasses } = createClasses(\"HvHeader-Actions\", {\n root: {\n backgroundColor: \"transparent\",\n display: \"flex\",\n gap: theme.space.xs,\n alignItems: \"center\",\n marginLeft: \"auto\",\n [`& .${buttonClasses?.root}`]: {\n \"&:hover\": { backgroundColor: theme.colors.bgHover },\n },\n },\n});\n"],"names":["buttonClasses"],"mappings":";;;;AAMO,MAAM,EAAE,eAAe,eAAe,cAAc,oBAAoB;AAAA,EAC7E,MAAM;AAAA,IACJ,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,KAAK,MAAM,MAAM;AAAA,IACjB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,CAAC,MAAMA,iBAAe,IAAI,EAAE,GAAG;AAAA,MAC7B,WAAW,EAAE,iBAAiB,MAAM,OAAO,QAAQ;AAAA,IAAA;AAAA,EACrD;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Brand.js","sources":["../../../../src/Header/Brand/Brand.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { HvTypography } from \"../../Typography\";\nimport { staticClasses, useClasses } from \"./Brand.styles\";\n\nexport { staticClasses as headerBrandClasses };\n\nexport type HvHeaderBrandClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHeaderBrandProps extends HvBaseProps {\n logo?: React.ReactNode;\n name?: string;\n classes?: HvHeaderBrandClasses;\n}\n\n/**\n * Header component is used to render a header bar with logo and brand name, navigation and actions.\n */\nexport const HvHeaderBrand = forwardRef<\n React.ElementRef<\"div\">,\n HvHeaderBrandProps\n>(function HvHeaderBrand(props, ref) {\n const {\n classes: classesProp,\n logo,\n name,\n className,\n ...others\n } = useDefaultProps(\"HvHeaderBrand\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div ref={ref} className={cx(classes.root, className)} {...others}>\n {logo}\n {logo && name && <div className={classes.separator} />}\n {name && (\n <HvTypography className={classes.brandName} variant=\"label\">\n {name}\n </HvTypography>\n )}\n </div>\n );\n});\n"],"names":["HvHeaderBrand"],"mappings":";;;;;;AAuBO,MAAM,gBAAgB,WAG3B,SAASA,eAAc,OAAO,KAAK;AAC7B,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,SAAA,qBAAC,OAAI,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QACxD,UAAA;AAAA,IAAA;AAAA,IACA,QAAQ,QAAQ,oBAAC,OAAI,EAAA,WAAW,QAAQ,WAAW;AAAA,IACnD,4BACE,cAAa,EAAA,WAAW,QAAQ,WAAW,SAAQ,SACjD,UACH,KAAA,CAAA;AAAA,EAAA,GAEJ;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Brand.styles.js","sources":["../../../../src/Header/Brand/Brand.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\n// TODO - rename to HvHeaderBrand (the actual component's name) in v6\nexport const { staticClasses, useClasses } = createClasses(\"HvHeader-Brand\", {\n root: { display: \"flex\", alignItems: \"center\" },\n separator: {\n width: 1,\n height: theme.space.sm,\n margin: theme.space.xs,\n backgroundColor: theme.colors.text,\n },\n brandName: {},\n});\n"],"names":[],"mappings":";;AAIO,MAAM,EAAE,eAAe,eAAe,cAAc,kBAAkB;AAAA,EAC3E,MAAM,EAAE,SAAS,QAAQ,YAAY,SAAS;AAAA,EAC9C,WAAW;AAAA,IACT,OAAO;AAAA,IACP,QAAQ,MAAM,MAAM;AAAA,IACpB,QAAQ,MAAM,MAAM;AAAA,IACpB,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,WAAW,CAAA;AACb,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../../src/Header/Header.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as headerClasses };\n\nexport type HvHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport type HvHeaderPosition =\n | \"fixed\"\n | \"absolute\"\n | \"sticky\"\n | \"static\"\n | \"relative\";\n\nexport interface HvHeaderProps extends HvBaseProps {\n /** The position of the header bar */\n position?: HvHeaderPosition;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvHeaderClasses;\n}\n\n/**\n * Header component is used to render a header bar with logo and brand name, navigation and actions.\n */\nexport const HvHeader = forwardRef<\n // no-indent\n React.ComponentRef<\"header\">,\n HvHeaderProps\n>(function HvHeader(props, ref) {\n const {\n className,\n classes: classesProp,\n children,\n position = \"fixed\",\n ...others\n } = useDefaultProps(\"HvHeader\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <header\n ref={ref}\n style={{ position }}\n className={cx(\n classes.root,\n classes.backgroundColor,\n { [classes.fixed]: position === \"fixed\" },\n className,\n )}\n {...others}\n >\n <div className={classes.header}>{children}</div>\n </header>\n );\n});\n"],"names":["HvHeader"],"mappings":";;;;;AA8BO,MAAM,WAAW,WAItB,SAASA,UAAS,OAAO,KAAK;AACxB,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,WAAW;AAAA,IACX,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AAErC,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO,EAAE,SAAS;AAAA,MAClB,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,KAAK,GAAG,aAAa,QAAQ;AAAA,QACxC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,SAAS,CAAA;AAAA,IAAA;AAAA,EAC5C;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.styles.js","sources":["../../../src/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvHeader\", {\n root: {\n height: theme.header.height,\n backgroundColor: theme.colors.bgContainer,\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n boxSizing: \"border-box\",\n flexShrink: 0,\n zIndex: theme.zIndices.banner,\n borderTop: \"none\",\n boxShadow: theme.colors.shadow,\n },\n header: {\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n padding: theme.spacing(0, \"sm\"),\n \"& > *:not(nav)\": {\n zIndex: 2,\n },\n },\n fixed: { position: \"fixed\", top: 0, left: \"auto\", right: 0 },\n backgroundColor: {},\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,YAAY;AAAA,EACrE,MAAM;AAAA,IACJ,QAAQ,MAAM,OAAO;AAAA,IACrB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,MAAM,SAAS;AAAA,IACvB,WAAW;AAAA,IACX,WAAW,MAAM,OAAO;AAAA,EAC1B;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS,MAAM,QAAQ,GAAG,IAAI;AAAA,IAC9B,kBAAkB;AAAA,MAChB,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EACA,OAAO,EAAE,UAAU,SAAS,KAAK,GAAG,MAAM,QAAQ,OAAO,EAAE;AAAA,EAC3D,iBAAiB,CAAA;AACnB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","sources":["../../../../../src/Header/Navigation/MenuBar/Bar.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { HvHeaderNavigationItemProp } from \"../useSelectionPath\";\nimport { SelectionContext } from \"../utils/SelectionContext\";\nimport { staticClasses, useClasses } from \"./Bar.styles\";\n\nexport { staticClasses as headerMenuBarClasses };\n\nexport type HvHeaderMenuBarClasses = ExtractNames<typeof useClasses>;\n\nexport interface BarProps extends HvBaseProps {\n data: HvHeaderNavigationItemProp[];\n type?: \"menubar\" | \"menu\";\n classes?: HvHeaderMenuBarClasses;\n}\n\nexport const Bar = (props: BarProps) => {\n const {\n id,\n data = [],\n type = \"menubar\",\n className,\n children,\n classes: classesProp,\n } = useDefaultProps(\"HvHeaderMenuBarBar\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const selectionPath = useContext(SelectionContext);\n\n const isMenu = type === \"menu\";\n\n const isActive =\n isMenu && data.filter((item) => item.id === selectionPath?.[1]).length > 0;\n\n return (\n <div\n className={cx(\n classes.root,\n classes[type],\n {\n [classes.hidden]: isMenu,\n [classes.active]: isActive,\n },\n className,\n )}\n >\n <ul className={classes.list} id={id} onFocus={() => {}}>\n {children}\n </ul>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAqBa,MAAA,MAAM,CAAC,UAAoB;AAChC,QAAA;AAAA,IACJ;AAAA,IACA,OAAO,CAAC;AAAA,IACR,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,sBAAsB,KAAK;AAC/C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,gBAAgB,WAAW,gBAAgB;AAEjD,QAAM,SAAS,SAAS;AAExB,QAAM,WACJ,UAAU,KAAK,OAAO,CAAC,SAAS,KAAK,OAAO,gBAAgB,CAAC,CAAC,EAAE,SAAS;AAGzE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,IAAI;AAAA,QACZ;AAAA,UACE,CAAC,QAAQ,MAAM,GAAG;AAAA,UAClB,CAAC,QAAQ,MAAM,GAAG;AAAA,QACpB;AAAA,QACA;AAAA,MACF;AAAA,MAEA,8BAAC,MAAG,EAAA,WAAW,QAAQ,MAAM,IAAQ,SAAS,MAAM;AAAA,SACjD,SACH,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.styles.js","sources":["../../../../../src/Header/Navigation/MenuBar/Bar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nconst show = {\n top: theme.header.height,\n transition: [\"top\"],\n boxShadow: theme.colors.shadow,\n transitionDuration: \"500ms\",\n backgroundColor: theme.colors.bgPage,\n};\n\nconst hide = {\n top: 0,\n transition: [\"top\"],\n boxShadow: \"none\",\n transitionDuration: \"300ms\",\n};\n\n// TODO - rename to HvHeaderMenuBar (the actual component's name) in v6\nexport const { staticClasses, useClasses } = createClasses(\"HvHeader-MenuBar\", {\n root: {\n left: 0,\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n menu: {\n position: \"absolute\",\n zIndex: -2,\n height: theme.header.secondLevelHeight,\n backgroundColor: theme.colors.bgPage,\n \"& li > div\": {\n marginTop: 0,\n },\n },\n menubar: {\n position: \"relative\",\n backgroundColor: theme.colors.bgContainer,\n },\n hidden: { ...hide },\n active: { ...show },\n list: {\n margin: 0,\n padding: 0,\n display: \"inherit\",\n alignItems: \"center\",\n height: \"100%\",\n \"&:hover $active\": {\n ...hide,\n },\n \"& li:hover > $hidden\": {\n ...show,\n },\n\n \"&:focus-within $active\": {\n ...hide,\n zIndex: -2,\n },\n \"& li:focus-within > $hidden\": {\n ...show,\n zIndex: -1,\n },\n },\n});\n"],"names":[],"mappings":";;AAGA,MAAM,OAAO;AAAA,EACX,KAAK,MAAM,OAAO;AAAA,EAClB,YAAY,CAAC,KAAK;AAAA,EAClB,WAAW,MAAM,OAAO;AAAA,EACxB,oBAAoB;AAAA,EACpB,iBAAiB,MAAM,OAAO;AAChC;AAEA,MAAM,OAAO;AAAA,EACX,KAAK;AAAA,EACL,YAAY,CAAC,KAAK;AAAA,EAClB,WAAW;AAAA,EACX,oBAAoB;AACtB;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,oBAAoB;AAAA,EAC7E,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,EACd;AAAA,EACA,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ,MAAM,OAAO;AAAA,IACrB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,cAAc;AAAA,MACZ,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,QAAQ,EAAE,GAAG,KAAK;AAAA,EAClB,QAAQ,EAAE,GAAG,KAAK;AAAA,EAClB,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,mBAAmB;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,IACA,wBAAwB;AAAA,MACtB,GAAG;AAAA,IACL;AAAA,IAEA,0BAA0B;AAAA,MACxB,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,+BAA+B;AAAA,MAC7B,GAAG;AAAA,MACH,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBar.js","sources":["../../../../../src/Header/Navigation/MenuBar/MenuBar.tsx"],"sourcesContent":["import { useDefaultProps } from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { HvHeaderMenuItem } from \"../MenuItem\";\nimport { HvHeaderNavigationItemProp } from \"../useSelectionPath\";\nimport { Bar, BarProps, HvHeaderMenuBarClasses } from \"./Bar\";\n\nexport interface HvHeaderMenuBarProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n data: HvHeaderNavigationItemProp[];\n type?: BarProps[\"type\"];\n onClick?: (\n event: React.MouseEvent,\n selection: HvHeaderNavigationItemProp,\n ) => void;\n levels: number;\n currentLevel: number;\n classes?: HvHeaderMenuBarClasses;\n}\n\nexport const HvHeaderMenuBar = (props: HvHeaderMenuBarProps) => {\n const {\n data = [],\n onClick,\n type = \"menubar\",\n levels,\n currentLevel,\n classes,\n ...others\n } = useDefaultProps(\"HvHeaderMenuBar\", props);\n return (\n <Bar data={data} type={type} classes={classes} {...others}>\n {data.map((item) => (\n <HvHeaderMenuItem\n key={item.id}\n item={item}\n type={type}\n onClick={onClick}\n levels={levels}\n currentLevel={currentLevel}\n />\n ))}\n </Bar>\n );\n};\n"],"names":[],"mappings":";;;;AAoBa,MAAA,kBAAkB,CAAC,UAAgC;AACxD,QAAA;AAAA,IACJ,OAAO,CAAC;AAAA,IACR;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAE1C,SAAA,oBAAC,KAAI,EAAA,MAAY,MAAY,SAAmB,GAAG,QAChD,UAAA,KAAK,IAAI,CAAC,SACT;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IALK,KAAK;AAAA,EAOb,CAAA,GACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { HvTypography } from \"../../../Typography\";\nimport { isKey } from \"../../../utils/keyboardUtils\";\nimport { Bar } from \"../MenuBar/Bar\";\nimport { HvHeaderNavigationItemProp } from \"../useSelectionPath\";\nimport { FocusContext } from \"../utils/FocusContext\";\nimport { SelectionContext } from \"../utils/SelectionContext\";\nimport { staticClasses, useClasses } from \"./MenuItem.styles\";\n\nexport { staticClasses as headerMenuItemClasses };\n\nexport type HvHeaderMenuItemClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHeaderMenuItemProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n item: HvHeaderNavigationItemProp;\n type?: string;\n onClick?: (\n event: React.MouseEvent,\n selection: HvHeaderNavigationItemProp,\n ) => void;\n levels: number;\n currentLevel: number;\n classes?: HvHeaderMenuItemClasses;\n}\n\n// Traverse the tree of items and return the first href it finds\nconst traverseItem = (\n node: HvHeaderNavigationItemProp,\n): { href?: string; target?: string } => {\n let href: string | undefined;\n let target: string | undefined;\n\n if (node?.href) {\n href = node?.href;\n target = node?.target;\n } else if (node?.data != null && node?.data?.length > 0) {\n let i = 0;\n while (href == null && i < node.data.length) {\n const childNavItem = traverseItem(node?.data[i]);\n if (childNavItem?.href != null) {\n href = childNavItem?.href;\n target = childNavItem?.target;\n break;\n }\n\n i += 1;\n }\n }\n\n return { href, target };\n};\n\nexport const HvHeaderMenuItem = (props: HvHeaderMenuItemProps) => {\n const {\n id,\n item,\n type,\n onClick,\n levels,\n currentLevel,\n classes: classesProp,\n className,\n } = useDefaultProps(\"HvHeaderMenuItem\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const selectionPath = useContext(SelectionContext);\n\n const { dispatch } = useContext(FocusContext);\n\n const { data } = item;\n\n const hasSubLevel = data?.length;\n\n const isMenu = type === \"menu\";\n\n const isSelected = selectionPath?.[isMenu ? 1 : 0] === item.id;\n\n // true: if the item is part of the selection path but is not the current page the user is seeing, i.e has more sub levels\n // page: used when the selected item is actually the current page the user is seeing\n const isCurrent = isSelected ? (hasSubLevel ? true : \"page\") : undefined;\n\n const actionHandler = (event: any) => {\n if (\n event.type === \"click\" ||\n isKey(event, \"Enter\") ||\n isKey(event, \"Space\")\n ) {\n if (event.type === \"click\") {\n event.currentTarget.blur();\n }\n\n onClick?.(event, item);\n }\n };\n\n const handleFocus = (event: React.FocusEvent) => {\n dispatch?.({ type: \"setItemFocused\", itemFocused: event.currentTarget });\n };\n\n const label = (\n <HvTypography\n component=\"span\"\n variant={isSelected ? \"label\" : \"body\"}\n data-text={item.label}\n >\n {item.label}\n </HvTypography>\n );\n\n let itemHref = item?.href;\n let itemTarget = item?.target;\n\n // apps should configure the href even on parent items without content\n // so the fallback logic is theirs, but if not we'll do our best to find a link\n if (item?.href == null) {\n const { href, target } = traverseItem(item);\n itemHref = href;\n itemTarget = target;\n }\n\n // TODO: change to \"a\" only in v6, as buttons aren't accessible links. Allow custom `ItemComponent` to be passed\n const ItemComponent = itemHref ? \"a\" : \"div\";\n // TODO: allow any custom props to be passed\n const itemProps = itemHref\n ? { href: itemHref, target: itemTarget, \"aria-label\": item.label }\n : { role: \"button\", tabIndex: 0 };\n\n return (\n <li\n id={id}\n className={cx(\n classes.root,\n {\n [classes.menu]: isMenu,\n [classes.menubar]: !isMenu,\n [classes.selected]: !!isSelected,\n },\n className,\n )}\n >\n <ItemComponent\n className={cx(classes.item, {\n [classes.link]: itemHref,\n [classes.button]: !itemHref,\n })}\n onFocus={handleFocus}\n onClick={actionHandler}\n onKeyDown={actionHandler}\n aria-current={isCurrent}\n {...itemProps}\n >\n {label}\n </ItemComponent>\n {/* Limits levels to no more than 2. More than that is not expected and not in DS. */}\n {hasSubLevel && currentLevel < levels && currentLevel < 2 && (\n <Bar data={data} type=\"menu\">\n {data.map((itm) => (\n <HvHeaderMenuItem\n key={itm.id}\n item={itm}\n type=\"menu\"\n onClick={onClick}\n levels={levels}\n currentLevel={currentLevel + 1}\n />\n ))}\n </Bar>\n )}\n </li>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.styles.js","sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.styles.tsx"],"sourcesContent":["import type { CSSInterpolation } from \"@emotion/serialize\";\nimport { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../../../utils/focusUtils\";\n\nconst item: CSSInterpolation = {\n border: \"none\",\n cursor: \"pointer\",\n padding: `${theme.space.xs} ${theme.space.sm}`,\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n \"&:active\": {\n outline: \"none\",\n },\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n \"& span\": {\n display: \"inline-flex\",\n color: \"inherit\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n \"& span::after\": {\n content: \"attr(data-text)\",\n height: 0,\n visibility: \"hidden\",\n overflow: \"hidden\",\n userSelect: \"none\",\n pointerEvents: \"none\",\n fontWeight: theme.fontWeights.semibold,\n\n \"@media speech\": {\n display: \"none\",\n },\n },\n};\n\n// TODO - rename to HvHeaderMenuItem (the actual component's name) in v6\nexport const { staticClasses, useClasses } = createClasses(\n \"HvHeader-MenuItem\",\n {\n root: {\n display: \"inline\",\n height: \"100%\",\n borderBottom: \"4px solid transparent\",\n\n \":hover, :focus-within\": {\n backgroundColor: theme.colors.bgHover,\n },\n },\n menu: {},\n menubar: {},\n selected: {\n color: theme.colors.text,\n borderColor: \"currentcolor\",\n },\n item,\n link: {\n textDecoration: \"none\",\n },\n button: {\n color: \"inherit\",\n },\n },\n);\n"],"names":[],"mappings":";;;AAMA,MAAM,OAAyB;AAAA,EAC7B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS,GAAG,MAAM,MAAM,EAAE,IAAI,MAAM,MAAM,EAAE;AAAA,EAC5C,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,mBAAmB;AAAA,IACjB,GAAG;AAAA,EACL;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,IACP,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,YAAY,MAAM,YAAY;AAAA,IAE9B,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAGa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,cAAc;AAAA,MAEd,yBAAyB;AAAA,QACvB,iBAAiB,MAAM,OAAO;AAAA,MAAA;AAAA,IAElC;AAAA,IACA,MAAM,CAAC;AAAA,IACP,SAAS,CAAC;AAAA,IACV,UAAU;AAAA,MACR,OAAO,MAAM,OAAO;AAAA,MACpB,aAAa;AAAA,IACf;AAAA,IACA;AAAA,IACA,MAAM;AAAA,MACJ,gBAAgB;AAAA,IAClB;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sources":["../../../../src/Header/Navigation/Navigation.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { HvHeaderMenuBar, HvHeaderMenuBarProps } from \"./MenuBar\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\nimport {\n HvHeaderNavigationItemProp,\n useSelectionPath,\n} from \"./useSelectionPath\";\nimport { FocusProvider } from \"./utils/FocusContext\";\nimport { SelectionContext } from \"./utils/SelectionContext\";\n\nexport { staticClasses as headerNavigationClasses };\n\nexport type HvHeaderNavigationClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHeaderNavigationProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n data: HvHeaderNavigationItemProp[];\n selected?: string;\n onClick?: (\n event: React.MouseEvent,\n selection: HvHeaderNavigationItemProp,\n ) => void;\n classes?: HvHeaderNavigationClasses;\n /**\n * The number of levels to show: the first level (1) or the first and second level (2).\n *\n * Defaults to `2`.\n * */\n levels?: 1 | 2;\n}\n\nexport const HvHeaderNavigation = forwardRef<\n React.ElementRef<\"nav\">,\n HvHeaderNavigationProps\n>(function HvHeaderNavigation(props, ref) {\n const {\n data,\n selected,\n onClick,\n className,\n classes: classesProp,\n levels = 2,\n ...others\n } = useDefaultProps(\"HvHeaderNavigation\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const selectionPath = useSelectionPath(data, selected);\n\n const handleClick: HvHeaderMenuBarProps[\"onClick\"] = (event, selection) => {\n event.preventDefault();\n\n onClick?.(event, selection);\n };\n\n return (\n <SelectionContext.Provider value={selectionPath}>\n <FocusProvider>\n <nav ref={ref} className={cx(classes.root, className)} {...others}>\n <HvHeaderMenuBar\n data={data}\n type=\"menubar\"\n onClick={handleClick}\n levels={levels}\n currentLevel={1}\n />\n </nav>\n </FocusProvider>\n </SelectionContext.Provider>\n );\n});\n"],"names":["HvHeaderNavigation"],"mappings":";;;;;;;;;AAqCO,MAAM,qBAAqB,WAGhC,SAASA,oBAAmB,OAAO,KAAK;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,SAAS;AAAA,IACT,GAAG;AAAA,EAAA,IACD,gBAAgB,sBAAsB,KAAK;AAE/C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,gBAAgB,iBAAiB,MAAM,QAAQ;AAE/C,QAAA,cAA+C,CAAC,OAAO,cAAc;AACzE,UAAM,eAAe;AAErB,cAAU,OAAO,SAAS;AAAA,EAC5B;AAEA,6BACG,iBAAiB,UAAjB,EAA0B,OAAO,eAChC,8BAAC,eACC,EAAA,UAAA,oBAAC,OAAI,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QACzD,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA,cAAc;AAAA,IAAA;AAAA,EAAA,EAElB,CAAA,EACF,CAAA,GACF;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.styles.js","sources":["../../../../src/Header/Navigation/Navigation.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\n// TODO - rename to HvHeaderNavigation (the actual component's name) in v6\nexport const { staticClasses, useClasses } = createClasses(\n \"HvHeader-Navigation\",\n {\n root: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n zIndex: 1,\n top: \"0px\",\n left: \"0px\",\n },\n },\n);\n"],"names":[],"mappings":";AAGa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectionPath.js","sources":["../../../../src/Header/Navigation/useSelectionPath.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport interface HvHeaderNavigationItemProp {\n id: string;\n label: string;\n path?: string;\n href?: string;\n target?: string;\n data?: HvHeaderNavigationItemProp[];\n}\n\nconst getSelectionPath = (\n data: HvHeaderNavigationItemProp[] | undefined,\n selectedId: string | undefined,\n selection: string[] = [],\n idx = -1,\n parent: HvHeaderNavigationItemProp[] = [],\n): string[] => {\n data?.forEach((item: HvHeaderNavigationItemProp, i) => {\n const hasData = item.data?.length;\n\n const isSelected = item.id === selectedId;\n\n if (isSelected)\n selection.push(...(idx > -1 ? [parent[idx].id] : []), item.id);\n\n if (hasData) getSelectionPath(item.data, selectedId, selection, i, data);\n });\n\n return selection;\n};\n\nexport const useSelectionPath = (\n data: HvHeaderNavigationItemProp[],\n selectedId?: string,\n): string[] => {\n const [selectionPath, setSelectionPath] = useState<string[]>([]);\n\n useEffect(() => {\n const path = getSelectionPath(data, selectedId);\n\n setSelectionPath(path);\n }, [data, selectedId]);\n\n return selectionPath;\n};\n"],"names":[],"mappings":";AAWA,MAAM,mBAAmB,CACvB,MACA,YACA,YAAsB,CAAC,GACvB,MAAM,IACN,SAAuC,OAC1B;AACP,QAAA,QAAQ,CAAC,MAAkC,MAAM;AAC/C,UAAA,UAAU,KAAK,MAAM;AAErB,UAAA,aAAa,KAAK,OAAO;AAE3B,QAAA;AACF,gBAAU,KAAK,GAAI,MAAM,KAAK,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,IAAK,KAAK,EAAE;AAE/D,QAAI,QAA0B,kBAAA,KAAK,MAAM,YAAY,WAAW,GAAG,IAAI;AAAA,EAAA,CACxE;AAEM,SAAA;AACT;AAEa,MAAA,mBAAmB,CAC9B,MACA,eACa;AACb,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAmB,CAAA,CAAE;AAE/D,YAAU,MAAM;AACR,UAAA,OAAO,iBAAiB,MAAM,UAAU;AAE9C,qBAAiB,IAAI;AAAA,EAAA,GACpB,CAAC,MAAM,UAAU,CAAC;AAEd,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FocusContext.js","sources":["../../../../../src/Header/Navigation/utils/FocusContext.tsx"],"sourcesContent":["import { createContext, useMemo, useReducer } from \"react\";\n\ntype Action = { type: \"setItemFocused\"; itemFocused: EventTarget & Element };\n\nconst reducer: React.Reducer<FocusContextType, Action> = (state, action) => {\n switch (action.type) {\n case \"setItemFocused\":\n return { itemFocused: action.itemFocused };\n default:\n return state;\n }\n};\n\nconst initialState = { itemFocused: undefined, dispatch: undefined };\n\ntype FocusContextType = {\n itemFocused?: EventTarget & Element;\n dispatch?: React.Dispatch<Action>;\n};\n\nexport const FocusContext = createContext<FocusContextType>(initialState);\n\nexport const FocusProvider = ({ children }: { children?: React.ReactNode }) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n const contextValue = useMemo(\n () => ({ ...state, dispatch }),\n [state, dispatch],\n );\n\n return (\n <FocusContext.Provider value={contextValue}>\n {children}\n </FocusContext.Provider>\n );\n};\n"],"names":[],"mappings":";;AAIA,MAAM,UAAmD,CAAC,OAAO,WAAW;AAC1E,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK;AACI,aAAA,EAAE,aAAa,OAAO,YAAY;AAAA,IAC3C;AACS,aAAA;AAAA,EAAA;AAEb;AAEA,MAAM,eAAe,EAAE,aAAa,QAAW,UAAU,OAAU;AAOtD,MAAA,eAAe,cAAgC,YAAY;AAEjE,MAAM,gBAAgB,CAAC,EAAE,eAA+C;AAC7E,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,SAAS,YAAY;AAC1D,QAAM,eAAe;AAAA,IACnB,OAAO,EAAE,GAAG,OAAO;IACnB,CAAC,OAAO,QAAQ;AAAA,EAClB;AAEA,6BACG,aAAa,UAAb,EAAsB,OAAO,cAC3B,UACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContext.js","sources":["../../../../../src/Header/Navigation/utils/SelectionContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const SelectionContext = createContext<string[]>([\"\"]);\n"],"names":[],"mappings":";AAEO,MAAM,mBAAmB,cAAwB,CAAC,EAAE,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../../src/IconButton/IconButton.tsx"],"sourcesContent":["import { useDefaultProps } from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvButton, HvButtonProps } from \"../Button\";\nimport { HvTooltip, HvTooltipProps } from \"../Tooltip\";\nimport {\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n} from \"../types/generic\";\n\nexport type HvIconButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n Omit<\n HvButtonProps<C>,\n | \"icon\"\n | \"focusableWhenDisabled\"\n | \"title\"\n | \"startIcon\"\n | \"endIcon\"\n | \"children\"\n | \"ref\"\n | \"component\"\n > & {\n /** Label to be displayed in the tooltip when hovered. This label will be used as the button's `aria-label`. */\n title: React.ReactNode;\n /** Number of milliseconds to wait before showing the tooltip. @default 500 */\n enterDelay?: HvTooltipProps[\"enterDelay\"];\n /** Tooltip placement. @default top */\n placement?: HvTooltipProps[\"placement\"];\n /** Extra tooltip properties. */\n tooltipProps?: Omit<Partial<HvTooltipProps>, \"children\">;\n }\n >;\n\n/**\n * The `HvIconButton` component wraps a `HvTooltip` with a label around a `HvButton` with only an icon as its content.\n * As defined by Design System, a tooltip with the button’s label should always be displayed when hovering an icon only button.\n * This component provides this behavior out of the box.\n */\nexport const HvIconButton = fixedForwardRef(function HvIconButton<\n C extends React.ElementType = \"button\",\n>(props: HvIconButtonProps<C>, ref: PolymorphicRef<C>) {\n const {\n title,\n placement = \"top\",\n enterDelay = 500,\n tooltipProps,\n ...others\n } = useDefaultProps(\"HvIconButton\", props);\n\n return (\n <HvTooltip\n title={title}\n enterDelay={enterDelay}\n placement={placement}\n {...tooltipProps}\n >\n <HvButton\n icon\n ref={ref}\n focusableWhenDisabled\n {...(others as HvButtonProps)}\n />\n </HvTooltip>\n );\n});\n"],"names":["HvIconButton"],"mappings":";;;;;AAwCO,MAAM,eAAe,gBAAgB,SAASA,cAEnD,OAA6B,KAAwB;AAC/C,QAAA;AAAA,IACJ;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IACb;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,gBAAgB,KAAK;AAGvC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAI;AAAA,UACJ;AAAA,UACA,uBAAqB;AAAA,UACpB,GAAI;AAAA,QAAA;AAAA,MAAA;AAAA,IACP;AAAA,EACF;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconContainer.js","sources":["../../../src/IconContainer/IconContainer.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n createClasses,\n ExtractNames,\n mergeStyles,\n useDefaultProps,\n} from \"@hitachivantara/uikit-react-utils\";\nimport { getColor, HvColorAny, HvSize } from \"@hitachivantara/uikit-styles\";\n\ntype HvIconSize = \"XS\" | \"S\" | \"M\" | \"L\";\n\n// keep this aligned with `icon`'s package, TODO: dedupe\nexport const { staticClasses, useClasses } = createClasses(\"HvIconContainer\", {\n root: {\n display: \"inline-flex\",\n flex: \"0 0 auto\", // ensure icon doesn't flex grow/shrink\n fontSize: `var(--icsize, 16px)`, // default size of 16px\n transition: \"rotate 0.2s ease\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: 8, // default padding\n // we're assuming svg children inherits from text color and size\n },\n xs: {\n fontSize: 12,\n padding: 10,\n },\n sm: {\n fontSize: 16,\n },\n md: {\n fontSize: 32,\n },\n lg: {\n fontSize: 96,\n },\n xl: {\n fontSize: 112,\n },\n});\n\nexport { staticClasses as iconContainerClasses };\n\nexport type HvIconContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvIconContainerProps\n extends React.HTMLAttributes<HTMLDivElement> {\n classes?: HvIconContainerClasses;\n /**\n * A color to override the default icon colors.\n * Accepts any valid CSS color or color from the UI Kit palette.\n * @example \"warning\"\n */\n color?: HvColorAny;\n /**\n * The size of the icon container. Takes in a `number` in pixels or any `HvSize` or `IconSize`.\n *\n * This will also affect the size of the icon by changing the `font-size`.\n *\n * @example\n * size={16}\n * size=\"S\"\n * size=\"lg\"\n *\n * @default \"S\"\n */\n size?: HvSize | HvIconSize | number;\n /** Whether to rotate the icon 180deg. @private */\n rotate?: boolean;\n}\n/**\n * This component allows using the theme utilities, such as `color` and `size` in icons from\n * external icon libraries, such as FontAwesome or Phosphor.\n *\n * @example\n * <HvIconContainer size=\"lg\" color=\"warning\">\n * <FontAwesomeIcon icon={faUser} />\n * </HvIconContainer>\n */\nexport const HvIconContainer = forwardRef<\n // no-indent\n HTMLDivElement,\n HvIconContainerProps\n>(function HvIconContainer(props, ref) {\n const {\n className,\n classes: classesProp,\n style,\n color,\n size: sizeProp = \"S\",\n rotate,\n children,\n ...others\n } = useDefaultProps(\"HvIconContainer\", props);\n const { cx, classes } = useClasses(classesProp);\n\n const size = mapSizes(sizeProp);\n\n return (\n <div\n ref={ref}\n className={cx(classes.root, className, {\n [classes[size!]]: size,\n })}\n style={mergeStyles(style, {\n color: getColor(color),\n rotate: rotate ? \"180deg\" : undefined,\n ...style,\n })}\n {...others}\n >\n {children}\n </div>\n );\n});\n\nfunction mapSizes(size: HvSize | HvIconSize | number) {\n if (typeof size === \"number\") return undefined;\n const iconSizeMap: Record<HvIconSize, HvSize> = {\n XS: \"xs\",\n S: \"sm\",\n M: \"md\",\n L: \"lg\",\n };\n return iconSizeMap[size as HvIconSize] || size;\n}\n"],"names":["HvIconContainer"],"mappings":";;;;AAYO,MAAM,EAAE,eAAe,eAAe,cAAc,mBAAmB;AAAA,EAC5E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA;AAAA,IACN,UAAU;AAAA;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,SAAS;AAAA;AAAA;AAAA,EAEX;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,EACZ;AAAA,EACA,IAAI;AAAA,IACF,UAAU;AAAA,EAAA;AAEd,CAAC;AAwCM,MAAM,kBAAkB,WAI7B,SAASA,iBAAgB,OAAO,KAAK;AAC/B,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,MAAM,WAAW;AAAA,IACjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAC5C,QAAM,EAAE,IAAI,YAAY,WAAW,WAAW;AAExC,QAAA,OAAO,SAAS,QAAQ;AAG5B,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,QAAQ,MAAM,WAAW;AAAA,QACrC,CAAC,QAAQ,IAAK,CAAC,GAAG;AAAA,MAAA,CACnB;AAAA,MACD,OAAO,YAAY,OAAO;AAAA,QACxB,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ,SAAS,WAAW;AAAA,QAC5B,GAAG;AAAA,MAAA,CACJ;AAAA,MACA,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ,CAAC;AAED,SAAS,SAAS,MAAoC;AAChD,MAAA,OAAO,SAAS,SAAiB,QAAA;AACrC,QAAM,cAA0C;AAAA,IAC9C,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACO,SAAA,YAAY,IAAkB,KAAK;AAC5C;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InlineEditor.js","sources":["../../../src/InlineEditor/InlineEditor.tsx"],"sourcesContent":["import { useRef, useState } from \"react\";\nimport {\n useDefaultProps,\n useTheme,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvButton, HvButtonProps } from \"../Button\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useEnhancedEffect } from \"../hooks/useEnhancedEffect\";\nimport { HvIcon } from \"../icons\";\nimport { HvInput, HvInputProps } from \"../Input\";\nimport { HvTooltip } from \"../Tooltip\";\nimport {\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n} from \"../types/generic\";\nimport {\n HvTypography,\n HvTypographyProps,\n HvTypographyVariants,\n} from \"../Typography\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { staticClasses, useClasses } from \"./InlineEditor.styles\";\n\nexport { staticClasses as inlineEditorClasses };\n\nexport type HvInlineEditorClasses = ExtractNames<typeof useClasses>;\n\nexport type HvInlineEditorProps<C extends React.ElementType = typeof HvInput> =\n PolymorphicComponentRef<\n C,\n {\n /** The value of the form element. */\n value?: string;\n /** The default value of the form element. */\n defaultValue?: string;\n /** Whether the Edit icon should always be visible */\n showIcon?: boolean;\n /** Variant of the HvTypography to display */\n variant?: HvTypographyVariants;\n /** Called when the input is blurred. */\n onBlur?: (\n event: React.FocusEvent<HTMLTextAreaElement | HTMLInputElement>,\n value: string,\n ) => void;\n /** Called when the input value changes. */\n onChange?: (event: React.SyntheticEvent, value: string) => void;\n /** Called when there's a keydown event on the input. */\n onKeyDown?: (\n event:\n | React.KeyboardEvent<HTMLTextAreaElement | HTMLInputElement>\n | React.MouseEvent,\n value: string,\n ) => void;\n /** Props passed to the HvButton component */\n buttonProps?: HvButtonProps;\n /** Props passed to the HvTypography text component */\n typographyProps?: HvTypographyProps;\n /** Whether the editor is disabled or not. */\n disabled?: boolean;\n /** A Jss Object used to override or extend the styles applied to the empty state component. */\n classes?: HvInlineEditorClasses;\n /** The placeholder value of the input. */\n placeholder?: string;\n }\n >;\n\n/**\n * An Inline Editor allows the user to edit a record without making a major switch\n * between viewing and editing, making it an efficient method of updating a record.\n */\nexport const HvInlineEditor = fixedForwardRef(function HvInlineEditor<\n C extends React.ElementType = typeof HvInput,\n>(props: HvInlineEditorProps<C>, ref: PolymorphicRef<C>) {\n const {\n className,\n classes: classesProp,\n value: valueProp,\n defaultValue = \"\",\n showIcon,\n component: InputComponent = HvInput,\n variant = \"body\",\n placeholder = \"Enter text\",\n onBlur,\n onChange,\n onKeyDown,\n buttonProps,\n typographyProps,\n disabled,\n ...others\n } = useDefaultProps(\"HvInlineEditor\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const [value, setValue] = useControlled(valueProp, defaultValue);\n const [editMode, setEditMode] = useState(false);\n const [cachedValue, setCachedValue] = useState(value);\n const inputRef = useRef<HTMLInputElement | undefined>(undefined);\n const { activeTheme } = useTheme();\n const [isOverflowing, setIsOverflowing] = useState(false);\n\n const typographyStyles = activeTheme?.typography[variant] || {};\n const { lineHeight } = typographyStyles;\n\n const checkOverflow = (el: HTMLElement | null) => {\n if (!el) return;\n setIsOverflowing(el.scrollWidth > el.clientWidth);\n };\n\n useEnhancedEffect(() => {\n const input = inputRef.current;\n if (editMode && input) {\n input.focus();\n input.select();\n }\n }, [editMode]);\n\n const handleClick = () => {\n setEditMode(true);\n setCachedValue(value);\n };\n\n const handleBlur: HvInputProps[\"onBlur\"] = (event) => {\n setEditMode(false);\n\n const newValue = value || cachedValue; // empty values should be ignored\n setValue(newValue);\n onBlur?.(event, newValue);\n };\n\n const handleKeyDown: HvInputProps[\"onKeyDown\"] = (event) => {\n let newValue = value;\n if (isKey(event, \"Esc\")) {\n newValue = cachedValue;\n setEditMode(false);\n setValue(newValue);\n }\n onKeyDown?.(event, newValue);\n };\n\n const handleChange: HvInputProps[\"onChange\"] = (event, val) => {\n setValue(val);\n onChange?.(event, val);\n };\n\n return (\n <div className={cx(classes.root, className)}>\n {editMode && !disabled ? (\n <InputComponent\n ref={ref}\n inputRef={inputRef}\n classes={{\n inputRoot: classes.inputRoot,\n input: classes.input,\n }}\n inputProps={{\n style: {\n ...typographyStyles,\n height: InputComponent === HvInput ? lineHeight : undefined,\n },\n }}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...others}\n />\n ) : (\n <HvButton\n variant=\"secondaryGhost\"\n endIcon={\n <HvIcon\n name=\"Edit\"\n color=\"textDisabled\"\n className={cx(classes.icon, {\n [classes.iconVisible]: showIcon,\n })}\n />\n }\n className={cx(classes.button, {\n [classes.largeText]: parseInt(lineHeight as string, 10) >= 28,\n })}\n onClick={handleClick}\n disabled={disabled}\n {...buttonProps}\n >\n <HvTooltip title={isOverflowing && value}>\n <HvTypography\n component=\"div\"\n ref={checkOverflow}\n variant={variant}\n noWrap\n className={cx(classes.text, { [classes.textEmpty]: !value })}\n {...typographyProps}\n >\n {value || placeholder}\n </HvTypography>\n </HvTooltip>\n </HvButton>\n )}\n </div>\n );\n});\n"],"names":["HvInlineEditor"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InlineEditor.styles.js","sources":["../../../src/InlineEditor/InlineEditor.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvInlineEditor\", {\n root: {},\n /** @deprecated unused. use `classes.root::after` instead */\n inputBorderContainer: {},\n input: {},\n inputRoot: {\n height: \"100%\",\n minHeight: \"32px\",\n },\n text: {},\n largeText: {},\n textEmpty: {\n color: theme.colors.textDisabled,\n },\n button: {\n padding: theme.spacing(0, \"xs\"),\n minHeight: \"32px\",\n\n boxSizing: \"border-box\",\n cursor: \"text\",\n height: \"100%\",\n width: \"100%\",\n maxWidth: \"100%\",\n justifyContent: \"start\",\n textAlign: \"start\",\n alignItems: \"center\",\n\n backgroundColor: theme.colors.bgContainer,\n borderColor: \"transparent\",\n\n \"&:hover, &:focus\": {\n borderColor: theme.colors.primary,\n backgroundColor: theme.colors.bgContainer,\n\n \"& $icon\": {\n visibility: \"visible\",\n },\n },\n\n \"&:active\": {\n borderColor: theme.colors.text,\n backgroundColor: \"transparent\",\n\n \"& $icon\": {\n visibility: \"visible\",\n },\n },\n },\n icon: {\n cursor: \"pointer\",\n visibility: \"hidden\",\n alignSelf: \"center\",\n height: 16,\n },\n iconVisible: {\n visibility: \"visible\",\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,kBAAkB;AAAA,EAC3E,MAAM,CAAC;AAAA;AAAA,EAEP,sBAAsB,CAAC;AAAA,EACvB,OAAO,CAAC;AAAA,EACR,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,MAAM,CAAC;AAAA,EACP,WAAW,CAAC;AAAA,EACZ,WAAW;AAAA,IACT,OAAO,MAAM,OAAO;AAAA,EACtB;AAAA,EACA,QAAQ;AAAA,IACN,SAAS,MAAM,QAAQ,GAAG,IAAI;AAAA,IAC9B,WAAW;AAAA,IAEX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,YAAY;AAAA,IAEZ,iBAAiB,MAAM,OAAO;AAAA,IAC9B,aAAa;AAAA,IAEb,oBAAoB;AAAA,MAClB,aAAa,MAAM,OAAO;AAAA,MAC1B,iBAAiB,MAAM,OAAO;AAAA,MAE9B,WAAW;AAAA,QACT,YAAY;AAAA,MAAA;AAAA,IAEhB;AAAA,IAEA,YAAY;AAAA,MACV,aAAa,MAAM,OAAO;AAAA,MAC1B,iBAAiB;AAAA,MAEjB,WAAW;AAAA,QACT,YAAY;AAAA,MAAA;AAAA,IACd;AAAA,EAEJ;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,YAAY;AAAA,EAAA;AAEhB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../src/Input/Input.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useForkRef } from \"@mui/material/utils\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseInput, HvBaseInputProps } from \"../BaseInput\";\nimport {\n computeValidationMessage,\n computeValidationState,\n computeValidationType,\n DEFAULT_ERROR_MESSAGES,\n hasBuiltInValidations,\n HvInputValidity,\n validateInput,\n} from \"../BaseInput/validations\";\nimport type { HvButtonBaseProps } from \"../ButtonBase\";\nimport {\n HvAdornment,\n HvFormElement,\n HvFormElementProps,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n isInvalid,\n isValid,\n validationStates,\n} from \"../FormElement\";\nimport {\n HvSuggestion,\n HvSuggestions,\n HvSuggestionsProps,\n} from \"../FormElement/Suggestions/Suggestions\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useIsMounted } from \"../hooks/useIsMounted\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvIcon } from \"../icons\";\nimport { HvTooltip } from \"../Tooltip\";\nimport { fixedForwardRef } from \"../types/generic\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { EyeIcon } from \"./icons\";\nimport { staticClasses, useClasses } from \"./Input.styles\";\n\nexport { staticClasses as inputClasses };\n\nexport type HvInputClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvValidationMessages {\n /** The value when a validation fails. */\n error?: string;\n /** The message that appears when there are too many characters. */\n maxCharError?: string;\n /** The message that appears when there are too few characters. */\n minCharError?: string;\n /** The message that appears when the input is empty and required. */\n requiredError?: string;\n /** The message that appears when the input is value is incompatible with the expected type. */\n typeMismatchError?: string;\n}\n\nexport interface HvInputSuggestion {\n id: string;\n label: string;\n value?: string;\n}\n\nexport interface HvInputProps<\n InputElement extends HTMLElement = HTMLInputElement | HTMLTextAreaElement,\n> extends Omit<\n HvBaseInputProps,\n \"onChange\" | \"onBlur\" | \"onFocus\" | \"onKeyDown\"\n > {\n /** @inheritdoc */\n name?: string;\n /** @inheritdoc */\n value?: React.InputHTMLAttributes<InputElement>[\"value\"];\n /** @inheritdoc */\n defaultValue?: React.InputHTMLAttributes<InputElement>[\"value\"];\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** @inheritdoc */\n disabled?: boolean;\n /** @inheritdoc */\n readOnly?: boolean;\n /** @inheritdoc */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to `checked`, depending of the values of both `required` and `checked`.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: string;\n /** @inheritdoc */\n onChange?: (event: React.ChangeEvent<InputElement>, value: string) => void;\n /**\n * Callback called when the user submits the value by pressing Enter/Return.\n *\n * Also called when the search button is clicked (when `type=\"search\"`).\n */\n onEnter?: (event: React.KeyboardEvent<InputElement>, value: string) => void;\n /**\n * The function that will be executed onBlur, allows checking the validation state,\n * it receives the value and the validation state.\n */\n onBlur?: (\n event: React.FocusEvent<InputElement>,\n value: string,\n validationState: HvInputValidity,\n ) => void;\n /**\n * The function that will be executed onBlur, allows checking the value state,\n * it receives the value.\n */\n onFocus?: (event: React.FocusEvent<InputElement>, value: string) => void;\n /**\n * The function that will be executed onKeyDown, allows checking the value state,\n * it receives the event and value.\n */\n onKeyDown?: (event: React.KeyboardEvent<InputElement>, value: string) => void;\n /** The input type. */\n type?: React.HTMLInputTypeAttribute;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** Internal labels?. */\n labels?: HvInputLabels & Record<string, any>;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: (value: string) => HvInputSuggestion[] | null;\n /**\n * If enabled, the suggestions list will be rendered using a portal.\n * If disabled, it will be under the DOM hierarchy of the parent component.\n * @default false\n * */\n enablePortal?: boolean;\n /**\n * Whether the suggestions should be triggered once the input is focused and not only when typing.\n * @default false\n * */\n suggestOnFocus?: boolean;\n /**\n * The custom validation function, it receives the value and must return\n * either `true` for valid or `false` for invalid, default validations would only\n * occur if this function is null or undefined\n */\n validation?: (value: string) => boolean;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the clear button is disabled. */\n disableClear?: boolean; // TODO - rename in v6 since it doesn't disable but hides the button\n /** If `true` the reveal password button is disabled. Valid only when type is \"password\". */\n disableRevealPassword?: boolean; // TODO - rename in v6 since it doesn't disable but hides the button\n /** If `true` the search button is disabled. Valid only when type is \"search\". */\n disableSearchButton?: boolean; // TODO - rename in v6 since it doesn't disable but hides the button\n /**\n * If `true` the validation icon adornment is visible. Defaults to `false`.\n *\n * Currently, DS specifications define only a positive feedback icon;\n * errors are signaled through the border style and by displaying the error message.\n */\n showValidationIcon?: boolean;\n /** A custom icon to be added into the input. */\n endAdornment?: React.ReactNode;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxCharQuantity?: number;\n /** The minimum allowed length of the characters, if this value is null no check will be perform. */\n minCharQuantity?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvInputClasses;\n}\n\nconst DEFAULT_LABELS = {\n /** The label of the clear button. */\n clearButtonLabel: \"Clear the text\",\n /** The label of the reveal password button. @deprecated unused */\n revealPasswordButtonLabel: \"Reveal password\",\n /** The tooltip of the reveal password button when the password is hidden. */\n revealPasswordButtonClickToShowTooltip: \"Click to show password.\",\n /** The tooltip of the reveal password button when the password is revealed. */\n revealPasswordButtonClickToHideTooltip: \"Click to hide password.\",\n /** The label of the search button. */\n searchButtonLabel: \"Search\",\n};\n\nexport type HvInputLabels = Partial<typeof DEFAULT_LABELS>;\n\nfunction eventTargetIsInsideContainer(\n container: HTMLElement | null,\n event: React.FocusEvent<any>,\n) {\n return !!container?.contains(event.relatedTarget);\n}\n\n/** Changes a given `input`'s `value`, triggering its `onChange` */\nconst changeInputValue = (input: HTMLInputElement | null, value = \"\") => {\n const event = new Event(\"input\", { bubbles: true });\n\n /** Original `input.value` setter (React overrides it). */\n const setInputValue = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n \"value\",\n )?.set;\n\n setInputValue?.call(input, value);\n input?.dispatchEvent(event);\n};\n\n/**\n * A text input box is a graphical control element intended to enable the user to input text information to be used by the software.\n */\nexport const HvInput = fixedForwardRef(function HvInput<\n InputElement extends HTMLElement = HTMLInputElement | HTMLTextAreaElement,\n>(props: HvInputProps<InputElement>, ref: React.Ref<InputElement>) {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value: valueProp,\n defaultValue,\n required,\n readOnly,\n disabled,\n enablePortal,\n suggestOnFocus,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onEnter,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n type = \"text\",\n placeholder,\n autoFocus,\n labels: labelsProp,\n validationMessages,\n disableClear,\n disableRevealPassword,\n disableSearchButton,\n endAdornment,\n maxCharQuantity,\n minCharQuantity,\n validation,\n showValidationIcon,\n suggestionListCallback,\n inputRef: inputRefProp,\n onBlur,\n onFocus,\n onKeyDown,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const elementId = useUniqueId(id);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const forkedRef = useForkRef(ref, inputRef, inputRefProp);\n const suggestionsRef = useRef<HTMLDivElement>(null);\n\n const [focused, setFocused] = useState(false);\n\n // Signals that the user has manually edited the input value\n const isDirty = useRef(false);\n\n const isEmptyValue = !inputRef.current?.value;\n\n // Validation related state\n const [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy,\n );\n\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\",\n );\n\n // validationMessages reference tends to change, as users will not memoize/useState for it;\n // dependencies must be more explicit so we set\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n validationMessages?.typeMismatchError,\n ],\n );\n\n const validationType = useMemo(() => computeValidationType(type), [type]);\n\n // Validates the input, sets the status and the statusMessage accordingly (if uncontrolled)\n // and returns the validity state of the input.\n const performValidation = useCallback(() => {\n const inputValidity = validateInput(\n inputRef.current,\n required,\n minCharQuantity,\n maxCharQuantity,\n validationType,\n validation,\n );\n\n // This will only run if status is uncontrolled\n setValidationState(computeValidationState(inputValidity, isEmptyValue));\n\n // This will only run if statusMessage is uncontrolled\n setValidationMessage(\n computeValidationMessage(inputValidity, errorMessages),\n );\n\n return inputValidity;\n }, [\n errorMessages,\n isEmptyValue,\n maxCharQuantity,\n minCharQuantity,\n required,\n setValidationMessage,\n setValidationState,\n validation,\n validationType,\n ]);\n\n // The error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and any of the built-in validations are active\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined &&\n hasBuiltInValidations(\n required,\n validationType,\n minCharQuantity,\n maxCharQuantity,\n validation,\n inputProps,\n )));\n\n const isStateInvalid = isInvalid(validationState);\n\n // Input type related state\n const [revealPassword, setRevealPassword] = useState(false);\n\n const realType = useMemo(() => {\n if (type === \"password\") {\n return revealPassword ? \"text\" : \"password\";\n }\n\n if (type === \"search\") {\n return \"search\";\n }\n\n return \"text\";\n }, [revealPassword, type]);\n\n // Suggestions related state\n const [suggestionValues, setSuggestionValues] = useState<\n HvSuggestion[] | null\n >(null);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n // Miscellaneous state\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n inputRef.current?.focus();\n };\n\n const isMounted = useIsMounted();\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = () => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n };\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = (val: string) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n };\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler: HvSuggestionsProps[\"onSuggestionSelected\"] =\n (event, item) => {\n const newValue = item.value || (item.label as any);\n\n changeInputValue(inputRef.current, newValue);\n\n focusInput();\n suggestionClearHandler();\n\n if (type === \"search\") {\n // trigger the onEnter callback when the user selects an option in a search box\n onEnter?.(event as any, newValue);\n }\n };\n\n const onChangeHandler: HvBaseInputProps[\"onChange\"] = (event, newValue) => {\n isDirty.current = true;\n\n onChange?.(event as any, newValue);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(newValue);\n }\n };\n\n /**\n * Validates the input updating the state and modifying the info text, also executes\n * the user provided onBlur passing the current validation status and value.\n */\n const onInputBlurHandler: HvBaseInputProps[\"onBlur\"] = (event) => {\n // If the blur is executed when choosing an suggestion it should be ignored.\n if (eventTargetIsInsideContainer(suggestionsRef.current, event)) return;\n\n setFocused(false);\n\n const inputValidity = performValidation();\n\n onBlur?.(event as any, event.target.value, inputValidity);\n };\n\n /**\n * Updates the state putting again the value from the state because the input value is\n * not automatically manage, it also executes the onFocus function from the user passing the value\n */\n const onFocusHandler: HvBaseInputProps[\"onFocus\"] = (event) => {\n setFocused(true);\n\n // reset validation status to standBy (only when status is uncontrolled)\n setValidationState(validationStates.standBy);\n\n onFocus?.(event as any, event.target.value);\n };\n\n const getSuggestions = (li: number | null) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\",\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n };\n\n const onSuggestionKeyDown: HvSuggestionsProps[\"onKeyDown\"] = (event) => {\n if (isKey(event, \"Esc\")) {\n suggestionClearHandler();\n focusInput();\n } else if (isKey(event, \"Tab\")) {\n suggestionClearHandler();\n }\n };\n\n /** Focus the suggestion list when the arrow down is pressed. */\n const onKeyDownHandler: HvBaseInputProps[\"onKeyDown\"] = (event) => {\n const { value } = event.currentTarget;\n\n if (isKey(event, \"ArrowDown\") && hasSuggestions) {\n const li = getSuggestions(0);\n li?.focus();\n } else if (isKey(event, \"Enter\")) {\n onEnter?.(event as any, value);\n }\n\n onKeyDown?.(event as any, value);\n };\n\n /** Clears the suggestion list on blur. */\n const onContainerBlurHandler: HvFormElementProps[\"onBlur\"] = (event) => {\n if (event.relatedTarget) {\n setTimeout(() => {\n const list = getSuggestions(null);\n if (!list?.contains(document.activeElement)) suggestionClearHandler();\n }, 10);\n }\n };\n\n // show the clear button only if the input is enabled, not read-only, disableClear is false and the input is not empty\n // also, don't show it when the input type is \"search\" and the input is active (standBy)\n const showClear =\n !disabled &&\n !readOnly &&\n !disableClear &&\n !isEmptyValue &&\n (!onEnter ||\n type !== \"search\" ||\n disableSearchButton ||\n validationState !== validationStates.standBy);\n\n const showSearchIcon = type === \"search\" && !disableSearchButton;\n\n const showRevealPasswordButton =\n type === \"password\" && !disableRevealPassword;\n\n /**\n * Clears the input value from the state and refocus the input.\n */\n const handleClear = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n // reset validation status to standBy (only when status is uncontrolled)\n setValidationState(validationStates.standBy);\n\n changeInputValue(inputRef.current, \"\");\n\n // prevent triggering the suggestions when clicking on the clear button when suggestOnFocus is true\n if (canShowSuggestions && suggestOnFocus) event.stopPropagation();\n else {\n // we want to focus the input when clicked and not active\n setTimeout(focusInput);\n }\n },\n [canShowSuggestions, setValidationState, suggestOnFocus],\n );\n\n const clearButton = useMemo(() => {\n if (!showClear) {\n return null;\n }\n\n return (\n <HvAdornment\n // Don't control visibility when the search icon is enabled\n className={cx(classes.adornmentButton, {\n [classes.iconClear]: !showSearchIcon,\n })}\n onClick={handleClear}\n aria-label={labels?.clearButtonLabel}\n aria-controls={setId(elementId, \"input\")}\n icon={<HvIcon compact name=\"Close\" size=\"xs\" />}\n />\n );\n }, [\n showClear,\n classes.adornmentButton,\n classes.iconClear,\n showSearchIcon,\n handleClear,\n labels?.clearButtonLabel,\n elementId,\n cx,\n ]);\n\n const searchButton = useMemo(() => {\n // If the search icon is not actionable, only show it when the input is empty or active\n const reallyShowIt =\n showSearchIcon &&\n (isEmptyValue ||\n (onEnter && validationState === validationStates.standBy));\n\n if (!reallyShowIt) return null;\n\n return (\n <HvAdornment\n className={classes.adornmentButton}\n onClick={\n onEnter &&\n ((evt) => onEnter?.(evt as any, inputRef.current?.value ?? \"\"))\n }\n icon={<HvIcon compact name=\"Search\" title={labels.searchButtonLabel} />}\n />\n );\n }, [\n showSearchIcon,\n isEmptyValue,\n onEnter,\n validationState,\n classes.adornmentButton,\n labels.searchButtonLabel,\n ]);\n\n const revealPasswordButton = useMemo(() => {\n if (!showRevealPasswordButton) return null;\n\n return (\n <HvTooltip\n title={\n revealPassword\n ? labels?.revealPasswordButtonClickToHideTooltip\n : labels?.revealPasswordButtonClickToShowTooltip\n }\n >\n <HvAdornment\n className={classes.adornmentButton}\n onClick={() => setRevealPassword((s) => !s)}\n aria-controls={setId(elementId, \"input\")}\n icon={<EyeIcon selected={revealPassword} />}\n tabIndex={0}\n {...({ selected: revealPassword } satisfies HvButtonBaseProps)}\n />\n </HvTooltip>\n );\n }, [\n showRevealPasswordButton,\n revealPassword,\n labels?.revealPasswordButtonClickToHideTooltip,\n labels?.revealPasswordButtonClickToShowTooltip,\n classes.adornmentButton,\n elementId,\n ]);\n\n const validationIcon = useMemo(() => {\n if (!showValidationIcon) return null;\n if (!isValid(validationState)) return null;\n\n return <HvIcon name=\"Success\" color=\"positive\" className={classes.icon} />;\n }, [showValidationIcon, validationState, classes.icon]);\n\n const adornments = useMemo(() => {\n if (\n !clearButton &&\n !revealPasswordButton &&\n !searchButton &&\n !validationIcon &&\n !endAdornment\n )\n return null;\n\n return (\n <div className={classes.adornmentsBox}>\n {clearButton}\n {revealPasswordButton}\n {searchButton}\n {validationIcon || endAdornment}\n </div>\n );\n }, [\n classes.adornmentsBox,\n clearButton,\n endAdornment,\n revealPasswordButton,\n searchButton,\n validationIcon,\n ]);\n\n // run initial validation after first render\n // and also when any validation condition changes\n useEffect(() => {\n if (focused || (!isDirty.current && isEmptyValue)) {\n // skip validation if currently focused or if empty and\n // the user never manually edited the input value\n return;\n }\n\n performValidation();\n }, [focused, isEmptyValue, performValidation]);\n\n const errorMessageId = isStateInvalid\n ? canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage\n : undefined;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={validationState}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(\n classes.root,\n {\n [classes.hasSuggestions]: hasSuggestions,\n },\n className,\n )}\n onBlur={onContainerBlurHandler}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n showGutter\n id={setId(elementId, \"label\")}\n className={classes.label}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseInput\n id={\n hasLabel || showClear || showRevealPasswordButton\n ? setId(elementId, \"input\")\n : setId(id, \"input\")\n }\n name={name}\n value={valueProp}\n defaultValue={defaultValue}\n required={required}\n readOnly={readOnly}\n disabled={disabled}\n onChange={onChangeHandler}\n autoFocus={autoFocus}\n onKeyDown={onKeyDownHandler}\n onBlur={onInputBlurHandler}\n onFocus={onFocusHandler}\n placeholder={placeholder}\n type={realType}\n classes={{\n input: classes.input,\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n }}\n invalid={isStateInvalid}\n inputProps={{\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : description\n ? setId(elementId, \"description\")\n : undefined,\n \"aria-controls\": canShowSuggestions\n ? setId(elementId, \"suggestions\")\n : undefined,\n\n // prevent browsers auto-fill/suggestions when we have our own\n autoComplete: canShowSuggestions ? \"off\" : undefined,\n\n onFocus: (event) => {\n inputProps.onFocus?.(event);\n\n // trigger suggestions when focusing the input\n if (canShowSuggestions && suggestOnFocus) {\n suggestionHandler(event.currentTarget.value);\n }\n },\n\n onClick: (event) => {\n inputProps.onClick?.(event);\n\n // prevent closing the suggestions when clicking on the input when suggestOnFocus is true\n if (canShowSuggestions && suggestOnFocus) event.stopPropagation();\n },\n\n ...inputProps,\n }}\n ref={forkedRef}\n endAdornment={adornments}\n {...others}\n />\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div role=\"presentation\" className={classes.inputExtension} />\n )}\n <HvSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: classes.suggestionsContainer,\n list: classes.suggestionList,\n }}\n expanded={hasSuggestions}\n anchorEl={inputRef.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n enablePortal={enablePortal}\n popperProps={{ ref: suggestionsRef }}\n />\n </>\n )}\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n});\n"],"names":["HvInput"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Input.styles.js","sources":["../../../src/Input/Input.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { suggestionsClasses } from \"../FormElement/Suggestions\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvInput\", {\n root: { display: \"block\" },\n labelContainer: {\n display: \"flex\",\n alignItems: \"flex-start\",\n paddingBottom: 2,\n },\n label: {},\n description: {},\n adornmentsBox: {\n display: \"flex\",\n flexDirection: \"row\",\n height: \"30px\",\n alignSelf: \"center\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"inherit\",\n flexShrink: 0,\n },\n icon: {},\n adornmentButton: {\n borderRadius: \"inherit\",\n },\n iconClear: { display: \"none\" },\n hasSuggestions: {},\n suggestionsContainer: { width: \"100%\", position: \"relative\" },\n suggestionList: {\n [`& .${suggestionsClasses.root} .${suggestionsClasses.list} &`]: {\n width: \"100%\",\n },\n },\n inputExtension: {\n height: theme.space.xs,\n backgroundColor: theme.colors.bgContainer,\n boxShadow: `0px 8px 0px ${theme.colors.bgContainer}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n input: {},\n inputRoot: {\n \":is(:hover,:focus-within) $iconClear\": {\n display: \"block\",\n },\n },\n inputRootFocused: {\n \"& $iconClear\": {\n display: \"block\",\n },\n },\n inputRootDisabled: {},\n inputRootMultiline: { padding: 0 },\n /** @deprecated unused. use `::after` instead */\n inputBorderContainer: {},\n error: {},\n});\n"],"names":["suggestionsClasses"],"mappings":";;;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,WAAW;AAAA,EACpE,MAAM,EAAE,SAAS,QAAQ;AAAA,EACzB,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,OAAO,CAAC;AAAA,EACR,aAAa,CAAC;AAAA,EACd,eAAe;AAAA,IACb,SAAS;AAAA,IACT,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,MAAM,CAAC;AAAA,EACP,iBAAiB;AAAA,IACf,cAAc;AAAA,EAChB;AAAA,EACA,WAAW,EAAE,SAAS,OAAO;AAAA,EAC7B,gBAAgB,CAAC;AAAA,EACjB,sBAAsB,EAAE,OAAO,QAAQ,UAAU,WAAW;AAAA,EAC5D,gBAAgB;AAAA,IACd,CAAC,MAAMA,gBAAmB,IAAI,KAAKA,gBAAmB,IAAI,IAAI,GAAG;AAAA,MAC/D,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,gBAAgB;AAAA,IACd,QAAQ,MAAM,MAAM;AAAA,IACpB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,WAAW,eAAe,MAAM,OAAO,WAAW;AAAA,EACpD;AAAA,EACA,OAAO,CAAC;AAAA,EACR,WAAW;AAAA,IACT,wCAAwC;AAAA,MACtC,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,kBAAkB;AAAA,IAChB,gBAAgB;AAAA,MACd,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,mBAAmB,CAAC;AAAA,EACpB,oBAAoB,EAAE,SAAS,EAAE;AAAA;AAAA,EAEjC,sBAAsB,CAAC;AAAA,EACvB,OAAO,CAAA;AACT,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":["../../../src/Input/icons.tsx"],"sourcesContent":["import { SvgBase } from \"../icons\";\n\nexport const EyeIcon = ({\n selected,\n ...others\n}: { selected?: boolean } & React.SVGProps<SVGSVGElement>) => (\n <SvgBase viewBox=\"0 0 16 16\" {...others}>\n <path d=\"M11 8a3 3 0 1 1-3-3 3 3 0 0 1 3 3m5 0s-3.58 6-8 6-8-6-8-6 4-6 8-6 8 6 8 6m-1.2.03a22 22 0 0 0-2-2.32C11.01 3.94 9.35 3 8 3s-3 .93-4.77 2.68a22 22 0 0 0-2.02 2.35 18 18 0 0 0 1.85 2.28C4.25 11.53 6.08 13 8 13s3.73-1.45 4.91-2.67a18 18 0 0 0 1.88-2.3z\" />\n <rect\n style={{ transition: \"width 0.2s ease\" }}\n width={selected ? 20 : 0}\n height={1}\n x={-2}\n y={8}\n transform=\"translate(-4 8) rotate(-45)\"\n />\n </SvgBase>\n);\n"],"names":[],"mappings":";;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA,GAAG;AACL,MACG,qBAAA,SAAA,EAAQ,SAAQ,aAAa,GAAG,QAC/B,UAAA;AAAA,EAAC,oBAAA,QAAA,EAAK,GAAE,4PAA4P,CAAA;AAAA,EACpQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO,EAAE,YAAY,kBAAkB;AAAA,MACvC,OAAO,WAAW,KAAK;AAAA,MACvB,QAAQ;AAAA,MACR,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAU;AAAA,IAAA;AAAA,EAAA;AACZ,EACF,CAAA;"}
|
package/dist/esm/Kpi/Kpi.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Kpi.js","sources":["../../../src/Kpi/Kpi.tsx"],"sourcesContent":["import {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useLabels } from \"../hooks/useLabels\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { staticClasses, useClasses } from \"./Kpi.styles\";\n\nexport { staticClasses as kpiClasses };\n\nexport type HvKpiClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n /** The text at the top of the kpi. */\n title: \"\",\n /** The text in the middle of the kpi. */\n indicator: undefined as string | undefined,\n /** The text to the right of the indicator. */\n unit: undefined as string | undefined,\n /** The text to the right of the visual comparison. */\n comparisonIndicatorInfo: undefined as string | undefined,\n};\n\nexport type HvKpiLabelProps = Partial<typeof DEFAULT_LABELS>;\n\nexport interface HvKpiProps extends HvBaseProps<HTMLDivElement, \"children\"> {\n /**\n * An Element that will be rendered to the left of the kpi indicator text.\n */\n trendIndicator?: React.ReactNode;\n /**\n * An Element that will be rendered to the left of the kpi indicator text.\n */\n visualIndicator?: React.ReactNode;\n /**\n * An Element that will be rendered below the kpi indicator text.\n */\n visualComparison?: React.ReactNode;\n /**\n * The object that contains the different labels inside the kpi.\n */\n labels?: HvKpiLabelProps;\n /**\n * The typography variant used in the main text indicator of the KPI\n */\n indicatorTextVariant?: \"display\" | \"title1\" | \"title2\";\n /**\n * The typography variant used in the main text indicator of the KPI\n */\n indicatorUnitTextVariant?: \"title2\" | \"body\";\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvKpiClasses;\n}\n\n/**\n * Key Performance Indicator is a type of performance measurement. It monitors a business indicator\n * and its success/failure against a given target. KPIs are the first item read on a dashboard.\n * Communicates simple, immediate and vital information for operational decision making.\n * @deprecated build KPIs with `HvCard`, or with your custom layouts\n */\nexport const HvKpi = (props: HvKpiProps) => {\n const {\n trendIndicator = null,\n visualIndicator = null,\n visualComparison = null,\n indicatorUnitTextVariant = \"title2\",\n indicatorTextVariant = \"title1\",\n labels: labelsProp,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvKpi\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const InternalVisualComparison =\n typeof visualComparison === \"string\" ? HvTypography : \"div\";\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n <div>\n <HvTypography variant=\"label\">{labels.title}</HvTypography>\n </div>\n <div className={classes.indicatorsContainer}>\n {visualIndicator && (\n <div\n className={cx(\n classes.visualIndicatorContainer,\n classes.spacingToTheRight,\n )}\n >\n {visualIndicator}\n </div>\n )}\n {labels.indicator && (\n <HvTypography\n className={cx(classes.spacingToTheRight, classes.indicatorText)}\n variant={indicatorTextVariant}\n >\n {labels.indicator}\n </HvTypography>\n )}\n {labels.unit && (\n <HvTypography\n className={classes.indicatorUnit}\n variant={indicatorUnitTextVariant}\n >\n {labels.unit}\n </HvTypography>\n )}\n </div>\n {visualComparison && (\n <div className={classes.comparisonComposition}>\n {trendIndicator && (\n <div className={cx(classes.trendLine, classes.spacingToTheRight)}>\n {trendIndicator}\n </div>\n )}\n <div>\n <div className={classes.comparisonContainer}>\n <InternalVisualComparison\n className={cx(classes.comparisons, classes.spacingToTheRight)}\n variant=\"label\"\n >\n {visualComparison}\n </InternalVisualComparison>\n </div>\n <div className={classes.comparisonContainer}>\n <HvTypography className={classes.comparisons} variant=\"caption2\">\n {labels.comparisonIndicatorInfo}\n </HvTypography>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAcA,MAAM,iBAAiB;AAAA;AAAA,EAErB,OAAO;AAAA;AAAA,EAEP,WAAW;AAAA;AAAA,EAEX,MAAM;AAAA;AAAA,EAEN,yBAAyB;AAC3B;AAyCa,MAAA,QAAQ,CAAC,UAAsB;AACpC,QAAA;AAAA,IACJ,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,2BAA2B;AAAA,IAC3B,uBAAuB;AAAA,IACvB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,SAAS,KAAK;AAElC,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,SAAS,UAAU,gBAAgB,UAAU;AAEnD,QAAM,2BACJ,OAAO,qBAAqB,WAAW,eAAe;AAGtD,SAAA,qBAAC,SAAI,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QAC/C,UAAA;AAAA,IAAA,oBAAC,SACC,UAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAA,OAAO,OAAM,EAC9C,CAAA;AAAA,IACC,qBAAA,OAAA,EAAI,WAAW,QAAQ,qBACrB,UAAA;AAAA,MACC,mBAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,UACV;AAAA,UAEC,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,MAED,OAAO,aACN;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,GAAG,QAAQ,mBAAmB,QAAQ,aAAa;AAAA,UAC9D,SAAS;AAAA,UAER,UAAO,OAAA;AAAA,QAAA;AAAA,MACV;AAAA,MAED,OAAO,QACN;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,QAAQ;AAAA,UACnB,SAAS;AAAA,UAER,UAAO,OAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACV,GAEJ;AAAA,IACC,oBACC,qBAAC,OAAI,EAAA,WAAW,QAAQ,uBACrB,UAAA;AAAA,MACC,kBAAA,oBAAC,SAAI,WAAW,GAAG,QAAQ,WAAW,QAAQ,iBAAiB,GAC5D,UACH,eAAA,CAAA;AAAA,2BAED,OACC,EAAA,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,qBACtB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,QAAQ,aAAa,QAAQ,iBAAiB;AAAA,YAC5D,SAAQ;AAAA,YAEP,UAAA;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,QACC,oBAAA,OAAA,EAAI,WAAW,QAAQ,qBACtB,UAAC,oBAAA,cAAA,EAAa,WAAW,QAAQ,aAAa,SAAQ,YACnD,UAAA,OAAO,yBACV,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Kpi.styles.js","sources":["../../../src/Kpi/Kpi.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvKpi\", {\n root: { width: \"100%\", height: \"100%\" },\n visualIndicatorContainer: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"40px\",\n backgroundColor: \"transparent\",\n },\n comparisons: {},\n comparisonContainer: {\n minHeight: \"16px\",\n display: \"flex\",\n alignItems: \"flex-end\",\n },\n comparisonComposition: {\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n },\n indicatorsContainer: {\n display: \"inline-flex\",\n minHeight: \"16px\",\n alignItems: \"flex-end\",\n },\n indicatorText: {},\n indicatorUnit: { alignSelf: \"flex-end\", paddingBottom: \"3px\" },\n spacingToTheRight: { marginRight: theme.space.xs },\n trendLine: { float: \"right\" },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,SAAS;AAAA,EAClE,MAAM,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,EACtC,0BAA0B;AAAA,IACxB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,iBAAiB;AAAA,EACnB;AAAA,EACA,aAAa,CAAC;AAAA,EACd,qBAAqB;AAAA,IACnB,WAAW;AAAA,IACX,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AAAA,EACA,uBAAuB;AAAA,IACrB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AAAA,EACA,qBAAqB;AAAA,IACnB,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,EACd;AAAA,EACA,eAAe,CAAC;AAAA,EAChB,eAAe,EAAE,WAAW,YAAY,eAAe,MAAM;AAAA,EAC7D,mBAAmB,EAAE,aAAa,MAAM,MAAM,GAAG;AAAA,EACjD,WAAW,EAAE,OAAO,QAAQ;AAC9B,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sources":["../../../src/Link/Link.tsx"],"sourcesContent":["import {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./Link.styles\";\n\nexport { staticClasses as linkClasses };\n\nexport type HvLinkClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLinkProps extends HvBaseProps<HTMLAnchorElement, \"onClick\"> {\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>, data: any) => void;\n route?: string;\n data?: any;\n children: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLinkClasses;\n}\n\n/** @deprecated use `<HvTypography link component=\"a\" />` instead */\nexport const HvLink = (props: HvLinkProps) => {\n const {\n onClick,\n classes: classesProp,\n className,\n route,\n data,\n children,\n ...others\n } = useDefaultProps(\"HvLink\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <a\n href={route}\n onClick={(event) => {\n if (!onClick) return;\n\n event.preventDefault();\n onClick?.(event, data);\n }}\n className={cx(classes.a, className)}\n {...others}\n >\n {children}\n </a>\n );\n};\n"],"names":[],"mappings":";;;;AAsBa,MAAA,SAAS,CAAC,UAAuB;AACtC,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,UAAU,KAAK;AAEnC,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,MACN,SAAS,CAAC,UAAU;AAClB,YAAI,CAAC,QAAS;AAEd,cAAM,eAAe;AACrB,kBAAU,OAAO,IAAI;AAAA,MACvB;AAAA,MACA,WAAW,GAAG,QAAQ,GAAG,SAAS;AAAA,MACjC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Link.styles.js","sources":["../../../src/Link/Link.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvLink\", {\n a: {\n ...theme.typography.label,\n textDecoration: \"underline\",\n color: theme.colors.primary,\n\n \"&:focus-visible\": { ...outlineStyles },\n },\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,UAAU;AAAA,EACnE,GAAG;AAAA,IACD,GAAG,MAAM,WAAW;AAAA,IACpB,gBAAgB;AAAA,IAChB,OAAO,MAAM,OAAO;AAAA,IAEpB,mBAAmB,EAAE,GAAG,cAAc;AAAA,EAAA;AAE1C,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../src/List/List.tsx"],"sourcesContent":["import {\n AriaRole,\n forwardRef,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { FixedSizeList } from \"react-window\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvCheckBox } from \"../CheckBox\";\nimport { HvIcon } from \"../icons\";\nimport { HvLink } from \"../Link\";\nimport {\n HvListContainer,\n HvListContainerProps,\n HvListItem,\n} from \"../ListContainer\";\nimport { HvOverflowTooltip } from \"../OverflowTooltip\";\nimport { HvRadio } from \"../Radio\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { CounterLabel } from \"../utils/CounterLabel\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./List.styles\";\nimport { HvListValue } from \"./types\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\n\nexport { staticClasses as listClasses };\n\nexport type HvListClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n value: HvListValue,\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list. @deprecated this is always enabled */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n /** The label used for the All checkbox action. @deprecated no longer used */\n selectAll: \"Select All\",\n /** The label used in the middle of the multi-selection count. */\n selectionConjunction: \"/\",\n};\n\nexport type HvListLabels = Partial<typeof DEFAULT_LABELS>;\n\n/**\n * Component used to show a set of related data to the user.\n * @deprecated use `HvListContainer` + `HvListItem` instead\n */\nexport const HvList = (props: HvListProps) => {\n const {\n id,\n classes: classesProp,\n className,\n multiSelect = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = useDefaultProps(\"HvList\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp,\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const [role, itemRole] = useMemo<[AriaRole, AriaRole]>(() => {\n // selectors are responsible for the role & selection state\n if (selectable && useSelector) return [\"list\", \"listitem\"];\n\n if (selectable) return [\"listbox\", \"option\"];\n return [\"menu\", \"menuitem\"];\n }, [selectable, useSelector]);\n\n const handleSelect = (\n evt: React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLLIElement>,\n item: HvListValue,\n ) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled,\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list,\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item: HvListValue) => {\n return isValidElement(item.icon)\n ? item.icon\n : typeof item.icon === \"function\"\n ? item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n })\n : null;\n };\n\n const renderSelectAll = () => {\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n return (\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={\n <CounterLabel\n selected={selection.length}\n total={list.length}\n conjunctionLabel={labels.selectionConjunction}\n />\n }\n onChange={handleSelectAll}\n className={classes.selectAllSelector}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item: HvListValue) => {\n return !multiSelect && item.path ? (\n <HvLink route={item.path} classes={{ a: classes.link }}>\n <HvOverflowTooltip data={item.label} />\n </HvLink>\n ) : (\n <HvOverflowTooltip data={item.label} />\n );\n };\n\n const renderSelectItem = (item: HvListValue, itemId?: string) => {\n if (!useSelector) return renderItemText(item);\n\n const Component = multiSelect ? HvCheckBox : HvRadio;\n\n return (\n <Component\n id={setId(itemId, \"selector\")}\n label={<HvOverflowTooltip data={item.label} />}\n checked={item.selected || false}\n disabled={item.disabled}\n onChange={multiSelect ? (evt) => handleSelect(evt, item) : undefined}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />\n );\n };\n\n const renderListItem = (item: HvListValue, i: number, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n const startAdornment =\n !useSelector && item.icon ? renderLeftIcon(item) : null;\n\n return (\n <HvListItem\n key={i}\n id={itemId}\n role={itemRole}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{\n selected: cx({\n [classes.itemSelector]: useSelector || multiSelect,\n }),\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <HvIcon name=\"CaretRight\" className={classes.box} size=\"xs\" />\n )\n }\n {...otherProps}\n >\n {renderSelectItem(item, itemId)}\n </HvListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const renderVirtualizedListItem = ({\n index,\n style,\n }: {\n index: number;\n style: Record<string, any>;\n }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const ariaMultiSelectable = (role === \"listbox\" && multiSelect) || undefined;\n\n const ListContainer = useMemo(() => {\n // eslint-disable-next-line react/display-name\n return forwardRef<HTMLUListElement, HvListContainerProps>(\n ({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n ref={ref}\n {...rest}\n />\n ),\n );\n }, [\n cx,\n id,\n useSelector,\n className,\n classes.root,\n role,\n condensed,\n ariaMultiSelectable,\n ]);\n\n // Render nothing if there are no items\n if (filteredList.length === 0) return null;\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {!virtualized ? (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n ) : (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={ListContainer}\n {...(others as any)}\n >\n {renderVirtualizedListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n"],"names":["anySelected"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.styles.js","sources":["../../../src/List/List.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvList\", {\n root: {},\n virtualizedRoot: { marginBottom: 5 },\n selectorRoot: { width: \"100%\", zIndex: 0 },\n selectorContainer: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n\n \"&:focus-within\": {\n backgroundColor: \"transparent\",\n outline: \"none\",\n boxShadow: \"none\",\n },\n },\n box: { width: \"32px\", height: \"32px\", marginLeft: \"auto\" },\n truncate: {\n display: \"inline-block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n item: {},\n itemSelector: {\n \"&:not(:hover):not(.HvIsFocused):not(:focus-within)\": {\n backgroundColor: theme.colors.bgHover,\n },\n },\n link: {\n ...theme.typography.body,\n textDecoration: \"none\",\n\n \"&:focus\": {\n boxShadow: \"unset !important\",\n },\n },\n selectAllSelector: {\n width: \"100%\",\n margin: \"0 0 2px 0\",\n\n position: \"relative\",\n zIndex: 0,\n\n // prevent the focus ring to be hidden by sibling hover background\n \"&:focus-within\": {\n zIndex: 1,\n },\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,UAAU;AAAA,EACnE,MAAM,CAAC;AAAA,EACP,iBAAiB,EAAE,cAAc,EAAE;AAAA,EACnC,cAAc,EAAE,OAAO,QAAQ,QAAQ,EAAE;AAAA,EACzC,mBAAmB;AAAA,IACjB,WAAW;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,IAEA,kBAAkB;AAAA,MAChB,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,KAAK,EAAE,OAAO,QAAQ,QAAQ,QAAQ,YAAY,OAAO;AAAA,EACzD,UAAU;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,MAAM,CAAC;AAAA,EACP,cAAc;AAAA,IACZ,sDAAsD;AAAA,MACpD,iBAAiB,MAAM,OAAO;AAAA,IAAA;AAAA,EAElC;AAAA,EACA,MAAM;AAAA,IACJ,GAAG,MAAM,WAAW;AAAA,IACpB,gBAAgB;AAAA,IAEhB,WAAW;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,IACP,QAAQ;AAAA,IAER,UAAU;AAAA,IACV,QAAQ;AAAA;AAAA,IAGR,kBAAkB;AAAA,MAChB,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectableList.js","sources":["../../../src/List/useSelectableList.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\n\nimport { HvListValue } from \"./types\";\n\nexport const useSelectableList = (defaultList: HvListValue[] = []) => {\n const [list, setList] = useState(defaultList);\n\n const selection = useMemo(() => list.filter((elem) => elem.selected), [list]);\n\n return [list, setList, selection] as const;\n};\n"],"names":[],"mappings":";AAIO,MAAM,oBAAoB,CAAC,cAA6B,OAAO;AACpE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,WAAW;AAE5C,QAAM,YAAY,QAAQ,MAAM,KAAK,OAAO,CAAC,SAAS,KAAK,QAAQ,GAAG,CAAC,IAAI,CAAC;AAErE,SAAA,CAAC,MAAM,SAAS,SAAS;AAClC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/List/utils.ts"],"sourcesContent":["import { HvListValue } from \"./types\";\n\nconst isItemSelected = (item: HvListValue, newItem: HvListValue) => {\n const selectionKey = item?.id ? \"id\" : \"label\";\n const selectionElement = item?.[selectionKey];\n return newItem[selectionKey] === selectionElement;\n};\n\nconst checkIcons = (list: any[]) => list?.some((elem) => elem?.icon);\n\nconst parseState = (list = []) => {\n const hasLeftIcons = checkIcons(list);\n const selection = list.filter((elem: any) => elem?.selected);\n const anySelected = !!selection.length;\n const allSelected = selection.length === list.length;\n const anySelectableSelected = list.some(\n (elem: any) => elem?.selected || elem?.disabled,\n );\n const allSelectableSelected = list.every(\n (elem: any) => elem?.selected || elem?.disabled,\n );\n\n return {\n list,\n hasLeftIcons,\n anySelected,\n allSelected,\n anySelectableSelected,\n allSelectableSelected,\n selection,\n };\n};\n\nconst parseList = (\n item: HvListValue | undefined,\n props: {\n multiSelect?: boolean;\n selectable?: boolean;\n singleSelectionToggle?: boolean;\n },\n selectAll: boolean | undefined,\n list: HvListValue[] = [],\n): HvListValue[] => {\n const { multiSelect, selectable, singleSelectionToggle } = props || {};\n\n let anySelected = false;\n const newList = list.map((elem: any) => {\n const newItem = { ...elem };\n\n // reset elem item\n if (!multiSelect) {\n newItem.selected = false;\n }\n\n const selectItem = item ? isItemSelected(item, newItem) : elem?.selected;\n\n if (selectItem && selectable) {\n let selectionState;\n\n if (multiSelect) {\n selectionState = item ? !elem?.selected : true;\n } else {\n selectionState =\n !anySelected &&\n (item && singleSelectionToggle ? !elem?.selected : true);\n }\n\n newItem.selected = selectionState;\n anySelected = true;\n }\n\n if (typeof selectAll === \"boolean\" && !elem?.disabled)\n newItem.selected = selectAll;\n\n // normalize item selected prop if not provided\n if (!newItem?.selected) newItem.selected = false;\n\n return newItem;\n });\n\n return newList;\n};\n\nexport { isItemSelected, parseList, parseState };\n"],"names":[],"mappings":"AAEM,MAAA,iBAAiB,CAAC,MAAmB,YAAyB;AAC5D,QAAA,eAAe,MAAM,KAAK,OAAO;AACjC,QAAA,mBAAmB,OAAO,YAAY;AACrC,SAAA,QAAQ,YAAY,MAAM;AACnC;AA2BA,MAAM,YAAY,CAChB,MACA,OAKA,WACA,OAAsB,CAAA,MACJ;AAClB,QAAM,EAAE,aAAa,YAAY,sBAAsB,IAAI,SAAS,CAAC;AAErE,MAAI,cAAc;AAClB,QAAM,UAAU,KAAK,IAAI,CAAC,SAAc;AAChC,UAAA,UAAU,EAAE,GAAG,KAAK;AAG1B,QAAI,CAAC,aAAa;AAChB,cAAQ,WAAW;AAAA,IAAA;AAGrB,UAAM,aAAa,OAAO,eAAe,MAAM,OAAO,IAAI,MAAM;AAEhE,QAAI,cAAc,YAAY;AACxB,UAAA;AAEJ,UAAI,aAAa;AACE,yBAAA,OAAO,CAAC,MAAM,WAAW;AAAA,MAAA,OACrC;AACL,yBACE,CAAC,gBACA,QAAQ,wBAAwB,CAAC,MAAM,WAAW;AAAA,MAAA;AAGvD,cAAQ,WAAW;AACL,oBAAA;AAAA,IAAA;AAGhB,QAAI,OAAO,cAAc,aAAa,CAAC,MAAM;AAC3C,cAAQ,WAAW;AAGrB,QAAI,CAAC,SAAS,SAAU,SAAQ,WAAW;AAEpC,WAAA;AAAA,EAAA,CACR;AAEM,SAAA;AACT;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListContainer.js","sources":["../../../src/ListContainer/ListContainer.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useContext,\n useMemo,\n useRef,\n} from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useForkRef } from \"../hooks/useForkRef\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./ListContainer.styles\";\nimport HvListContext from \"./ListContext\";\n\nexport { staticClasses as listContainerClasses };\n\nexport type HvListContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvListContainerProps extends HvBaseProps<HTMLUListElement> {\n /**\n * If the list items should be focusable and react to mouse over events.\n * Defaults to true if the list is selectable, false otherwise.\n */\n interactive?: boolean;\n /** If `true` compact the vertical spacing between list items. */\n condensed?: boolean;\n /** If `true`, the list items are _visually_ selectable. To enable selection, use `HvSelectionList` */\n selectable?: boolean;\n /** If `true`, the list items' left and right padding is removed. */\n disableGutters?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListContainerClasses;\n}\n\n/**\n * A <b>list</b> is any enumeration of a set of items.\n * The simple list is for continuous <b>vertical indexes of text or icons+text</b>. The content of these lists must be simple: ideally simples fields.\n * This pattern is ideal for <b>selections</b>. It should be used inside a HvPanel.\n */\nexport const HvListContainer = forwardRef<\n HTMLUListElement,\n HvListContainerProps\n>(function HvListContainer(props, ref) {\n const {\n id,\n classes: classesProp,\n className,\n interactive = false,\n selectable,\n condensed,\n disableGutters,\n children: childrenProp,\n ...others\n } = useDefaultProps(\"HvListContainer\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const containerRef = useRef(null);\n\n const { topContainerRef, nesting = -1 } = useContext(HvListContext);\n\n const listContext = useMemo(\n () => ({\n topContainerRef: topContainerRef || containerRef,\n condensed,\n selectable,\n disableGutters,\n interactive,\n nesting: nesting + 1,\n }),\n [\n condensed,\n selectable,\n disableGutters,\n interactive,\n nesting,\n topContainerRef,\n ],\n );\n\n const children = useMemo(() => {\n if (!interactive) return childrenProp;\n\n const anySelected = Children.toArray(childrenProp).some(\n (child) =>\n isValidElement(child) && child.props.selected && !child.props.disabled,\n );\n\n return Children.map(childrenProp, (child: any, i) => {\n const tabIndex =\n child.props.tabIndex ||\n (!anySelected && i === 0) ||\n (child.props.selected && !child.props.disabled)\n ? 0\n : -1;\n\n return cloneElement(child, {\n tabIndex,\n interactive,\n });\n });\n }, [childrenProp, interactive]);\n\n const handleRef = useForkRef(ref, containerRef);\n\n return (\n <HvListContext.Provider value={listContext}>\n <ul\n ref={handleRef}\n id={id}\n className={cx(classes.root, className)}\n {...others}\n >\n {children}\n </ul>\n </HvListContext.Provider>\n );\n});\n"],"names":["HvListContainer","HvListContext"],"mappings":";;;;;;;AA4CO,MAAM,kBAAkB,WAG7B,SAASA,iBAAgB,OAAO,KAAK;AAC/B,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EAAA,IACD,gBAAgB,mBAAmB,KAAK;AAE5C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,eAAe,OAAO,IAAI;AAEhC,QAAM,EAAE,iBAAiB,UAAU,GAAG,IAAI,WAAWC,WAAa;AAElE,QAAM,cAAc;AAAA,IAClB,OAAO;AAAA,MACL,iBAAiB,mBAAmB;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,UAAU;AAAA,IAAA;AAAA,IAErB;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AAEM,QAAA,WAAW,QAAQ,MAAM;AACzB,QAAA,CAAC,YAAoB,QAAA;AAEzB,UAAM,cAAc,SAAS,QAAQ,YAAY,EAAE;AAAA,MACjD,CAAC,UACC,eAAe,KAAK,KAAK,MAAM,MAAM,YAAY,CAAC,MAAM,MAAM;AAAA,IAClE;AAEA,WAAO,SAAS,IAAI,cAAc,CAAC,OAAY,MAAM;AACnD,YAAM,WACJ,MAAM,MAAM,YACX,CAAC,eAAe,MAAM,KACtB,MAAM,MAAM,YAAY,CAAC,MAAM,MAAM,WAClC,IACA;AAEN,aAAO,aAAa,OAAO;AAAA,QACzB;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA,GACA,CAAC,cAAc,WAAW,CAAC;AAExB,QAAA,YAAY,WAAW,KAAK,YAAY;AAE9C,SACG,oBAAAA,YAAc,UAAd,EAAuB,OAAO,aAC7B,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACpC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListContainer.styles.js","sources":["../../../src/ListContainer/ListContainer.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvListContainer\", {\n root: {\n overflow: \"clip\",\n overflowClipMargin: 4,\n },\n});\n"],"names":[],"mappings":";AAEO,MAAM,EAAE,eAAe,eAAe,cAAc,mBAAmB;AAAA,EAC5E,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,oBAAoB;AAAA,EAAA;AAExB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListContext.js","sources":["../../../../src/ListContainer/ListContext/ListContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nconst ListContext = createContext<{\n interactive?: boolean;\n nesting?: number;\n condensed?: boolean;\n selectable?: boolean;\n disableGutters?: boolean;\n topContainerRef?: React.MutableRefObject<HTMLUListElement | null>;\n}>({});\n\nListContext.displayName = \"ListContext\";\n\nexport default ListContext;\n"],"names":[],"mappings":";AAEM,MAAA,cAAc,cAOjB,CAAE,CAAA;AAEL,YAAY,cAAc;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../src/ListContainer/ListItem/ListItem.tsx"],"sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n ReactElement,\n useCallback,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvFocus } from \"../../Focus\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport HvListContext from \"../ListContext\";\nimport { staticClasses, useClasses } from \"./ListItem.styles\";\n\nexport { staticClasses as listItemClasses };\n\nexport type HvListItemClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvListItemProps extends HvBaseProps<HTMLLIElement> {\n /** Indicates if the list item is selected. */\n selected?: boolean;\n /** Indicated if the list item is _visually_ selectable */\n selectable?: boolean;\n /** If true, the list item will be disabled. */\n disabled?: boolean;\n /**\n * If the list item is focusable and reacts to mouse over events.\n * Defaults to true if the container list is interactive, false otherwise.\n */\n interactive?: boolean;\n /**\n * If `true` compacts the vertical spacing intended to separate the list items.\n * Defaults to the value set in container list.\n */\n condensed?: boolean;\n /**\n * If `true`, the left and right padding is removed.\n * Defaults to the value set in container list.\n */\n disableGutters?: boolean;\n /**\n * Element placed before the children.\n * Also removes the left padding (gutter).\n *\n * Some modifications are applied, assuming that it is either an icon (changing the color when the item is disabled)\n * or a selector (preventing the double focus ring, propagating the checked and disabled states and wiring the onChange event).\n * If unwanted, the element should be placed directly as a child.\n */\n startAdornment?: React.ReactNode;\n /**\n * Element placed after the children and aligned next to the margin.\n * Also removes the right padding (gutter).\n *\n * Some modifications are applied, assuming that it is an icon (changing the color when the item is disabled).\n * If unwanted, the element should be placed directly as a child.\n */\n endAdornment?: React.ReactNode;\n /** The value to be set on the 'li' element */\n value?: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListItemClasses;\n}\n\nconst applyClassNameAndStateToElement = (\n element: React.ReactNode,\n selected: boolean | undefined,\n disabled: boolean | undefined,\n onClick: React.MouseEventHandler<HTMLLIElement>,\n className?: string,\n) => {\n if (element == null) return null;\n\n return cloneElement(element as ReactElement, {\n className,\n checked: !!selected,\n disabled,\n onChange: onClick,\n });\n};\n\nconst applyClassNameToElement = (\n element: React.ReactNode,\n className?: string,\n) => {\n if (element == null) return null;\n\n return cloneElement(element as ReactElement, {\n className,\n });\n};\n\n/**\n * Implements the listitem pattern, akin to the `<li>` element.\n * Should be composed within a `<HvListContainer>` component.\n */\nexport const HvListItem = forwardRef<\n // no-indent\n React.ComponentRef<\"li\">,\n HvListItemProps\n>(function HvListItem(props, ref) {\n const {\n classes: classesProp,\n className,\n role,\n value,\n selected,\n disabled,\n selectable: selectableProp,\n interactive: interactiveProp,\n condensed: condensedProp,\n disableGutters: disableGuttersProp,\n startAdornment,\n endAdornment,\n onClick,\n children,\n tabIndex,\n ...others\n } = useDefaultProps(\"HvListItem\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n topContainerRef,\n condensed: condensedContext,\n disableGutters: disableGuttersContext,\n interactive: interactiveContext,\n selectable: selectableContext,\n } = useContext(HvListContext);\n\n const condensed = condensedProp ?? condensedContext;\n const disableGutters = disableGuttersProp ?? disableGuttersContext;\n const interactive = interactiveProp ?? interactiveContext;\n const selectable = selectableProp ?? selectableContext;\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLLIElement>>(\n (evt) => {\n if (disabled) return;\n onClick?.(evt);\n },\n [disabled, onClick],\n );\n\n const clonedStartAdornment = useMemo(\n () =>\n applyClassNameAndStateToElement(\n startAdornment,\n selected,\n disabled,\n handleClick,\n cx(\n classes.startAdornment,\n { [classes.disabled]: disabled },\n isValidElement(startAdornment)\n ? startAdornment.props.className\n : undefined,\n ),\n ),\n [\n cx,\n classes?.startAdornment,\n classes?.disabled,\n disabled,\n handleClick,\n selected,\n startAdornment,\n ],\n );\n const clonedEndAdornment = useMemo(\n () =>\n applyClassNameToElement(\n endAdornment,\n cx(\n classes.endAdornment,\n { [classes.disabled]: disabled },\n isValidElement(endAdornment)\n ? endAdornment.props.className\n : undefined,\n ),\n ),\n [cx, classes?.endAdornment, classes?.disabled, disabled, endAdornment],\n );\n\n const roleOptionAriaProps =\n role === \"option\" || role === \"menuitem\"\n ? {\n \"aria-disabled\": disabled || undefined,\n \"aria-selected\": selected,\n }\n : {};\n\n const listItem = (\n // For later: this should only have an onClick event if interactive and has the appropriate role.\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events\n <li\n ref={ref}\n role={role}\n value={value}\n className={cx(\n classes.root,\n {\n [classes.gutters]: !disableGutters,\n [classes.condensed]: condensed,\n [classes.interactive]: interactive || selectable,\n [classes.selected]: selected || props[\"aria-selected\"],\n [classes.disabled]: disabled || props[\"aria-disabled\"],\n [classes.withStartAdornment]: startAdornment != null,\n [classes.withEndAdornment]: endAdornment != null,\n },\n className,\n )}\n tabIndex={interactive ? undefined : tabIndex}\n onClick={handleClick}\n {...roleOptionAriaProps}\n {...others}\n >\n {clonedStartAdornment}\n {children}\n {clonedEndAdornment}\n </li>\n );\n\n return interactive ? (\n <HvFocus\n rootRef={topContainerRef}\n selected={selected}\n disabledClass={disabled || undefined}\n strategy={role === \"option\" ? \"listbox\" : \"menu\"}\n classes={{ focus: classes.focus }}\n configuration={{\n tabIndex,\n }}\n >\n {listItem}\n </HvFocus>\n ) : (\n listItem\n );\n});\n"],"names":["HvListItem","HvListContext"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.styles.js","sources":["../../../../src/ListContainer/ListItem/ListItem.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvListItem\", {\n root: {\n ...theme.typography.body,\n padding: 0,\n display: \"block\",\n height: \"32px\",\n lineHeight: \"32px\",\n listStyleType: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n position: \"relative\",\n alignContent: \"center\",\n\n \"&:not(:last-child)\": {\n marginBottom: \"8px\",\n },\n\n \"&$condensed\": {\n marginBottom: 0,\n },\n\n \"&.HvIsFocused\": {\n ...outlineStyles,\n backgroundColor: theme.colors.bgPageSecondary,\n zIndex: 2,\n },\n },\n focus: { backgroundColor: theme.colors.bgPageSecondary, zIndex: 2 },\n startAdornment: {},\n endAdornment: {},\n gutters: {\n padding: `0 ${theme.space.xs}`,\n\n \"&$withStartAdornment\": {\n paddingLeft: 0,\n },\n \"&$withEndAdornment\": {\n paddingRight: 0,\n },\n },\n condensed: {},\n interactive: {\n cursor: \"pointer\",\n \"&:not($disabled):not($selected):hover\": {\n backgroundColor: theme.colors.bgHover,\n },\n \"&$disabled\": {\n cursor: \"not-allowed\",\n },\n },\n selected: { backgroundColor: theme.colors.bgHover },\n disabled: {\n color: theme.colors.textDisabled,\n backgroundColor: theme.colors.bgDisabled,\n },\n withStartAdornment: {\n \"& > div\": {\n float: \"left\",\n },\n\n \"& svg\": {\n boxShadow: \"none !important\",\n outline: \"none !important\",\n },\n },\n withEndAdornment: {\n \"& > div\": { float: \"right\" },\n\n \"& svg\": {\n boxShadow: \"none !important\",\n outline: \"none !important\",\n },\n },\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,cAAc;AAAA,EACvE,MAAM;AAAA,IACJ,GAAG,MAAM,WAAW;AAAA,IACpB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,cAAc;AAAA,IAEd,sBAAsB;AAAA,MACpB,cAAc;AAAA,IAChB;AAAA,IAEA,eAAe;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IAEA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,iBAAiB,MAAM,OAAO;AAAA,MAC9B,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EACA,OAAO,EAAE,iBAAiB,MAAM,OAAO,iBAAiB,QAAQ,EAAE;AAAA,EAClE,gBAAgB,CAAC;AAAA,EACjB,cAAc,CAAC;AAAA,EACf,SAAS;AAAA,IACP,SAAS,KAAK,MAAM,MAAM,EAAE;AAAA,IAE5B,wBAAwB;AAAA,MACtB,aAAa;AAAA,IACf;AAAA,IACA,sBAAsB;AAAA,MACpB,cAAc;AAAA,IAAA;AAAA,EAElB;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,yCAAyC;AAAA,MACvC,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EACA,UAAU,EAAE,iBAAiB,MAAM,OAAO,QAAQ;AAAA,EAClD,UAAU;AAAA,IACR,OAAO,MAAM,OAAO;AAAA,IACpB,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,oBAAoB;AAAA,IAClB,WAAW;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IAEA,SAAS;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,kBAAkB;AAAA,IAChB,WAAW,EAAE,OAAO,QAAQ;AAAA,IAE5B,SAAS;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sources":["../../../src/Loading/Loading.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n mergeStyles,\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\nimport { getColor, HvColorAny } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { range } from \"../utils/helpers\";\nimport { staticClasses, useClasses } from \"./Loading.styles\";\n\nexport { staticClasses as loadingClasses };\n\nexport type HvLoadingClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLoadingProps extends HvBaseProps {\n /** Indicates if the component should be render in a small size. */\n small?: boolean;\n /** The label to be displayed. */\n label?: React.ReactNode;\n /** Whether the loading animation is hidden. */\n hidden?: boolean;\n /** Color applied to the bars. */\n color?: HvColorAny;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLoadingClasses;\n}\n\n/**\n * Loading provides feedback about a process that is taking place in the application.\n */\nexport const HvLoading = forwardRef<\n // no-indent\n React.ComponentRef<\"div\">,\n HvLoadingProps\n>(function HvLoading(props, ref) {\n const {\n color,\n hidden,\n small,\n label,\n classes: classesProp,\n style,\n className,\n ...others\n } = useDefaultProps(\"HvLoading\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const size = small ? \"small\" : \"regular\";\n const colorVariant = color && (`${size}Color` as const);\n\n return (\n <div\n ref={ref}\n hidden={!!hidden}\n style={mergeStyles(style, {\n color: getColor(color, small ? \"text\" : \"brand\"),\n \"--customColor\": getColor(color),\n })}\n className={cx(\n classes.root,\n {\n [classes.hidden]: hidden,\n },\n className,\n )}\n {...others}\n >\n <div className={classes.barContainer}>\n {range(3).map((e) => (\n <div\n key={e}\n className={cx(\n classes.loadingBar,\n // TODO: hoist to parent & remove unused `colorVariant` in v6\n classes[size],\n classes[colorVariant!],\n )}\n />\n ))}\n </div>\n {label && <div className={classes.label}>{label}</div>}\n </div>\n );\n});\n"],"names":["HvLoading"],"mappings":";;;;;;;AAgCO,MAAM,YAAY,WAIvB,SAASA,WAAU,OAAO,KAAK;AACzB,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,aAAa,KAAK;AAEtC,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAExC,QAAA,OAAO,QAAQ,UAAU;AACzB,QAAA,eAAe,SAAU,GAAG,IAAI;AAGpC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,QAAQ,CAAC,CAAC;AAAA,MACV,OAAO,YAAY,OAAO;AAAA,QACxB,OAAO,SAAS,OAAO,QAAQ,SAAS,OAAO;AAAA,QAC/C,iBAAiB,SAAS,KAAK;AAAA,MAAA,CAChC;AAAA,MACD,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,MAAM,GAAG;AAAA,QACpB;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,cACrB,gBAAM,CAAC,EAAE,IAAI,CAAC,MACb;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAW;AAAA,cACT,QAAQ;AAAA;AAAA,cAER,QAAQ,IAAI;AAAA,cACZ,QAAQ,YAAa;AAAA,YAAA;AAAA,UACvB;AAAA,UANK;AAAA,QAQR,CAAA,GACH;AAAA,QACC,SAAU,oBAAA,OAAA,EAAI,WAAW,QAAQ,OAAQ,UAAM,MAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAClD;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.styles.js","sources":["../../../src/Loading/Loading.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvLoading\", {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: theme.space.xs,\n },\n barContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n\n \":has($regular)\": {\n width: 30,\n height: 30,\n },\n\n \":has($small)\": {\n \"--height\": \"40%\",\n width: 18,\n height: 18,\n },\n },\n loadingBar: {\n backgroundColor: \"currentcolor\",\n display: \"inline-block\",\n animation: \"loading 1s ease-in-out infinite\",\n // TODO: make this the default when it has better support\n width: \"round(up, 0.11em, 2px)\",\n height: \"100%\",\n\n \"@keyframes loading\": {\n \"50%\": {\n height: \"var(--height, 60%)\",\n backgroundColor: `var(--customColor, ${theme.colors.text})`,\n },\n },\n\n \":nth-of-type(2)\": { animationDelay: \"0.22s\" },\n \":nth-of-type(3)\": { animationDelay: \"0.44s\" },\n },\n label: {\n ...theme.typography.caption1,\n },\n overlay: {},\n blur: {},\n hidden: { display: \"none\" },\n small: {\n width: 2,\n },\n regular: {\n width: 4,\n },\n smallColor: {},\n regularColor: {},\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,aAAa;AAAA,EACtE,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,KAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAEhB,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IAEA,gBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,IAAA;AAAA,EAEZ;AAAA,EACA,YAAY;AAAA,IACV,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,WAAW;AAAA;AAAA,IAEX,OAAO;AAAA,IACP,QAAQ;AAAA,IAER,sBAAsB;AAAA,MACpB,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,iBAAiB,sBAAsB,MAAM,OAAO,IAAI;AAAA,MAAA;AAAA,IAE5D;AAAA,IAEA,mBAAmB,EAAE,gBAAgB,QAAQ;AAAA,IAC7C,mBAAmB,EAAE,gBAAgB,QAAQ;AAAA,EAC/C;AAAA,EACA,OAAO;AAAA,IACL,GAAG,MAAM,WAAW;AAAA,EACtB;AAAA,EACA,SAAS,CAAC;AAAA,EACV,MAAM,CAAC;AAAA,EACP,QAAQ,EAAE,SAAS,OAAO;AAAA,EAC1B,OAAO;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,YAAY,CAAC;AAAA,EACb,cAAc,CAAA;AAChB,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingContainer.js","sources":["../../../src/LoadingContainer/LoadingContainer.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n mergeStyles,\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvLoading, HvLoadingProps } from \"../Loading\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./LoadingContainer.styles\";\n\nexport { staticClasses as loadingContainerClasses };\n\nexport type HvLoadingContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLoadingContainerProps\n extends HvBaseProps<HTMLDivElement>,\n Pick<HvLoadingProps, \"label\" | \"small\" | \"hidden\"> {\n opacity?: number;\n classes?: HvLoadingContainerClasses;\n}\n\n/**\n * A component that wraps `children` with an `HvLoading` component and\n * and an overlay background with opacity.\n *\n * @example\n * <HvLoadingContainer label=\"Loading...\" hidden={!isLoading}>\n * <MyComponent>\n * </HvLoadingContainer>\n * */\nexport const HvLoadingContainer = forwardRef<\n React.ComponentRef<\"div\">,\n HvLoadingContainerProps\n>(function HvLoadingContainer(props, ref) {\n const {\n children,\n className,\n classes: classesProp,\n hidden,\n small,\n label,\n \"aria-label\": ariaLabelProp,\n opacity,\n ...others\n } = useDefaultProps(\"HvLoadingContainer\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const ariaLabel =\n ariaLabelProp || (typeof label === \"string\" && label) || \"Loading\";\n\n return (\n <div ref={ref} className={cx(classes.root, className)} {...others}>\n <HvLoading\n className={classes.loading}\n role=\"progressbar\"\n small={small}\n label={label}\n hidden={hidden}\n aria-label={ariaLabel}\n style={mergeStyles(undefined, {\n \"--opacity\": opacity && `${opacity * 100}%`,\n })}\n />\n {children}\n </div>\n );\n});\n"],"names":["HvLoadingContainer"],"mappings":";;;;;;AA+BO,MAAM,qBAAqB,WAGhC,SAASA,oBAAmB,OAAO,KAAK;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,sBAAsB,KAAK;AAC/C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAE9C,QAAM,YACJ,iBAAkB,OAAO,UAAU,YAAY,SAAU;AAGzD,SAAA,qBAAC,OAAI,EAAA,KAAU,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAI,GAAG,QACzD,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAY;AAAA,QACZ,OAAO,YAAY,QAAW;AAAA,UAC5B,aAAa,WAAW,GAAG,UAAU,GAAG;AAAA,QACzC,CAAA;AAAA,MAAA;AAAA,IACH;AAAA,IACC;AAAA,EAAA,GACH;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingContainer.styles.js","sources":["../../../src/LoadingContainer/LoadingContainer.styles.ts"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nconst { staticClasses, useClasses } = createClasses(\"HvLoadingContainer\", {\n root: {\n position: \"relative\",\n height: \"inherit\",\n },\n loading: {\n position: \"absolute\",\n userSelect: \"none\",\n inset: 0,\n zIndex: theme.zIndices.overlay,\n transition: \"background-color .2s ease\",\n backgroundColor: theme.alpha(\"bgContainer\", \"var(--opacity, 80%)\"),\n },\n});\n\nexport { staticClasses, useClasses };\n"],"names":[],"mappings":";;AAGA,MAAM,EAAE,eAAe,eAAe,cAAc,sBAAsB;AAAA,EACxE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ,MAAM,SAAS;AAAA,IACvB,YAAY;AAAA,IACZ,iBAAiB,MAAM,MAAM,eAAe,qBAAqB;AAAA,EAAA;AAErE,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../../../src/Login/Login.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./Login.styles\";\n\nexport { staticClasses as loginClasses };\n\nexport type HvLoginClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvLoginProps extends HvBaseProps {\n /**\n * The path for the background image.\n */\n background?: string;\n /**\n * Class names to be applied.\n */\n classes?: HvLoginClasses;\n}\n\n/**\n * Container layout for the login form.\n */\nexport const HvLogin = forwardRef<\n // no-indent\n React.ComponentRef<\"div\">,\n HvLoginProps\n>(function HvLogin(props, ref) {\n const {\n className,\n classes: classesProp,\n children,\n background,\n ...others\n } = useDefaultProps(\"HvLogin\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div\n ref={ref}\n className={cx(classes.root, className)}\n style={{\n backgroundImage: background && `url(${background})`,\n }}\n {...others}\n >\n <div className={classes.formContainer}>{children}</div>\n </div>\n );\n});\n"],"names":["HvLogin"],"mappings":";;;;;AA2BO,MAAM,UAAU,WAIrB,SAASA,SAAQ,OAAO,KAAK;AACvB,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,WAAW,KAAK;AAEpC,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAG5C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACrC,OAAO;AAAA,QACL,iBAAiB,cAAc,OAAO,UAAU;AAAA,MAClD;AAAA,MACC,GAAG;AAAA,MAEJ,UAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,eAAgB,SAAS,CAAA;AAAA,IAAA;AAAA,EACnD;AAEJ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Login.styles.js","sources":["../../../src/Login/Login.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvLogin\", {\n root: {\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"bottom\",\n backgroundSize: \"cover\",\n width: \"100%\",\n height: \"100%\",\n padding: 0,\n margin: \"-1px 0 0 0\",\n },\n formContainer: {\n background: theme.colors.bgPage,\n marginLeft: \"auto\",\n maxWidth: 500,\n height: \"100%\",\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,eAAe,eAAe,cAAc,WAAW;AAAA,EACpE,MAAM;AAAA,IACJ,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,YAAY,MAAM,OAAO;AAAA,IACzB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAEZ,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiButton.js","sources":["../../../src/MultiButton/MultiButton.tsx"],"sourcesContent":["import { Children, cloneElement, isValidElement, useMemo } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\nimport { HvSize } from \"@hitachivantara/uikit-styles\";\n\nimport { HvButtonVariant } from \"../Button\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./MultiButton.styles\";\n\nexport { staticClasses as multiButtonClasses };\nexport type HvMultiButtonClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvMultiButtonProps extends HvBaseProps {\n /** If all the buttons are disabled. */\n disabled?: boolean;\n /** If the MultiButton is to be displayed vertically. */\n vertical?: boolean;\n /** Button variant to use when in `split` mode */\n variant?: HvButtonVariant;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMultiButtonClasses;\n /** Button size when in `split` mode. */\n size?: HvSize;\n /** Add a split between buttons */\n split?: boolean;\n}\n\n/**\n * Multi-buttons are grouped sets of buttons displayed horizontally or vertically in the same container.\n */\nexport const HvMultiButton = (props: HvMultiButtonProps) => {\n const {\n className,\n children,\n classes: classesProp,\n disabled = false,\n vertical = false,\n variant = \"secondarySubtle\",\n size,\n split,\n ...others\n } = useDefaultProps(\"HvMultiButton\", props);\n const { classes, cx } = useClasses(classesProp);\n\n // Filter children: remove invalid and undefined/null\n const buttons = useMemo(() => {\n const btns: React.ReactElement[] = [];\n Children.forEach(children, (child) => {\n if (child && isValidElement(child)) {\n btns.push(child);\n }\n });\n return btns;\n }, [children]);\n\n return (\n <div\n className={cx(\n classes.root,\n {\n [classes.multiple]: !split,\n [classes.vertical]: !split && vertical,\n [classes[variant as keyof HvMultiButtonClasses]]: variant, // TODO - remove in v6\n [classes.splitGroup]: split,\n [classes.splitGroupDisabled]: split && disabled,\n },\n className,\n )}\n {...others}\n >\n {buttons.map((child, index) => {\n return cloneElement(child, {\n key: index,\n variant,\n disabled: disabled || child.props.disabled,\n size,\n className: cx(classes.button, child.props.className, {\n [classes.firstButton]: index === 0,\n [classes.lastButton]: index === buttons.length - 1,\n [classes.selected]: child.props.selected,\n }),\n });\n })}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAgCa,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAC1C,QAAM,EAAE,SAAS,OAAO,WAAW,WAAW;AAGxC,QAAA,UAAU,QAAQ,MAAM;AAC5B,UAAM,OAA6B,CAAC;AAC3B,aAAA,QAAQ,UAAU,CAAC,UAAU;AAChC,UAAA,SAAS,eAAe,KAAK,GAAG;AAClC,aAAK,KAAK,KAAK;AAAA,MAAA;AAAA,IACjB,CACD;AACM,WAAA;AAAA,EAAA,GACN,CAAC,QAAQ,CAAC;AAGX,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,QAAQ,GAAG,CAAC;AAAA,UACrB,CAAC,QAAQ,QAAQ,GAAG,CAAC,SAAS;AAAA,UAC9B,CAAC,QAAQ,OAAqC,CAAC,GAAG;AAAA;AAAA,UAClD,CAAC,QAAQ,UAAU,GAAG;AAAA,UACtB,CAAC,QAAQ,kBAAkB,GAAG,SAAS;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,UAAQ,QAAA,IAAI,CAAC,OAAO,UAAU;AAC7B,eAAO,aAAa,OAAO;AAAA,UACzB,KAAK;AAAA,UACL;AAAA,UACA,UAAU,YAAY,MAAM,MAAM;AAAA,UAClC;AAAA,UACA,WAAW,GAAG,QAAQ,QAAQ,MAAM,MAAM,WAAW;AAAA,YACnD,CAAC,QAAQ,WAAW,GAAG,UAAU;AAAA,YACjC,CAAC,QAAQ,UAAU,GAAG,UAAU,QAAQ,SAAS;AAAA,YACjD,CAAC,QAAQ,QAAQ,GAAG,MAAM,MAAM;AAAA,UACjC,CAAA;AAAA,QAAA,CACF;AAAA,MACF,CAAA;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|