@hitachivantara/uikit-react-core 3.52.5 → 3.54.1
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/CHANGELOG.md +48 -0
- package/LICENSE.txt +201 -0
- package/dist/Accordion/Accordion.js +2 -2
- package/dist/Accordion/Accordion.js.map +1 -1
- package/dist/ActionBar/ActionBar.js +2 -2
- package/dist/ActionBar/ActionBar.js.map +1 -1
- package/dist/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/AssetInventory/AssetInventory.js +2 -2
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js +3 -3
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListView.js +2 -2
- package/dist/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +6 -4
- package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/AssetInventory/Search/Search.js +2 -2
- package/dist/AssetInventory/Search/Search.js.map +1 -1
- package/dist/AssetInventory/Sort/Sort.js +2 -2
- package/dist/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/Avatar/Avatar.js +2 -2
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Badge/Badge.js +2 -2
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Banner/Banner.js +2 -2
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/Barchart/Barchart.js +2 -2
- package/dist/Barchart/Barchart.js.map +1 -1
- package/dist/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/BaseInput/BaseInput.js +2 -2
- package/dist/BaseInput/BaseInput.js.map +1 -1
- package/dist/BaseRadio/BaseRadio.js +2 -2
- package/dist/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/BreadCrumb/utils.js +4 -2
- package/dist/BreadCrumb/utils.js.map +1 -1
- package/dist/BulkActions/BulkActions.js +2 -2
- package/dist/BulkActions/BulkActions.js.map +1 -1
- package/dist/Button/Button.js +2 -2
- package/dist/Button/Button.js.map +1 -1
- package/dist/Calendar/Calendar.js +2 -2
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/CalendarHeader/CalendarHeader.js +6 -4
- package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/Card/Card.js +2 -2
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Content/Content.js +2 -2
- package/dist/Card/Content/Content.js.map +1 -1
- package/dist/Card/Header/Header.js +2 -2
- package/dist/Card/Header/Header.js.map +1 -1
- package/dist/Card/Media/Media.js +2 -2
- package/dist/Card/Media/Media.js.map +1 -1
- package/dist/Chart/Chart.js +2 -2
- package/dist/Chart/Chart.js.map +1 -1
- package/dist/Chart/Plot/Plot.js +2 -2
- package/dist/Chart/Plot/Plot.js.map +1 -1
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/CheckBox/CheckBox.js +2 -2
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/Container/Container.js +2 -2
- package/dist/Container/Container.js.map +1 -1
- package/dist/DatePicker/DatePicker.js +2 -2
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/Dialog/Dialog.js +6 -4
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/Donutchart/Donutchart.js +2 -2
- package/dist/Donutchart/Donutchart.js.map +1 -1
- package/dist/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/Dropdown/Dropdown.js +2 -2
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/List/List.js +2 -2
- package/dist/Dropdown/List/List.js.map +1 -1
- package/dist/EmptyState/EmptyState.js +2 -2
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/FileUploader/File/File.js +6 -4
- package/dist/FileUploader/File/File.js.map +1 -1
- package/dist/FileUploader/FileList/FileList.js +2 -2
- package/dist/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/FileUploader/FileUploader.js +2 -2
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/FileUploader/Preview/Preview.js +5 -3
- package/dist/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/FilterGroup/Counter/Counter.js +2 -2
- package/dist/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/FilterGroup/FilterContent/FilterContent.js +9 -7
- package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/FilterGroup/FilterGroup.js +2 -2
- package/dist/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/Focus/Focus.js +2 -2
- package/dist/Focus/Focus.js.map +1 -1
- package/dist/Footer/Footer.js +2 -2
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Forms/Adornment/Adornment.js +2 -2
- package/dist/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/Forms/FormElement/FormElement.js +2 -2
- package/dist/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/Forms/Label/Label.js +6 -4
- package/dist/Forms/Label/Label.js.map +1 -1
- package/dist/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/Forms/WarningText/WarningText.js +2 -2
- package/dist/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/GlobalActions/GlobalActions.js +8 -4
- package/dist/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/Grid/Grid.js +6 -4
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Header/Actions/Actions.js +2 -2
- package/dist/Header/Actions/Actions.js.map +1 -1
- package/dist/Header/Brand/Brand.js +2 -2
- package/dist/Header/Brand/Brand.js.map +1 -1
- package/dist/Header/Header.js +2 -2
- package/dist/Header/Header.js.map +1 -1
- package/dist/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/Header/Navigation/Navigation.js +2 -2
- package/dist/Header/Navigation/Navigation.js.map +1 -1
- package/dist/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/Input/Input.js +9 -7
- package/dist/Input/Input.js.map +1 -1
- package/dist/Kpi/Kpi.js +2 -2
- package/dist/Kpi/Kpi.js.map +1 -1
- package/dist/Linechart/Linechart.js +2 -2
- package/dist/Linechart/Linechart.js.map +1 -1
- package/dist/Link/Link.js +2 -2
- package/dist/Link/Link.js.map +1 -1
- package/dist/List/List.js +4 -4
- package/dist/List/List.js.map +1 -1
- package/dist/ListContainer/ListContainer.js +2 -2
- package/dist/ListContainer/ListContainer.js.map +1 -1
- package/dist/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/Loading/Loading.js +2 -2
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Login/Login.js +2 -2
- package/dist/Login/Login.js.map +1 -1
- package/dist/MultiButton/MultiButton.js +2 -2
- package/dist/MultiButton/MultiButton.js.map +1 -1
- package/dist/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/OverflowTooltip/OverflowTooltip.js +148 -0
- package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/OverflowTooltip/index.d.ts +1 -0
- package/dist/OverflowTooltip/index.js +16 -0
- package/dist/OverflowTooltip/index.js.map +1 -0
- package/dist/Pagination/Pagination.js +2 -2
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Panel/Panel.js +2 -2
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Provider/Provider.js +5 -3
- package/dist/Provider/Provider.js.map +1 -1
- package/dist/Radio/Radio.js +2 -2
- package/dist/Radio/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroup.js +2 -2
- package/dist/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +6 -4
- package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/SelectionList/SelectionList.js +2 -2
- package/dist/SelectionList/SelectionList.js.map +1 -1
- package/dist/Snackbar/Snackbar.js +2 -2
- package/dist/Snackbar/Snackbar.js.map +1 -1
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js +207 -0
- package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/Snackbar/SnackbarProvider/index.js +49 -0
- package/dist/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/Switch/Switch.js +2 -2
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Tab/Tab.js +2 -2
- package/dist/Tab/Tab.js.map +1 -1
- package/dist/Table/Header/Header.js +3 -3
- package/dist/Table/Header/Header.js.map +1 -1
- package/dist/Table/NoData/index.js +3 -1
- package/dist/Table/NoData/index.js.map +1 -1
- package/dist/Table/Table.js +6 -4
- package/dist/Table/Table.js.map +1 -1
- package/dist/Tabs/Tabs.js +5 -3
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tag/Tag.js +6 -4
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/TagsInput/TagsInput.d.ts +33 -4
- package/dist/TagsInput/TagsInput.js +127 -21
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/TagsInput/styles.js +12 -8
- package/dist/TagsInput/styles.js.map +1 -1
- package/dist/TextArea/TextArea.js +2 -2
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +2 -2
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/Tooltip/Tooltip.js +2 -2
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Typography/Typography.js +2 -2
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/UserPreferences/Action/Action.js +2 -2
- package/dist/UserPreferences/Action/Action.js.map +1 -1
- package/dist/UserPreferences/Actions/Actions.js +2 -2
- package/dist/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/UserPreferences/Options/Option.js +2 -2
- package/dist/UserPreferences/Options/Option.js.map +1 -1
- package/dist/UserPreferences/Options/Options.js +2 -2
- package/dist/UserPreferences/Options/Options.js.map +1 -1
- package/dist/UserPreferences/UserPreferences.js +2 -2
- package/dist/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +7 -5
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js +5 -3
- package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/Accordion/Accordion.js +2 -2
- package/dist/legacy/Accordion/Accordion.js.map +1 -1
- package/dist/legacy/ActionBar/ActionBar.js +2 -2
- package/dist/legacy/ActionBar/ActionBar.js.map +1 -1
- package/dist/legacy/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/legacy/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/legacy/AssetInventory/AssetInventory.js +2 -2
- package/dist/legacy/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/legacy/AssetInventory/CardView/CardView.js +3 -3
- package/dist/legacy/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListView.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
- package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/legacy/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/legacy/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/legacy/AssetInventory/Search/Search.js +2 -2
- package/dist/legacy/AssetInventory/Search/Search.js.map +1 -1
- package/dist/legacy/AssetInventory/Sort/Sort.js +2 -2
- package/dist/legacy/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/legacy/Avatar/Avatar.js +2 -2
- package/dist/legacy/Avatar/Avatar.js.map +1 -1
- package/dist/legacy/Badge/Badge.js +2 -2
- package/dist/legacy/Badge/Badge.js.map +1 -1
- package/dist/legacy/Banner/Banner.js +2 -2
- package/dist/legacy/Banner/Banner.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/legacy/Barchart/Barchart.js +2 -2
- package/dist/legacy/Barchart/Barchart.js.map +1 -1
- package/dist/legacy/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/legacy/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/legacy/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/legacy/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/legacy/BaseInput/BaseInput.js +2 -2
- package/dist/legacy/BaseInput/BaseInput.js.map +1 -1
- package/dist/legacy/BaseRadio/BaseRadio.js +2 -2
- package/dist/legacy/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/legacy/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/legacy/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/legacy/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/legacy/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/legacy/BreadCrumb/utils.js +5 -2
- package/dist/legacy/BreadCrumb/utils.js.map +1 -1
- package/dist/legacy/BulkActions/BulkActions.js +2 -2
- package/dist/legacy/BulkActions/BulkActions.js.map +1 -1
- package/dist/legacy/Button/Button.js +2 -2
- package/dist/legacy/Button/Button.js.map +1 -1
- package/dist/legacy/Calendar/Calendar.js +2 -2
- package/dist/legacy/Calendar/Calendar.js.map +1 -1
- package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js +7 -4
- package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/legacy/Card/Card.js +2 -2
- package/dist/legacy/Card/Card.js.map +1 -1
- package/dist/legacy/Card/Content/Content.js +2 -2
- package/dist/legacy/Card/Content/Content.js.map +1 -1
- package/dist/legacy/Card/Header/Header.js +2 -2
- package/dist/legacy/Card/Header/Header.js.map +1 -1
- package/dist/legacy/Card/Media/Media.js +2 -2
- package/dist/legacy/Card/Media/Media.js.map +1 -1
- package/dist/legacy/Chart/Chart.js +2 -2
- package/dist/legacy/Chart/Chart.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.js +2 -2
- package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/CheckBox/CheckBox.js +2 -2
- package/dist/legacy/CheckBox/CheckBox.js.map +1 -1
- package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/legacy/Container/Container.js +2 -2
- package/dist/legacy/Container/Container.js.map +1 -1
- package/dist/legacy/DatePicker/DatePicker.js +2 -2
- package/dist/legacy/DatePicker/DatePicker.js.map +1 -1
- package/dist/legacy/Dialog/Dialog.js +7 -4
- package/dist/legacy/Dialog/Dialog.js.map +1 -1
- package/dist/legacy/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/legacy/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/legacy/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/legacy/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/legacy/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/legacy/Donutchart/Donutchart.js +2 -2
- package/dist/legacy/Donutchart/Donutchart.js.map +1 -1
- package/dist/legacy/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/legacy/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/legacy/Dropdown/Dropdown.js +2 -2
- package/dist/legacy/Dropdown/Dropdown.js.map +1 -1
- package/dist/legacy/Dropdown/List/List.js +2 -2
- package/dist/legacy/Dropdown/List/List.js.map +1 -1
- package/dist/legacy/EmptyState/EmptyState.js +2 -2
- package/dist/legacy/EmptyState/EmptyState.js.map +1 -1
- package/dist/legacy/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/legacy/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/legacy/FileUploader/File/File.js +6 -4
- package/dist/legacy/FileUploader/File/File.js.map +1 -1
- package/dist/legacy/FileUploader/FileList/FileList.js +2 -2
- package/dist/legacy/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/legacy/FileUploader/FileUploader.js +2 -2
- package/dist/legacy/FileUploader/FileUploader.js.map +1 -1
- package/dist/legacy/FileUploader/Preview/Preview.js +6 -3
- package/dist/legacy/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/legacy/FilterGroup/Counter/Counter.js +2 -2
- package/dist/legacy/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +7 -4
- package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroup.js +2 -2
- package/dist/legacy/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/legacy/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/legacy/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/legacy/Focus/Focus.js +2 -2
- package/dist/legacy/Focus/Focus.js.map +1 -1
- package/dist/legacy/Footer/Footer.js +2 -2
- package/dist/legacy/Footer/Footer.js.map +1 -1
- package/dist/legacy/Forms/Adornment/Adornment.js +2 -2
- package/dist/legacy/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/legacy/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/legacy/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/legacy/Forms/FormElement/FormElement.js +2 -2
- package/dist/legacy/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/legacy/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/legacy/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/legacy/Forms/Label/Label.js +7 -4
- package/dist/legacy/Forms/Label/Label.js.map +1 -1
- package/dist/legacy/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/legacy/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/legacy/Forms/WarningText/WarningText.js +2 -2
- package/dist/legacy/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/legacy/GlobalActions/GlobalActions.js +9 -4
- package/dist/legacy/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/legacy/Grid/Grid.js +5 -4
- package/dist/legacy/Grid/Grid.js.map +1 -1
- package/dist/legacy/Header/Actions/Actions.js +2 -2
- package/dist/legacy/Header/Actions/Actions.js.map +1 -1
- package/dist/legacy/Header/Brand/Brand.js +2 -2
- package/dist/legacy/Header/Brand/Brand.js.map +1 -1
- package/dist/legacy/Header/Header.js +2 -2
- package/dist/legacy/Header/Header.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/legacy/Header/Navigation/Navigation.js +2 -2
- package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/legacy/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/legacy/Input/Input.js +8 -5
- package/dist/legacy/Input/Input.js.map +1 -1
- package/dist/legacy/Kpi/Kpi.js +2 -2
- package/dist/legacy/Kpi/Kpi.js.map +1 -1
- package/dist/legacy/Linechart/Linechart.js +2 -2
- package/dist/legacy/Linechart/Linechart.js.map +1 -1
- package/dist/legacy/Link/Link.js +2 -2
- package/dist/legacy/Link/Link.js.map +1 -1
- package/dist/legacy/List/List.js +4 -4
- package/dist/legacy/List/List.js.map +1 -1
- package/dist/legacy/ListContainer/ListContainer.js +2 -2
- package/dist/legacy/ListContainer/ListContainer.js.map +1 -1
- package/dist/legacy/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/legacy/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/legacy/Loading/Loading.js +2 -2
- package/dist/legacy/Loading/Loading.js.map +1 -1
- package/dist/legacy/Login/Login.js +2 -2
- package/dist/legacy/Login/Login.js.map +1 -1
- package/dist/legacy/MultiButton/MultiButton.js +2 -2
- package/dist/legacy/MultiButton/MultiButton.js.map +1 -1
- package/dist/legacy/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js +126 -0
- package/dist/legacy/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/legacy/OverflowTooltip/index.d.ts +1 -0
- package/dist/legacy/OverflowTooltip/index.js +2 -0
- package/dist/legacy/OverflowTooltip/index.js.map +1 -0
- package/dist/legacy/Pagination/Pagination.js +2 -2
- package/dist/legacy/Pagination/Pagination.js.map +1 -1
- package/dist/legacy/Panel/Panel.js +2 -2
- package/dist/legacy/Panel/Panel.js.map +1 -1
- package/dist/legacy/Provider/Provider.js +5 -3
- package/dist/legacy/Provider/Provider.js.map +1 -1
- package/dist/legacy/Radio/Radio.js +2 -2
- package/dist/legacy/Radio/Radio.js.map +1 -1
- package/dist/legacy/RadioGroup/RadioGroup.js +2 -2
- package/dist/legacy/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
- package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/legacy/SelectionList/SelectionList.js +2 -2
- package/dist/legacy/SelectionList/SelectionList.js.map +1 -1
- package/dist/legacy/Snackbar/Snackbar.js +2 -2
- package/dist/legacy/Snackbar/Snackbar.js.map +1 -1
- package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js +169 -0
- package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.js +3 -0
- package/dist/legacy/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/legacy/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/legacy/Switch/Switch.js +2 -2
- package/dist/legacy/Switch/Switch.js.map +1 -1
- package/dist/legacy/Tab/Tab.js +2 -2
- package/dist/legacy/Tab/Tab.js.map +1 -1
- package/dist/legacy/Table/Header/Header.js +4 -2
- package/dist/legacy/Table/Header/Header.js.map +1 -1
- package/dist/legacy/Table/NoData/index.js +3 -1
- package/dist/legacy/Table/NoData/index.js.map +1 -1
- package/dist/legacy/Table/Table.js +5 -3
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/Tabs/Tabs.js +6 -3
- package/dist/legacy/Tabs/Tabs.js.map +1 -1
- package/dist/legacy/Tag/Tag.js +6 -4
- package/dist/legacy/Tag/Tag.js.map +1 -1
- package/dist/legacy/TagsInput/TagsInput.d.ts +33 -4
- package/dist/legacy/TagsInput/TagsInput.js +131 -27
- package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
- package/dist/legacy/TagsInput/styles.js +12 -8
- package/dist/legacy/TagsInput/styles.js.map +1 -1
- package/dist/legacy/TextArea/TextArea.js +2 -2
- package/dist/legacy/TextArea/TextArea.js.map +1 -1
- package/dist/legacy/ToggleButton/ToggleButton.js +2 -2
- package/dist/legacy/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/legacy/Tooltip/Tooltip.js +2 -2
- package/dist/legacy/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/Typography/Typography.js +2 -2
- package/dist/legacy/Typography/Typography.js.map +1 -1
- package/dist/legacy/UserPreferences/Action/Action.js +2 -2
- package/dist/legacy/UserPreferences/Action/Action.js.map +1 -1
- package/dist/legacy/UserPreferences/Actions/Actions.js +2 -2
- package/dist/legacy/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/legacy/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/legacy/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Option.js +2 -2
- package/dist/legacy/UserPreferences/Options/Option.js.map +1 -1
- package/dist/legacy/UserPreferences/Options/Options.js +2 -2
- package/dist/legacy/UserPreferences/Options/Options.js.map +1 -1
- package/dist/legacy/UserPreferences/UserPreferences.js +2 -2
- package/dist/legacy/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/legacy/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/legacy/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/legacy/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
- package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/legacy/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/legacy/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
- package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/legacy/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/legacy/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/legacy/index.d.ts +5 -0
- package/dist/legacy/index.js +2 -0
- package/dist/legacy/index.js.map +1 -1
- package/dist/legacy/withId.js +2 -2
- package/dist/legacy/withId.js.map +1 -1
- package/dist/legacy/withTooltip.js +3 -1
- package/dist/legacy/withTooltip.js.map +1 -1
- package/dist/modern/Accordion/Accordion.js +2 -2
- package/dist/modern/Accordion/Accordion.js.map +1 -1
- package/dist/modern/ActionBar/ActionBar.js +2 -2
- package/dist/modern/ActionBar/ActionBar.js.map +1 -1
- package/dist/modern/ActionsGeneric/ActionsGeneric.js +2 -2
- package/dist/modern/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/modern/AssetInventory/AssetInventory.js +2 -2
- package/dist/modern/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/modern/AssetInventory/CardView/CardView.js +3 -3
- package/dist/modern/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListView.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListView.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
- package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
- package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
- package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
- package/dist/modern/AssetInventory/Multibutton/Multibutton.js +2 -2
- package/dist/modern/AssetInventory/Multibutton/Multibutton.js.map +1 -1
- package/dist/modern/AssetInventory/Search/Search.js +2 -2
- package/dist/modern/AssetInventory/Search/Search.js.map +1 -1
- package/dist/modern/AssetInventory/Sort/Sort.js +2 -2
- package/dist/modern/AssetInventory/Sort/Sort.js.map +1 -1
- package/dist/modern/Avatar/Avatar.js +2 -2
- package/dist/modern/Avatar/Avatar.js.map +1 -1
- package/dist/modern/Badge/Badge.js +2 -2
- package/dist/modern/Badge/Badge.js.map +1 -1
- package/dist/modern/Banner/Banner.js +2 -2
- package/dist/modern/Banner/Banner.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
- package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
- package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
- package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
- package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/modern/Barchart/Barchart.js +2 -2
- package/dist/modern/Barchart/Barchart.js.map +1 -1
- package/dist/modern/BaseCheckBox/BaseCheckBox.js +2 -2
- package/dist/modern/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/modern/BaseDropdown/BaseDropdown.js +2 -2
- package/dist/modern/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/modern/BaseInput/BaseInput.js +2 -2
- package/dist/modern/BaseInput/BaseInput.js.map +1 -1
- package/dist/modern/BaseRadio/BaseRadio.js +2 -2
- package/dist/modern/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/modern/BaseSwitch/BaseSwitch.js +2 -2
- package/dist/modern/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/modern/BreadCrumb/BreadCrumb.js +6 -6
- package/dist/modern/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/modern/BreadCrumb/utils.js +5 -2
- package/dist/modern/BreadCrumb/utils.js.map +1 -1
- package/dist/modern/BulkActions/BulkActions.js +2 -2
- package/dist/modern/BulkActions/BulkActions.js.map +1 -1
- package/dist/modern/Button/Button.js +2 -2
- package/dist/modern/Button/Button.js.map +1 -1
- package/dist/modern/Calendar/Calendar.js +2 -2
- package/dist/modern/Calendar/Calendar.js.map +1 -1
- package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js +7 -4
- package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
- package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
- package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
- package/dist/modern/Calendar/SingleCalendar/CalendarCell.js +2 -2
- package/dist/modern/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js +2 -2
- package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/modern/Card/Card.js +2 -2
- package/dist/modern/Card/Card.js.map +1 -1
- package/dist/modern/Card/Content/Content.js +2 -2
- package/dist/modern/Card/Content/Content.js.map +1 -1
- package/dist/modern/Card/Header/Header.js +2 -2
- package/dist/modern/Card/Header/Header.js.map +1 -1
- package/dist/modern/Card/Media/Media.js +2 -2
- package/dist/modern/Card/Media/Media.js.map +1 -1
- package/dist/modern/Chart/Chart.js +2 -2
- package/dist/modern/Chart/Chart.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.js +2 -2
- package/dist/modern/Chart/Plot/Plot.js.map +1 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/Tooltip.js +2 -2
- package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/CheckBox/CheckBox.js +2 -2
- package/dist/modern/CheckBox/CheckBox.js.map +1 -1
- package/dist/modern/CheckBoxGroup/CheckBoxGroup.js +2 -2
- package/dist/modern/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/modern/Container/Container.js +2 -2
- package/dist/modern/Container/Container.js.map +1 -1
- package/dist/modern/DatePicker/DatePicker.js +2 -2
- package/dist/modern/DatePicker/DatePicker.js.map +1 -1
- package/dist/modern/Dialog/Dialog.js +7 -4
- package/dist/modern/Dialog/Dialog.js.map +1 -1
- package/dist/modern/Dialog/DialogActions/DialogActions.js +2 -2
- package/dist/modern/Dialog/DialogActions/DialogActions.js.map +1 -1
- package/dist/modern/Dialog/DialogContent/DialogContent.js +2 -2
- package/dist/modern/Dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js +2 -2
- package/dist/modern/Dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/modern/Donutchart/Donutchart.js +2 -2
- package/dist/modern/Donutchart/Donutchart.js.map +1 -1
- package/dist/modern/DropDownMenu/DropDownMenu.js +2 -2
- package/dist/modern/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/modern/Dropdown/Dropdown.js +2 -2
- package/dist/modern/Dropdown/Dropdown.js.map +1 -1
- package/dist/modern/Dropdown/List/List.js +2 -2
- package/dist/modern/Dropdown/List/List.js.map +1 -1
- package/dist/modern/EmptyState/EmptyState.js +2 -2
- package/dist/modern/EmptyState/EmptyState.js.map +1 -1
- package/dist/modern/FileUploader/DropZone/DropZone.js +2 -2
- package/dist/modern/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/modern/FileUploader/File/File.js +6 -4
- package/dist/modern/FileUploader/File/File.js.map +1 -1
- package/dist/modern/FileUploader/FileList/FileList.js +2 -2
- package/dist/modern/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/modern/FileUploader/FileUploader.js +2 -2
- package/dist/modern/FileUploader/FileUploader.js.map +1 -1
- package/dist/modern/FileUploader/Preview/Preview.js +6 -3
- package/dist/modern/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/modern/FilterGroup/Counter/Counter.js +2 -2
- package/dist/modern/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js +7 -4
- package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroup.js +2 -2
- package/dist/modern/FilterGroup/FilterGroup.js.map +1 -1
- package/dist/modern/FilterGroup/FilterGroupContext.js +2 -2
- package/dist/modern/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js +2 -2
- package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js +2 -2
- package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/modern/Focus/Focus.js +2 -2
- package/dist/modern/Focus/Focus.js.map +1 -1
- package/dist/modern/Footer/Footer.js +2 -2
- package/dist/modern/Footer/Footer.js.map +1 -1
- package/dist/modern/Forms/Adornment/Adornment.js +2 -2
- package/dist/modern/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/modern/Forms/CharCounter/CharCounter.js +2 -2
- package/dist/modern/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/modern/Forms/FormElement/FormElement.js +2 -2
- package/dist/modern/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/modern/Forms/InfoMessage/InfoMessage.js +2 -2
- package/dist/modern/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/modern/Forms/Label/Label.js +7 -4
- package/dist/modern/Forms/Label/Label.js.map +1 -1
- package/dist/modern/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/modern/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/modern/Forms/WarningText/WarningText.js +2 -2
- package/dist/modern/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/modern/GlobalActions/GlobalActions.js +9 -4
- package/dist/modern/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/modern/Grid/Grid.js +3 -3
- package/dist/modern/Grid/Grid.js.map +1 -1
- package/dist/modern/Header/Actions/Actions.js +2 -2
- package/dist/modern/Header/Actions/Actions.js.map +1 -1
- package/dist/modern/Header/Brand/Brand.js +2 -2
- package/dist/modern/Header/Brand/Brand.js.map +1 -1
- package/dist/modern/Header/Header.js +2 -2
- package/dist/modern/Header/Header.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +2 -2
- package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +2 -2
- package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/modern/Header/Navigation/Navigation.js +2 -2
- package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
- package/dist/modern/Header/Navigation/utils/FocusContext.js +2 -2
- package/dist/modern/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/modern/Input/Input.js +8 -5
- package/dist/modern/Input/Input.js.map +1 -1
- package/dist/modern/Kpi/Kpi.js +2 -2
- package/dist/modern/Kpi/Kpi.js.map +1 -1
- package/dist/modern/Linechart/Linechart.js +2 -2
- package/dist/modern/Linechart/Linechart.js.map +1 -1
- package/dist/modern/Link/Link.js +2 -2
- package/dist/modern/Link/Link.js.map +1 -1
- package/dist/modern/List/List.js +4 -4
- package/dist/modern/List/List.js.map +1 -1
- package/dist/modern/ListContainer/ListContainer.js +2 -2
- package/dist/modern/ListContainer/ListContainer.js.map +1 -1
- package/dist/modern/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/modern/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/modern/Loading/Loading.js +2 -2
- package/dist/modern/Loading/Loading.js.map +1 -1
- package/dist/modern/Login/Login.js +2 -2
- package/dist/modern/Login/Login.js.map +1 -1
- package/dist/modern/MultiButton/MultiButton.js +2 -2
- package/dist/modern/MultiButton/MultiButton.js.map +1 -1
- package/dist/modern/OverflowTooltip/OverflowTooltip.d.ts +29 -0
- package/dist/modern/OverflowTooltip/OverflowTooltip.js +120 -0
- package/dist/modern/OverflowTooltip/OverflowTooltip.js.map +1 -0
- package/dist/modern/OverflowTooltip/index.d.ts +1 -0
- package/dist/modern/OverflowTooltip/index.js +2 -0
- package/dist/modern/OverflowTooltip/index.js.map +1 -0
- package/dist/modern/Pagination/Pagination.js +2 -2
- package/dist/modern/Pagination/Pagination.js.map +1 -1
- package/dist/modern/Panel/Panel.js +2 -2
- package/dist/modern/Panel/Panel.js.map +1 -1
- package/dist/modern/Provider/Provider.js +5 -3
- package/dist/modern/Provider/Provider.js.map +1 -1
- package/dist/modern/Radio/Radio.js +2 -2
- package/dist/modern/Radio/Radio.js.map +1 -1
- package/dist/modern/RadioGroup/RadioGroup.js +2 -2
- package/dist/modern/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
- package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
- package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js +2 -2
- package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
- package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/modern/SelectionList/SelectionList.js +2 -2
- package/dist/modern/SelectionList/SelectionList.js.map +1 -1
- package/dist/modern/Snackbar/Snackbar.js +2 -2
- package/dist/modern/Snackbar/Snackbar.js.map +1 -1
- package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
- package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js +155 -0
- package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.d.ts +2 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.js +3 -0
- package/dist/modern/Snackbar/SnackbarProvider/index.js.map +1 -0
- package/dist/modern/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
- package/dist/modern/Switch/Switch.js +2 -2
- package/dist/modern/Switch/Switch.js.map +1 -1
- package/dist/modern/Tab/Tab.js +2 -2
- package/dist/modern/Tab/Tab.js.map +1 -1
- package/dist/modern/Table/Header/Header.js +4 -2
- package/dist/modern/Table/Header/Header.js.map +1 -1
- package/dist/modern/Table/NoData/index.js +3 -1
- package/dist/modern/Table/NoData/index.js.map +1 -1
- package/dist/modern/Table/Table.js +5 -3
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/Tabs/Tabs.js +6 -3
- package/dist/modern/Tabs/Tabs.js.map +1 -1
- package/dist/modern/Tag/Tag.js +6 -4
- package/dist/modern/Tag/Tag.js.map +1 -1
- package/dist/modern/TagsInput/TagsInput.d.ts +33 -4
- package/dist/modern/TagsInput/TagsInput.js +110 -21
- package/dist/modern/TagsInput/TagsInput.js.map +1 -1
- package/dist/modern/TagsInput/styles.js +12 -8
- package/dist/modern/TagsInput/styles.js.map +1 -1
- package/dist/modern/TextArea/TextArea.js +2 -2
- package/dist/modern/TextArea/TextArea.js.map +1 -1
- package/dist/modern/ToggleButton/ToggleButton.js +2 -2
- package/dist/modern/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/modern/Tooltip/Tooltip.js +2 -2
- package/dist/modern/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/Typography/Typography.js +2 -2
- package/dist/modern/Typography/Typography.js.map +1 -1
- package/dist/modern/UserPreferences/Action/Action.js +2 -2
- package/dist/modern/UserPreferences/Action/Action.js.map +1 -1
- package/dist/modern/UserPreferences/Actions/Actions.js +2 -2
- package/dist/modern/UserPreferences/Actions/Actions.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Group/Group.js +2 -2
- package/dist/modern/UserPreferences/Options/Group/Group.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Label/Label.js +2 -2
- package/dist/modern/UserPreferences/Options/Label/Label.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Option.js +2 -2
- package/dist/modern/UserPreferences/Options/Option.js.map +1 -1
- package/dist/modern/UserPreferences/Options/Options.js +2 -2
- package/dist/modern/UserPreferences/Options/Options.js.map +1 -1
- package/dist/modern/UserPreferences/UserPreferences.js +2 -2
- package/dist/modern/UserPreferences/UserPreferences.js.map +1 -1
- package/dist/modern/VerticalNavigation/Actions/Action.js +2 -2
- package/dist/modern/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/modern/VerticalNavigation/Actions/Actions.js +2 -2
- package/dist/modern/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js +2 -2
- package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeView.js +2 -2
- package/dist/modern/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
- package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/modern/VerticalNavigation/TreeView/descendants.js +2 -2
- package/dist/modern/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
- package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
- package/dist/modern/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/modern/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/modern/index.d.ts +5 -0
- package/dist/modern/index.js +2 -0
- package/dist/modern/index.js.map +1 -1
- package/dist/modern/withId.js +2 -2
- package/dist/modern/withId.js.map +1 -1
- package/dist/modern/withTooltip.js +32 -27
- package/dist/modern/withTooltip.js.map +1 -1
- package/dist/withId.js +2 -2
- package/dist/withId.js.map +1 -1
- package/dist/withTooltip.js +4 -2
- package/dist/withTooltip.js.map +1 -1
- package/package.json +8 -7
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { StandardProps } from "@material-ui/core";
|
|
2
2
|
import { HvTagProps } from "../Tag/Tag";
|
|
3
3
|
import { HvCharCounterProps } from "../Forms/CharCounter";
|
|
4
|
+
import { HvFormStatus } from "../Forms/FormElement";
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
+
import { HvInputProps } from "..";
|
|
7
|
+
import { HvBaseInputValidationMessagesProps } from "../BaseInput";
|
|
6
8
|
|
|
7
9
|
export type HvTagsInputClassKey =
|
|
8
10
|
| "root"
|
|
@@ -12,10 +14,11 @@ export type HvTagsInputClassKey =
|
|
|
12
14
|
| "labelContainer"
|
|
13
15
|
| "label"
|
|
14
16
|
| "characterCounter"
|
|
15
|
-
| "description"
|
|
17
|
+
| "description"
|
|
18
|
+
| "error";
|
|
16
19
|
|
|
17
20
|
export interface HvTagsInputProps
|
|
18
|
-
extends StandardProps<
|
|
21
|
+
extends StandardProps<HvInputProps, HvTagsInputClassKey, "onChange" | "onBlur"> {
|
|
19
22
|
/**
|
|
20
23
|
* The label of the form element.
|
|
21
24
|
*
|
|
@@ -48,6 +51,10 @@ export interface HvTagsInputProps
|
|
|
48
51
|
* Indicates that the form element is not editable.
|
|
49
52
|
*/
|
|
50
53
|
readOnly?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Indicates that the form element is required.
|
|
56
|
+
*/
|
|
57
|
+
required?: boolean;
|
|
51
58
|
|
|
52
59
|
/**
|
|
53
60
|
* If `true` it should autofocus.
|
|
@@ -95,7 +102,29 @@ export interface HvTagsInputProps
|
|
|
95
102
|
/**
|
|
96
103
|
* Called back when the value is changed.
|
|
97
104
|
*/
|
|
98
|
-
onChange?: (
|
|
105
|
+
onChange?: (
|
|
106
|
+
event:
|
|
107
|
+
| React.ChangeEvent<HTMLInputElement>
|
|
108
|
+
| React.KeyboardEvent<HTMLInputElement>
|
|
109
|
+
| React.MouseEvent<HTMLButtonElement>
|
|
110
|
+
| React.MouseEvent<HTMLElement, MouseEvent>
|
|
111
|
+
| React.KeyboardEventHandler<HTMLElement>,
|
|
112
|
+
value: HvTagProps[]
|
|
113
|
+
) => void;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The status of the form element.
|
|
117
|
+
*/
|
|
118
|
+
status?: HvFormStatus;
|
|
119
|
+
/**
|
|
120
|
+
* The error message to show when `status` is "invalid".
|
|
121
|
+
*/
|
|
122
|
+
statusMessage?: React.ReactNode;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* An Object containing the various texts associated with the input.
|
|
126
|
+
*/
|
|
127
|
+
validationMessages?: HvBaseInputValidationMessagesProps;
|
|
99
128
|
}
|
|
100
129
|
|
|
101
130
|
export default function HvTagsInput(props: HvTagsInputProps): JSX.Element | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
const _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline"],
|
|
4
|
+
const _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "required", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline", "status", "statusMessage", "validationMessages"],
|
|
5
5
|
_excluded2 = ["label", "type"];
|
|
6
6
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -14,10 +14,12 @@ import PropTypes from "prop-types";
|
|
|
14
14
|
import clsx from "clsx";
|
|
15
15
|
import { withStyles } from "@material-ui/core";
|
|
16
16
|
import { setId, useControlled } from "../utils";
|
|
17
|
-
import { HvFormElement, HvListContainer, HvListItem, HvTag, HvInput, HvLabel, HvInfoMessage, HvCharCounter, useUniqueId } from "..";
|
|
17
|
+
import { HvFormElement, HvListContainer, HvListItem, HvTag, HvInput, HvLabel, HvInfoMessage, HvCharCounter, HvWarningText, useUniqueId } from "..";
|
|
18
|
+
import validationStates from "../Forms/FormElement/validationStates";
|
|
19
|
+
import { DEFAULT_ERROR_MESSAGES } from "../BaseInput/validations";
|
|
18
20
|
import styles from "./styles";
|
|
19
21
|
/**
|
|
20
|
-
* A
|
|
22
|
+
* A tags input is a single or multiline control that allows the input of tags.
|
|
21
23
|
*/
|
|
22
24
|
|
|
23
25
|
const HvTagsInput = props => {
|
|
@@ -30,6 +32,7 @@ const HvTagsInput = props => {
|
|
|
30
32
|
defaultValue = [],
|
|
31
33
|
readOnly = false,
|
|
32
34
|
disabled = false,
|
|
35
|
+
required = false,
|
|
33
36
|
label: textAreaLabel,
|
|
34
37
|
"aria-label": ariaLabel,
|
|
35
38
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -44,7 +47,10 @@ const HvTagsInput = props => {
|
|
|
44
47
|
resizable = true,
|
|
45
48
|
inputProps = {},
|
|
46
49
|
countCharProps = {},
|
|
47
|
-
multiline = false
|
|
50
|
+
multiline = false,
|
|
51
|
+
status,
|
|
52
|
+
statusMessage,
|
|
53
|
+
validationMessages
|
|
48
54
|
} = props,
|
|
49
55
|
others = _objectWithoutProperties(props, _excluded);
|
|
50
56
|
|
|
@@ -54,6 +60,9 @@ const HvTagsInput = props => {
|
|
|
54
60
|
const [value, setValue] = useControlled(valueProp, defaultValue);
|
|
55
61
|
const [tagInput, setTagInput] = useState("");
|
|
56
62
|
const [tagCursorPos, setTagCursorPos] = useState(value.length);
|
|
63
|
+
const [validationState, setValidationState] = useControlled(status, validationStates.standBy);
|
|
64
|
+
const [validationMessage, setValidationMessage] = useControlled(statusMessage, "");
|
|
65
|
+
const [stateValid, setStateValid] = useState(true);
|
|
57
66
|
const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;
|
|
58
67
|
const hasCounter = maxTagsQuantity != null && !hideCounter;
|
|
59
68
|
const isStateInvalid = useMemo(() => {
|
|
@@ -61,6 +70,20 @@ const HvTagsInput = props => {
|
|
|
61
70
|
}, [hasCounter, maxTagsQuantity, value.length]);
|
|
62
71
|
const inputRef = useRef();
|
|
63
72
|
const containerRef = useRef();
|
|
73
|
+
const errorMessages = useMemo(() => _objectSpread(_objectSpread({}, DEFAULT_ERROR_MESSAGES), validationMessages), // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
|
+
[validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.error, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.requiredError, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.minCharError, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.maxCharError]);
|
|
75
|
+
const performValidation = useCallback(currValue => {
|
|
76
|
+
if (maxTagsQuantity !== null && currValue.length > maxTagsQuantity) {
|
|
77
|
+
setValidationState(validationStates.invalid);
|
|
78
|
+
setValidationMessage(errorMessages.maxCharError);
|
|
79
|
+
setStateValid(false);
|
|
80
|
+
} else {
|
|
81
|
+
setValidationState(validationStates.valid);
|
|
82
|
+
setValidationMessage("");
|
|
83
|
+
setStateValid(true);
|
|
84
|
+
}
|
|
85
|
+
}, [errorMessages.maxCharError, maxTagsQuantity, setValidationMessage, setValidationState]);
|
|
86
|
+
const canShowError = status !== undefined && status === "invalid" && statusMessage !== undefined || !stateValid;
|
|
64
87
|
/**
|
|
65
88
|
* Handler for the `onChange` event on the tag input
|
|
66
89
|
*/
|
|
@@ -96,6 +119,8 @@ const HvTagsInput = props => {
|
|
|
96
119
|
*/
|
|
97
120
|
|
|
98
121
|
const onEnterHandler = useCallback((event, tag) => {
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
|
|
99
124
|
if (tag !== "") {
|
|
100
125
|
const newTagsArr = [...value, {
|
|
101
126
|
label: tag,
|
|
@@ -104,9 +129,10 @@ const HvTagsInput = props => {
|
|
|
104
129
|
setValue(newTagsArr);
|
|
105
130
|
setTagInput("");
|
|
106
131
|
setTagCursorPos(newTagsArr.length);
|
|
107
|
-
|
|
132
|
+
performValidation(newTagsArr);
|
|
133
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
108
134
|
}
|
|
109
|
-
}, [onChange, setValue, value]);
|
|
135
|
+
}, [onChange, performValidation, setValue, value]);
|
|
110
136
|
/**
|
|
111
137
|
* Handler for the `onKeyDown` event on the list container.
|
|
112
138
|
*/
|
|
@@ -130,7 +156,8 @@ const HvTagsInput = props => {
|
|
|
130
156
|
setValue(newTagsArr);
|
|
131
157
|
setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
|
|
132
158
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
133
|
-
|
|
159
|
+
performValidation(newTagsArr);
|
|
160
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
134
161
|
} else {
|
|
135
162
|
setTagCursorPos(value.length - 1);
|
|
136
163
|
}
|
|
@@ -145,7 +172,8 @@ const HvTagsInput = props => {
|
|
|
145
172
|
setValue(newTagsArr);
|
|
146
173
|
setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
|
|
147
174
|
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
|
|
148
|
-
|
|
175
|
+
performValidation(newTagsArr);
|
|
176
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
149
177
|
}
|
|
150
178
|
|
|
151
179
|
break;
|
|
@@ -154,20 +182,22 @@ const HvTagsInput = props => {
|
|
|
154
182
|
break;
|
|
155
183
|
}
|
|
156
184
|
}
|
|
157
|
-
}, [isTagSelected, onChange, setValue, tagCursorPos, tagInput, value]);
|
|
185
|
+
}, [isTagSelected, onChange, performValidation, setValue, tagCursorPos, tagInput, value]);
|
|
158
186
|
/**
|
|
159
187
|
* Handler for the `onDelete` event on the tag component
|
|
160
188
|
*/
|
|
161
189
|
|
|
162
|
-
const onDeleteTagHandler = useCallback(i => {
|
|
190
|
+
const onDeleteTagHandler = useCallback((event, i) => {
|
|
163
191
|
var _inputRef$current3;
|
|
164
192
|
|
|
165
193
|
const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];
|
|
194
|
+
setValidationState(validationStates.standBy);
|
|
166
195
|
setValue(newTagsArr);
|
|
167
196
|
setTagCursorPos(newTagsArr.length);
|
|
168
197
|
(_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
|
|
169
|
-
|
|
170
|
-
|
|
198
|
+
performValidation(newTagsArr);
|
|
199
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
200
|
+
}, [value, setValidationState, setValue, performValidation, onChange]);
|
|
171
201
|
/**
|
|
172
202
|
* Handler for the `onClick` event on the list container
|
|
173
203
|
*/
|
|
@@ -183,6 +213,8 @@ const HvTagsInput = props => {
|
|
|
183
213
|
name: name,
|
|
184
214
|
disabled: disabled,
|
|
185
215
|
readOnly: readOnly,
|
|
216
|
+
status: validationState,
|
|
217
|
+
required: required,
|
|
186
218
|
className: clsx(classes.root, className, disabled && classes.disabled)
|
|
187
219
|
}, (hasLabel || hasDescription) && /*#__PURE__*/React.createElement("div", {
|
|
188
220
|
className: classes.labelContainer
|
|
@@ -201,7 +233,7 @@ const HvTagsInput = props => {
|
|
|
201
233
|
currentCharQuantity: value.length,
|
|
202
234
|
maxCharQuantity: maxTagsQuantity
|
|
203
235
|
}, countCharProps)), /*#__PURE__*/React.createElement(HvListContainer, {
|
|
204
|
-
className: clsx(classes.tagsList, multiline ? resizable && classes.resizable : classes.singleLine, isStateInvalid && classes.invalid),
|
|
236
|
+
className: clsx(classes.tagsList, multiline ? resizable && classes.resizable : classes.singleLine, canShowError && classes.error, isStateInvalid && classes.invalid),
|
|
205
237
|
onKeyDown: onKeyDownHandler,
|
|
206
238
|
onClick: onContainerClickHandler,
|
|
207
239
|
ref: containerRef
|
|
@@ -230,9 +262,12 @@ const HvTagsInput = props => {
|
|
|
230
262
|
}, /*#__PURE__*/React.createElement(HvTag, _extends({
|
|
231
263
|
label: label,
|
|
232
264
|
className: clsx(i === tagCursorPos && classes.tagSelected),
|
|
265
|
+
classes: {
|
|
266
|
+
chipRoot: classes.chipRoot
|
|
267
|
+
},
|
|
233
268
|
type: type
|
|
234
269
|
}, !(readOnly || disabled || type === "categorical") && {
|
|
235
|
-
onDelete:
|
|
270
|
+
onDelete: event => onDeleteTagHandler(event, i)
|
|
236
271
|
}, {
|
|
237
272
|
deleteButtonProps: {
|
|
238
273
|
tabIndex: -1
|
|
@@ -267,10 +302,14 @@ const HvTagsInput = props => {
|
|
|
267
302
|
"aria-describedby": ariaDescribedBy != null ? ariaDescribedBy : description && setId(elementId, "description")
|
|
268
303
|
}, inputProps),
|
|
269
304
|
inputRef: inputRef
|
|
270
|
-
}, others))))
|
|
305
|
+
}, others)))), canShowError && /*#__PURE__*/React.createElement(HvWarningText, {
|
|
306
|
+
id: setId(elementId, "error"),
|
|
307
|
+
disableBorder: true,
|
|
308
|
+
className: classes.error
|
|
309
|
+
}, validationMessage));
|
|
271
310
|
};
|
|
272
311
|
|
|
273
|
-
HvTagsInput.propTypes = {
|
|
312
|
+
process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
|
|
274
313
|
/**
|
|
275
314
|
* Class names to be applied.
|
|
276
315
|
*/
|
|
@@ -300,6 +339,11 @@ HvTagsInput.propTypes = {
|
|
|
300
339
|
*/
|
|
301
340
|
root: PropTypes.string,
|
|
302
341
|
|
|
342
|
+
/**
|
|
343
|
+
*
|
|
344
|
+
*/
|
|
345
|
+
chipRoot: PropTypes.string,
|
|
346
|
+
|
|
303
347
|
/**
|
|
304
348
|
* Style applied to the root when resizable is `true`.
|
|
305
349
|
*/
|
|
@@ -366,9 +410,14 @@ HvTagsInput.propTypes = {
|
|
|
366
410
|
tagInputRootFocused: PropTypes.string,
|
|
367
411
|
|
|
368
412
|
/**
|
|
369
|
-
* Styles applied to the container when in single line mode
|
|
413
|
+
* Styles applied to the container when in single line mode.
|
|
370
414
|
*/
|
|
371
|
-
singleLine: PropTypes.string
|
|
415
|
+
singleLine: PropTypes.string,
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Styles applied to the tags list when an error occurred.
|
|
419
|
+
*/
|
|
420
|
+
error: PropTypes.string
|
|
372
421
|
}).isRequired,
|
|
373
422
|
|
|
374
423
|
/**
|
|
@@ -429,6 +478,11 @@ HvTagsInput.propTypes = {
|
|
|
429
478
|
*/
|
|
430
479
|
readOnly: PropTypes.bool,
|
|
431
480
|
|
|
481
|
+
/**
|
|
482
|
+
* Indicates that the form element is required.
|
|
483
|
+
*/
|
|
484
|
+
required: PropTypes.bool,
|
|
485
|
+
|
|
432
486
|
/**
|
|
433
487
|
* The function that will be executed onChange.
|
|
434
488
|
*/
|
|
@@ -478,8 +532,43 @@ HvTagsInput.propTypes = {
|
|
|
478
532
|
/**
|
|
479
533
|
* If `true` the component is in multiline mode.
|
|
480
534
|
*/
|
|
481
|
-
multiline: PropTypes.bool
|
|
482
|
-
|
|
535
|
+
multiline: PropTypes.bool,
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* The status of the form element.
|
|
539
|
+
*/
|
|
540
|
+
status: PropTypes.string,
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* The error message to show when `status` is "invalid".
|
|
544
|
+
*/
|
|
545
|
+
statusMessage: PropTypes.string,
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* An Object containing the various texts associated with the input.
|
|
549
|
+
*/
|
|
550
|
+
validationMessages: PropTypes.shape({
|
|
551
|
+
/**
|
|
552
|
+
* The value when a validation fails.
|
|
553
|
+
*/
|
|
554
|
+
error: PropTypes.string,
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* The message that appears when there are too many characters.
|
|
558
|
+
*/
|
|
559
|
+
maxCharError: PropTypes.string,
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* The message that appears when there are too few characters.
|
|
563
|
+
*/
|
|
564
|
+
minCharError: PropTypes.string,
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* The message that appears when the input is empty and required.
|
|
568
|
+
*/
|
|
569
|
+
requiredError: PropTypes.string
|
|
570
|
+
})
|
|
571
|
+
} : void 0;
|
|
483
572
|
export default withStyles(styles, {
|
|
484
573
|
name: "HvTagsInput"
|
|
485
574
|
})(HvTagsInput);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TagsInput/TagsInput.js"],"names":["React","useRef","useState","useCallback","useMemo","useEffect","PropTypes","clsx","withStyles","setId","useControlled","HvFormElement","HvListContainer","HvListItem","HvTag","HvInput","HvLabel","HvInfoMessage","HvCharCounter","useUniqueId","styles","HvTagsInput","props","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","others","elementId","hasLabel","hasDescription","setValue","tagInput","setTagInput","tagCursorPos","setTagCursorPos","length","isTagSelected","hasCounter","isStateInvalid","inputRef","containerRef","onChangeHandler","event","input","element","document","getElementById","offset","offsetWidth","current","scrollBy","tagId","setTimeout","scrollLeft","offsetLeft","getBoundingClientRect","width","focus","onEnterHandler","tag","newTagsArr","type","onKeyDownHandler","code","slice","onDeleteTagHandler","i","onContainerClickHandler","root","labelContainer","characterCounter","tagsList","singleLine","invalid","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","onDelete","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","propTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useCallback, useMemo, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n useUniqueId,\n} from \"..\";\nimport styles from \"./styles\";\n\n/**\n * A text area is a multiline text input box, with an optional character counter when there is a length limit.\n */\nconst HvTagsInput = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n value: valueProp,\n defaultValue = [],\n\n readOnly = false,\n disabled = false,\n\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n placeholder,\n\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n\n autoFocus = false,\n resizable = true,\n\n inputProps = {},\n countCharProps = {},\n\n multiline = false,\n\n ...others\n } = props;\n\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const inputRef = useRef();\n const containerRef = useRef();\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback((event, input) => {\n setTagInput(input);\n }, []);\n\n useEffect(() => {\n // keep scroll focused on the input when the value changes\n if (!multiline) {\n const element = document.getElementById(\"tag-input\");\n const offset = element?.offsetWidth;\n containerRef?.current?.scrollBy?.(offset ?? 0, 0);\n }\n }, [multiline, value]);\n\n useEffect(() => {\n if (!multiline) {\n const tagId = `tag-${tagCursorPos}`;\n const element = document.getElementById(tagId);\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n containerRef.current.scrollLeft = element\n ? element.offsetLeft -\n containerRef.current.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagCursorPos]);\n\n /**\n * Handler for the `onEnter` event on the tag input\n */\n const onEnterHandler = useCallback(\n (event, tag) => {\n if (tag !== \"\") {\n const newTagsArr = [...value, { label: tag, type: \"semantic\" }];\n setValue(newTagsArr);\n setTagInput(\"\");\n setTagCursorPos(newTagsArr.length);\n\n onChange?.(newTagsArr);\n }\n },\n [onChange, setValue, value]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(tagCursorPos < value.length ? tagCursorPos + 1 : value.length);\n break;\n case \"Backspace\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n }\n break;\n default:\n break;\n }\n }\n },\n [isTagSelected, onChange, setValue, tagCursorPos, tagInput, value]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (i) => {\n const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];\n setValue(newTagsArr);\n setTagCursorPos(newTagsArr.length);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n },\n [value, setValue, onChange]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n setTagCursorPos(value.length);\n }, [value.length]);\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n className={clsx(classes.root, className, {\n [classes.disabled]: disabled,\n })}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n className={classes.label}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage className={classes.description} id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n {hasCounter && (\n <HvCharCounter\n id={setId(elementId, \"charCounter\")}\n className={classes.characterCounter}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <HvListContainer\n className={clsx(\n classes.tagsList,\n resizable && multiline && classes.resizable,\n isStateInvalid && classes.invalid,\n !multiline && classes.singleLine\n )}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <HvListItem\n // eslint-disable-next-line react/no-array-index-key\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n gutters: classes.listItemGutters,\n root: classes.listItemRoot,\n }}\n id={`tag-${i}`}\n >\n <HvTag\n label={label}\n className={clsx(i === tagCursorPos && classes.tagSelected)}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: () => onDeleteTagHandler(i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n {...otherProps}\n />\n </HvListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <HvListItem\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputContainerRoot,\n gutters: classes.listItemGutters,\n }}\n id={`tag-${value.length}`}\n >\n <HvInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onEnter={onEnterHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputRoot,\n input: classes.input,\n inputBorderContainer: classes.tagInputBorderContainer,\n inputRootFocused: classes.tagInputRootFocused,\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : description && setId(elementId, \"description\"),\n\n ...inputProps,\n }}\n inputRef={inputRef}\n {...others}\n />\n </HvListItem>\n )}\n </HvListContainer>\n </HvFormElement>\n );\n};\n\nHvTagsInput.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.PropTypes.shape({\n /**\n * Styles applied to the input element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the list item gutters.\n */\n listItemGutters: PropTypes.string,\n /**\n * Styles applied to the list item element.\n */\n listItemRoot: PropTypes.string,\n /**\n * Styles applied to the root container of the textarea.\n */\n root: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n disabled: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n resizable: PropTypes.string,\n /**\n * Style applied to the root when invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to text area container that holds the label, description and counter.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n description: PropTypes.string,\n /**\n * Style applied on the character counter.\n */\n characterCounter: PropTypes.string,\n /**\n * Styles applied to the tags list container element.\n */\n tagsList: PropTypes.string,\n /**\n * Styles applied to the tag input container element.\n */\n tagInputContainerRoot: PropTypes.string,\n /**\n * Styles applied to the tag input element.\n */\n tagInputRoot: PropTypes.string,\n /**\n * Styles applied to a tag element when selected\n */\n tagSelected: PropTypes.string,\n /**\n * Styles applied to the input element border.\n */\n tagInputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the input element when focused.\n */\n tagInputRootFocused: PropTypes.string,\n /**\n * Styles applied to the container when in single line mode§.\n */\n singleLine: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n /**\n * The form element name.\n */\n name: PropTypes.string,\n /**\n * The value of the form element.\n */\n value: PropTypes.array,\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.array,\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: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the form element is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * The function that will be executed onChange.\n */\n onChange: PropTypes.func,\n /**\n * The placeholder value of the input.\n */\n placeholder: PropTypes.string,\n /**\n * If `true` the character counter isn't shown even if maxTagsQuantity is set.\n */\n hideCounter: PropTypes.bool,\n /**\n * Text between the current char counter and max value.\n */\n middleCountLabel: PropTypes.string,\n /**\n * The maximum allowed length of the characters, if this value is null no check\n * will be performed.\n */\n maxTagsQuantity: PropTypes.number,\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * If `true` it should autofocus.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true` the component is resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Props passed to the HvCharCount component.\n */\n countCharProps: PropTypes.instanceOf(Object),\n /**\n * If `true` the component is in multiline mode.\n */\n multiline: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/TagsInput/TagsInput.js"],"names":["React","useRef","useState","useCallback","useMemo","useEffect","PropTypes","clsx","withStyles","setId","useControlled","HvFormElement","HvListContainer","HvListItem","HvTag","HvInput","HvLabel","HvInfoMessage","HvCharCounter","HvWarningText","useUniqueId","validationStates","DEFAULT_ERROR_MESSAGES","styles","HvTagsInput","props","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","others","elementId","hasLabel","hasDescription","setValue","tagInput","setTagInput","tagCursorPos","setTagCursorPos","length","validationState","setValidationState","standBy","validationMessage","setValidationMessage","stateValid","setStateValid","isTagSelected","hasCounter","isStateInvalid","inputRef","containerRef","errorMessages","error","requiredError","minCharError","maxCharError","performValidation","currValue","invalid","valid","canShowError","undefined","onChangeHandler","event","input","element","document","getElementById","offset","offsetWidth","current","scrollBy","tagId","setTimeout","scrollLeft","offsetLeft","getBoundingClientRect","width","focus","onEnterHandler","tag","preventDefault","newTagsArr","type","onKeyDownHandler","code","slice","onDeleteTagHandler","i","onContainerClickHandler","root","labelContainer","characterCounter","tagsList","singleLine","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","chipRoot","onDelete","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","propTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useCallback, useMemo, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n HvWarningText,\n useUniqueId,\n} from \"..\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport styles from \"./styles\";\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nconst HvTagsInput = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n value: valueProp,\n defaultValue = [],\n\n readOnly = false,\n disabled = false,\n required = false,\n\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n placeholder,\n\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n\n autoFocus = false,\n resizable = true,\n\n inputProps = {},\n countCharProps = {},\n\n multiline = false,\n\n status,\n statusMessage,\n\n validationMessages,\n\n ...others\n } = props;\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n\n const [validationState, setValidationState] = useControlled(status, validationStates.standBy);\n const [validationMessage, setValidationMessage] = useControlled(statusMessage, \"\");\n\n const [stateValid, setStateValid] = useState(true);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const inputRef = useRef();\n const containerRef = useRef();\n\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 ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (maxTagsQuantity !== null && currValue.length > maxTagsQuantity) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [errorMessages.maxCharError, maxTagsQuantity, setValidationMessage, setValidationState]\n );\n\n const canShowError =\n (status !== undefined && status === \"invalid\" && statusMessage !== undefined) || !stateValid;\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback((event, input) => {\n setTagInput(input);\n }, []);\n\n useEffect(() => {\n // keep scroll focused on the input when the value changes\n if (!multiline) {\n const element = document.getElementById(\"tag-input\");\n const offset = element?.offsetWidth;\n containerRef?.current?.scrollBy?.(offset ?? 0, 0);\n }\n }, [multiline, value]);\n\n useEffect(() => {\n if (!multiline) {\n const tagId = `tag-${tagCursorPos}`;\n const element = document.getElementById(tagId);\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n containerRef.current.scrollLeft = element\n ? element.offsetLeft -\n containerRef.current.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagCursorPos]);\n\n /**\n * Handler for the `onEnter` event on the tag input\n */\n const onEnterHandler = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTagsArr = [...value, { label: tag, type: \"semantic\" }];\n setValue(newTagsArr);\n setTagInput(\"\");\n setTagCursorPos(newTagsArr.length);\n performValidation(newTagsArr);\n\n onChange?.(event, newTagsArr);\n }\n },\n [onChange, performValidation, setValue, value]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(tagCursorPos < value.length ? tagCursorPos + 1 : value.length);\n break;\n case \"Backspace\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n }\n break;\n default:\n break;\n }\n }\n },\n [isTagSelected, onChange, performValidation, setValue, tagCursorPos, tagInput, value]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];\n setValidationState(validationStates.standBy);\n setValue(newTagsArr);\n setTagCursorPos(newTagsArr.length);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n },\n [value, setValidationState, setValue, performValidation, onChange]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n setTagCursorPos(value.length);\n }, [value.length]);\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n className={clsx(classes.root, className, {\n [classes.disabled]: disabled,\n })}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n className={classes.label}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage className={classes.description} id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n {hasCounter && (\n <HvCharCounter\n id={setId(elementId, \"charCounter\")}\n className={classes.characterCounter}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <HvListContainer\n className={clsx(\n classes.tagsList,\n canShowError && classes.error,\n resizable && multiline && classes.resizable,\n isStateInvalid && classes.invalid,\n !multiline && classes.singleLine\n )}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <HvListItem\n // eslint-disable-next-line react/no-array-index-key\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n gutters: classes.listItemGutters,\n root: classes.listItemRoot,\n }}\n id={`tag-${i}`}\n >\n <HvTag\n label={label}\n className={clsx(i === tagCursorPos && classes.tagSelected)}\n classes={{\n chipRoot: classes.chipRoot,\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n {...otherProps}\n />\n </HvListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <HvListItem\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputContainerRoot,\n gutters: classes.listItemGutters,\n }}\n id={`tag-${value.length}`}\n >\n <HvInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onEnter={onEnterHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputRoot,\n input: classes.input,\n inputBorderContainer: classes.tagInputBorderContainer,\n inputRootFocused: classes.tagInputRootFocused,\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : description && setId(elementId, \"description\"),\n\n ...inputProps,\n }}\n inputRef={inputRef}\n {...others}\n />\n </HvListItem>\n )}\n </HvListContainer>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTagsInput.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.PropTypes.shape({\n /**\n * Styles applied to the input element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the list item gutters.\n */\n listItemGutters: PropTypes.string,\n /**\n * Styles applied to the list item element.\n */\n listItemRoot: PropTypes.string,\n /**\n * Styles applied to the root container of the textarea.\n */\n root: PropTypes.string,\n /**\n *\n */\n chipRoot: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n disabled: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n resizable: PropTypes.string,\n /**\n * Style applied to the root when invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to text area container that holds the label, description and counter.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n description: PropTypes.string,\n /**\n * Style applied on the character counter.\n */\n characterCounter: PropTypes.string,\n /**\n * Styles applied to the tags list container element.\n */\n tagsList: PropTypes.string,\n /**\n * Styles applied to the tag input container element.\n */\n tagInputContainerRoot: PropTypes.string,\n /**\n * Styles applied to the tag input element.\n */\n tagInputRoot: PropTypes.string,\n /**\n * Styles applied to a tag element when selected\n */\n tagSelected: PropTypes.string,\n /**\n * Styles applied to the input element border.\n */\n tagInputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the input element when focused.\n */\n tagInputRootFocused: PropTypes.string,\n /**\n * Styles applied to the container when in single line mode.\n */\n singleLine: PropTypes.string,\n /**\n * Styles applied to the tags list when an error occurred.\n */\n error: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n /**\n * The form element name.\n */\n name: PropTypes.string,\n /**\n * The value of the form element.\n */\n value: PropTypes.array,\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.array,\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: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the form element is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the form element is required.\n */\n required: PropTypes.bool,\n /**\n * The function that will be executed onChange.\n */\n onChange: PropTypes.func,\n /**\n * The placeholder value of the input.\n */\n placeholder: PropTypes.string,\n /**\n * If `true` the character counter isn't shown even if maxTagsQuantity is set.\n */\n hideCounter: PropTypes.bool,\n /**\n * Text between the current char counter and max value.\n */\n middleCountLabel: PropTypes.string,\n /**\n * The maximum allowed length of the characters, if this value is null no check\n * will be performed.\n */\n maxTagsQuantity: PropTypes.number,\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * If `true` it should autofocus.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true` the component is resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Props passed to the HvCharCount component.\n */\n countCharProps: PropTypes.instanceOf(Object),\n /**\n * If `true` the component is in multiline mode.\n */\n multiline: PropTypes.bool,\n /**\n * The status of the form element.\n */\n status: PropTypes.string,\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage: PropTypes.string,\n\n /**\n * An Object containing the various texts associated with the input.\n */\n validationMessages: PropTypes.shape({\n /**\n * The value when a validation fails.\n */\n error: PropTypes.string,\n /**\n * The message that appears when there are too many characters.\n */\n maxCharError: PropTypes.string,\n /**\n * The message that appears when there are too few characters.\n */\n minCharError: PropTypes.string,\n /**\n * The message that appears when the input is empty and required.\n */\n requiredError: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
|
|
@@ -4,12 +4,18 @@ const styles = theme => {
|
|
|
4
4
|
display: "inline-block",
|
|
5
5
|
maxWidth: "100%"
|
|
6
6
|
},
|
|
7
|
+
chipRoot: {
|
|
8
|
+
maxWidth: "none"
|
|
9
|
+
},
|
|
7
10
|
resizable: {
|
|
8
11
|
width: "auto",
|
|
9
12
|
resize: "both",
|
|
10
13
|
overflow: "auto"
|
|
11
14
|
},
|
|
12
15
|
disabled: {},
|
|
16
|
+
error: {
|
|
17
|
+
float: "left"
|
|
18
|
+
},
|
|
13
19
|
invalid: {
|
|
14
20
|
border: `1px solid ${theme.hv.palette.semantic.sema4}!important`
|
|
15
21
|
},
|
|
@@ -75,21 +81,16 @@ const styles = theme => {
|
|
|
75
81
|
border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,
|
|
76
82
|
borderRadius: "2px",
|
|
77
83
|
"&:hover": {
|
|
78
|
-
cursor: "text"
|
|
79
|
-
|
|
80
|
-
"&:focus": {
|
|
81
|
-
outline: "none"
|
|
84
|
+
cursor: "text",
|
|
85
|
+
border: `1px solid ${theme.hv.palette.accent.acce1}`
|
|
82
86
|
},
|
|
83
|
-
"&:focus-visible": {
|
|
87
|
+
"&:focus, &:focus-within, &:focus-visible": {
|
|
84
88
|
outlineColor: "#52A8EC",
|
|
85
89
|
outlineStyle: "solid",
|
|
86
90
|
outlineWidth: "0px",
|
|
87
91
|
outlineOffset: "-1px",
|
|
88
92
|
boxShadow: "0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)"
|
|
89
93
|
},
|
|
90
|
-
"&:focus-within, &:hover": {
|
|
91
|
-
border: `1px solid ${theme.hv.palette.accent.acce1}`
|
|
92
|
-
},
|
|
93
94
|
"&$disabled": {
|
|
94
95
|
backgroundColor: theme.hv.palette.atmosphere.atmo3,
|
|
95
96
|
border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,
|
|
@@ -104,6 +105,9 @@ const styles = theme => {
|
|
|
104
105
|
display: "table-row",
|
|
105
106
|
paddingTop: 0,
|
|
106
107
|
paddingLeft: 4
|
|
108
|
+
},
|
|
109
|
+
"&$error": {
|
|
110
|
+
border: `1px solid ${theme.hv.palette.semantic.sema4}`
|
|
107
111
|
}
|
|
108
112
|
},
|
|
109
113
|
tagInputContainerRoot: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TagsInput/styles.js"],"names":["styles","theme","root","display","maxWidth","resizable","width","resize","overflow","disabled","invalid","border","hv","palette","semantic","sema4","input","marginLeft","marginRight","flex","minWidth","height","lineHeight","padding","listItemGutters","listItemRoot","marginBottom","paddingTop","labelContainer","
|
|
1
|
+
{"version":3,"sources":["../../../src/TagsInput/styles.js"],"names":["styles","theme","root","display","maxWidth","chipRoot","resizable","width","resize","overflow","disabled","error","float","invalid","border","hv","palette","semantic","sema4","input","marginLeft","marginRight","flex","minWidth","height","lineHeight","padding","listItemGutters","listItemRoot","marginBottom","paddingTop","labelContainer","alignItems","label","paddingBottom","description","characterCounter","textAlign","tagsList","alignContent","clear","position","flexDirection","flexWrap","backgroundColor","atmosphere","atmo1","atmo4","borderRadius","cursor","accent","acce1","outlineColor","outlineStyle","outlineWidth","outlineOffset","boxShadow","atmo3","overflowX","overflowY","paddingLeft","tagInputContainerRoot","flexGrow","verticalAlign","tagInputRoot","background","tagInputRootFocused","outline","tagSelected","tagInputBorderContainer","singleLine"],"mappings":"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","sourcesContent":["const styles = (theme) => {\n return {\n root: {\n display: \"inline-block\",\n maxWidth: \"100%\",\n },\n chipRoot: {\n maxWidth: \"none\",\n },\n resizable: {\n width: \"auto\",\n resize: \"both\",\n overflow: \"auto\",\n },\n disabled: {},\n error: {\n float: \"left\",\n },\n invalid: {\n border: `1px solid ${theme.hv.palette.semantic.sema4}!important`,\n },\n input: {\n marginLeft: 0,\n marginRight: 0,\n width: 0,\n flex: \"1 1 auto\",\n minWidth: 48,\n height: 24,\n lineHeight: \"24px\",\n padding: 0,\n },\n listItemGutters: {\n padding: \"0 5px\",\n },\n listItemRoot: {\n marginBottom: 2,\n height: 24,\n lineHeight: \"24px\",\n \"&:not(:last-child)\": {\n marginBottom: 2,\n },\n \"&$singleLine\": {\n display: \"table-cell\",\n paddingTop: 2,\n },\n },\n labelContainer: {\n float: \"left\",\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n display: \"block\",\n float: \"left\",\n paddingBottom: \"6px\",\n },\n description: {\n display: \"block\",\n float: \"left\",\n },\n characterCounter: {\n display: \"block\",\n float: \"right\",\n textAlign: \"right\",\n marginBottom: \"6px\",\n },\n tagsList: {\n display: \"flex\",\n alignContent: \"flex-start\",\n float: \"left\",\n clear: \"both\",\n width: \"100%\",\n maxWidth: \"100%\",\n height: \"100%\",\n padding: 5,\n overflow: \"auto\",\n position: \"relative\",\n\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n borderRadius: \"2px\",\n\n \"&:hover\": {\n cursor: \"text\",\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n\n \"&:focus, &:focus-within, &:focus-visible\": {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n\n \"&$disabled\": {\n backgroundColor: theme.hv.palette.atmosphere.atmo3,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n \"&:focus-within, &:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n },\n\n \"&$singleLine\": {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n height: 32,\n display: \"table-row\",\n paddingTop: 0,\n paddingLeft: 4,\n },\n\n \"&$error\": {\n border: `1px solid ${theme.hv.palette.semantic.sema4}`,\n },\n },\n tagInputContainerRoot: {\n display: \"flex\",\n flexGrow: 1,\n height: 24,\n lineHeight: \"24px\",\n \"&$singleLine\": {\n display: \"table-cell\",\n minWidth: 100,\n width: \"100%\",\n paddingTop: 3,\n verticalAlign: \"middle\",\n },\n },\n tagInputRoot: {\n width: \"100%\",\n \"&:hover $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&:focus-within $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&$singleLine\": {},\n },\n tagInputRootFocused: {\n outline: \"none\",\n boxShadow: \"none\",\n },\n tagSelected: {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n tagInputBorderContainer: {\n border: \"none\",\n background: \"none\",\n },\n singleLine: {},\n };\n};\n\nexport default styles;\n"],"file":"styles.js"}
|
|
@@ -263,7 +263,7 @@ const HvTextArea = props => {
|
|
|
263
263
|
}, validationMessage));
|
|
264
264
|
};
|
|
265
265
|
|
|
266
|
-
HvTextArea.propTypes = {
|
|
266
|
+
process.env.NODE_ENV !== "production" ? HvTextArea.propTypes = {
|
|
267
267
|
/**
|
|
268
268
|
* Class names to be applied.
|
|
269
269
|
*/
|
|
@@ -535,7 +535,7 @@ HvTextArea.propTypes = {
|
|
|
535
535
|
* Props passed to the HvCharCount component.
|
|
536
536
|
*/
|
|
537
537
|
countCharProps: PropTypes.instanceOf(Object)
|
|
538
|
-
};
|
|
538
|
+
} : void 0;
|
|
539
539
|
export default withStyles(styles, {
|
|
540
540
|
name: "HvTextArea"
|
|
541
541
|
})(HvTextArea);
|