@hitachivantara/uikit-react-core 5.0.0-next.7 → 5.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Accordion/Accordion.cjs +2 -2
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/appSwitcherClasses.cjs +1 -1
- package/dist/cjs/components/AppSwitcher/appSwitcherClasses.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs +2 -2
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/cjs/components/Avatar/avatarClasses.cjs +1 -1
- package/dist/cjs/components/Avatar/avatarClasses.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.cjs +2 -2
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/Badge/badgeClasses.cjs +1 -1
- package/dist/cjs/components/Badge/badgeClasses.cjs.map +1 -1
- package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/bannerContentClasses.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/bannerContentClasses.cjs.map +1 -1
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +2 -2
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +2 -2
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +9 -11
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +20 -7
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Button/buttonClasses.cjs +1 -1
- package/dist/cjs/components/Button/buttonClasses.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.cjs +17 -11
- package/dist/cjs/components/Card/Card.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.styles.cjs +40 -99
- package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
- package/dist/cjs/components/Card/Content/Content.cjs +4 -2
- package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Card/Content/Content.styles.cjs +10 -17
- package/dist/cjs/components/Card/Content/Content.styles.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs +21 -7
- package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.styles.cjs +19 -44
- package/dist/cjs/components/Card/Header/Header.styles.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.cjs +4 -2
- package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.styles.cjs +13 -20
- package/dist/cjs/components/Card/Media/Media.styles.cjs.map +1 -1
- package/dist/cjs/components/Card/cardClasses.cjs +1 -1
- package/dist/cjs/components/Card/cardClasses.cjs.map +1 -1
- package/dist/cjs/components/Container/Container.cjs +11 -1
- package/dist/cjs/components/Container/Container.cjs.map +1 -1
- package/dist/cjs/components/Container/containerClasses.cjs +1 -1
- package/dist/cjs/components/Container/containerClasses.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +4 -4
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/Controls/{index.cjs → controlClasses.cjs} +3 -2
- package/dist/cjs/components/Controls/controlClasses.cjs.map +1 -0
- package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.cjs +4 -2
- package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.styles.cjs +1 -21
- package/dist/cjs/components/Dialog/Content/Content.styles.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/contentClasses.cjs +1 -1
- package/dist/cjs/components/Dialog/Content/contentClasses.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +38 -8
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.styles.cjs +6 -29
- package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs +9 -2
- package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/titleClasses.cjs +1 -1
- package/dist/cjs/components/Dialog/Title/titleClasses.cjs.map +1 -1
- package/dist/cjs/components/Dialog/dialogClasses.cjs +1 -1
- package/dist/cjs/components/Dialog/dialogClasses.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.cjs +10 -4
- package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +12 -41
- package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs +2 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +9 -3
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs +1 -0
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/Footer/footerClasses.cjs +1 -1
- package/dist/cjs/components/Footer/footerClasses.cjs.map +1 -1
- package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs +6 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
- package/dist/cjs/components/Grid/gridClasses.cjs +8 -0
- package/dist/cjs/components/Grid/gridClasses.cjs.map +1 -0
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs +7 -1
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Brand/Brand.cjs +6 -2
- package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
- package/dist/cjs/components/Header/Brand/brandClasses.cjs +1 -1
- package/dist/cjs/components/Header/Brand/brandClasses.cjs.map +1 -1
- package/dist/cjs/components/Header/Header.cjs +12 -2
- package/dist/cjs/components/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Header/Header.styles.cjs +6 -6
- package/dist/cjs/components/Header/Header.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +6 -5
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +4 -4
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs +3 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -1
- package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
- package/dist/cjs/components/Header/headerClasses.cjs +8 -0
- package/dist/cjs/components/Header/headerClasses.cjs.map +1 -0
- package/dist/cjs/components/List/List.cjs +1 -1
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +2 -2
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/Loading/Loading.cjs +1 -1
- package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
- package/dist/cjs/components/Loading/loadingClasses.cjs +1 -1
- package/dist/cjs/components/Loading/loadingClasses.cjs.map +1 -1
- package/dist/cjs/components/Login/Login.cjs +3 -2
- package/dist/cjs/components/Login/Login.cjs.map +1 -1
- package/dist/cjs/components/Login/loginClasses.cjs +8 -0
- package/dist/cjs/components/Login/loginClasses.cjs.map +1 -0
- package/dist/cjs/components/MultiButton/MultiButton.cjs +3 -2
- package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/multiButtonClasses.cjs +1 -1
- package/dist/cjs/components/MultiButton/multiButtonClasses.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs +4 -2
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/progressBarClasses.cjs +1 -1
- package/dist/cjs/components/ProgressBar/progressBarClasses.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs +12 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +2 -0
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/snackbarClasses.cjs +7 -0
- package/dist/cjs/components/Snackbar/snackbarClasses.cjs.map +1 -0
- package/dist/cjs/components/Stack/Stack.cjs +1 -1
- package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -2
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +2 -2
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -3
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -2
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs +1 -1
- package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
- package/dist/cjs/components/Tag/tagClasses.cjs +1 -1
- package/dist/cjs/components/Tag/tagClasses.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +1 -1
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/Typography/utils.cjs.map +1 -1
- package/dist/cjs/index.cjs +8 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
- package/dist/cjs/utils/theme.cjs +9 -2
- package/dist/cjs/utils/theme.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +2 -2
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/AppSwitcher/appSwitcherClasses.js +1 -1
- package/dist/esm/components/AppSwitcher/appSwitcherClasses.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +2 -2
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Avatar/avatarClasses.js +1 -1
- package/dist/esm/components/Avatar/avatarClasses.js.map +1 -1
- package/dist/esm/components/Badge/Badge.js +2 -2
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Badge/badgeClasses.js +1 -1
- package/dist/esm/components/Badge/badgeClasses.js.map +1 -1
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/bannerContentClasses.js +1 -1
- package/dist/esm/components/Banner/BannerContent/bannerContentClasses.js.map +1 -1
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +2 -2
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +2 -2
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +9 -11
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/Button/Button.js +18 -7
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/buttonClasses.js +1 -1
- package/dist/esm/components/Button/buttonClasses.js.map +1 -1
- package/dist/esm/components/Card/Card.js +18 -12
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/Card.styles.js +40 -97
- package/dist/esm/components/Card/Card.styles.js.map +1 -1
- package/dist/esm/components/Card/Content/Content.js +4 -3
- package/dist/esm/components/Card/Content/Content.js.map +1 -1
- package/dist/esm/components/Card/Content/Content.styles.js +10 -14
- package/dist/esm/components/Card/Content/Content.styles.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.js +20 -7
- package/dist/esm/components/Card/Header/Header.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.styles.js +19 -41
- package/dist/esm/components/Card/Header/Header.styles.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.js +4 -3
- package/dist/esm/components/Card/Media/Media.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.styles.js +13 -17
- package/dist/esm/components/Card/Media/Media.styles.js.map +1 -1
- package/dist/esm/components/Card/cardClasses.js +1 -1
- package/dist/esm/components/Card/cardClasses.js.map +1 -1
- package/dist/esm/components/Container/Container.js +11 -1
- package/dist/esm/components/Container/Container.js.map +1 -1
- package/dist/esm/components/Container/containerClasses.js +1 -1
- package/dist/esm/components/Container/containerClasses.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +1 -1
- package/dist/esm/components/Controls/{index.js → controlClasses.js} +3 -2
- package/dist/esm/components/Controls/controlClasses.js.map +1 -0
- package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.js +4 -3
- package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.styles.js +1 -20
- package/dist/esm/components/Dialog/Content/Content.styles.js.map +1 -1
- package/dist/esm/components/Dialog/Content/contentClasses.js +1 -1
- package/dist/esm/components/Dialog/Content/contentClasses.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +38 -9
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.styles.js +4 -24
- package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js +9 -2
- package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
- package/dist/esm/components/Dialog/Title/titleClasses.js +1 -1
- package/dist/esm/components/Dialog/Title/titleClasses.js.map +1 -1
- package/dist/esm/components/Dialog/dialogClasses.js +1 -1
- package/dist/esm/components/Dialog/dialogClasses.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.js +11 -5
- package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.styles.js +12 -41
- package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js +2 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +9 -3
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js +1 -0
- package/dist/esm/components/Footer/Footer.js.map +1 -1
- package/dist/esm/components/Footer/footerClasses.js +1 -1
- package/dist/esm/components/Footer/footerClasses.js.map +1 -1
- package/dist/esm/components/Forms/Label/Label.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js +6 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Grid/gridClasses.js +8 -0
- package/dist/esm/components/Grid/gridClasses.js.map +1 -0
- package/dist/esm/components/Header/Actions/Actions.styles.js +7 -1
- package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/Header/Brand/Brand.js +6 -2
- package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
- package/dist/esm/components/Header/Brand/brandClasses.js +1 -1
- package/dist/esm/components/Header/Brand/brandClasses.js.map +1 -1
- package/dist/esm/components/Header/Header.js +11 -3
- package/dist/esm/components/Header/Header.js.map +1 -1
- package/dist/esm/components/Header/Header.styles.js +7 -7
- package/dist/esm/components/Header/Header.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js +6 -5
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +4 -4
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js +3 -1
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -1
- package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
- package/dist/esm/components/Header/headerClasses.js +8 -0
- package/dist/esm/components/Header/headerClasses.js.map +1 -0
- package/dist/esm/components/List/List.js +1 -1
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +2 -2
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/Loading/Loading.js +1 -1
- package/dist/esm/components/Loading/Loading.js.map +1 -1
- package/dist/esm/components/Loading/loadingClasses.js +1 -1
- package/dist/esm/components/Loading/loadingClasses.js.map +1 -1
- package/dist/esm/components/Login/Login.js +3 -2
- package/dist/esm/components/Login/Login.js.map +1 -1
- package/dist/esm/components/Login/loginClasses.js +8 -0
- package/dist/esm/components/Login/loginClasses.js.map +1 -0
- package/dist/esm/components/MultiButton/MultiButton.js +3 -2
- package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
- package/dist/esm/components/MultiButton/multiButtonClasses.js +1 -1
- package/dist/esm/components/MultiButton/multiButtonClasses.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js +4 -2
- package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/ProgressBar/progressBarClasses.js +1 -1
- package/dist/esm/components/ProgressBar/progressBarClasses.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js +11 -1
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -0
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.js.map +1 -1
- package/dist/esm/components/Snackbar/snackbarClasses.js +7 -0
- package/dist/esm/components/Snackbar/snackbarClasses.js.map +1 -0
- package/dist/esm/components/Stack/Stack.js +1 -1
- package/dist/esm/components/Stack/Stack.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +2 -2
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -3
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +2 -2
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +1 -1
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/Tag/tagClasses.js +1 -1
- package/dist/esm/components/Tag/tagClasses.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +1 -1
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/Typography/utils.js.map +1 -1
- package/dist/esm/index.js +162 -156
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/ThemeProvider.js +1 -1
- package/dist/esm/providers/ThemeProvider.js.map +1 -1
- package/dist/esm/utils/theme.js +9 -2
- package/dist/esm/utils/theme.js.map +1 -1
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/types/components/Accordion/Accordion.styles.d.ts +2 -2
- package/dist/types/components/AppSwitcher/Action/Action.d.ts.map +1 -1
- package/dist/types/components/AppSwitcher/Action/Action.styles.d.ts +2 -2
- package/dist/types/components/AppSwitcher/AppSwitcher.d.ts.map +1 -1
- package/dist/types/components/AppSwitcher/AppSwitcher.styles.d.ts +2 -2
- package/dist/types/components/AppSwitcher/appSwitcherClasses.d.ts +3 -0
- package/dist/types/components/AppSwitcher/appSwitcherClasses.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.styles.d.ts +1 -1
- package/dist/types/components/Avatar/avatarClasses.d.ts +7 -0
- package/dist/types/components/Avatar/avatarClasses.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Badge/badgeClasses.d.ts +5 -0
- package/dist/types/components/Badge/badgeClasses.d.ts.map +1 -1
- package/dist/types/components/Banner/Banner.d.ts +1 -1
- package/dist/types/components/Banner/Banner.d.ts.map +1 -1
- package/dist/types/components/Banner/BannerContent/BannerContent.d.ts +1 -1
- package/dist/types/components/Banner/BannerContent/BannerContent.d.ts.map +1 -1
- package/dist/types/components/Banner/BannerContent/bannerContentClasses.d.ts +5 -0
- package/dist/types/components/Banner/BannerContent/bannerContentClasses.d.ts.map +1 -1
- package/dist/types/components/BaseCheckBox/BaseCheckBox.d.ts +1 -1
- package/dist/types/components/BaseCheckBox/BaseCheckBox.d.ts.map +1 -1
- package/dist/types/components/BaseDropdown/BaseDropdown.styles.d.ts +2 -2
- package/dist/types/components/BaseInput/BaseInput.d.ts +1 -1
- package/dist/types/components/BaseInput/BaseInput.d.ts.map +1 -1
- package/dist/types/components/BaseRadio/BaseRadio.d.ts +3 -3
- package/dist/types/components/BaseRadio/BaseRadio.d.ts.map +1 -1
- package/dist/types/components/BaseSwitch/BaseSwitch.d.ts +3 -3
- package/dist/types/components/BaseSwitch/BaseSwitch.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Button/buttonClasses.d.ts +2 -2
- package/dist/types/components/Button/buttonClasses.d.ts.map +1 -1
- package/dist/types/components/Card/Card.d.ts.map +1 -1
- package/dist/types/components/Card/Card.styles.d.ts +8 -27
- package/dist/types/components/Card/Card.styles.d.ts.map +1 -1
- package/dist/types/components/Card/Content/Content.d.ts +1 -1
- package/dist/types/components/Card/Content/Content.d.ts.map +1 -1
- package/dist/types/components/Card/Content/Content.styles.d.ts +3 -10
- package/dist/types/components/Card/Content/Content.styles.d.ts.map +1 -1
- package/dist/types/components/Card/Header/Header.d.ts +1 -1
- package/dist/types/components/Card/Header/Header.d.ts.map +1 -1
- package/dist/types/components/Card/Header/Header.styles.d.ts +7 -22
- package/dist/types/components/Card/Header/Header.styles.d.ts.map +1 -1
- package/dist/types/components/Card/Media/Media.d.ts +1 -1
- package/dist/types/components/Card/Media/Media.d.ts.map +1 -1
- package/dist/types/components/Card/Media/Media.styles.d.ts +3 -12
- package/dist/types/components/Card/Media/Media.styles.d.ts.map +1 -1
- package/dist/types/components/Card/cardClasses.d.ts +2 -0
- package/dist/types/components/Card/cardClasses.d.ts.map +1 -1
- package/dist/types/components/CheckBox/CheckBox.styles.d.ts +1 -1
- package/dist/types/components/Container/Container.d.ts +1 -1
- package/dist/types/components/Container/Container.d.ts.map +1 -1
- package/dist/types/components/Container/containerClasses.d.ts +7 -0
- package/dist/types/components/Container/containerClasses.d.ts.map +1 -1
- package/dist/types/components/Controls/controlClasses.d.ts +9 -0
- package/dist/types/components/Controls/controlClasses.d.ts.map +1 -0
- package/dist/types/components/Controls/index.d.ts +2 -7
- package/dist/types/components/Controls/index.d.ts.map +1 -1
- package/dist/types/components/Dialog/Actions/Actions.d.ts +1 -1
- package/dist/types/components/Dialog/Actions/Actions.d.ts.map +1 -1
- package/dist/types/components/Dialog/Content/Content.d.ts +1 -1
- package/dist/types/components/Dialog/Content/Content.d.ts.map +1 -1
- package/dist/types/components/Dialog/Content/Content.styles.d.ts +2 -5
- package/dist/types/components/Dialog/Content/Content.styles.d.ts.map +1 -1
- package/dist/types/components/Dialog/Content/contentClasses.d.ts +1 -0
- package/dist/types/components/Dialog/Content/contentClasses.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts +4 -4
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.styles.d.ts +6 -9
- package/dist/types/components/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/types/components/Dialog/Title/Title.d.ts +3 -3
- package/dist/types/components/Dialog/Title/Title.d.ts.map +1 -1
- package/dist/types/components/Dialog/Title/Title.styles.d.ts +1 -1
- package/dist/types/components/Dialog/Title/titleClasses.d.ts +2 -0
- package/dist/types/components/Dialog/Title/titleClasses.d.ts.map +1 -1
- package/dist/types/components/Dialog/dialogClasses.d.ts +2 -0
- package/dist/types/components/Dialog/dialogClasses.d.ts.map +1 -1
- package/dist/types/components/DotPagination/DotPagination.d.ts +1 -1
- package/dist/types/components/DotPagination/DotPagination.d.ts.map +1 -1
- package/dist/types/components/Dropdown/Dropdown.styles.d.ts +2 -2
- package/dist/types/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyState.styles.d.ts +3 -8
- package/dist/types/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
- package/dist/types/components/FileUploader/DropZone/DropZone.styles.d.ts +2 -2
- package/dist/types/components/FileUploader/File/File.styles.d.ts +4 -4
- package/dist/types/components/FileUploader/Preview/Preview.d.ts +2 -2
- package/dist/types/components/FileUploader/Preview/Preview.d.ts.map +1 -1
- package/dist/types/components/Focus/Focus.d.ts.map +1 -1
- package/dist/types/components/Footer/Footer.d.ts.map +1 -1
- package/dist/types/components/Footer/Footer.styles.d.ts +4 -4
- package/dist/types/components/Footer/footerClasses.d.ts +1 -0
- package/dist/types/components/Footer/footerClasses.d.ts.map +1 -1
- package/dist/types/components/Forms/CharCounter/CharCounter.styles.d.ts +2 -2
- package/dist/types/components/Forms/InfoMessage/InfoMessage.styles.d.ts +2 -2
- package/dist/types/components/Forms/Label/Label.d.ts.map +1 -1
- package/dist/types/components/Forms/Label/Label.styles.d.ts +2 -2
- package/dist/types/components/Forms/WarningText/WarningText.styles.d.ts +2 -2
- package/dist/types/components/GlobalActions/GlobalActions.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.d.ts +3 -0
- package/dist/types/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/components/Grid/gridClasses.d.ts +38 -0
- package/dist/types/components/Grid/gridClasses.d.ts.map +1 -0
- package/dist/types/components/Grid/index.d.ts +2 -0
- package/dist/types/components/Grid/index.d.ts.map +1 -1
- package/dist/types/components/Header/Actions/Actions.styles.d.ts.map +1 -1
- package/dist/types/components/Header/Brand/Brand.d.ts +1 -1
- package/dist/types/components/Header/Brand/Brand.d.ts.map +1 -1
- package/dist/types/components/Header/Brand/brandClasses.d.ts +1 -0
- package/dist/types/components/Header/Brand/brandClasses.d.ts.map +1 -1
- package/dist/types/components/Header/Header.d.ts +3 -0
- package/dist/types/components/Header/Header.d.ts.map +1 -1
- package/dist/types/components/Header/Header.styles.d.ts +1 -1
- package/dist/types/components/Header/Header.styles.d.ts.map +1 -1
- package/dist/types/components/Header/Navigation/MenuBar/MenuBar.styles.d.ts.map +1 -1
- package/dist/types/components/Header/Navigation/MenuItem/MenuItem.d.ts.map +1 -1
- package/dist/types/components/Header/Navigation/Navigation.d.ts +1 -1
- package/dist/types/components/Header/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/Header/Navigation/utils/FocusContext.d.ts +9 -3
- package/dist/types/components/Header/Navigation/utils/FocusContext.d.ts.map +1 -1
- package/dist/types/components/Header/headerClasses.d.ts +8 -0
- package/dist/types/components/Header/headerClasses.d.ts.map +1 -0
- package/dist/types/components/Header/index.d.ts +2 -0
- package/dist/types/components/Header/index.d.ts.map +1 -1
- package/dist/types/components/Input/Input.styles.d.ts +1 -1
- package/dist/types/components/Kpi/Kpi.styles.d.ts +6 -6
- package/dist/types/components/List/List.d.ts.map +1 -1
- package/dist/types/components/ListContainer/ListItem/ListItem.styles.d.ts +1 -1
- package/dist/types/components/Loading/Loading.d.ts.map +1 -1
- package/dist/types/components/Loading/Loading.styles.d.ts +2 -2
- package/dist/types/components/Loading/loadingClasses.d.ts +4 -0
- package/dist/types/components/Loading/loadingClasses.d.ts.map +1 -1
- package/dist/types/components/Login/Login.d.ts +2 -10
- package/dist/types/components/Login/Login.d.ts.map +1 -1
- package/dist/types/components/Login/index.d.ts +2 -0
- package/dist/types/components/Login/index.d.ts.map +1 -1
- package/dist/types/components/Login/loginClasses.d.ts +7 -0
- package/dist/types/components/Login/loginClasses.d.ts.map +1 -0
- package/dist/types/components/MultiButton/MultiButton.d.ts.map +1 -1
- package/dist/types/components/MultiButton/multiButtonClasses.d.ts +2 -0
- package/dist/types/components/MultiButton/multiButtonClasses.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBar.styles.d.ts +2 -2
- package/dist/types/components/ProgressBar/progressBarClasses.d.ts +4 -0
- package/dist/types/components/ProgressBar/progressBarClasses.d.ts.map +1 -1
- package/dist/types/components/Radio/Radio.d.ts +3 -3
- package/dist/types/components/Radio/Radio.d.ts.map +1 -1
- package/dist/types/components/Radio/Radio.styles.d.ts +2 -2
- package/dist/types/components/SimpleGrid/SimpleGrid.d.ts +1 -1
- package/dist/types/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/types/components/Snackbar/Snackbar.d.ts +1 -1
- package/dist/types/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts +1 -1
- package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts.map +1 -1
- package/dist/types/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.d.ts +4 -0
- package/dist/types/components/Snackbar/SnackbarContentWrapper/snackbarContentWrapperClasses.d.ts.map +1 -1
- package/dist/types/components/Snackbar/snackbarClasses.d.ts +1 -0
- package/dist/types/components/Snackbar/snackbarClasses.d.ts.map +1 -1
- package/dist/types/components/Switch/Switch.d.ts +3 -3
- package/dist/types/components/Switch/Switch.d.ts.map +1 -1
- package/dist/types/components/Tab/Tab.styles.d.ts +2 -2
- package/dist/types/components/Table/TableBody/TableBody.d.ts.map +1 -1
- package/dist/types/components/Table/TableCell/TableCell.d.ts.map +1 -1
- package/dist/types/components/Table/TableHead/TableHead.d.ts.map +1 -1
- package/dist/types/components/Table/TableHeader/TableHeader.d.ts.map +1 -1
- package/dist/types/components/Table/TableRow/TableRow.d.ts.map +1 -1
- package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.d.ts +4 -4
- package/dist/types/components/Tabs/Tabs.styles.d.ts +1 -1
- package/dist/types/components/Tag/Tag.d.ts +1 -1
- package/dist/types/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/components/Tag/Tag.styles.d.ts +2 -2
- package/dist/types/components/Tag/tagClasses.d.ts +1 -1
- package/dist/types/components/Tag/tagClasses.d.ts.map +1 -1
- package/dist/types/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextArea.styles.d.ts +1 -1
- package/dist/types/components/ToggleButton/ToggleButton.d.ts +4 -0
- package/dist/types/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/Typography/Typography.d.ts +4 -4
- package/dist/types/components/Typography/Typography.d.ts.map +1 -1
- package/dist/types/components/Typography/utils.d.ts +0 -1
- package/dist/types/components/Typography/utils.d.ts.map +1 -1
- package/dist/types/utils/theme.d.ts +2 -2
- package/dist/types/utils/theme.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/cjs/components/Controls/index.cjs.map +0 -1
- package/dist/esm/components/Controls/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvValidationMessages } from \"types/forms\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { HvTagProps } from \"components\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\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 [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\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 [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\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(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\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 <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 && tagsInputClasses.tagInputRootEmpty,\n value.length === 0 && classes?.tagInputRootEmpty\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","_jsx","StyledLabel","htmlFor","StyledDescription","StyledCharCounter","characterCounter","separator","currentCharQuantity","maxCharQuantity","_jsxs","StyledTagsList","tagsList","singleLine","$disabled","$singleLine","$error","$resizable","$invalid","$readOnly","onKeyDown","onClick","ref","map","t","otherProps","StyledListItem","tabIndex","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","deleteButtonProps","$selected","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","$isTagSelected","StyledInput","disableClear","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","_Fragment","role","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","expanded","anchorEl","parentElement","onClose","onSuggestionSelected","StyledError","disableBorder"],"mappings":";;;;;;;;;;;;;;;;;;;AAmIO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,OAAOC;AAAAA,EACPC,eAAe,CAAE;AAAA,EACjBC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,OAAOC;AAAAA,EACP,cAAcC;AAAAA,EACd,mBAAmBC;AAAAA,EACnBC;AAAAA,EACA,oBAAoBC;AAAAA,EACpBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,cAAc;AAAA,EACdC,mBAAmB;AAAA,EACnBC;AAAAA,EACAC,YAAY;AAAA,EACZC,YAAY;AAAA,EACZC,aAAa,CAAC;AAAA,EACdC,iBAAiB,CAAC;AAAA,EAClBC,YAAY;AAAA,EACZC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,cAAc,CAAC,OAAO;AAAA,EACtBC,eAAe;AAAA,EACfC;AAAAA,KACGC;AACa,MAAM;;AAChBC,QAAAA,YAAYC,YAAAA,QAAYpC,IAAI,aAAa;AAE/C,QAAMqC,WAAW5B,iBAAiB;AAClC,QAAM6B,iBAAiB1B,eAAe;AAEtC,QAAM,CAACV,OAAOqC,QAAQ,IAAIC,cAAAA,cAAcrC,WAAWC,YAAY;AAE/D,QAAM,CAACqC,iBAAiBC,kBAAkB,IAAIF,cAC5CZ,cAAAA,QACAe,iBAAAA,QAAiBC,OAAO;AAE1B,QAAM,CAACC,mBAAmBC,oBAAoB,IAAIN,cAAAA,cAChDX,eACA,EAAE;AAGJ,QAAM,CAACkB,UAAUC,WAAW,IAAIC,eAAS,EAAE;AAC3C,QAAM,CAACC,cAAcC,eAAe,IAAIF,MAAAA,SAAS/C,MAAMkD,MAAM;AAC7D,QAAM,CAACC,YAAYC,aAAa,IAAIL,eAAS,IAAI;AAEjD,QAAMM,WAAWC,MAAAA;AACjB,QAAMC,eAAeD,MAAAA;AACfE,QAAAA,YAAYF,aAAO,KAAK;AAC9B,QAAMG,cAAcH,MAAAA;AACdI,QAAAA,mBAAmBJ,aAAY,IAAI;AAEzC,QAAMK,gBAAgBX,gBAAgB,KAAKA,eAAehD,MAAMkD;AAC1DU,QAAAA,aAAaxC,mBAAmB,QAAQ,CAACF;AAG/C,QAAM,CAAC2C,kBAAkBC,mBAAmB,IAAIf,eAAS,IAAI;AAEvDgB,QAAAA,iBAAiBC,MAAAA,QAAQ,MAAM;AAC5BJ,WAAAA,cAAc5D,MAAMkD,SAAS9B;AAAAA,KACnC,CAACwC,YAAYxC,iBAAiBpB,MAAMkD,MAAM,CAAC;AAE9C,QAAMe,qBAAqBlC,0BAA0B;AAC/CmC,QAAAA,iBAAiB,CAAC,CAACL;AAEnBM,QAAAA,gBAAgBH,MAAAA,QACpB,OAAO;AAAA,IAAE,GAAGI,YAAAA;AAAAA,IAAwB,GAAGxC;AAAAA,EAAmB,IAC1D,CACEA,yDAAoByC,OACpBzC,yDAAoB0C,eACpB1C,yDAAoB2C,cACpB3C,yDAAoB4C,YAAY,CACjC;AAGGC,QAAAA,oBAAoBC,kBACvBC,CAAc,cAAA;AACb,QACEvD,oBAAoB,QACpBA,oBAAoBwD,UACpBD,UAAUzB,SAAS9B,iBACnB;AACAoB,yBAAmBC,iBAAAA,QAAiBoC,OAAO;AAC3CjC,2BAAqBuB,cAAcK,YAAY;AAC/CpB,oBAAc,KAAK;AAAA,IAAA,OACd;AACLZ,yBAAmBC,iBAAAA,QAAiBqC,KAAK;AACzClC,2BAAqB,EAAE;AACvBQ,oBAAc,IAAI;AAAA,IACpB;AAAA,EAAA,GAEF,CACEe,cAAcK,cACdpD,iBACAwB,sBACAJ,kBAAkB,CACnB;AAWH,QAAMuC,YAAYL,MAAAA,YAChB,CAACM,QAAQC,OAAOC,QAAQ;;AACtB,UAAMC,aAAa,CACjB,GAAGnF,MAAMoF,MAAM,GAAGJ,MAAM,GACxB,GAAGhF,MAAMoF,MAAMJ,SAAS,CAAC,CAAC;AAE5B3C,aAAS8C,UAAU;AACnBlC,oBACEiC,MAAMC,WAAWjC,SAASF,eAAe,IAAIA,eAAe,IAAI,CAAC;AAEnEK,KAAAA,MAAAA,SAASgC,YAAThC,gBAAAA,IAAkBiC;AAClBb,sBAAkBU,UAAU;AACjBF,yCAAAA,OAAOjF,MAAMgF,SAASA;AACjCpE,yCAAWqE,OAAOE;AAClB3B,cAAU6B,UAAU;AAAA,EAAA,GAEtB,CAACzE,UAAUE,UAAU2D,mBAAmBpC,UAAUW,cAAchD,KAAK,CAAC;AAUxE,QAAMuF,SAASb,MAAAA,YACb,CAACO,OAAOO,QAAQ;AACdP,UAAMQ,eAAgB;AACtB,QAAID,QAAQ,IAAI;AACd,YAAME,SAAqB;AAAA,QAAEpF,OAAOkF;AAAAA,QAAKG,MAAM;AAAA,MAAA;AAC/C,YAAMR,aAAa,CAAC,GAAGnF,OAAO0F,MAAM;AACpCrD,eAAS8C,UAAU;AACnBV,wBAAkBU,UAAU;AAC5BtE,qCAAQoE,OAAOS,QAAQP,WAAWjC,SAAS;AAC3CtC,2CAAWqE,OAAOE;AAAAA,IACpB;AAAA,EAAA,GAEF,CAACtE,OAAOD,UAAU6D,mBAAmBpC,UAAUrC,KAAK,CAAC;AAGvD,QAAM4F,eACHlE,WAAWkD,UACVlD,WAAW,aACXC,kBAAkBiD,UACpB,CAACzB;AAEH0C,QAAAA,UAAU,MAAM;;AACd,QAAI,CAACpE,WAAW;AACRqE,YAAAA,WAAUvC,MAAAA,6CAAc8B,YAAd9B,gBAAAA,IAAuBwC,SAAS/C;AAGhDgD,iBAAW,MAAM;AACf,cAAMC,YAAY1C,aAAa8B;AAC/B,YAAIa,eAAAA,QAAMD,SAAS;AAAG;AACtBA,kBAAUE,aAAaL,UACnBA,QAAQM,aACRH,UAAUI,sBAAAA,EAAwBC,QAAQ,IAC1CR,QAAQO,sBAAuB,EAACC,QAAQ,IACxC;AAAA,SACH,EAAE;AAELR,yCAASR;AAAAA,IACX;AAAA,EAAA,GACC,CAAC7D,WAAWuB,YAAY,CAAC;AAE5B6C,QAAAA,UAAU,MAAM;AACV,QAAA,CAACrC,UAAU6B,SAAS;AACtBvC,kBAAY,EAAE;AACdG,sBAAgBjD,MAAMkD,MAAM;AAAA,IAC9B;AACAM,cAAU6B,UAAU;AAAA,EAAA,GACnB,CAACrF,KAAK,CAAC;AAEV,QAAMuG,YAAYC,aAAAA;AAKlB,QAAMC,aAAaA,MAAM;AACvB/C,qBAAiB2B,QAAQC;EAAO;AAG5BoB,QAAAA,iBAAiBhC,kBACpBiC,CAAO,OAAA;;AAEN,UAAMC,SAASC,SAASC,eACtBC,MAAAA,MAAM9E,WAAW,kBAAkB,KAAK,EAAE;AAE5C,WAAO0E,MAAM,QAAOC,MAAAA,iCAAQI,qBAAqB,UAA7BJ,gBAAAA,IAAqCD,MAAMC;AAAAA,EAAAA,GAEjE,CAAC3E,SAAS,CAAC;AAMPgF,QAAAA,yBAAyBvC,MAAAA,YAAY,MAAM;AAC/C,QAAI6B,UAAUlB,SAAS;AACrBvB,0BAAoB,IAAI;AAAA,IAC1B;AAAA,EAAA,GACC,CAACyC,SAAS,CAAC;AAKRW,QAAAA,oBAAoBxC,kBACvByC,CAAQ,QAAA;;AACDC,UAAAA,mBAAmBrF,iEAAyBoF;AAC9CC,SAAAA,MAAAA,qDAAmB,OAAnBA,gBAAAA,IAAuB9G,OAAO;AAChCwD,0BAAoBsD,gBAAgB;AAAA,IAAA,OAC/B;AACmB;IAC1B;AAAA,EAAA,GAEF,CAACH,wBAAwBlF,sBAAsB,CAAC;AAM5CsF,QAAAA,4BAA4BA,CAACpC,OAAOqC,SAAS;AACjD/B,WAAON,OAAOqC,KAAKtH,SAASsH,KAAKhH,KAAK;AAG1BgH,gBAAAA,KAAKtH,SAASsH,KAAKhH,KAAK;AAExB;AACY;EAAA;AAM1B,QAAMiH,sBAAuBtC,CAAU,UAAA;AACrC,QAAIuC,oBAAWvC,OAAOwC,cAAcC,cAAAA,GAAG,GAAG;AAChB;AACZ;IACHF,WAAAA,SAAAA,WAAWvC,OAAOwC,cAAAA,cAAcE,GAAG,GAAG;AACvB;IAC1B;AAAA,EAAA;AAMF,QAAMC,kBAAkBlD,MAAAA,YACtB,CAACmD,GAAGC,UAAU;AACZhF,gBAAYgF,KAAK;AAEjB,QAAI7D,oBAAoB;AAOtBiD,wBAAkBY,KAAK;AAAA,IACzB;AAAA,EAAA,GAEF,CAAC7D,oBAAoBiD,iBAAiB,CAAC;AAMnCa,QAAAA,wBAAwBrD,kBAC3BO,CAAU,UAAA;AACT,QAAI,CAAChB,sBAAsBpC,YAAYmG,SAAS/C,MAAMgD,IAAI,GAAG;AAC3D1C,aAAON,OAAOpC,QAAQ;AAAA,IACxB;AAAA,KAEF,CAAC0C,QAAQtB,oBAAoBpC,aAAagB,QAAQ,CAAC;AAM/CqF,QAAAA,mBAAmBxD,kBACtBO,CAAU,UAAA;;AACT,QAAIpC,aAAa,IAAI;AACnB,cAAQoC,MAAMgD,MAAI;AAAA,QAChB,KAAK;AACHhF,0BAAgBD,eAAe,IAAIA,eAAe,IAAI,CAAC;AACvD;AAAA,QACF,KAAK;AACHC,0BACED,eAAehD,MAAMkD,SAASF,eAAe,IAAIhD,MAAMkD,MAAM;AAE/D;AAAA,QACF,KAAK;AACH,cAAIS,eAAe;AACPX,sBAAAA,cAAciC,OAAO,KAAK;AAAA,UAAA,OAC/B;AACWjF,4BAAAA,MAAMkD,SAAS,CAAC;AAAA,UAClC;AACA;AAAA,QACF,KAAK;AACH,cAAIS,eAAe;AACPX,sBAAAA,cAAciC,OAAO,KAAK;AAAA,UACtC;AACA;AAAA,MAEM;AAAA,IAAA,OAEL;AACL,cAAQA,MAAMgD,MAAI;AAAA,QAChB,KAAK;AACY,WAAAE,MAAA,eAAA,CAAC,MAAD,gBAAAA,IAAI7C;AACnB;AAAA,MAEM;AAAA,IAEZ;AAAA,EAAA,GAEF,CACEP,WACA2B,gBACA/C,eACAX,cACAH,UACA7C,MAAMkD,MAAM,CACb;AAMH,QAAMkF,qBAAqB1D,MAAAA,YACzB,CAACO,OAAOoD,MAAM;AACFA,cAAAA,GAAGpD,OAAO,IAAI;AACxBzC,uBAAmBC,iBAAAA,QAAiBC,OAAO;AAAA,EAAA,GAE7C,CAACqC,WAAWvC,kBAAkB,CAAC;AAM3B8F,QAAAA,0BAA0B5D,MAAAA,YAAY,MAAM;;AAChDrB,KAAAA,MAAAA,SAASgC,YAAThC,gBAAAA,IAAkBiC;AAClBiD,iBAAa9E,YAAY4B,OAAO;AAChCpC,oBAAgBjD,MAAMkD,MAAM;AAAA,EAAA,GAC3B,CAAClD,MAAMkD,MAAM,CAAC;AAEjB,QAAMsF,gBAAiBC,CAAQ,QAAA;AACjBpD,gBAAAA,UAAUW,WAAW,MAAM;AACrC,UAAIlE,cAAc;AAChByD,eAAOkD,KAAK5F,QAAQ;AAAA,MACtB;AACA9B,uCAAS0H,KAAK5F;AAAAA,OACb,GAAG;AAAA,EAAA;AAGR,QAAM6F,iBAAkBD,CAAQ,QAAA;AAC9BF,iBAAa9E,YAAY4B,OAAO;AAChCrE,uCAAUyH,KAAK5F;AAAAA,EAAQ;AAGzB,yCACG8F,iBAAAA,mBAAiB;AAAA,IAChB7I;AAAAA,IACAC;AAAAA,IACAK;AAAAA,IACAD;AAAAA,IACAuB,QAAQa;AAAAA,IACRlC;AAAAA,IACAU,QAAQyH;AAAAA,IACRxH,SAAS0H;AAAAA,IACT7I,WAAW+I,cAAAA,QACTC,iBAAAA,QAAiBC,MACjBlJ,mCAASkJ,MACTjJ,WACAO,YAAYwI,cAAKC,QAAAA,iBAAAA,QAAiBzI,UAAUR,mCAASQ,QAAQ,CAAC;AAAA,IAC9D2F,UAAA,EAEA5D,YAAYC,mDACX2G,iBAAAA,sBAAoB;AAAA,MACnBlJ,WAAW+I,cAAAA,QACTC,iBAAAA,QAAiBG,gBACjBpJ,mCAASoJ,cAAc;AAAA,MACvBjD,UAED5D,CAAAA,YACC8G,2BAAAA,IAACC,8BAAW;AAAA,QACVrJ,WAAW+I,cAAAA,QAAKC,iBAAAA,QAAiBvI,OAAOV,mCAASU,KAAK;AAAA,QACtDR,IAAIiH,MAAAA,MAAMjH,IAAI,OAAO;AAAA,QACrBqJ,SAASpC,MAAAA,MAAM9E,WAAW,OAAO;AAAA,QACjC3B,OAAOC;AAAAA,MAAAA,CAAc,GAIxB6B,kBACC6G,2BAAAA,IAACG,oCAAiB;AAAA,QAChBvJ,WAAW+I,cAAAA,QACTC,iBAAAA,QAAiBnI,aACjBd,mCAASc,WAAW;AAAA,QAEtBZ,IAAIiH,MAAAA,MAAM9E,WAAW,aAAa;AAAA,QAAE8D,UAEnCrF;AAAAA,MAAAA,CAEJ,CAAA;AAAA,IAAA,CAAA,GAIJkD,cACCqF,2BAAAA,IAACI,oCAAiB;AAAA,MAChBvJ,IAAIiH,MAAAA,MAAM9E,WAAW,aAAa;AAAA,MAClCpC,WAAW+I,cAAAA,QACTC,iBAAAA,QAAiBS,kBACjB1J,mCAAS0J,gBAAgB;AAAA,MAE3BC,WAAWpI;AAAAA,MACXqI,qBAAqBxJ,MAAMkD;AAAAA,MAC3BuG,iBAAiBrI;AAAAA,MAAgB,GAC7BI;AAAAA,IAAAA,CAEP,GAEDkI,2BAAAA,KAACC,iCAAc;AAAA,MACb9J,WAAW+I,cAAAA,QACTC,iBAAiBe,QAAAA,UACjBhK,mCAASgK,UACThE,gBAAgBgD,cAAAA,QAAKC,iBAAAA,QAAiBxE,OAAOzE,mCAASyE,KAAK,GAC3D/C,aACEG,aACAmH,cAAAA,QAAKC,iBAAAA,QAAiBvH,WAAW1B,mCAAS0B,SAAS,GACrDyC,kBAAkB6E,cAAAA,QAAKC,iBAAAA,QAAiBhE,SAASjF,mCAASiF,OAAO,GACjE,CAACpD,aAAamH,sBAAKC,iBAAAA,QAAiBgB,YAAYjK,mCAASiK,UAAU,CAAC;AAAA,MAEtEC,WAAW1J;AAAAA,MACX2J,aAAa,CAACtI;AAAAA,MACduI,QAAQpE;AAAAA,MACRqE,YAAY3I,aAAaG;AAAAA,MACzByI,UAAUnG;AAAAA,MACVoG,WAAWhK;AAAAA,MACXiK,WAAWlC;AAAAA,MACXmC,SAAS/B;AAAAA,MACTgC,KAAK/G;AAAAA,MAAawC,UAAA,CAEjB/F,SACCA,MAAMuK,IAAI,CAACC,GAAGnC,MAAM;AACZ7C,cAAAA,MACJ,OAAOgF,MAAM,WACT;AAAA,UACElK,OAAOkK;AAAAA,UACP7E,MAAM;AAAA,QAER6E,IAAAA;AACA,cAAA;AAAA,UAAElK;AAAAA,UAAOqF;AAAAA,aAAS8E;AAAAA,QAAejF,IAAAA;AACvC,8CACGkF,iBAAAA,gBAAc;AAAA,UAEbC,UAAU;AAAA,UACV9K,WAAW+I,cAAAA,QACT,CAACnH,aACCmH,cAAAA,QAAKC,iBAAAA,QAAiBgB,YAAYjK,mCAASiK,UAAU,CAAC;AAAA,UAE1DjK,SAAS;AAAA,YACPgL,SAAShC,cAAAA,QACPC,iBAAAA,QAAiBgC,iBACjBjL,mCAASiL,eAAe;AAAA,YAE1B/B,MAAMF,cAAAA,QACJC,iBAAAA,QAAiBiC,cACjBlL,mCAASkL,YAAY;AAAA,UAEzB;AAAA,UACAhL,IAAK,OAAMuI;AAAAA,UACX0B,aAAa,CAACtI;AAAAA,UAAUsE,yCAEvBgF,4BAAS;AAAA,YACRzK;AAAAA,YACAT,WAAW+I,cAAAA,QACTP,MAAMrF,gBACJ4F,cAAAA,QAAKC,iBAAAA,QAAiBmC,aAAapL,mCAASoL,WAAW,CAAC;AAAA,YAE5DpL,SAAS;AAAA,cACPqL,UAAUrC,cAAAA,QACRC,iBAAAA,QAAiBoC,UACjBrL,mCAASqL,QAAQ;AAAA,YAErB;AAAA,YACAtF;AAAAA,YAAW,GACN,EAAExF,YAAYC,YAAYuF,SAAS,kBAAkB;AAAA,cACxD7E,UAAWmE,CAAAA,UAAUmD,mBAAmBnD,OAAOoD,CAAC;AAAA,YAClD;AAAA,YACA6C,mBAAmB;AAAA,cACjBP,UAAU;AAAA,YACZ;AAAA,YACAQ,WAAW9C,MAAMrF;AAAAA,YAAa,GAC1ByH;AAAAA,UAAAA,CAAU;AAAA,QAAA,GAvCV,GAAEjF,IAAIlF,SAAS+H,GAAG;AAAA,MA2C7B,CAAA,GACF,EAAEjI,YAAYD,4CACZiL,iBAAAA,qBAAmB;AAAA,QAClBvL,WAAW+I,cAAAA,QACT,CAACnH,aACCmH,cAAAA,QACEC,iBAAAA,QAAiBgB,YACjBjK,mCAASiK,YACT7J,MAAMkD,WAAW,KAAK2F,yBAAiBwC,mBACvCrL,MAAMkD,WAAW,MAAKtD,mCAASyL,kBAAiB,CACjD;AAAA,QAELzL,SAAS;AAAA,UACPkJ,MAAMF,cAAAA,QACJC,iBAAAA,QAAiByC,uBACjB1L,mCAAS0L,qBAAqB;AAAA,UAEhCV,SAAShC,cAAAA,QACPC,iBAAAA,QAAiBgC,iBACjBjL,mCAASiL,eAAe;AAAA,QAE5B;AAAA,QACA/K,IAAK,OAAME,MAAMkD;AAAAA,QACjB6G,aAAa,CAACtI;AAAAA,QACd8J,gBAAgB,CAAC,CAAC5H;AAAAA,QAAcoC,yCAE/ByF,8BAAW;AAAA,UACVxL,OAAO6C;AAAAA,UACP4I,cAAY;AAAA,UACZ7K,UAAUgH;AAAAA,UACVwC,WAAWrC;AAAAA,UACX9G,aAAajB,MAAMkD,WAAW,IAAIjC,cAAc;AAAA,UAChDI;AAAAA,UACAxB,WAAW+I,cAAAA,QACT,CAACnH,aACCmH,cAAAA,QAAKC,iBAAAA,QAAiBgB,YAAYjK,mCAASiK,UAAU,CAAC;AAAA,UAE1DjK,SAAS;AAAA,YACPkJ,MAAMF,cAAAA,QACJC,iBAAAA,QAAiB6C,cACjB9L,mCAAS8L,YAAY;AAAA,YAEvB5D,OAAOc,cAAAA,QAAKC,iBAAAA,QAAiBf,OAAOlI,mCAASkI,KAAK;AAAA,YAClD6D,sBAAsB/C,cAAAA,QACpBC,iBAAAA,QAAiB+C,yBACjBhM,mCAASgM,uBAAuB;AAAA,YAElCC,kBAAkBjD,cAAAA,QAChBC,iBAAAA,QAAiBiD,qBACjBlM,mCAASkM,mBAAmB;AAAA,UAEhC;AAAA,UACA1L;AAAAA,UACAD,UAAUA,YAAYwD;AAAAA,UACtBpC,YAAY;AAAA,YACV+I,KAAK5G;AAAAA,YACL,cAAclD;AAAAA,YACd,mBAAmBC;AAAAA,YACnB,oBACEE,mBAAmB,OACfA,kBACCD,eAAeqG,MAAAA,MAAM9E,WAAW,aAAa,KAC9C2C;AAAAA,YAEN,GAAGrD;AAAAA,UACL;AAAA,UACA8B;AAAAA,UACA0G,aAAa,CAACtI;AAAAA,UAAU,GACpBO;AAAAA,QAAAA,CAAM;AAAA,MAAA,CAGf,CAAA;AAAA,IAAA,CAAA,GAEFiC,sBACCyF,2BAAAA,KAAAqC,qBAAA;AAAA,MAAAhG,UAAA,CACG7B,kBACC+E,2BAAAA,IAAA,OAAA;AAAA,QACE+C,MAAK;AAAA,QACLnM,WAAW+I,cAAAA,QACTC,iBAAAA,QAAiBoD,gBACjBrM,mCAASqM,cAAc;AAAA,MAAA,CAG5B,GACDhD,2BAAAA,IAACiD,oCAAiB;AAAA,QAChBpM,IAAIiH,MAAAA,MAAM9E,WAAW,aAAa;AAAA,QAClCrC,SAAS;AAAA,UACPkJ,MAAMF,cAAAA,QACJC,iBAAAA,QAAiBsD,sBACjBvM,mCAASuM,oBAAoB;AAAA,UAE/BC,MAAMxD,cAAAA,QACJC,iBAAAA,QAAiBwD,gBACjBzM,mCAASyM,cAAc;AAAA,QAE3B;AAAA,QACAC,UAAUpI;AAAAA,QACVqI,WAAUhJ,kDAAc8B,YAAd9B,mBAAuBiJ;AAAAA,QACjCC,SAASxF;AAAAA,QACTmD,WAAW7C;AAAAA,QACXmF,sBAAsBrF;AAAAA,QACtBxD;AAAAA,MAAAA,CACA,CAAA;AAAA,IAAA,CAAA,GAGL+B,gBACCqD,2BAAAA,IAAC0D,8BAAW;AAAA,MACV7M,IAAIiH,MAAAA,MAAM9E,WAAW,OAAO;AAAA,MAC5B2K,eAAa;AAAA,MACb/M,WAAW+I,cAAAA,QAAKC,iBAAAA,QAAiBxE,OAAOzE,mCAASyE,KAAK;AAAA,MAAE0B,UAEvDpD;AAAAA,IAAAA,CAEJ,CAAA;AAAA,EAAA,CACiB;AAExB;;"}
|
|
1
|
+
{"version":3,"file":"TagsInput.cjs","sources":["../../../../src/components/TagsInput/TagsInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { HvValidationMessages } from \"types/forms\";\nimport { HvBaseProps } from \"../../types\";\nimport {\n StyledCharCounter,\n StyledDescription,\n StyledError,\n StyledFormElement,\n StyledLabel,\n StyledLabelContainer,\n StyledListItem,\n StyledTag,\n StyledTagsList,\n StyledInputListItem,\n StyledInput,\n StyledSuggestions,\n} from \"./TagsInput.styles\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport { useControlled, useIsMounted, useUniqueId } from \"hooks\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { HvTagProps } from \"components\";\nimport tagsInputClasses, { HvTagsInputClasses } from \"./tagsInputClasses\";\nimport { HvCharCounterProps, HvFormStatus } from \"../Forms\";\nimport { InputBaseComponentProps as MuiInputBaseComponentProps } from \"@mui/material\";\n\nexport type HvTagsInputProps = HvBaseProps<\n HTMLElement,\n { onChange; onBlur; onFocus; onKeyDown; color }\n> & {\n /** The form element name. */\n name?: string;\n /** The value of the form element. */\n value?: string[] | HvTagProps[];\n /** When uncontrolled, defines the initial input value. */\n defaultValue?: string[] | HvTagProps[];\n /**\n * The label of the form element.\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that the form element is not editable. */\n readOnly?: boolean;\n /** Indicates that the form element is required. */\n required?: boolean;\n /** The function that will be executed onChange. */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps[]\n ) => void;\n /** The function that will be executed when the element is focused. */\n onFocus?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when the element is blurred. */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>, value: string) => void;\n /** The function that will be executed when a tag is deleted. */\n onDelete?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The function that will be executed when a tag is added. */\n onAdd?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEventHandler<HTMLElement>,\n value: HvTagProps,\n index: number\n ) => void;\n /** The placeholder value of the input. */\n placeholder?: string;\n /** If `true` the character counter isn't shown even if maxTagsQuantity is set. */\n hideCounter?: boolean;\n /** Text between the current char counter and max value. */\n middleCountLabel?: string;\n /** The maximum allowed length of the characters, if this value is null no check will be performed. */\n maxTagsQuantity?: number;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** If `true` it should autofocus. */\n autoFocus?: boolean;\n /** If `true` the component is resizable. */\n resizable?: boolean;\n /** Props passed to the HvCharCount component. */\n countCharProps?: Partial<HvCharCounterProps>;\n /** If `true` the component is in multiline mode. */\n multiline?: boolean;\n /** The status of the form element. */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". */\n statusMessage?: React.ReactNode;\n /** An Object containing the various texts associated with the input. */\n validationMessages?: HvValidationMessages;\n /** An array of strings that represent the character used to input a tag. This character is the string representation of the event.code from the input event. */\n commitTagOn?: string[];\n /** If `true` the tag will be committed when the blur event occurs. */\n commitOnBlur?: boolean;\n /** The function that will be executed to received an array of objects that has a label and id to create list of suggestion */\n suggestionListCallback?: Function;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagsInputClasses;\n};\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nexport const HvTagsInput = ({\n classes,\n className,\n id,\n name,\n value: valueProp,\n defaultValue = [],\n readOnly = false,\n disabled = false,\n required = false,\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onAdd,\n onDelete,\n onBlur,\n onFocus,\n placeholder,\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n autoFocus = false,\n resizable = true,\n inputProps = {},\n countCharProps = {},\n multiline = false,\n status,\n statusMessage,\n validationMessages,\n commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n suggestionListCallback,\n ...others\n}: HvTagsInputProps) => {\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 [validationState, setValidationState] = useControlled(\n status,\n validationStates.standBy\n );\n const [validationMessage, setValidationMessage] = useControlled(\n statusMessage,\n \"\"\n );\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef<any>();\n const containerRef = useRef<any>();\n const skipReset = useRef(false);\n const blurTimeout = useRef<any>();\n const materialInputRef = useRef<any>(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (\n maxTagsQuantity !== null &&\n maxTagsQuantity !== undefined &&\n currValue.length > maxTagsQuantity\n ) {\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 [\n errorMessages.maxCharError,\n maxTagsQuantity,\n setValidationMessage,\n setValidationState,\n ]\n );\n\n /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [\n ...value.slice(0, tagPos),\n ...value.slice(tagPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(\n end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0\n );\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag: HvTagProps = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined &&\n status === \"invalid\" &&\n statusMessage !== undefined) ||\n !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(\n setId(elementId, \"suggestions-list\") || \"\"\n );\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, keyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, keyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (_, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\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(\n tagCursorPos < value.length ? tagCursorPos + 1 : value.length\n );\n break;\n case \"Backspace\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [\n deleteTag,\n getSuggestions,\n isTagSelected,\n tagCursorPos,\n tagInput,\n value.length,\n ]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <StyledFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n className={clsx(\n tagsInputClasses.root,\n classes?.root,\n className,\n disabled && clsx(tagsInputClasses.disabled, classes?.disabled)\n )}\n >\n {(hasLabel || hasDescription) && (\n <StyledLabelContainer\n className={clsx(\n tagsInputClasses.labelContainer,\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <StyledLabel\n className={clsx(tagsInputClasses.label, classes?.label)}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <StyledDescription\n className={clsx(\n tagsInputClasses.description,\n classes?.description\n )}\n id={setId(elementId, \"description\")}\n >\n {description}\n </StyledDescription>\n )}\n </StyledLabelContainer>\n )}\n\n {hasCounter && (\n <StyledCharCounter\n id={setId(elementId, \"charCounter\")}\n className={clsx(\n tagsInputClasses.characterCounter,\n classes?.characterCounter\n )}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <StyledTagsList\n className={clsx(\n tagsInputClasses.tagsList,\n classes?.tagsList,\n canShowError && clsx(tagsInputClasses.error, classes?.error),\n resizable &&\n multiline &&\n clsx(tagsInputClasses.resizable, classes?.resizable),\n isStateInvalid && clsx(tagsInputClasses.invalid, classes?.invalid),\n !multiline && clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n $disabled={disabled}\n $singleLine={!multiline}\n $error={canShowError}\n $resizable={resizable && multiline}\n $invalid={isStateInvalid}\n $readOnly={readOnly}\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 <StyledListItem\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n root: clsx(\n tagsInputClasses.listItemRoot,\n classes?.listItemRoot\n ),\n }}\n id={`tag-${i}`}\n $singleLine={!multiline}\n >\n <StyledTag\n label={label}\n className={clsx(\n i === tagCursorPos &&\n clsx(tagsInputClasses.tagSelected, classes?.tagSelected)\n )}\n classes={{\n chipRoot: clsx(\n tagsInputClasses.chipRoot,\n classes?.chipRoot\n ),\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n $selected={i === tagCursorPos}\n {...otherProps}\n />\n </StyledListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <StyledInputListItem\n className={clsx(\n !multiline &&\n clsx(\n tagsInputClasses.singleLine,\n classes?.singleLine,\n value.length === 0 &&\n clsx(\n tagsInputClasses.tagInputRootEmpty,\n classes?.tagInputRootEmpty\n )\n )\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputContainerRoot,\n classes?.tagInputContainerRoot\n ),\n gutters: clsx(\n tagsInputClasses.listItemGutters,\n classes?.listItemGutters\n ),\n }}\n id={`tag-${value.length}`}\n $singleLine={!multiline}\n $isTagSelected={!!isTagSelected}\n >\n <StyledInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onKeyDown={onInputKeyDownHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(\n !multiline &&\n clsx(tagsInputClasses.singleLine, classes?.singleLine)\n )}\n classes={{\n root: clsx(\n tagsInputClasses.tagInputRoot,\n classes?.tagInputRoot\n ),\n input: clsx(tagsInputClasses.input, classes?.input),\n inputBorderContainer: clsx(\n tagsInputClasses.tagInputBorderContainer,\n classes?.tagInputBorderContainer\n ),\n inputRootFocused: clsx(\n tagsInputClasses.tagInputRootFocused,\n classes?.tagInputRootFocused\n ),\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n ref: materialInputRef,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : (description && setId(elementId, \"description\")) ||\n undefined,\n\n ...inputProps,\n }}\n inputRef={inputRef}\n $singleLine={!multiline}\n {...others}\n />\n </StyledInputListItem>\n )}\n </StyledTagsList>\n {canShowSuggestions && (\n <>\n {hasSuggestions && (\n <div\n role=\"presentation\"\n className={clsx(\n tagsInputClasses.inputExtension,\n classes?.inputExtension\n )}\n />\n )}\n <StyledSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: clsx(\n tagsInputClasses.suggestionsContainer,\n classes?.suggestionsContainer\n ),\n list: clsx(\n tagsInputClasses.suggestionList,\n classes?.suggestionList\n ),\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\n {canShowError && (\n <StyledError\n id={setId(elementId, \"error\")}\n disableBorder\n className={clsx(tagsInputClasses.error, classes?.error)}\n >\n {validationMessage}\n </StyledError>\n )}\n </StyledFormElement>\n );\n};\n"],"names":["HvTagsInput","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","useUniqueId","hasLabel","hasDescription","setValue","useControlled","validationState","setValidationState","validationStates","standBy","validationMessage","setValidationMessage","tagInput","setTagInput","useState","tagCursorPos","setTagCursorPos","length","stateValid","setStateValid","inputRef","useRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","useMemo","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","useCallback","currValue","undefined","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","useEffect","element","children","setTimeout","container","isNil","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","useIsMounted","focusInput","getSuggestions","li","listEl","document","getElementById","setId","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","isKeypress","keyboardCodes","Esc","Tab","onChangeHandler","_","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","_a","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","StyledFormElement","clsx","tagsInputClasses","root","StyledLabelContainer","labelContainer","_jsx","StyledLabel","htmlFor","StyledDescription","StyledCharCounter","characterCounter","separator","currentCharQuantity","maxCharQuantity","_jsxs","StyledTagsList","tagsList","singleLine","$disabled","$singleLine","$error","$resizable","$invalid","$readOnly","onKeyDown","onClick","ref","map","t","otherProps","StyledListItem","tabIndex","gutters","listItemGutters","listItemRoot","StyledTag","tagSelected","chipRoot","deleteButtonProps","$selected","StyledInputListItem","tagInputRootEmpty","tagInputContainerRoot","$isTagSelected","StyledInput","disableClear","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","_Fragment","role","inputExtension","StyledSuggestions","suggestionsContainer","list","suggestionList","expanded","anchorEl","parentElement","onClose","onSuggestionSelected","StyledError","disableBorder"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { HvButton } from \"components\";\nimport { useControlled } from \"hooks\";\nimport { HvBaseProps } from \"../../types\";\n\nexport type HvToggleButtonProps = HvBaseProps<\n HTMLButtonElement,\n { onClick }\n> & {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: Function;\n};\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = props;\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (e) => {\n setIsSelected(!isSelected);\n onClick?.(e, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n variant=\"secondaryGhost\"\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","e","HvButton","icon","variant"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { HvButton } from \"components\";\nimport { useControlled } from \"hooks\";\nimport { HvBaseProps } from \"../../types\";\n\nexport type HvToggleButtonProps = HvBaseProps<\n HTMLButtonElement,\n { onClick }\n> & {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Defines if the button is disabled. */\n disabled?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: Function;\n};\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = props;\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (e) => {\n setIsSelected(!isSelected);\n onClick?.(e, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n variant=\"secondaryGhost\"\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","e","HvButton","icon","variant"],"mappings":";;;;;;AAuBO,MAAMA,iBAAiBC,MAAAA,WAG5B,CAACC,OAAOC,QAAQ;AACV,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,eAAe;AAAA,IACfC;AAAAA,IACAC;AAAAA,OACGC;AAAAA,EACDR,IAAAA;AAEE,QAAA,CAACS,YAAYC,aAAa,IAAIC,cAAAA,cAClCR,UACAS,QAAQV,eAAe,CAAC;AAG1B,QAAMW,iBAAkBC,CAAM,MAAA;AAC5BJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,GAAG,CAACL;AAAAA,EAAU;AAG1B,wCACGM,OAAAA,UAAQ;AAAA,IACPd;AAAAA,IACAe,MAAI;AAAA,IACJC,SAAQ;AAAA,IACR,gBAAcR;AAAAA,IACdH,SAASO;AAAAA,IAAe,GACpBL;AAAAA,IAAMD,UAETA,aAAa,CAACE,aAAaL,kBAAkBC;AAAAA,EAAAA,CACrC;AAEf,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement, useContext } from \"react\";\nimport { TransitionProps as MuiTransitionProps } from \"@mui/material/transitions\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport { HvThemeContext } from \"providers\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\nimport clsx from \"clsx\";\n\nexport type HvTooltipPlacementType =\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n\nexport type HvTooltipProps = MuiTooltipProps & {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title?: string | ReactElement;\n /**\n * The component used for the transition\n */\n TransitionComponent?: React.JSXElementConstructor<\n MuiTransitionProps & { children: React.ReactElement<any, any> }\n >;\n /**\n * Properties applied to the Transition element.\n */\n TransitionProps?: MuiTransitionProps;\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n};\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n */\n\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement: placement },\n ...others\n } = props;\n\n const { rootId } = useContext(HvThemeContext);\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container: document.getElementById(rootId || \"\") || document.body,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","others","rootId","useContext","HvThemeContext","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","document","getElementById","body"],"mappings":";;;;;;;;;;;AA4EO,MAAMA,YAAYC,MAAAA,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC,SAAAA;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAqB;AAAA,OACpDQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,EAAAA,IAAWC,MAAAA,WAAWC,cAAAA,cAAc;AAE5C,wCACGC,SAAAA,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,sBAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,cAAAA,QAAKC,eAAAA,QAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,cAAKC,QAAAA,eAAAA,QAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,cAAAA,QAAKC,eAAAA,QAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,wBAASpB,SAAS;AAAA,MACtBqB,WAAWC,SAASC,eAAef,UAAU,EAAE,KAAKc,SAASE;AAAAA,IAC/D;AAAA,IAAE,GACEjB;AAAAA,IAAMN;AAAAA,EAAAA,CAGC;AAEjB,CAAC;;"}
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement, useContext } from \"react\";\nimport { TransitionProps as MuiTransitionProps } from \"@mui/material/transitions\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport { HvThemeContext } from \"providers\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\nimport clsx from \"clsx\";\n\nexport type HvTooltipPlacementType =\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n\nexport type HvTooltipProps = Omit<MuiTooltipProps, \"classes\"> & {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title?: string | ReactElement;\n /**\n * The component used for the transition\n */\n TransitionComponent?: React.JSXElementConstructor<\n MuiTransitionProps & { children: React.ReactElement<any, any> }\n >;\n /**\n * Properties applied to the Transition element.\n */\n TransitionProps?: MuiTransitionProps;\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n};\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n */\n\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement: placement },\n ...others\n } = props;\n\n const { rootId } = useContext(HvThemeContext);\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container: document.getElementById(rootId || \"\") || document.body,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","others","rootId","useContext","HvThemeContext","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","document","getElementById","body"],"mappings":";;;;;;;;;;;AA4EO,MAAMA,YAAYC,MAAAA,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC,SAAAA;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAqB;AAAA,OACpDQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,EAAAA,IAAWC,MAAAA,WAAWC,cAAAA,cAAc;AAE5C,wCACGC,SAAAA,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,sBAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,cAAAA,QAAKC,eAAAA,QAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,cAAKC,QAAAA,eAAAA,QAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,cAAAA,QAAKC,eAAAA,QAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,wBAASpB,SAAS;AAAA,MACtBqB,WAAWC,SAASC,eAAef,UAAU,EAAE,KAAKc,SAASE;AAAAA,IAC/D;AAAA,IAAE,GACEjB;AAAAA,IAAMN;AAAAA,EAAAA,CAGC;AAEjB,CAAC;;"}
|
|
@@ -126,7 +126,7 @@ const getStyledComponent = (c) => /* @__PURE__ */ _styled__default.default(c, pr
|
|
|
126
126
|
textOverflow: "ellipsis",
|
|
127
127
|
whiteSpace: "nowrap"
|
|
128
128
|
}
|
|
129
|
-
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
129
|
+
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS9UeXBvZ3JhcGh5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRUUiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvaHYtdWlraXQtcmVhY3QvaHYtdWlraXQtcmVhY3QvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9UeXBvZ3JhcGh5L1R5cG9ncmFwaHkudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlTWVtbyxcbiAgQ1NTUHJvcGVydGllcyxcbiAgQWxsSFRNTEF0dHJpYnV0ZXMsXG4gIFJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyB0cmFuc2llbnRPcHRpb25zIH0gZnJvbSBcInV0aWxzL3RyYW5zaWVudE9wdGlvbnNcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IG1hcFZhcmlhbnQgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHR5cG9ncmFwaHlDbGFzc2VzLCB7IEh2VHlwb2dyYXBoeUNsYXNzZXMgfSBmcm9tIFwiLi90eXBvZ3JhcGh5Q2xhc3Nlc1wiO1xuaW1wb3J0IGNsc3ggZnJvbSBcImNsc3hcIjtcblxuZXhwb3J0IHR5cGUgSHZUeXBvZ3JhcGh5VmFyaWFudHMgPVxuICB8IFwiZGlzcGxheVwiXG4gIHwgXCJ0aXRsZTFcIlxuICB8IFwidGl0bGUyXCJcbiAgfCBcInRpdGxlM1wiXG4gIHwgXCJ0aXRsZTRcIlxuICB8IFwiYm9keVwiXG4gIHwgXCJsYWJlbFwiXG4gIHwgXCJjYXB0aW9uMVwiXG4gIHwgXCJjYXB0aW9uMlwiO1xuXG5leHBvcnQgdHlwZSBIdlR5cG9ncmFwaHlMZWdhY3lWYXJpYW50cyA9XG4gIHwgXCI1eGxUaXRsZVwiXG4gIHwgXCI0eGxUaXRsZVwiXG4gIHwgXCIzeGxUaXRsZVwiXG4gIHwgXCJ4eGxUaXRsZVwiXG4gIHwgXCJ4bFRpdGxlXCJcbiAgfCBcImxUaXRsZVwiXG4gIHwgXCJtVGl0bGVcIlxuICB8IFwic1RpdGxlXCJcbiAgfCBcInhzVGl0bGVcIlxuICB8IFwieHhzVGl0bGVcIlxuICB8IFwic2VjdGlvblRpdGxlXCJcbiAgfCBcImhpZ2hsaWdodFRleHRcIlxuICB8IFwibm9ybWFsVGV4dFwiXG4gIHwgXCJwbGFjZWhvbGRlclRleHRcIlxuICB8IFwibGlua1wiXG4gIHwgXCJkaXNhYmxlZFRleHRcIlxuICB8IFwic2VsZWN0ZWROYXZUZXh0XCJcbiAgfCBcInZpelRleHRcIlxuICB8IFwidml6VGV4dERpc2FibGVkXCJcbiAgfCBcInhzSW5saW5lTGlua1wiO1xuXG5jb25zdCBIdlR5cG9ncmFwaHlNYXAgPSB7XG4gIGRpc3BsYXk6IFwiaDFcIixcbiAgdGl0bGUxOiBcImgxXCIsXG4gIHRpdGxlMjogXCJoMlwiLFxuICB0aXRsZTM6IFwiaDNcIixcbiAgdGl0bGU0OiBcImg0XCIsXG4gIGJvZHk6IFwicFwiLFxuICBsYWJlbDogXCJsYWJlbFwiLFxuICBjYXB0aW9uMTogXCJwXCIsXG4gIGNhcHRpb24yOiBcInBcIixcbiAgLy8gTEVHQUNZXG4gIFwiNXhsVGl0bGVcIjogXCJoMVwiLFxuICBcIjR4bFRpdGxlXCI6IFwiaDFcIixcbiAgeHhsVGl0bGU6IFwiaDFcIixcbiAgbFRpdGxlOiBcImgyXCIsXG4gIHNUaXRsZTogXCJoNFwiLFxuICB4eHNUaXRsZTogXCJoNlwiLFxuICBzZWN0aW9uVGl0bGU6IFwicFwiLFxuICBwbGFjZWhvbGRlclRleHQ6IFwicFwiLFxuICBsaW5rOiBcInBcIixcbiAgZGlzYWJsZWRUZXh0OiBcInBcIixcbiAgc2VsZWN0ZWROYXZUZXh0OiBcInBcIixcbiAgdml6VGV4dERpc2FibGVkOiBcInBcIixcbiAgeHNJbmxpbmVMaW5rOiBcInBcIixcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IGdldFN0eWxlZENvbXBvbmVudCA9IDxUIGV4dGVuZHMga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzPihjOiBUKSA9PlxuICBzdHlsZWQoXG4gICAgYyxcbiAgICB0cmFuc2llbnRPcHRpb25zXG4gICkoXG4gICAgKHtcbiAgICAgICR2YXJpYW50LFxuICAgICAgJGxpbmsgPSBmYWxzZSxcbiAgICAgICRkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgJG5vV3JhcCA9IGZhbHNlLFxuICAgIH06IHtcbiAgICAgICR2YXJpYW50OiBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzO1xuICAgICAgJGxpbms/OiBib29sZWFuO1xuICAgICAgJGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAgICRub1dyYXA/OiBib29sZWFuO1xuICAgIH0pID0+ICh7XG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiZGlzcGxheVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuZGlzcGxheSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInRpdGxlMVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudGl0bGUxIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwidGl0bGUyXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS50aXRsZTIgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ0aXRsZTNcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnRpdGxlMyBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInRpdGxlNFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkudGl0bGU0IGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiYm9keVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkuYm9keSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImxhYmVsXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5sYWJlbCBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImNhcHRpb24xXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5jYXB0aW9uMSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImNhcHRpb24yXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5jYXB0aW9uMiBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLy8gTEVHQUNZXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwiNXhsVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5W1wiNXhsVGl0bGVcIl0gYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCI0eGxUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHlbXCI0eGxUaXRsZVwiXSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInh4bFRpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS54eGxUaXRsZSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcImxUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkubFRpdGxlIGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICAuLi4oJHZhcmlhbnQgPT09IFwic1RpdGxlXCIgJiYge1xuICAgICAgICAuLi4odGhlbWUudHlwb2dyYXBoeS5zVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJ4eHNUaXRsZVwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkueHhzVGl0bGUgYXMgQ1NTUHJvcGVydGllcyksXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudCA9PT0gXCJzZWN0aW9uVGl0bGVcIiAmJiB7XG4gICAgICAgIC4uLih0aGVtZS50eXBvZ3JhcGh5LnNlY3Rpb25UaXRsZSBhcyBDU1NQcm9wZXJ0aWVzKSxcbiAgICAgICAgdGV4dFRyYW5zZm9ybTogXCJ1cHBlcmNhc2VcIixcbiAgICAgIH0pLFxuICAgICAgLi4uKCR2YXJpYW50ID09PSBcInBsYWNlaG9sZGVyVGV4dFwiICYmIHtcbiAgICAgICAgLi4uKHRoZW1lLnR5cG9ncmFwaHkucGxhY2Vob2xkZXJUZXh0IGFzIENTU1Byb3BlcnRpZXMpLFxuICAgICAgfSksXG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JzLmFjY2UxLFxuICAgICAgLy8gQURERUQgUFJPUFNcbiAgICAgIC4uLigkbGluayAmJiB7XG4gICAgICAgIGNvbG9yOiB0aGVtZS5jb2xvcnMuYWNjZTIsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgfSksXG4gICAgICAuLi4oJGRpc2FibGVkICYmIHtcbiAgICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5hdG1vNSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCRub1dyYXAgJiYge1xuICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgdGV4dE92ZXJmbG93OiBcImVsbGlwc2lzXCIsXG4gICAgICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gICAgICB9KSxcbiAgICB9KVxuICApO1xuXG5leHBvcnQgdHlwZSBIdlR5cG9ncmFwaHlQcm9wcyA9IE9taXQ8XG4gIEFsbEhUTUxBdHRyaWJ1dGVzPEhUTUxFbGVtZW50PixcbiAgXCJkaXNhYmxlZFwiXG4+ICZcbiAgSHZCYXNlUHJvcHM8SFRNTEVsZW1lbnQsIHsgZGlzYWJsZWQgfT4gJiB7XG4gICAgY29tcG9uZW50PzogUmVhY3QuUmVhY3ROb2RlIHwgUmVhY3QuRWxlbWVudFR5cGU7XG4gICAgLyoqIFVzZSB0aGUgdmFyaWFudCBwcm9wIHRvIGNoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIG9mIHRoZSBUeXBvZ3JhcGh5LiAqL1xuICAgIHZhcmlhbnQ/OiBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzO1xuICAgIC8qKiBJZiBgdHJ1ZWAgdGhlIHR5cG9ncmFwaHkgd2lsbCBkaXNwbGF5IHRoZSBsb29rIG9mIGEgbGluay4gKi9cbiAgICBsaW5rPzogYm9vbGVhbjtcbiAgICAvKiogSWYgYHRydWVgIHRoZSB0eXBvZ3JhcGh5IHdpbGwgZGlzcGxheSB0aGUgbG9vayBvZiBhIGRpc2FibGVkIHN0YXRlLiAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAvKiogSWYgYHRydWVgLCB0aGUgdGV4dCB3aWxsIGhhdmUgYSBib3R0b20gbWFyZ2luLiAqL1xuICAgIHBhcmFncmFwaD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSWYgYHRydWVgLCB0aGUgdGV4dCB3aWxsIG5vdCB3cmFwLCBidXQgaW5zdGVhZCB3aWxsIHRydW5jYXRlIHdpdGggYSB0ZXh0IG92ZXJmbG93IGVsbGlwc2lzLlxuICAgICAqXG4gICAgICogTm90ZSB0aGF0IHRleHQgb3ZlcmZsb3cgY2FuIG9ubHkgaGFwcGVuIHdpdGggYmxvY2sgb3IgaW5saW5lLWJsb2NrIGxldmVsIGVsZW1lbnRzXG4gICAgICogKHRoZSBlbGVtZW50IG5lZWRzIHRvIGhhdmUgYSB3aWR0aCBpbiBvcmRlciB0byBvdmVyZmxvdykuXG4gICAgICovXG4gICAgbm9XcmFwPzogYm9vbGVhbjtcbiAgICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICAgIGNsYXNzZXM/OiBIdlR5cG9ncmFwaHlDbGFzc2VzO1xuICB9O1xuXG4vKipcbiAqIFR5cG9ncmFwaHkgY29tcG9uZW50IGlzIHVzZWQgdG8gcmVuZGVyIHRleHQgYW5kIHBhcmFncmFwaHMgd2l0aGluIGFuIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEh2VHlwb2dyYXBoeSA9IGZvcndhcmRSZWYoXG4gIChwcm9wczogSHZUeXBvZ3JhcGh5UHJvcHMsIHJlZjogUmVmPEhUTUxFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY2xhc3NlcyxcbiAgICAgIHZhcmlhbnQgPSBcImJvZHlcIixcbiAgICAgIGxpbmsgPSBmYWxzZSxcbiAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICBub1dyYXAgPSBmYWxzZSxcbiAgICAgIHBhcmFncmFwaCA9IGZhbHNlLFxuICAgICAgLi4ub3RoZXJzXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgbWFwcGVkVmFyaWFudCA9IG1hcFZhcmlhbnQodmFyaWFudCk7XG5cbiAgICBjb25zdCBjb21wID1cbiAgICAgIGNvbXBvbmVudCB8fCAocGFyYWdyYXBoID8gXCJwXCIgOiBIdlR5cG9ncmFwaHlNYXBbbWFwcGVkVmFyaWFudF0gfHwgXCJzcGFuXCIpO1xuXG4gICAgY29uc3QgU3R5bGVkQ29tcG9uZW50ID0gdXNlTWVtbyhcbiAgICAgICgpID0+IGdldFN0eWxlZENvbXBvbmVudChjb21wIHx8IFwicFwiKSxcbiAgICAgIFtjb21wXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbXBvbmVudFxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjbGFzc2VzPy5yb290LFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8uW3ZhcmlhbnRdLFxuICAgICAgICAgIHR5cG9ncmFwaHlDbGFzc2VzW3ZhcmlhbnRdLFxuICAgICAgICAgIG5vV3JhcCAmJiBjbHN4KHR5cG9ncmFwaHlDbGFzc2VzLm5vV3JhcCwgY2xhc3Nlcz8ubm9XcmFwKVxuICAgICAgICApfVxuICAgICAgICAkdmFyaWFudD17XG4gICAgICAgICAgbWFwcGVkVmFyaWFudCBhcyBIdlR5cG9ncmFwaHlWYXJpYW50cyB8IEh2VHlwb2dyYXBoeUxlZ2FjeVZhcmlhbnRzXG4gICAgICAgIH1cbiAgICAgICAgJGxpbms9e2xpbmt9XG4gICAgICAgICRkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICRub1dyYXA9e25vV3JhcH1cbiAgICAgICAgey4uLm90aGVyc31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb21wb25lbnQ+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */");
|
|
130
130
|
const HvTypography = React.forwardRef((props, ref) => {
|
|
131
131
|
const {
|
|
132
132
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.cjs","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import { forwardRef, Ref, useMemo, CSSProperties } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport styled from \"@emotion/styled\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { mapVariant } from \"./utils\";\nimport typographyClasses, { HvTypographyClasses } from \"./typographyClasses\";\nimport clsx from \"clsx\";\n\nexport type HvTypographyVariants =\n | \"display\"\n | \"title1\"\n | \"title2\"\n | \"title3\"\n | \"title4\"\n | \"body\"\n | \"label\"\n | \"caption1\"\n | \"caption2\";\n\nexport type HvTypographyLegacyVariants =\n | \"5xlTitle\"\n | \"4xlTitle\"\n | \"3xlTitle\"\n | \"xxlTitle\"\n | \"xlTitle\"\n | \"lTitle\"\n | \"mTitle\"\n | \"sTitle\"\n | \"xsTitle\"\n | \"xxsTitle\"\n | \"sectionTitle\"\n | \"highlightText\"\n | \"normalText\"\n | \"placeholderText\"\n | \"link\"\n | \"disabledText\"\n | \"selectedNavText\"\n | \"vizText\"\n | \"vizTextDisabled\"\n | \"xsInlineLink\";\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"label\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nconst getStyledComponent = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $variant,\n $link = false,\n $disabled = false,\n $noWrap = false,\n }: {\n $variant: HvTypographyVariants | HvTypographyLegacyVariants;\n $link?: boolean;\n $disabled?: boolean;\n $noWrap?: boolean;\n }) => ({\n ...($variant === \"display\" && {\n ...(theme.typography.display as CSSProperties),\n }),\n ...($variant === \"title1\" && {\n ...(theme.typography.title1 as CSSProperties),\n }),\n ...($variant === \"title2\" && {\n ...(theme.typography.title2 as CSSProperties),\n }),\n ...($variant === \"title3\" && {\n ...(theme.typography.title3 as CSSProperties),\n }),\n ...($variant === \"title4\" && {\n ...(theme.typography.title4 as CSSProperties),\n }),\n ...($variant === \"body\" && {\n ...(theme.typography.body as CSSProperties),\n }),\n ...($variant === \"label\" && {\n ...(theme.typography.label as CSSProperties),\n }),\n ...($variant === \"caption1\" && {\n ...(theme.typography.caption1 as CSSProperties),\n }),\n ...($variant === \"caption2\" && {\n ...(theme.typography.caption2 as CSSProperties),\n }),\n // LEGACY\n ...($variant === \"5xlTitle\" && {\n ...(theme.typography[\"5xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"4xlTitle\" && {\n ...(theme.typography[\"4xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"xxlTitle\" && {\n ...(theme.typography.xxlTitle as CSSProperties),\n }),\n ...($variant === \"lTitle\" && {\n ...(theme.typography.lTitle as CSSProperties),\n }),\n ...($variant === \"sTitle\" && {\n ...(theme.typography.sTitle as CSSProperties),\n }),\n ...($variant === \"xxsTitle\" && {\n ...(theme.typography.xxsTitle as CSSProperties),\n }),\n ...($variant === \"sectionTitle\" && {\n ...(theme.typography.sectionTitle as CSSProperties),\n textTransform: \"uppercase\",\n }),\n ...($variant === \"placeholderText\" && {\n ...(theme.typography.placeholderText as CSSProperties),\n }),\n color: theme.colors.acce1,\n // ADDED PROPS\n ...($link && {\n color: theme.colors.acce2,\n textDecoration: \"underline\",\n cursor: \"pointer\",\n }),\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n ...($noWrap && {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }),\n })\n );\n\nexport type HvTypographyProps = HvBaseProps<HTMLElement, { disabled }> & {\n component?: React.ReactNode | React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n};\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLDivElement>) => {\n const {\n children,\n className,\n component,\n classes,\n variant = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = props;\n\n const mappedVariant = mapVariant(variant);\n\n const comp =\n component || (paragraph ? \"p\" : HvTypographyMap[mappedVariant] || \"span\");\n\n const StyledComponent = useMemo(\n () => getStyledComponent(comp || \"p\"),\n [comp]\n );\n\n return (\n <StyledComponent\n ref={ref}\n className={clsx(\n className,\n classes?.root,\n typographyClasses.root,\n classes?.[variant],\n typographyClasses[variant],\n noWrap && clsx(typographyClasses.noWrap, classes?.noWrap)\n )}\n $variant={mappedVariant}\n $link={link}\n $disabled={disabled}\n $noWrap={noWrap}\n {...others}\n >\n {children}\n </StyledComponent>\n );\n }\n);\n"],"names":["HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","getStyledComponent","c","process","env","NODE_ENV","_extends","target","transientOptions","$variant","$link","$disabled","$noWrap","theme","typography","textTransform","color","colors","acce1","acce2","textDecoration","cursor","atmo5","overflow","textOverflow","whiteSpace","HvTypography","forwardRef","props","ref","children","className","component","classes","variant","disabled","noWrap","paragraph","others","mappedVariant","mapVariant","comp","StyledComponent","useMemo","clsx","root","typographyClasses"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Typography.cjs","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n CSSProperties,\n AllHTMLAttributes,\n Ref,\n} from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport styled from \"@emotion/styled\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { mapVariant } from \"./utils\";\nimport typographyClasses, { HvTypographyClasses } from \"./typographyClasses\";\nimport clsx from \"clsx\";\n\nexport type HvTypographyVariants =\n | \"display\"\n | \"title1\"\n | \"title2\"\n | \"title3\"\n | \"title4\"\n | \"body\"\n | \"label\"\n | \"caption1\"\n | \"caption2\";\n\nexport type HvTypographyLegacyVariants =\n | \"5xlTitle\"\n | \"4xlTitle\"\n | \"3xlTitle\"\n | \"xxlTitle\"\n | \"xlTitle\"\n | \"lTitle\"\n | \"mTitle\"\n | \"sTitle\"\n | \"xsTitle\"\n | \"xxsTitle\"\n | \"sectionTitle\"\n | \"highlightText\"\n | \"normalText\"\n | \"placeholderText\"\n | \"link\"\n | \"disabledText\"\n | \"selectedNavText\"\n | \"vizText\"\n | \"vizTextDisabled\"\n | \"xsInlineLink\";\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"label\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nconst getStyledComponent = <T extends keyof JSX.IntrinsicElements>(c: T) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $variant,\n $link = false,\n $disabled = false,\n $noWrap = false,\n }: {\n $variant: HvTypographyVariants | HvTypographyLegacyVariants;\n $link?: boolean;\n $disabled?: boolean;\n $noWrap?: boolean;\n }) => ({\n ...($variant === \"display\" && {\n ...(theme.typography.display as CSSProperties),\n }),\n ...($variant === \"title1\" && {\n ...(theme.typography.title1 as CSSProperties),\n }),\n ...($variant === \"title2\" && {\n ...(theme.typography.title2 as CSSProperties),\n }),\n ...($variant === \"title3\" && {\n ...(theme.typography.title3 as CSSProperties),\n }),\n ...($variant === \"title4\" && {\n ...(theme.typography.title4 as CSSProperties),\n }),\n ...($variant === \"body\" && {\n ...(theme.typography.body as CSSProperties),\n }),\n ...($variant === \"label\" && {\n ...(theme.typography.label as CSSProperties),\n }),\n ...($variant === \"caption1\" && {\n ...(theme.typography.caption1 as CSSProperties),\n }),\n ...($variant === \"caption2\" && {\n ...(theme.typography.caption2 as CSSProperties),\n }),\n // LEGACY\n ...($variant === \"5xlTitle\" && {\n ...(theme.typography[\"5xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"4xlTitle\" && {\n ...(theme.typography[\"4xlTitle\"] as CSSProperties),\n }),\n ...($variant === \"xxlTitle\" && {\n ...(theme.typography.xxlTitle as CSSProperties),\n }),\n ...($variant === \"lTitle\" && {\n ...(theme.typography.lTitle as CSSProperties),\n }),\n ...($variant === \"sTitle\" && {\n ...(theme.typography.sTitle as CSSProperties),\n }),\n ...($variant === \"xxsTitle\" && {\n ...(theme.typography.xxsTitle as CSSProperties),\n }),\n ...($variant === \"sectionTitle\" && {\n ...(theme.typography.sectionTitle as CSSProperties),\n textTransform: \"uppercase\",\n }),\n ...($variant === \"placeholderText\" && {\n ...(theme.typography.placeholderText as CSSProperties),\n }),\n color: theme.colors.acce1,\n // ADDED PROPS\n ...($link && {\n color: theme.colors.acce2,\n textDecoration: \"underline\",\n cursor: \"pointer\",\n }),\n ...($disabled && {\n color: theme.colors.atmo5,\n }),\n ...($noWrap && {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }),\n })\n );\n\nexport type HvTypographyProps = Omit<\n AllHTMLAttributes<HTMLElement>,\n \"disabled\"\n> &\n HvBaseProps<HTMLElement, { disabled }> & {\n component?: React.ReactNode | React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n };\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLElement>) => {\n const {\n children,\n className,\n component,\n classes,\n variant = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = props;\n\n const mappedVariant = mapVariant(variant);\n\n const comp =\n component || (paragraph ? \"p\" : HvTypographyMap[mappedVariant] || \"span\");\n\n const StyledComponent = useMemo(\n () => getStyledComponent(comp || \"p\"),\n [comp]\n );\n\n return (\n <StyledComponent\n ref={ref}\n className={clsx(\n className,\n classes?.root,\n typographyClasses.root,\n classes?.[variant],\n typographyClasses[variant],\n noWrap && clsx(typographyClasses.noWrap, classes?.noWrap)\n )}\n $variant={\n mappedVariant as HvTypographyVariants | HvTypographyLegacyVariants\n }\n $link={link}\n $disabled={disabled}\n $noWrap={noWrap}\n {...others}\n >\n {children}\n </StyledComponent>\n );\n }\n);\n"],"names":["HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","getStyledComponent","c","process","env","NODE_ENV","_extends","target","transientOptions","$variant","$link","$disabled","$noWrap","theme","typography","textTransform","color","colors","acce1","acce2","textDecoration","cursor","atmo5","overflow","textOverflow","whiteSpace","HvTypography","forwardRef","props","ref","children","className","component","classes","variant","disabled","noWrap","paragraph","others","mappedVariant","mapVariant","comp","StyledComponent","useMemo","clsx","root","typographyClasses"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../../../src/components/Typography/utils.ts"],"sourcesContent":["const
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../../src/components/Typography/utils.ts"],"sourcesContent":["const mappableVariants = new Map([\n [\"3xlTitle\", \"display\"],\n [\"xlTitle\", \"title1\"],\n [\"mTitle\", \"title2\"],\n [\"xsTitle\", \"title3\"],\n [\"highlightText\", \"label\"],\n [\"normalText\", \"body\"],\n [\"vizText\", \"caption1\"],\n]);\n\nexport const mapVariant = (variant: string) => {\n const mappedVariant = mappableVariants.get(variant);\n if (mappedVariant) {\n console.warn(\n `The typography variant ${variant} is deprecated. You should use ${mappedVariant} instead.`\n );\n return mappedVariant;\n }\n return variant;\n};\n"],"names":["mappableVariants","Map","mapVariant","variant","mappedVariant","get","warn"],"mappings":";;AAAA,MAAMA,mBAAmB,oBAAIC,IAAI,CAC/B,CAAC,YAAY,SAAS,GACtB,CAAC,WAAW,QAAQ,GACpB,CAAC,UAAU,QAAQ,GACnB,CAAC,WAAW,QAAQ,GACpB,CAAC,iBAAiB,OAAO,GACzB,CAAC,cAAc,MAAM,GACrB,CAAC,WAAW,UAAU,CAAC,CACxB;AAEYC,MAAAA,aAAaA,CAACC,YAAoB;AACvCC,QAAAA,gBAAgBJ,iBAAiBK,IAAIF,OAAO;AAClD,MAAIC,eAAe;AACTE,YAAAA,KACL,0BAAyBH,yCAAyCC,wBAAwB;AAEtFA,WAAAA;AAAAA,EACT;AACOD,SAAAA;AACT;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -72,7 +72,9 @@ const emptyStateClasses = require("./components/EmptyState/emptyStateClasses.cjs
|
|
|
72
72
|
const EmptyState = require("./components/EmptyState/EmptyState.cjs");
|
|
73
73
|
const footerClasses = require("./components/Footer/footerClasses.cjs");
|
|
74
74
|
const Footer = require("./components/Footer/Footer.cjs");
|
|
75
|
+
const gridClasses = require("./components/Grid/gridClasses.cjs");
|
|
75
76
|
const Grid = require("./components/Grid/Grid.cjs");
|
|
77
|
+
const headerClasses$1 = require("./components/Header/headerClasses.cjs");
|
|
76
78
|
const Header$1 = require("./components/Header/Header.cjs");
|
|
77
79
|
const actionsClasses$1 = require("./components/Header/Actions/actionsClasses.cjs");
|
|
78
80
|
const Actions$1 = require("./components/Header/Actions/Actions.cjs");
|
|
@@ -197,13 +199,14 @@ const DropdownColumnCell = require("./components/Table/renderers/DropdownColumnC
|
|
|
197
199
|
const ProgressColumnCell = require("./components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs");
|
|
198
200
|
const SwitchColumnCell = require("./components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs");
|
|
199
201
|
const fallbacks = require("./components/Table/utils/fallbacks.cjs");
|
|
202
|
+
const loginClasses = require("./components/Login/loginClasses.cjs");
|
|
200
203
|
const Login = require("./components/Login/Login.cjs");
|
|
204
|
+
const controlClasses = require("./components/Controls/controlClasses.cjs");
|
|
201
205
|
const Controls = require("./components/Controls/Controls.cjs");
|
|
202
206
|
const leftControlClasses = require("./components/Controls/LeftControl/leftControlClasses.cjs");
|
|
203
207
|
const LeftControl = require("./components/Controls/LeftControl/LeftControl.cjs");
|
|
204
208
|
const rightControlClasses = require("./components/Controls/RightControl/rightControlClasses.cjs");
|
|
205
209
|
const RightControl = require("./components/Controls/RightControl/RightControl.cjs");
|
|
206
|
-
const index = require("./components/Controls/index.cjs");
|
|
207
210
|
const useUniqueId = require("./hooks/useUniqueId.cjs");
|
|
208
211
|
const useIsMounted = require("./hooks/useIsMounted.cjs");
|
|
209
212
|
const useClickOutside = require("./hooks/useClickOutside.cjs");
|
|
@@ -321,7 +324,9 @@ exports.emptyStateClasses = emptyStateClasses.default;
|
|
|
321
324
|
exports.HvEmptyState = EmptyState.HvEmptyState;
|
|
322
325
|
exports.footerClasses = footerClasses.default;
|
|
323
326
|
exports.HvFooter = Footer.HvFooter;
|
|
327
|
+
exports.gridClasses = gridClasses.default;
|
|
324
328
|
exports.HvGrid = Grid.HvGrid;
|
|
329
|
+
exports.headerClasses = headerClasses$1.default;
|
|
325
330
|
exports.HvHeader = Header$1.HvHeader;
|
|
326
331
|
exports.headerActionsClasses = actionsClasses$1.default;
|
|
327
332
|
exports.HvHeaderActions = Actions$1.HvActions;
|
|
@@ -482,13 +487,14 @@ exports.HvSwitchColumnCell = SwitchColumnCell.default;
|
|
|
482
487
|
exports.hvNodeFallback = fallbacks.hvNodeFallback;
|
|
483
488
|
exports.hvNumberFallback = fallbacks.hvNumberFallback;
|
|
484
489
|
exports.hvStringFallback = fallbacks.hvStringFallback;
|
|
490
|
+
exports.loginClasses = loginClasses.default;
|
|
485
491
|
exports.HvLogin = Login.HvLogin;
|
|
492
|
+
exports.controlsClasses = controlClasses.default;
|
|
486
493
|
exports.HvControls = Controls.HvControls;
|
|
487
494
|
exports.leftControlClasses = leftControlClasses.default;
|
|
488
495
|
exports.HvLeftControl = LeftControl.HvLeftControl;
|
|
489
496
|
exports.rightControlClasses = rightControlClasses.default;
|
|
490
497
|
exports.HvRightControl = RightControl.HvRightControl;
|
|
491
|
-
exports.controlsClasses = index.controlsClasses;
|
|
492
498
|
exports.useUniqueId = useUniqueId.default;
|
|
493
499
|
exports.useIsMounted = useIsMounted.default;
|
|
494
500
|
exports.useClickOutside = useClickOutside.useClickOutside;
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -35,7 +35,7 @@ const HvThemeProvider = ({
|
|
|
35
35
|
setSelectedTheme(pTheme.selected);
|
|
36
36
|
setThemeMode(pTheme.selectedMode);
|
|
37
37
|
setColorModes(pTheme.colorModes);
|
|
38
|
-
theme.setElementAttrs(pTheme.selected, pTheme.selectedMode, pTheme.
|
|
38
|
+
theme.setElementAttrs(pTheme.selected, pTheme.selectedMode, pTheme.styles, rootId);
|
|
39
39
|
};
|
|
40
40
|
React.useEffect(() => {
|
|
41
41
|
changeTheme(theme$1, colorMode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.cjs","sources":["../../../src/providers/ThemeProvider.tsx"],"sourcesContent":["import { createContext, useEffect, useMemo, useState } from \"react\";\nimport {\n HvBaseTheme,\n parseTheme,\n HvThemeColorMode,\n} from \"@hitachivantara/uikit-styles\";\nimport {\n createTheme,\n ThemeProvider as MuiThemeProvider,\n} from \"@mui/material/styles\";\nimport { setElementAttrs } from \"utils\";\nimport { HvCustomizedTheme } from \"types/theme\";\n\ninterface HvThemeContextValue {\n themes: (HvBaseTheme | string)[];\n activeTheme?: HvCustomizedTheme;\n colorModes: (HvThemeColorMode | string)[];\n selectedTheme: HvBaseTheme | string;\n selectedMode: HvThemeColorMode | string;\n changeTheme: (\n theme?: HvBaseTheme | string,\n mode?: HvThemeColorMode | string\n ) => void;\n rootId?: string;\n}\n\ninterface HvThemeProviderProps {\n children: React.ReactNode;\n themes: { [themeName: string]: HvCustomizedTheme };\n theme: HvBaseTheme | string;\n colorMode: HvThemeColorMode | string;\n rootElementId?: string;\n}\n\nexport const HvThemeContext = createContext<HvThemeContextValue>({\n themes: [],\n activeTheme: undefined,\n colorModes: [],\n selectedTheme: \"\",\n selectedMode: \"\",\n changeTheme: () => {},\n rootId: undefined,\n});\n\nexport const HvThemeProvider = ({\n children,\n themes: themesList,\n theme,\n colorMode,\n rootElementId,\n}: HvThemeProviderProps) => {\n let pTheme = parseTheme(themesList, theme, colorMode);\n\n const [rootId] = useState<string | undefined>(rootElementId);\n const [activeTheme, setActiveTheme] = useState<HvCustomizedTheme>(\n themesList[pTheme.selected]\n );\n const [selectedTheme, setSelectedTheme] = useState<string>(pTheme.selected);\n const [selectedMode, setThemeMode] = useState<string>(pTheme.selectedMode);\n const [colorModes, setColorModes] = useState<string[]>(pTheme.colorModes);\n const [themes] = useState<string[]>(Object.keys(themesList));\n\n const changeTheme = (newTheme = selectedTheme, newMode = selectedMode) => {\n pTheme = parseTheme(themesList, newTheme, newMode);\n\n setActiveTheme(themesList[pTheme.selected]);\n setSelectedTheme(pTheme.selected);\n setThemeMode(pTheme.selectedMode);\n setColorModes(pTheme.colorModes);\n\n setElementAttrs(\n pTheme.selected,\n pTheme.selectedMode,\n pTheme.
|
|
1
|
+
{"version":3,"file":"ThemeProvider.cjs","sources":["../../../src/providers/ThemeProvider.tsx"],"sourcesContent":["import { createContext, useEffect, useMemo, useState } from \"react\";\nimport {\n HvBaseTheme,\n parseTheme,\n HvThemeColorMode,\n} from \"@hitachivantara/uikit-styles\";\nimport {\n createTheme,\n ThemeProvider as MuiThemeProvider,\n} from \"@mui/material/styles\";\nimport { setElementAttrs } from \"utils\";\nimport { HvCustomizedTheme } from \"types/theme\";\n\ninterface HvThemeContextValue {\n themes: (HvBaseTheme | string)[];\n activeTheme?: HvCustomizedTheme;\n colorModes: (HvThemeColorMode | string)[];\n selectedTheme: HvBaseTheme | string;\n selectedMode: HvThemeColorMode | string;\n changeTheme: (\n theme?: HvBaseTheme | string,\n mode?: HvThemeColorMode | string\n ) => void;\n rootId?: string;\n}\n\ninterface HvThemeProviderProps {\n children: React.ReactNode;\n themes: { [themeName: string]: HvCustomizedTheme };\n theme: HvBaseTheme | string;\n colorMode: HvThemeColorMode | string;\n rootElementId?: string;\n}\n\nexport const HvThemeContext = createContext<HvThemeContextValue>({\n themes: [],\n activeTheme: undefined,\n colorModes: [],\n selectedTheme: \"\",\n selectedMode: \"\",\n changeTheme: () => {},\n rootId: undefined,\n});\n\nexport const HvThemeProvider = ({\n children,\n themes: themesList,\n theme,\n colorMode,\n rootElementId,\n}: HvThemeProviderProps) => {\n let pTheme = parseTheme(themesList, theme, colorMode);\n\n const [rootId] = useState<string | undefined>(rootElementId);\n const [activeTheme, setActiveTheme] = useState<HvCustomizedTheme>(\n themesList[pTheme.selected]\n );\n const [selectedTheme, setSelectedTheme] = useState<string>(pTheme.selected);\n const [selectedMode, setThemeMode] = useState<string>(pTheme.selectedMode);\n const [colorModes, setColorModes] = useState<string[]>(pTheme.colorModes);\n const [themes] = useState<string[]>(Object.keys(themesList));\n\n const changeTheme = (newTheme = selectedTheme, newMode = selectedMode) => {\n pTheme = parseTheme(themesList, newTheme, newMode);\n\n setActiveTheme(themesList[pTheme.selected]);\n setSelectedTheme(pTheme.selected);\n setThemeMode(pTheme.selectedMode);\n setColorModes(pTheme.colorModes);\n\n setElementAttrs(\n pTheme.selected,\n pTheme.selectedMode,\n pTheme.styles,\n rootId\n );\n };\n\n useEffect(() => {\n changeTheme(theme, colorMode);\n }, [theme, colorMode]);\n\n const value = useMemo(\n () => ({\n themes,\n colorModes,\n activeTheme,\n selectedTheme,\n selectedMode,\n changeTheme,\n rootId,\n }),\n [\n themes,\n colorModes,\n activeTheme,\n selectedTheme,\n selectedMode,\n changeTheme,\n rootId,\n ]\n );\n\n const MuiTheme = createTheme({\n breakpoints: {\n values: {\n ...themesList[selectedTheme].breakpoints.values,\n },\n },\n });\n\n return (\n <MuiThemeProvider theme={MuiTheme}>\n <HvThemeContext.Provider value={value}>\n {children}\n </HvThemeContext.Provider>\n </MuiThemeProvider>\n );\n};\n"],"names":["HvThemeContext","createContext","themes","activeTheme","undefined","colorModes","selectedTheme","selectedMode","changeTheme","rootId","HvThemeProvider","children","themesList","theme","colorMode","rootElementId","pTheme","parseTheme","useState","setActiveTheme","selected","setSelectedTheme","setThemeMode","setColorModes","Object","keys","newTheme","newMode","setElementAttrs","styles","useEffect","value","useMemo","MuiTheme","createTheme","breakpoints","values","MuiThemeProvider","Provider"],"mappings":";;;;;;;AAkCO,MAAMA,iBAAiBC,MAAAA,cAAmC;AAAA,EAC/DC,QAAQ,CAAE;AAAA,EACVC,aAAaC;AAAAA,EACbC,YAAY,CAAE;AAAA,EACdC,eAAe;AAAA,EACfC,cAAc;AAAA,EACdC,aAAaA,MAAM;AAAA,EAAC;AAAA,EACpBC,QAAQL;AACV,CAAC;AAEM,MAAMM,kBAAkBA,CAAC;AAAA,EAC9BC;AAAAA,EACAT,QAAQU;AAAAA,EAAAA,OACRC;AAAAA,EACAC;AAAAA,EACAC;AACoB,MAAM;AAC1B,MAAIC,SAASC,YAAAA,WAAWL,YAAYC,SAAOC,SAAS;AAEpD,QAAM,CAACL,MAAM,IAAIS,MAAAA,SAA6BH,aAAa;AAC3D,QAAM,CAACZ,aAAagB,cAAc,IAAID,MAAAA,SACpCN,WAAWI,OAAOI,SAAS;AAE7B,QAAM,CAACd,eAAee,gBAAgB,IAAIH,MAAAA,SAAiBF,OAAOI,QAAQ;AAC1E,QAAM,CAACb,cAAce,YAAY,IAAIJ,MAAAA,SAAiBF,OAAOT,YAAY;AACzE,QAAM,CAACF,YAAYkB,aAAa,IAAIL,MAAAA,SAAmBF,OAAOX,UAAU;AACxE,QAAM,CAACH,MAAM,IAAIgB,eAAmBM,OAAOC,KAAKb,UAAU,CAAC;AAE3D,QAAMJ,cAAcA,CAACkB,WAAWpB,eAAeqB,UAAUpB,iBAAiB;AAC/DU,aAAAA,YAAAA,WAAWL,YAAYc,UAAUC,OAAO;AAElCf,mBAAAA,WAAWI,OAAOI,SAAS;AAC1CC,qBAAiBL,OAAOI,QAAQ;AAChCE,iBAAaN,OAAOT,YAAY;AAChCgB,kBAAcP,OAAOX,UAAU;AAE/BuB,0BACEZ,OAAOI,UACPJ,OAAOT,cACPS,OAAOa,QACPpB,MAAM;AAAA,EAAA;AAIVqB,QAAAA,UAAU,MAAM;AACdtB,gBAAYK,SAAOC,SAAS;AAAA,EAAA,GAC3B,CAACD,SAAOC,SAAS,CAAC;AAEfiB,QAAAA,QAAQC,MAAAA,QACZ,OAAO;AAAA,IACL9B;AAAAA,IACAG;AAAAA,IACAF;AAAAA,IACAG;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IAEF,CACEP,QACAG,YACAF,aACAG,eACAC,cACAC,aACAC,MAAM,CACP;AAGH,QAAMwB,WAAWC,OAAAA,YAAY;AAAA,IAC3BC,aAAa;AAAA,MACXC,QAAQ;AAAA,QACN,GAAGxB,WAAWN,eAAe6B,YAAYC;AAAAA,MAC3C;AAAA,IACF;AAAA,EAAA,CACD;AAED,wCACGC,OAAAA,eAAgB;AAAA,IAACxB,OAAOoB;AAAAA,IAAStB,UAC/BX,2BAAAA,IAAAA,eAAesC,UAAQ;AAAA,MAACP;AAAAA,MAAapB;AAAAA,IAAAA,CAC3B;AAAA,EAAA,CAEM;AAEvB;;;"}
|
package/dist/cjs/utils/theme.cjs
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
4
|
-
const setElementAttrs = (theme, mode,
|
|
4
|
+
const setElementAttrs = (theme, mode, styles, elementId) => {
|
|
5
5
|
const element = elementId && document.getElementById(elementId) || document.body;
|
|
6
6
|
element.setAttribute(`data-theme`, theme);
|
|
7
7
|
element.setAttribute(`data-color-mode`, mode);
|
|
8
|
-
element.style.backgroundColor = bgColor;
|
|
8
|
+
element.style.backgroundColor = styles.bgColor;
|
|
9
|
+
element.style.colorScheme = styles.colorScheme;
|
|
10
|
+
element.style.accentColor = styles.accentColor;
|
|
11
|
+
element.style.color = styles.color;
|
|
12
|
+
element.style.fontSize = styles.fontSize;
|
|
13
|
+
element.style.fontWeight = styles.fontWeight;
|
|
14
|
+
element.style.lineHeight = styles.lineHeight;
|
|
15
|
+
element.style.letterSpacing = styles.letterSpacing;
|
|
9
16
|
};
|
|
10
17
|
const applyThemeCustomizations = (obj, customizations) => {
|
|
11
18
|
const isObject = (val) => val && typeof val === "object";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.cjs","sources":["../../../src/utils/theme.ts"],"sourcesContent":["import {\n themes,\n HvBaseTheme,\n colors,\n HvThemeColorModeStructure,\n} from \"@hitachivantara/uikit-styles\";\nimport { HvThemeCustomizationProps, HvCustomizedTheme } from \"types/theme\";\n\n/**\n * Sets the element attributes for a theme and color mode.\n */\nexport const setElementAttrs = (\n theme: string,\n mode: string,\n
|
|
1
|
+
{"version":3,"file":"theme.cjs","sources":["../../../src/utils/theme.ts"],"sourcesContent":["import {\n themes,\n HvBaseTheme,\n colors,\n HvThemeColorModeStructure,\n HvParsedThemeStyles,\n} from \"@hitachivantara/uikit-styles\";\nimport { HvThemeCustomizationProps, HvCustomizedTheme } from \"types/theme\";\n\n/**\n * Sets the element attributes for a theme and color mode.\n */\nexport const setElementAttrs = (\n theme: string,\n mode: string,\n styles: HvParsedThemeStyles,\n elementId?: string\n) => {\n const element =\n (elementId && document.getElementById(elementId)) || document.body;\n\n element.setAttribute(`data-theme`, theme);\n element.setAttribute(`data-color-mode`, mode);\n\n // Set default properties for all components to inherit\n element.style.backgroundColor = styles.bgColor;\n element.style.colorScheme = styles.colorScheme;\n element.style.accentColor = styles.accentColor;\n element.style.color = styles.color;\n element.style.fontSize = styles.fontSize;\n element.style.fontWeight = styles.fontWeight;\n element.style.lineHeight = styles.lineHeight;\n element.style.letterSpacing = styles.letterSpacing;\n};\n\n/**\n * Applies the customizations to a theme.\n */\nconst applyThemeCustomizations = (obj: object, customizations: object) => {\n const isObject = (val: any) => val && typeof val === \"object\";\n\n // Customized theme\n const customizedTheme = { ...obj };\n\n // Add new values to the theme or replace values\n Object.keys(customizations).forEach((key) => {\n if (customizedTheme[key]) {\n if (isObject(customizedTheme[key]) && isObject(customizations[key])) {\n customizedTheme[key] = applyThemeCustomizations(\n customizedTheme[key],\n customizations[key]\n );\n } else if (typeof customizedTheme[key] == typeof customizations[key]) {\n customizedTheme[key] = customizations[key];\n }\n } else {\n customizedTheme[key] = customizations[key];\n }\n });\n\n return customizedTheme;\n};\n\n/**\n * Creates a list of customized themes based on the base theme and customizations given.\n *\n * If a newThemeName is given, a new theme is created based on the base theme and customizations.\n */\nexport const parseThemes = (\n baseTheme: HvBaseTheme,\n newThemeName?: string,\n customizations?: HvThemeCustomizationProps\n): { [themeName: string]: HvCustomizedTheme } => {\n // Apply customizations to the base theme\n const customizedTheme: HvCustomizedTheme = customizations\n ? (applyThemeCustomizations(\n themes[baseTheme],\n customizations\n ) as HvCustomizedTheme)\n : { ...themes[baseTheme] };\n\n // Fill new color modes with missing colors\n if (customizations) {\n Object.keys(customizedTheme.colors.modes).forEach((mode) => {\n if (!themes[baseTheme].colors.modes[mode]) {\n customizedTheme.colors.modes[mode] = {\n type: customizedTheme.colors.modes[mode].type || \"light\",\n backgroundColor: colors.light.atmo2,\n ...colors.common,\n ...colors.light,\n ...(customizedTheme.colors.modes[mode] as Partial<\n HvThemeColorModeStructure & { [key: string]: string }\n >),\n };\n }\n });\n }\n\n // Create new themes list\n const customizedThemes: {\n [themeName: string]: HvCustomizedTheme;\n } = newThemeName\n ? { ...themes, [newThemeName]: customizedTheme }\n : { ...themes, [baseTheme]: customizedTheme };\n\n return customizedThemes;\n};\n"],"names":["setElementAttrs","theme","mode","styles","elementId","element","document","getElementById","body","setAttribute","style","backgroundColor","bgColor","colorScheme","accentColor","color","fontSize","fontWeight","lineHeight","letterSpacing","applyThemeCustomizations","obj","customizations","isObject","val","customizedTheme","Object","keys","forEach","key","parseThemes","baseTheme","newThemeName","themes","colors","modes","type","light","atmo2","common","customizedThemes"],"mappings":";;;AAYO,MAAMA,kBAAkBA,CAC7BC,OACAC,MACAC,QACAC,cACG;AACH,QAAMC,UACHD,aAAaE,SAASC,eAAeH,SAAS,KAAME,SAASE;AAExDC,UAAAA,aAAc,cAAaR,KAAK;AAChCQ,UAAAA,aAAc,mBAAkBP,IAAI;AAGpCQ,UAAAA,MAAMC,kBAAkBR,OAAOS;AAC/BF,UAAAA,MAAMG,cAAcV,OAAOU;AAC3BH,UAAAA,MAAMI,cAAcX,OAAOW;AAC3BJ,UAAAA,MAAMK,QAAQZ,OAAOY;AACrBL,UAAAA,MAAMM,WAAWb,OAAOa;AACxBN,UAAAA,MAAMO,aAAad,OAAOc;AAC1BP,UAAAA,MAAMQ,aAAaf,OAAOe;AAC1BR,UAAAA,MAAMS,gBAAgBhB,OAAOgB;AACvC;AAKA,MAAMC,2BAA2BA,CAACC,KAAaC,mBAA2B;AACxE,QAAMC,WAAWA,CAACC,QAAaA,OAAO,OAAOA,QAAQ;AAGrD,QAAMC,kBAAkB;AAAA,IAAE,GAAGJ;AAAAA,EAAAA;AAG7BK,SAAOC,KAAKL,cAAc,EAAEM,QAASC,CAAQ,QAAA;AAC3C,QAAIJ,gBAAgBI,MAAM;AACxB,UAAIN,SAASE,gBAAgBI,IAAI,KAAKN,SAASD,eAAeO,IAAI,GAAG;AACnEJ,wBAAgBI,OAAOT,yBACrBK,gBAAgBI,MAChBP,eAAeO,IAAI;AAAA,MAAA,WAEZ,OAAOJ,gBAAgBI,QAAQ,OAAOP,eAAeO,MAAM;AACpEJ,wBAAgBI,OAAOP,eAAeO;AAAAA,MACxC;AAAA,IAAA,OACK;AACLJ,sBAAgBI,OAAOP,eAAeO;AAAAA,IACxC;AAAA,EAAA,CACD;AAEMJ,SAAAA;AACT;AAOO,MAAMK,cAAcA,CACzBC,WACAC,cACAV,mBAC+C;AAE/C,QAAMG,kBAAqCH,iBACtCF,yBACCa,YAAOF,OAAAA,YACPT,cAAc,IAEhB;AAAA,IAAE,GAAGW,YAAAA,OAAOF;AAAAA,EAAAA;AAGhB,MAAIT,gBAAgB;AAClBI,WAAOC,KAAKF,gBAAgBS,OAAOC,KAAK,EAAEP,QAAS1B,CAAS,SAAA;AAC1D,UAAI,CAAC+B,YAAAA,OAAOF,WAAWG,OAAOC,MAAMjC,OAAO;AACzBgC,wBAAAA,OAAOC,MAAMjC,QAAQ;AAAA,UACnCkC,MAAMX,gBAAgBS,OAAOC,MAAMjC,MAAMkC,QAAQ;AAAA,UACjDzB,iBAAiBuB,YAAAA,OAAOG,MAAMC;AAAAA,UAC9B,GAAGJ,YAAOK,OAAAA;AAAAA,UACV,GAAGL,YAAOG,OAAAA;AAAAA,UACV,GAAIZ,gBAAgBS,OAAOC,MAAMjC;AAAAA,QAAAA;AAAAA,MAIrC;AAAA,IAAA,CACD;AAAA,EACH;AAGA,QAAMsC,mBAEFR,eACA;AAAA,IAAE,GAAGC,YAAAA;AAAAA,IAAQ,CAACD,eAAeP;AAAAA,EAAAA,IAC7B;AAAA,IAAE,GAAGQ,YAAAA;AAAAA,IAAQ,CAACF,YAAYN;AAAAA,EAAAA;AAEvBe,SAAAA;AACT;;;"}
|
|
@@ -63,7 +63,7 @@ const HvAccordion = ({
|
|
|
63
63
|
id: accordionHeaderId,
|
|
64
64
|
component: "div",
|
|
65
65
|
role: "button",
|
|
66
|
-
className: clsx(accordionClasses.label, classes == null ? void 0 : classes.label),
|
|
66
|
+
className: clsx(accordionClasses.label, classes == null ? void 0 : classes.label, disabled && clsx(accordionClasses.disabled, classes == null ? void 0 : classes.disabled)),
|
|
67
67
|
disabled,
|
|
68
68
|
tabIndex: 0,
|
|
69
69
|
onKeyDown: handleKeyDown,
|
|
@@ -91,7 +91,7 @@ const HvAccordion = ({
|
|
|
91
91
|
id: accordionContainer,
|
|
92
92
|
role: "region",
|
|
93
93
|
"aria-labelledby": accordionHeaderId,
|
|
94
|
-
className: clsx(accordionClasses.container, classes == null ? void 0 : classes.container),
|
|
94
|
+
className: clsx(accordionClasses.container, classes == null ? void 0 : classes.container, !isOpen && clsx(accordionClasses.hidden, classes == null ? void 0 : classes.hidden)),
|
|
95
95
|
hidden: !isOpen,
|
|
96
96
|
...containerProps,
|
|
97
97
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { useControlled } from \"hooks\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"../../types\";\nimport { setId } from \"utils\";\nimport { StyledContainer, StyledLabel, StyledRoot } from \"./Accordion.styles\";\nimport accordionClasses, { HvAccordionClasses } from \"./accordionClasses\";\n\nexport type HvAccordionProps = HvBaseProps & {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n};\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = ({\n id,\n className,\n classes,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n ...others\n}: HvAccordionProps) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"atmo5\"]) || undefined;\n const accordionButton = (\n <StyledLabel\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={clsx(accordionClasses.label, classes?.
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { useControlled } from \"hooks\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { HvBaseProps } from \"../../types\";\nimport { setId } from \"utils\";\nimport { StyledContainer, StyledLabel, StyledRoot } from \"./Accordion.styles\";\nimport accordionClasses, { HvAccordionClasses } from \"./accordionClasses\";\n\nexport type HvAccordionProps = HvBaseProps & {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n};\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = ({\n id,\n className,\n classes,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n ...others\n}: HvAccordionProps) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"atmo5\"]) || undefined;\n const accordionButton = (\n <StyledLabel\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={clsx(\n accordionClasses.label,\n classes?.label,\n disabled && clsx(accordionClasses.disabled, classes?.disabled)\n )}\n disabled={disabled}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={\"label\"}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </StyledLabel>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <StyledLabel component={`h${headingLevel}`}>\n {accordionButton}\n </StyledLabel>\n );\n return result;\n }, [\n classes,\n handleClick,\n handleKeyDown,\n label,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n ]);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(className, accordionClasses.root, classes?.root)}\n {...others}\n >\n {accordionHeader}\n <StyledContainer\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={clsx(\n accordionClasses.container,\n classes?.container,\n !isOpen && clsx(accordionClasses.hidden, classes?.hidden)\n )}\n hidden={!isOpen}\n {...containerProps}\n >\n {children}\n </StyledContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvAccordion","id","className","classes","disabled","label","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","others","isOpen","setIsOpen","useControlled","Boolean","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","accordionButton","StyledLabel","component","role","clsx","accordionClasses","tabIndex","onKeyDown","onClick","variant","_jsx","DropUpXS","DropDownXS","result","StyledRoot","root","StyledContainer","container","hidden"],"mappings":";;;;;;;;AA4DO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,kBAAkB;AAAA,EAClBC;AAAAA,KACGC;AACa,MAAM;AAChB,QAAA,CAACC,QAAQC,SAAS,IAAIC,cAAcP,UAAUQ,QAAQN,eAAe,CAAC;AAEtEO,QAAAA,eAAeC,YACnB,CAACC,UAA0B;AACzB,QAAI,CAACf,UAAU;AACbE,2CAAWa,OAAON;AAClBC,gBAAU,CAACD,MAAM;AACV,aAAA;AAAA,IACT;AACO,WAAA;AAAA,KAET,CAACT,UAAUE,UAAUO,QAAQC,SAAS,CAAC;AAGnCM,QAAAA,cAAcF,YAClB,CAACC,UAA0B;AACzBF,iBAAaE,KAAK;AAClBA,UAAME,eAAgB;AACtBF,UAAMG,gBAAiB;AAAA,EAAA,GAEzB,CAACL,YAAY,CAAC;AAGVM,QAAAA,gBAAgBL,YACpB,CAACC,UAA+C;AAC9C,QAAIK,iBAAiB;AACf,UAAA;AAAA,MAAEC;AAAAA,IAAQN,IAAAA;AAGdA,QAAAA,MAAMO,UACNP,MAAMQ,WACNR,MAAMS,WACNT,MAAMU,kBAAkBV,MAAMW,QAC9B;AACA;AAAA,IACF;AACA,YAAQL,KAAG;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AACHD,yBAAiBP,aAAaE,KAAK;AACnC;AAAA,MACF;AACE;AAAA,IAAO;AAGX,QAAIK,gBAAgB;AAClBL,YAAME,eAAgB;AACtBF,YAAMG,gBAAiB;AAAA,IACzB;AAAA,EAAA,GAEF,CAACL,YAAY,CAAC;AAGVc,QAAAA,oBAAoBC,MAAM/B,IAAI,QAAQ;AACtCgC,QAAAA,qBAAqBD,MAAM/B,IAAI,WAAW;AAC1CiC,QAAAA,kBAAkBC,QAAQ,MAAM;AACpC,UAAMC,QAAShC,YAAY,CAAC,OAAO,KAAMiC;AACnCC,UAAAA,uCACHC,aAAW;AAAA,MACVtC,IAAI8B;AAAAA,MACJS,WAAU;AAAA,MACVC,MAAK;AAAA,MACLvC,WAAWwC,KACTC,iBAAiBtC,OACjBF,mCAASE,OACTD,YAAYsC,KAAKC,iBAAiBvC,UAAUD,mCAASC,QAAQ,CAAC;AAAA,MAEhEA;AAAAA,MACAwC,UAAU;AAAA,MACVC,WAAWtB;AAAAA,MACXuB,SAAS1B;AAAAA,MACT2B,SAAS;AAAA,MACT,iBAAelC;AAAAA,MACf,iBAAeT;AAAAA,MAASG,UAEvBM,CAAAA,SAASmC,oBAACC,UAAQ;AAAA,QAACb;AAAAA,MAAAA,CAAgB,IAAGY,oBAACE,YAAU;AAAA,QAACd;AAAAA,MAAa,CAAA,GAC/D/B,KAAK;AAAA,IAAA,CAET;AACD,UAAM8C,SACJ1C,iBAAiB4B,SACfC,sCAECC,aAAW;AAAA,MAACC,WAAY,IAAG/B;AAAAA,MAAeF,UACxC+B;AAAAA,IAAAA,CAEJ;AACIa,WAAAA;AAAAA,EAAAA,GACN,CACDhD,SACAiB,aACAG,eACAlB,OACA0B,mBACA3B,UACAK,cACAI,MAAM,CACP;AAED,8BACGuC,YAAU;AAAA,IACTnD;AAAAA,IACAC,WAAWwC,KAAKxC,WAAWyC,iBAAiBU,MAAMlD,mCAASkD,IAAI;AAAA,IAAE,GAC7DzC;AAAAA,IAAML,UAET2B,CAAAA,iBACDc,oBAACM,iBAAe;AAAA,MACdrD,IAAIgC;AAAAA,MACJQ,MAAK;AAAA,MACL,mBAAiBV;AAAAA,MACjB7B,WAAWwC,KACTC,iBAAiBY,WACjBpD,mCAASoD,WACT,CAAC1C,UAAU6B,KAAKC,iBAAiBa,QAAQrD,mCAASqD,MAAM,CAAC;AAAA,MAE3DA,QAAQ,CAAC3C;AAAAA,MAAO,GACZF;AAAAA,MAAcJ;AAAAA,IAAAA,CAGF,CAAA;AAAA,EAAA,CACP;AAEjB;"}
|