@hitachivantara/uikit-react-core 5.0.0-next.6 → 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":"TableHeader.js","sources":["../../../../../src/components/Table/TableHeader/TableHeader.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ThHTMLAttributes,\n useContext,\n useMemo,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { capitalize } from \"lodash\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvBaseProps } from \"../../../types\";\nimport { tableHeaderClasses, HvTableHeaderClasses } from \".\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { getSortIcon, isParagraph } from \"./utils\";\nimport {\n StyledHeaderContent,\n StyledResizer,\n StyledButton,\n StyledTypography,\n} from \"./TableHeader.styles\";\nimport {\n HvTableCellAlign,\n HvTableCellType,\n HvTableCellVariant,\n} from \"../Table\";\nimport { HvThemeContext } from \"providers\";\nimport { HvTypographyProps } from \"../../Typography\";\n\nexport type HvTableHeaderProps = ThHTMLAttributes<HTMLElement> &\n Omit<HvBaseProps, \"children\"> & {\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to th. */\n component?: React.ElementType;\n /** Content to be rendered */\n children?: React.ReactNode;\n /** The scope of cells that the header element relates to. */\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n /** Set the text-align on the table cell content. */\n align?: HvTableCellAlign;\n /** Sets the cell's variant. */\n variant?: HvTableCellVariant;\n /** Specify the cell type. The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components. */\n type?: HvTableCellType;\n /** The cell is part of a sticky column. */\n stickyColumn?: boolean;\n /** The cell is part of the last sticky to the left column. */\n stickyColumnMostLeft?: boolean;\n /** The cell is part of the first sticky to the right column. */\n stickyColumnLeastRight?: boolean;\n /** The cell is part of the first column in the group. */\n groupColumnMostLeft?: boolean;\n /** The cell is part of the last column in the group. */\n groupColumnMostRight?: boolean;\n /** Whether or not the cell is sorted */\n sorted?: boolean;\n /** Whether or not the cell is sortable */\n sortable?: boolean;\n /** Set sort direction icon and aria-sort. */\n sortDirection?: \"ascending\" | \"descending\" | false;\n /** Extra props to be passed onto the text in the header. */\n headerTextProps?: HvTypographyProps;\n /** Whether or not the cell is resizable */\n resizable?: boolean;\n /** Whether or not the cell is being resized */\n resizing?: boolean;\n /** The resize props injected in the resize handler */\n resizerProps?: HTMLAttributes<HTMLDivElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableHeaderClasses;\n };\n\nconst defaultComponent = \"th\";\n\ntype StyledTableHeaderProps = {\n $sorted: boolean;\n $resizable: boolean;\n $resizing: boolean;\n $groupColumnMostLeft: boolean;\n $groupColumnMostRight: boolean;\n $stickyColumn: boolean;\n $stickyColumnMostLeft: boolean;\n $stickyColumnLeastRight: boolean;\n $variantList: boolean;\n $align: string;\n $variant: string;\n $type: string;\n $atmo1Color: string;\n};\n\nconst StyledTableHeader = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $sorted,\n $resizable,\n $resizing,\n $groupColumnMostLeft,\n $groupColumnMostRight,\n $stickyColumn,\n $stickyColumnMostLeft,\n $stickyColumnLeastRight,\n $variantList,\n $align,\n $variant,\n $type,\n $atmo1Color,\n }: StyledTableHeaderProps) => ({\n // root\n \"--first-row-cell-height\": \"52px\",\n \"--cell-height\": \"32px\",\n height: \"var(--cell-height)\",\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n paddingTop: 0,\n paddingRight: theme.space.xs,\n paddingBottom: 0,\n paddingLeft: 32,\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n\n ...($sorted && {\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n }),\n ...($resizable && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($resizing && {\n borderRight: `solid 2px ${theme.colors.acce1}`,\n }),\n ...($groupColumnMostLeft && {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($groupColumnMostRight && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n // due to the \":has()\" selector not being supported in browsers,\n // this need to be managed with inline styles\n // To be uncommented when not needed (see comment in src/Table/hooks/useSticky.js)\n // \"&:last-child,&:has(+ $stickyColumnLeastRight)\": {\n \"&:last-child\": {\n borderRight: 0,\n },\n [`&+:not(.${tableHeaderClasses.stickyColumn})`]: {\n borderLeft: 0,\n },\n }),\n ...($stickyColumn && {\n position: \"sticky\",\n zIndex: 2,\n\n [`&.${tableHeaderClasses.groupColumnMostRight}+.${tableHeaderClasses.stickyColumn}`]:\n {\n borderLeft: 0,\n },\n }),\n ...($stickyColumnMostLeft && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($stickyColumnLeastRight && {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n // align\n ...($align === \"center\" && {\n textAlign: \"center\",\n }),\n ...($align === \"justify\" && {\n textAlign: \"justify\",\n }),\n ...($align === \"left\" && {\n textAlign: \"left\",\n }),\n ...($align === \"right\" && {\n textAlign: \"right\",\n flexDirection: \"row-reverse\",\n }),\n // variant\n ...($variant === \"checkbox\" && {\n padding: 0,\n width: 32,\n maxWidth: 32,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($variant === \"actions\" && {\n padding: 0,\n width: 32,\n maxWidth: 32,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($variant === \"none\" && {\n padding: 0,\n }),\n // type\n ...($type === \"head\" && {\n // \":first-of-type\": {\n height: \"var(--first-row-cell-height)\",\n borderTop: $variantList\n ? 0\n : `1px solid ${theme.table.headerBorderTopColor}`,\n // },\n\n paddingTop: 8,\n verticalAlign: \"top\",\n\n backgroundColor: $variantList ? \"inherit\" : theme.colors.atmo1,\n borderBottom: $variantList ? 0 : `1px solid ${theme.colors.atmo4}`,\n ...(theme.typography.label as CSSProperties),\n\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n\n [`&.${tableHeaderClasses.sortable}`]: {\n verticalAlign: \"initial\",\n paddingTop: 0,\n paddingLeft: 0,\n cursor: \"pointer\",\n\n \"&:hover\": {\n backgroundColor: theme.table.headerHoverColor,\n\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n },\n \"&:focus-within\": {\n backgroundColor: theme.table.headerHoverColor,\n\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n },\n },\n }),\n ...($type === \"body\" && {\n backgroundColor: \"inherit\",\n ...(theme.typography.body as CSSProperties),\n\n [`&.${tableHeaderClasses.sortable}:not(.${tableHeaderClasses.variantNone})`]:\n {\n paddingLeft: 32,\n },\n [`&.${tableHeaderClasses.sorted}`]: {\n backgroundColor: alpha(hexToRgb($atmo1Color), 0.4),\n },\n }),\n ...($variantList && {\n backgroundColor: \"inherit\",\n borderBottom: 0,\n height: 16,\n \":first-of-type > &\": {\n borderTop: 0,\n height: 16,\n },\n }),\n })\n );\n\nconst StyledSort = (c: any) =>\n styled(c)({\n display: \"inline-flex\",\n visibility: \"hidden\",\n });\n\n/**\n * `HvTableHeader` acts as a `th` element and inherits styles from its context\n */\nexport const HvTableHeader = forwardRef<HTMLElement, HvTableHeaderProps>(\n (\n {\n children,\n component,\n className,\n style,\n classes,\n scope: scopeProp,\n align = \"inherit\",\n variant = \"default\",\n type: typeProp,\n stickyColumn = false,\n stickyColumnMostLeft = false,\n stickyColumnLeastRight = false,\n groupColumnMostLeft = false,\n groupColumnMostRight = false,\n sortDirection = \"none\",\n sorted,\n sortable,\n headerTextProps,\n resizerProps = {},\n resizable = false,\n resizing = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = typeProp || tableSectionContext?.type || \"body\";\n const isHeadCell = type === \"head\";\n\n const scope = scopeProp ?? isHeadCell ? \"col\" : \"row\";\n\n const Sort = useMemo(\n () => getSortIcon(sorted && sortDirection),\n [sorted, sortDirection]\n );\n\n const SortComponent = useMemo(() => StyledSort(Sort), [Sort]);\n\n const Component =\n component || tableContext?.components?.Th || defaultComponent;\n\n const role =\n Component === defaultComponent\n ? null\n : isHeadCell\n ? \"columnheader\"\n : \"rowheader\";\n const paragraph = isParagraph(children);\n\n const TableHeader = StyledTableHeader(Component);\n\n return (\n <TableHeader\n ref={externalRef}\n role={role}\n scope={scope}\n style={style}\n className={clsx(\n className,\n tableHeaderClasses.root,\n classes?.root,\n tableHeaderClasses[type],\n classes && classes[type],\n\n groupColumnMostLeft &&\n clsx(\n tableHeaderClasses.groupColumnMostLeft,\n classes?.groupColumnMostLeft\n ),\n groupColumnMostRight &&\n clsx(\n tableHeaderClasses.groupColumnMostRight,\n classes?.groupColumnMostRight\n ),\n sortable && clsx(tableHeaderClasses.sortable, classes?.sortable),\n sorted && clsx(tableHeaderClasses.sorted, classes?.sorted),\n resizable && clsx(tableHeaderClasses.resizable, classes?.resizable),\n resizing && clsx(tableHeaderClasses.resizing, classes?.resizing),\n stickyColumn &&\n clsx(tableHeaderClasses.stickyColumn, classes?.stickyColumn),\n stickyColumnMostLeft &&\n clsx(\n tableHeaderClasses.stickyColumnMostLeft,\n classes?.stickyColumnMostLeft\n ),\n stickyColumnLeastRight &&\n clsx(\n tableHeaderClasses.stickyColumnLeastRight,\n classes?.stickyColumnLeastRight\n ),\n tableContext.variant === \"listrow\" &&\n clsx(tableHeaderClasses.variantList, classes?.variantList),\n align !== \"inherit\" &&\n clsx(\n tableHeaderClasses[`align${capitalize(align)}`],\n classes?.[`align${capitalize(align)}`]\n ),\n variant !== \"default\" &&\n clsx(\n tableHeaderClasses[`variant${capitalize(variant)}`],\n classes?.[`variant${capitalize(variant)}`]\n )\n )}\n aria-sort={sortable ? sortDirection : undefined}\n $sortable={sortable}\n $sorted={sorted}\n $resizable={resizable}\n $resizing={resizing}\n $groupColumnMostLeft={groupColumnMostLeft}\n $groupColumnMostRight={groupColumnMostRight}\n $stickyColumn={stickyColumn}\n $stickyColumnMostLeft={stickyColumnMostLeft}\n $stickyColumnLeastRight={stickyColumnLeastRight}\n $align={align}\n $variant={variant}\n $variantList={tableContext.variant === \"listrow\"}\n $type={type}\n $atmo1Color={\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n }\n {...others}\n >\n <StyledHeaderContent\n className={clsx(\n tableHeaderClasses.headerContent,\n classes?.headerContent,\n align !== \"inherit\" &&\n clsx(\n tableHeaderClasses[`alignFlex${capitalize(align)}`],\n classes?.[`alignFlex${capitalize(align)}`]\n )\n )}\n $align={align}\n >\n {isHeadCell && sortable && (\n <StyledButton\n className={clsx(\n tableHeaderClasses.sortButton,\n classes?.sortButton\n )}\n icon\n variant=\"secondaryGhost\"\n overrideIconColors={false}\n >\n <SortComponent\n className={clsx(tableHeaderClasses.sortIcon, classes?.sortIcon)}\n />\n </StyledButton>\n )}\n <StyledTypography\n component=\"div\"\n className={clsx(\n !paragraph &&\n clsx(tableHeaderClasses.headerText, classes?.headerText),\n paragraph &&\n clsx(\n tableHeaderClasses.headerParagraph,\n classes?.headerParagraph\n ),\n sortable &&\n clsx(\n tableHeaderClasses.sortableHeaderText,\n classes?.sortableHeaderText\n )\n )}\n variant=\"label\"\n $headerText={!paragraph}\n $headerParagraph={paragraph}\n $sortableHeaderText={sortable}\n {...headerTextProps}\n >\n {children}\n </StyledTypography>\n {resizable && (\n <StyledResizer\n {...resizerProps}\n className={clsx(tableHeaderClasses.resizer, classes?.resizer)}\n />\n )}\n </StyledHeaderContent>\n </TableHeader>\n );\n }\n);\n"],"names":["defaultComponent","StyledTableHeader","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$sorted","$resizable","$resizing","$groupColumnMostLeft","$groupColumnMostRight","$stickyColumn","$stickyColumnMostLeft","$stickyColumnLeastRight","$variantList","$align","$variant","$type","$atmo1Color","height","verticalAlign","textAlign","paddingTop","paddingRight","theme","space","xs","paddingBottom","paddingLeft","borderBottom","colors","atmo4","tableHeaderClasses","sortIcon","visibility","borderRight","acce1","borderLeft","stickyColumn","position","zIndex","groupColumnMostRight","flexDirection","padding","width","maxWidth","borderTop","table","headerBorderTopColor","backgroundColor","atmo1","typography","transition","sortable","cursor","headerHoverColor","body","variantNone","sorted","alpha","hexToRgb","StyledSort","_styled","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvTableHeader","forwardRef","children","component","className","style","classes","scope","scopeProp","align","variant","type","typeProp","stickyColumnMostLeft","stickyColumnLeastRight","groupColumnMostLeft","sortDirection","headerTextProps","resizerProps","resizable","resizing","others","externalRef","activeTheme","selectedMode","useContext","HvThemeContext","tableContext","TableContext","tableSectionContext","TableSectionContext","isHeadCell","Sort","useMemo","getSortIcon","SortComponent","Component","components","Th","role","paragraph","isParagraph","TableHeader","ref","clsx","root","variantList","capitalize","undefined","$sortable","modes","StyledHeaderContent","headerContent","StyledButton","sortButton","icon","overrideIconColors","_jsx","StyledTypography","headerText","headerParagraph","sortableHeaderText","$headerText","$headerParagraph","$sortableHeaderText","StyledResizer","resizer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,MAAMA,mBAAmB;AAkBzB,MAAMC,oBAAoBA,CAACC,MAEvBA,wBAAAA,GAACC,QAAAC,IAAAC,4BAAAC,SAAA,IAAA;AAAA,EAAAC,QAAA;AAAA,GACDC,gBAAgB,IAAAF,SAAA,IAAA;AAAA,EAAAC,QAAA;AAAA,EAAAE,OAAA;AAAA,GAAhBD,gBAAgB,CACjB,EACC,CAAC;AAAA,EACCE;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,OAAO;AAAA,EAE7B,2BAA2B;AAAA,EAC3B,iBAAiB;AAAA,EACjBC,QAAQ;AAAA,EACRC,eAAe;AAAA,EACfC,WAAW;AAAA,EACXC,YAAY;AAAA,EACZC,cAAcC,MAAMC,MAAMC;AAAAA,EAC1BC,eAAe;AAAA,EACfC,aAAa;AAAA,EACbC,cAAe,aAAYL,MAAMM,OAAOC;AAAAA,EAExC,GAAIzB,WAAW;AAAA,IACb,CAAE,MAAK0B,mBAAmBC,aAAa;AAAA,MACrCC,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,GAAI3B,cAAc;AAAA,IAChB4B,aAAc,aAAYX,MAAMM,OAAOC;AAAAA,EACzC;AAAA,EACA,GAAIvB,aAAa;AAAA,IACf2B,aAAc,aAAYX,MAAMM,OAAOM;AAAAA,EACzC;AAAA,EACA,GAAI3B,wBAAwB;AAAA,IAC1B4B,YAAa,aAAYb,MAAMM,OAAOC;AAAAA,EACxC;AAAA,EACA,GAAIrB,yBAAyB;AAAA,IAC3ByB,aAAc,aAAYX,MAAMM,OAAOC;AAAAA,IAKvC,gBAAgB;AAAA,MACdI,aAAa;AAAA,IACf;AAAA,IACA,CAAE,WAAUH,mBAAmBM,kBAAkB;AAAA,MAC/CD,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,GAAI1B,iBAAiB;AAAA,IACnB4B,UAAU;AAAA,IACVC,QAAQ;AAAA,IAER,CAAE,KAAIR,mBAAmBS,yBAAyBT,mBAAmBM,iBACnE;AAAA,MACED,YAAY;AAAA,IACd;AAAA,EACJ;AAAA,EACA,GAAIzB,yBAAyB;AAAA,IAC3BuB,aAAc,aAAYX,MAAMM,OAAOC;AAAAA,EACzC;AAAA,EACA,GAAIlB,2BAA2B;AAAA,IAC7BwB,YAAa,aAAYb,MAAMM,OAAOC;AAAAA,EACxC;AAAA,EAEA,GAAIhB,WAAW,YAAY;AAAA,IACzBM,WAAW;AAAA,EACb;AAAA,EACA,GAAIN,WAAW,aAAa;AAAA,IAC1BM,WAAW;AAAA,EACb;AAAA,EACA,GAAIN,WAAW,UAAU;AAAA,IACvBM,WAAW;AAAA,EACb;AAAA,EACA,GAAIN,WAAW,WAAW;AAAA,IACxBM,WAAW;AAAA,IACXqB,eAAe;AAAA,EACjB;AAAA,EAEA,GAAI1B,aAAa,cAAc;AAAA,IAC7B2B,SAAS;AAAA,IACTC,OAAO;AAAA,IACPC,UAAU;AAAA,IACVV,aAAc,aAAYX,MAAMM,OAAOC;AAAAA,EACzC;AAAA,EACA,GAAIf,aAAa,aAAa;AAAA,IAC5B2B,SAAS;AAAA,IACTC,OAAO;AAAA,IACPC,UAAU;AAAA,IACVR,YAAa,aAAYb,MAAMM,OAAOC;AAAAA,EACxC;AAAA,EACA,GAAIf,aAAa,UAAU;AAAA,IACzB2B,SAAS;AAAA,EACX;AAAA,EAEA,GAAI1B,UAAU,UAAU;AAAA,IAEtBE,QAAQ;AAAA,IACR2B,WAAWhC,eACP,IACC,aAAYU,MAAMuB,MAAMC;AAAAA,IAG7B1B,YAAY;AAAA,IACZF,eAAe;AAAA,IAEf6B,iBAAiBnC,eAAe,YAAYU,MAAMM,OAAOoB;AAAAA,IACzDrB,cAAcf,eAAe,IAAK,aAAYU,MAAMM,OAAOC;AAAAA,IAC3D,GAAIP,MAAM2B,WAAW9C;AAAAA,IAErB+C,YAAY;AAAA,IAEZ,CAAE,KAAIpB,mBAAmBqB,aAAa;AAAA,MACpCjC,eAAe;AAAA,MACfE,YAAY;AAAA,MACZM,aAAa;AAAA,MACb0B,QAAQ;AAAA,MAER,WAAW;AAAA,QACTL,iBAAiBzB,MAAMuB,MAAMQ;AAAAA,QAE7B,CAAE,MAAKvB,mBAAmBC,aAAa;AAAA,UACrCC,YAAY;AAAA,QACd;AAAA,MACF;AAAA,MACA,kBAAkB;AAAA,QAChBe,iBAAiBzB,MAAMuB,MAAMQ;AAAAA,QAE7B,CAAE,MAAKvB,mBAAmBC,aAAa;AAAA,UACrCC,YAAY;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,GAAIjB,UAAU,UAAU;AAAA,IACtBgC,iBAAiB;AAAA,IACjB,GAAIzB,MAAM2B,WAAWK;AAAAA,IAErB,CAAE,KAAIxB,mBAAmBqB,iBAAiBrB,mBAAmByB,iBAC3D;AAAA,MACE7B,aAAa;AAAA,IACf;AAAA,IACF,CAAE,KAAII,mBAAmB0B,WAAW;AAAA,MAClCT,iBAAiBU,MAAMC,SAAS1C,WAAW,GAAG,GAAG;AAAA,IACnD;AAAA,EACF;AAAA,EACA,GAAIJ,gBAAgB;AAAA,IAClBmC,iBAAiB;AAAA,IACjBpB,cAAc;AAAA,IACdV,QAAQ;AAAA,IACR,sBAAsB;AAAA,MACpB2B,WAAW;AAAA,MACX3B,QAAQ;AAAA,IACV;AAAA,EACF;AACF,IAAEpB,QAAAC,IAAAC,aACH,eAAA,KAAA,6unBAAA;AAEH,MAAM4D,aAAaA,CAAC/D,MAClBgE,wBAAOhE,GAACC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAE,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAE,OAAA;AAAA,CAAA,EAACN,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAA8D,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAGP;AAKSC,MAAAA,gBAAgBC,WAC3B,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,OAAOC;AAAAA,EACPC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,MAAMC;AAAAA,EACN1C,eAAe;AAAA,EACf2C,uBAAuB;AAAA,EACvBC,yBAAyB;AAAA,EACzBC,sBAAsB;AAAA,EACtB1C,uBAAuB;AAAA,EACvB2C,gBAAgB;AAAA,EAChB1B;AAAAA,EACAL;AAAAA,EACAgC;AAAAA,EACAC,eAAe,CAAC;AAAA,EAChBC,YAAY;AAAA,EACZC,WAAW;AAAA,KACRC;AACL,GACAC,gBACG;;AACG,QAAA;AAAA,IAAEC;AAAAA,IAAaC;AAAAA,EAAAA,IAAiBC,WAAWC,cAAc;AACzDC,QAAAA,eAAeF,WAAWG,YAAY;AACtCC,QAAAA,sBAAsBJ,WAAWK,mBAAmB;AAEpDnB,QAAAA,OAAOC,aAAYiB,2DAAqBlB,SAAQ;AACtD,QAAMoB,aAAapB,SAAS;AAEtBJ,QAAAA,SAAQC,gCAAauB,cAAa,QAAQ;AAE1CC,QAAAA,OAAOC,QACX,MAAMC,YAAY5C,UAAU0B,aAAa,GACzC,CAAC1B,QAAQ0B,aAAa,CAAC;AAGnBmB,QAAAA,gBAAgBF,QAAQ,MAAMxC,WAAWuC,IAAI,GAAG,CAACA,IAAI,CAAC;AAE5D,QAAMI,YACJjC,eAAawB,kDAAcU,eAAdV,mBAA0BW,OAAM9G;AAE/C,QAAM+G,OACJH,cAAc5G,mBACV,OACAuG,aACA,iBACA;AACAS,QAAAA,YAAYC,YAAYvC,QAAQ;AAEhCwC,QAAAA,cAAcjH,kBAAkB2G,SAAS;AAE/C,6BACGM,aAAW;AAAA,IACVC,KAAKrB;AAAAA,IACLiB;AAAAA,IACAhC;AAAAA,IACAF;AAAAA,IACAD,WAAWwC,KACTxC,WACAxC,mBAAmBiF,MACnBvC,mCAASuC,MACTjF,mBAAmB+C,OACnBL,WAAWA,QAAQK,OAEnBI,uBACE6B,KACEhF,mBAAmBmD,qBACnBT,mCAASS,mBAAmB,GAEhC1C,wBACEuE,KACEhF,mBAAmBS,sBACnBiC,mCAASjC,oBAAoB,GAEjCY,YAAY2D,KAAKhF,mBAAmBqB,UAAUqB,mCAASrB,QAAQ,GAC/DK,UAAUsD,KAAKhF,mBAAmB0B,QAAQgB,mCAAShB,MAAM,GACzD6B,aAAayB,KAAKhF,mBAAmBuD,WAAWb,mCAASa,SAAS,GAClEC,YAAYwB,KAAKhF,mBAAmBwD,UAAUd,mCAASc,QAAQ,GAC/DlD,gBACE0E,KAAKhF,mBAAmBM,cAAcoC,mCAASpC,YAAY,GAC7D2C,wBACE+B,KACEhF,mBAAmBiD,sBACnBP,mCAASO,oBAAoB,GAEjCC,0BACE8B,KACEhF,mBAAmBkD,wBACnBR,mCAASQ,sBAAsB,GAEnCa,aAAajB,YAAY,aACvBkC,KAAKhF,mBAAmBkF,aAAaxC,mCAASwC,WAAW,GAC3DrC,UAAU,aACRmC,KACEhF,mBAAoB,QAAOmF,WAAWtC,KAAK,MAC3CH,mCAAW,QAAOyC,WAAWtC,KAAK,IAAI,GAE1CC,YAAY,aACVkC,KACEhF,mBAAoB,UAASmF,WAAWrC,OAAO,MAC/CJ,mCAAW,UAASyC,WAAWrC,OAAO,IAAI,CAC3C;AAAA,IAEL,aAAWzB,WAAW+B,gBAAgBgC;AAAAA,IACtCC,WAAWhE;AAAAA,IACX/C,SAASoD;AAAAA,IACTnD,YAAYgF;AAAAA,IACZ/E,WAAWgF;AAAAA,IACX/E,sBAAsB0E;AAAAA,IACtBzE,uBAAuB+B;AAAAA,IACvB9B,eAAe2B;AAAAA,IACf1B,uBAAuBqE;AAAAA,IACvBpE,yBAAyBqE;AAAAA,IACzBnE,QAAQ8D;AAAAA,IACR7D,UAAU8D;AAAAA,IACVhE,cAAciF,aAAajB,YAAY;AAAA,IACvC7D,OAAO8D;AAAAA,IACP7D,eACEyE,gDAAa7D,WAAb6D,mBAAqB2B,MAAM1B,cAAc1C,UAAS1B,MAAMM,OAAOoB;AAAAA,IAChE,GACGuC;AAAAA,IAAMnB,+BAETiD,qBAAmB;AAAA,MAClB/C,WAAWwC,KACThF,mBAAmBwF,eACnB9C,mCAAS8C,eACT3C,UAAU,aACRmC,KACEhF,mBAAoB,YAAWmF,WAAWtC,KAAK,MAC/CH,mCAAW,YAAWyC,WAAWtC,KAAK,IAAI,CAC3C;AAAA,MAEL9D,QAAQ8D;AAAAA,MAAMP,WAEb6B,cAAc9C,gCACZoE,cAAY;AAAA,QACXjD,WAAWwC,KACThF,mBAAmB0F,YACnBhD,mCAASgD,UAAU;AAAA,QAErBC,MAAI;AAAA,QACJ7C,SAAQ;AAAA,QACR8C,oBAAoB;AAAA,QAAMtD,8BAEzBiC,eAAa;AAAA,UACZ/B,WAAWwC,KAAKhF,mBAAmBC,UAAUyC,mCAASzC,QAAQ;AAAA,QAAA,CAAE;AAAA,MAAA,CAGrE,GACD4F,oBAACC,kBAAgB;AAAA,QACfvD,WAAU;AAAA,QACVC,WAAWwC,KACT,CAACJ,aACCI,KAAKhF,mBAAmB+F,YAAYrD,mCAASqD,UAAU,GACzDnB,aACEI,KACEhF,mBAAmBgG,iBACnBtD,mCAASsD,eAAe,GAE5B3E,YACE2D,KACEhF,mBAAmBiG,oBACnBvD,mCAASuD,kBAAkB,CAC5B;AAAA,QAELnD,SAAQ;AAAA,QACRoD,aAAa,CAACtB;AAAAA,QACduB,kBAAkBvB;AAAAA,QAClBwB,qBAAqB/E;AAAAA,QAAS,GAC1BgC;AAAAA,QAAef;AAAAA,MAAAA,CAEV,GAEViB,aACCsC,oBAACQ,eAAa;AAAA,QAAA,GACR/C;AAAAA,QACJd,WAAWwC,KAAKhF,mBAAmBsG,SAAS5D,mCAAS4D,OAAO;AAAA,MAAA,CAE/D,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAES;AAElB,CAAC;"}
|
|
1
|
+
{"version":3,"file":"TableHeader.js","sources":["../../../../../src/components/Table/TableHeader/TableHeader.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ThHTMLAttributes,\n useContext,\n useMemo,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { capitalize } from \"lodash\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvBaseProps } from \"../../../types\";\nimport { tableHeaderClasses, HvTableHeaderClasses } from \".\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { getSortIcon, isParagraph } from \"./utils\";\nimport {\n StyledHeaderContent,\n StyledResizer,\n StyledButton,\n StyledTypography,\n} from \"./TableHeader.styles\";\nimport {\n HvTableCellAlign,\n HvTableCellType,\n HvTableCellVariant,\n} from \"../Table\";\nimport { HvThemeContext } from \"providers\";\nimport { HvTypographyProps } from \"../../Typography\";\n\nexport type HvTableHeaderProps = ThHTMLAttributes<HTMLElement> &\n Omit<HvBaseProps, \"children\"> & {\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to th. */\n component?: React.ElementType;\n /** Content to be rendered */\n children?: React.ReactNode;\n /** The scope of cells that the header element relates to. */\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n /** Set the text-align on the table cell content. */\n align?: HvTableCellAlign;\n /** Sets the cell's variant. */\n variant?: HvTableCellVariant;\n /** Specify the cell type. The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components. */\n type?: HvTableCellType;\n /** The cell is part of a sticky column. */\n stickyColumn?: boolean;\n /** The cell is part of the last sticky to the left column. */\n stickyColumnMostLeft?: boolean;\n /** The cell is part of the first sticky to the right column. */\n stickyColumnLeastRight?: boolean;\n /** The cell is part of the first column in the group. */\n groupColumnMostLeft?: boolean;\n /** The cell is part of the last column in the group. */\n groupColumnMostRight?: boolean;\n /** Whether or not the cell is sorted */\n sorted?: boolean;\n /** Whether or not the cell is sortable */\n sortable?: boolean;\n /** Set sort direction icon and aria-sort. */\n sortDirection?: \"ascending\" | \"descending\" | false;\n /** Extra props to be passed onto the text in the header. */\n headerTextProps?: HvTypographyProps;\n /** Whether or not the cell is resizable */\n resizable?: boolean;\n /** Whether or not the cell is being resized */\n resizing?: boolean;\n /** The resize props injected in the resize handler */\n resizerProps?: HTMLAttributes<HTMLDivElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableHeaderClasses;\n };\n\nconst defaultComponent = \"th\";\n\ntype StyledTableHeaderProps = {\n $sorted: boolean;\n $resizable: boolean;\n $resizing: boolean;\n $groupColumnMostLeft: boolean;\n $groupColumnMostRight: boolean;\n $stickyColumn: boolean;\n $stickyColumnMostLeft: boolean;\n $stickyColumnLeastRight: boolean;\n $variantList: boolean;\n $align: string;\n $variant: string;\n $type: string;\n $atmo1Color: string;\n};\n\nconst StyledTableHeader = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $sorted,\n $resizable,\n $resizing,\n $groupColumnMostLeft,\n $groupColumnMostRight,\n $stickyColumn,\n $stickyColumnMostLeft,\n $stickyColumnLeastRight,\n $variantList,\n $align,\n $variant,\n $type,\n $atmo1Color,\n }: StyledTableHeaderProps) => ({\n // root\n \"--first-row-cell-height\": \"52px\",\n \"--cell-height\": \"32px\",\n height: \"var(--cell-height)\",\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n paddingTop: 0,\n paddingRight: theme.space.xs,\n paddingBottom: 0,\n paddingLeft: 32,\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n\n ...($sorted && {\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n }),\n ...($resizable && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($resizing && {\n borderRight: `solid 2px ${theme.colors.acce1}`,\n }),\n ...($groupColumnMostLeft && {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($groupColumnMostRight && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n // due to the \":has()\" selector not being supported in browsers,\n // this need to be managed with inline styles\n // To be uncommented when not needed (see comment in src/Table/hooks/useSticky.js)\n // \"&:last-child,&:has(+ $stickyColumnLeastRight)\": {\n \"&:last-child\": {\n borderRight: 0,\n },\n [`&+:not(.${tableHeaderClasses.stickyColumn})`]: {\n borderLeft: 0,\n },\n }),\n ...($stickyColumn && {\n position: \"sticky\",\n zIndex: 2,\n\n [`&.${tableHeaderClasses.groupColumnMostRight}+.${tableHeaderClasses.stickyColumn}`]:\n {\n borderLeft: 0,\n },\n }),\n ...($stickyColumnMostLeft && {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($stickyColumnLeastRight && {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n // align\n ...($align === \"center\" && {\n textAlign: \"center\",\n }),\n ...($align === \"justify\" && {\n textAlign: \"justify\",\n }),\n ...($align === \"left\" && {\n textAlign: \"left\",\n }),\n ...($align === \"right\" && {\n textAlign: \"right\",\n flexDirection: \"row-reverse\",\n }),\n // variant\n ...($variant === \"checkbox\" && {\n padding: 0,\n width: 32,\n maxWidth: 32,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($variant === \"actions\" && {\n padding: 0,\n width: 32,\n maxWidth: 32,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n }),\n ...($variant === \"none\" && {\n padding: 0,\n }),\n // type\n ...($type === \"head\" && {\n // \":first-of-type\": {\n height: \"var(--first-row-cell-height)\",\n borderTop: $variantList\n ? 0\n : `1px solid ${theme.table.headerBorderTopColor}`,\n // },\n\n paddingTop: 8,\n verticalAlign: \"top\",\n\n backgroundColor: $variantList ? \"inherit\" : theme.colors.atmo1,\n borderBottom: $variantList ? 0 : `1px solid ${theme.colors.atmo4}`,\n ...(theme.typography.label as CSSProperties),\n\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n\n [`&.${tableHeaderClasses.sortable}`]: {\n verticalAlign: \"initial\",\n paddingTop: 0,\n paddingLeft: 0,\n cursor: \"pointer\",\n\n \"&:hover\": {\n backgroundColor: theme.table.headerHoverColor,\n\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n },\n \"&:focus-within\": {\n backgroundColor: theme.table.headerHoverColor,\n\n [`& .${tableHeaderClasses.sortIcon}`]: {\n visibility: \"visible\",\n },\n },\n },\n }),\n ...($type === \"body\" && {\n backgroundColor: \"inherit\",\n ...(theme.typography.body as CSSProperties),\n\n [`&.${tableHeaderClasses.sortable}:not(.${tableHeaderClasses.variantNone})`]:\n {\n paddingLeft: 32,\n },\n [`&.${tableHeaderClasses.sorted}`]: {\n backgroundColor: alpha(hexToRgb($atmo1Color), 0.4),\n },\n }),\n ...($variantList && {\n backgroundColor: \"inherit\",\n borderBottom: 0,\n height: 16,\n \":first-of-type > &\": {\n borderTop: 0,\n height: 16,\n },\n }),\n })\n );\n\nconst StyledSort = (c: any) =>\n styled(c)({\n display: \"inline-flex\",\n visibility: \"hidden\",\n });\n\n/**\n * `HvTableHeader` acts as a `th` element and inherits styles from its context\n */\nexport const HvTableHeader = forwardRef<HTMLElement, HvTableHeaderProps>(\n (\n {\n children,\n component,\n className,\n style,\n classes,\n scope: scopeProp,\n align = \"inherit\",\n variant = \"default\",\n type: typeProp,\n stickyColumn = false,\n stickyColumnMostLeft = false,\n stickyColumnLeastRight = false,\n groupColumnMostLeft = false,\n groupColumnMostRight = false,\n sortDirection = \"none\",\n sorted,\n sortable,\n headerTextProps,\n resizerProps = {},\n resizable = false,\n resizing = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = typeProp || tableSectionContext?.type || \"body\";\n const isHeadCell = type === \"head\";\n\n const scope = scopeProp ?? isHeadCell ? \"col\" : \"row\";\n\n const Sort = useMemo(\n () => getSortIcon(sorted && sortDirection),\n [sorted, sortDirection]\n );\n\n const SortComponent = useMemo(() => StyledSort(Sort), [Sort]);\n\n const Component =\n component || tableContext?.components?.Th || defaultComponent;\n\n const role =\n Component === defaultComponent\n ? null\n : isHeadCell\n ? \"columnheader\"\n : \"rowheader\";\n const paragraph = isParagraph(children);\n\n const TableHeader = StyledTableHeader(Component);\n\n return (\n <TableHeader\n ref={externalRef}\n role={role}\n scope={scope}\n style={style}\n className={clsx(\n className,\n tableHeaderClasses.root,\n classes?.root,\n tableHeaderClasses[type],\n classes?.[type],\n groupColumnMostLeft &&\n clsx(\n tableHeaderClasses.groupColumnMostLeft,\n classes?.groupColumnMostLeft\n ),\n groupColumnMostRight &&\n clsx(\n tableHeaderClasses.groupColumnMostRight,\n classes?.groupColumnMostRight\n ),\n sortable && clsx(tableHeaderClasses.sortable, classes?.sortable),\n sorted && clsx(tableHeaderClasses.sorted, classes?.sorted),\n resizable && clsx(tableHeaderClasses.resizable, classes?.resizable),\n resizing && clsx(tableHeaderClasses.resizing, classes?.resizing),\n stickyColumn &&\n clsx(tableHeaderClasses.stickyColumn, classes?.stickyColumn),\n stickyColumnMostLeft &&\n clsx(\n tableHeaderClasses.stickyColumnMostLeft,\n classes?.stickyColumnMostLeft\n ),\n stickyColumnLeastRight &&\n clsx(\n tableHeaderClasses.stickyColumnLeastRight,\n classes?.stickyColumnLeastRight\n ),\n tableContext.variant === \"listrow\" &&\n clsx(tableHeaderClasses.variantList, classes?.variantList),\n align !== \"inherit\" &&\n clsx(\n tableHeaderClasses[`align${capitalize(align)}`],\n classes?.[`align${capitalize(align)}`]\n ),\n variant !== \"default\" &&\n clsx(\n tableHeaderClasses[`variant${capitalize(variant)}`],\n classes?.[`variant${capitalize(variant)}`]\n )\n )}\n aria-sort={sortable ? sortDirection : undefined}\n $sortable={sortable}\n $sorted={sorted}\n $resizable={resizable}\n $resizing={resizing}\n $groupColumnMostLeft={groupColumnMostLeft}\n $groupColumnMostRight={groupColumnMostRight}\n $stickyColumn={stickyColumn}\n $stickyColumnMostLeft={stickyColumnMostLeft}\n $stickyColumnLeastRight={stickyColumnLeastRight}\n $align={align}\n $variant={variant}\n $variantList={tableContext.variant === \"listrow\"}\n $type={type}\n $atmo1Color={\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n }\n {...others}\n >\n <StyledHeaderContent\n className={clsx(\n tableHeaderClasses.headerContent,\n classes?.headerContent,\n align !== \"inherit\" &&\n clsx(\n tableHeaderClasses[`alignFlex${capitalize(align)}`],\n classes?.[`alignFlex${capitalize(align)}`]\n )\n )}\n $align={align}\n >\n {isHeadCell && sortable && (\n <StyledButton\n className={clsx(\n tableHeaderClasses.sortButton,\n classes?.sortButton\n )}\n icon\n variant=\"secondaryGhost\"\n overrideIconColors={false}\n >\n <SortComponent\n className={clsx(tableHeaderClasses.sortIcon, classes?.sortIcon)}\n />\n </StyledButton>\n )}\n <StyledTypography\n component=\"div\"\n className={clsx(\n !paragraph &&\n clsx(tableHeaderClasses.headerText, classes?.headerText),\n paragraph &&\n clsx(\n tableHeaderClasses.headerParagraph,\n classes?.headerParagraph\n ),\n sortable &&\n clsx(\n tableHeaderClasses.sortableHeaderText,\n classes?.sortableHeaderText\n )\n )}\n variant=\"label\"\n $headerText={!paragraph}\n $headerParagraph={paragraph}\n $sortableHeaderText={sortable}\n {...headerTextProps}\n >\n {children}\n </StyledTypography>\n {resizable && (\n <StyledResizer\n {...resizerProps}\n className={clsx(tableHeaderClasses.resizer, classes?.resizer)}\n />\n )}\n </StyledHeaderContent>\n </TableHeader>\n );\n }\n);\n"],"names":["defaultComponent","StyledTableHeader","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$sorted","$resizable","$resizing","$groupColumnMostLeft","$groupColumnMostRight","$stickyColumn","$stickyColumnMostLeft","$stickyColumnLeastRight","$variantList","$align","$variant","$type","$atmo1Color","height","verticalAlign","textAlign","paddingTop","paddingRight","theme","space","xs","paddingBottom","paddingLeft","borderBottom","colors","atmo4","tableHeaderClasses","sortIcon","visibility","borderRight","acce1","borderLeft","stickyColumn","position","zIndex","groupColumnMostRight","flexDirection","padding","width","maxWidth","borderTop","table","headerBorderTopColor","backgroundColor","atmo1","typography","transition","sortable","cursor","headerHoverColor","body","variantNone","sorted","alpha","hexToRgb","StyledSort","_styled","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvTableHeader","forwardRef","children","component","className","style","classes","scope","scopeProp","align","variant","type","typeProp","stickyColumnMostLeft","stickyColumnLeastRight","groupColumnMostLeft","sortDirection","headerTextProps","resizerProps","resizable","resizing","others","externalRef","activeTheme","selectedMode","useContext","HvThemeContext","tableContext","TableContext","tableSectionContext","TableSectionContext","isHeadCell","Sort","useMemo","getSortIcon","SortComponent","Component","components","Th","role","paragraph","isParagraph","TableHeader","ref","clsx","root","variantList","capitalize","undefined","$sortable","modes","StyledHeaderContent","headerContent","StyledButton","sortButton","icon","overrideIconColors","_jsx","StyledTypography","headerText","headerParagraph","sortableHeaderText","$headerText","$headerParagraph","$sortableHeaderText","StyledResizer","resizer"],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ const StyledTableRow = (c) => /* @__PURE__ */ _styled(c, process.env.NODE_ENV ==
|
|
|
105
105
|
height: 16
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVGFibGUvVGFibGVSb3cvVGFibGVSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlUm93L1RhYmxlUm93LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGhleFRvUmdiLCBhbHBoYSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi8uLi90eXBlcy9pbmRleFwiO1xuaW1wb3J0IHsgdGFibGVSb3dDbGFzc2VzLCBIdlRhYmxlUm93Q2xhc3NlcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gXCIuLi9UYWJsZUNvbnRleHRcIjtcbmltcG9ydCB7IHRyYW5zaWVudE9wdGlvbnMgfSBmcm9tIFwidXRpbHMvdHJhbnNpZW50T3B0aW9uc1wiO1xuaW1wb3J0IFRhYmxlU2VjdGlvbkNvbnRleHQgZnJvbSBcIi4uL1RhYmxlU2VjdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IEh2VGhlbWVDb250ZXh0IH0gZnJvbSBcInByb3ZpZGVyc1wiO1xuaW1wb3J0IHsgZ2V0Qm9yZGVyU3R5bGVzIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIEh2VGFibGVSb3dQcm9wcyA9IE9taXQ8SHZCYXNlUHJvcHMsIFwiY2hpbGRyZW5cIj4gJiB7XG4gIC8qKiBDb250ZW50IHRvIGJlIHJlbmRlcmVkICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKiBUaGUgY29tcG9uZW50IHVzZWQgZm9yIHRoZSByb290IG5vZGUuIEVpdGhlciBhIHN0cmluZyB0byB1c2UgYSBIVE1MIGVsZW1lbnQgb3IgYSBjb21wb25lbnQuIERlZmF1bHRzIHRvIHRib2R5LiAqL1xuICBjb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyB3aWxsIHNoYWRlIG9uIGhvdmVyLiAqL1xuICBob3Zlcj86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSByb3cgd2lsbCBoYXZlIHRoZSBzZWxlY3RlZCBzaGFkaW5nLiAqL1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSByb3cgaXMgZXhwYW5kZWQuICovXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyBiYWNrZ3JvdW5kIGlzIHN0cmlwZWQuICovXG4gIHN0cmlwZWQ/OiBib29sZWFuO1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZUYWJsZVJvd0NsYXNzZXM7XG59O1xuXG5jb25zdCBkZWZhdWx0Q29tcG9uZW50ID0gXCJ0clwiO1xuXG5jb25zdCBTdHlsZWRUYWJsZVJvdyA9IChjOiBhbnkpID0+XG4gIHN0eWxlZChcbiAgICBjLFxuICAgIHRyYW5zaWVudE9wdGlvbnNcbiAgKShcbiAgICAoe1xuICAgICAgJGhvdmVyLFxuICAgICAgJHNlbGVjdGVkLFxuICAgICAgJGV4cGFuZGVkLFxuICAgICAgJHN0cmlwZWQsXG4gICAgICAkdmFyaWFudExpc3QsXG4gICAgICAkdmFyaWFudExpc3RIZWFkLFxuICAgICAgJHN0cmlwZWRDb2xvcixcbiAgICAgICR0eXBlLFxuICAgIH06IHtcbiAgICAgICRob3ZlcjogYm9vbGVhbjtcbiAgICAgICRzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICRleHBhbmRlZDogYm9vbGVhbjtcbiAgICAgICRzdHJpcGVkOiBib29sZWFuO1xuICAgICAgJHZhcmlhbnRMaXN0OiBib29sZWFuO1xuICAgICAgJHZhcmlhbnRMaXN0SGVhZDogYm9vbGVhbjtcbiAgICAgICR0eXBlOiBzdHJpbmc7XG4gICAgICAkc3RyaXBlZENvbG9yOiBzdHJpbmc7XG4gICAgfSkgPT4gKHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93QmFja2dyb3VuZENvbG9yLFxuICAgICAgXCI6aG92ZXJcIjoge1xuICAgICAgICAuLi4oJHR5cGUgPT09IFwiYm9keVwiICYmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnJvd0hvdmVyQ29sb3IsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIC4uLigkaG92ZXIgJiYge1xuICAgICAgICB0cmFuc2l0aW9uOiBcImJhY2tncm91bmQtY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAwbXNcIixcbiAgICAgICAgXCImOmhvdmVyXCI6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnJvd0hvdmVyQ29sb3IsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIC4uLigkc2VsZWN0ZWQgJiYge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnNlbGVjdGVkUm93QmFja2dyb3VuZENvbG9yLFxuICAgICAgfSksXG4gICAgICAuLi4oJGV4cGFuZGVkICYmIHtcbiAgICAgICAgXCImID4gKltyb2xlPWNlbGxdXCI6IHtcbiAgICAgICAgICBib3JkZXJCb3R0b206IFwibm9uZVwiLFxuICAgICAgICB9LFxuICAgICAgICBbYCYuJHt0YWJsZVJvd0NsYXNzZXMuZXhwYW5kZWR9YF06IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5hdG1vMSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCRzdHJpcGVkICYmIHtcbiAgICAgICAgXCImOm50aC1vZi10eXBlKGV2ZW4pXCI6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICRzdHJpcGVkQ29sb3IsXG4gICAgICAgICAgXCImOmhvdmVyXCI6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC8vIHR5cGVcbiAgICAgIC4uLigkdHlwZSA9PT0gXCJoZWFkXCIgJiYge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgXCImOmZpcnN0LW9mLXR5cGVcIjoge1xuICAgICAgICAgIGhlaWdodDogNTIsXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCJ0ciY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiA1MixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oJHZhcmlhbnRMaXN0ICYmIHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAwLFxuICAgICAgICAuLi4oISRzZWxlY3RlZCAmJiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMuYXRtbzEsXG4gICAgICAgIH0pLFxuICAgICAgICBoZWlnaHQ6IDUyLFxuICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgIC4uLmdldEJvcmRlclN0eWxlcyhcInJvd1wiLCB0aGVtZS50YWJsZS5yb3dIb3ZlckJvcmRlckNvbG9yKSxcbiAgICAgICAgfSxcbiAgICAgICAgW2AmLiR7dGFibGVSb3dDbGFzc2VzLnNlbGVjdGVkfWBdOiB7XG4gICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLmNvbG9ycy5hY2NlMSksXG5cbiAgICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLnRhYmxlLnJvd0hvdmVyQm9yZGVyQ29sb3IpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudExpc3RIZWFkICYmIHtcbiAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgXCImOmZpcnN0LW9mLXR5cGVcIjoge1xuICAgICAgICAgIGhlaWdodDogMTYsXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCJ0ciY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pXG4gICk7XG5cbi8qKlxuICogYEh2VGFibGVSb3dgIGFjdHMgYXMgYSBgdHJgIGVsZW1lbnQgYW5kIGluaGVyaXRzIHN0eWxlcyBmcm9tIGl0cyBjb250ZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBIdlRhYmxlUm93ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgSHZUYWJsZVJvd1Byb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGNsYXNzZXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnQsXG4gICAgICBob3ZlciA9IGZhbHNlLFxuICAgICAgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgICAgIGV4cGFuZGVkID0gZmFsc2UsXG4gICAgICBzdHJpcGVkID0gZmFsc2UsXG4gICAgICAuLi5vdGhlcnNcbiAgICB9LFxuICAgIGV4dGVybmFsUmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlVGhlbWUsIHNlbGVjdGVkTW9kZSB9ID0gdXNlQ29udGV4dChIdlRoZW1lQ29udGV4dCk7XG4gICAgY29uc3QgdGFibGVDb250ZXh0ID0gdXNlQ29udGV4dChUYWJsZUNvbnRleHQpO1xuICAgIGNvbnN0IHRhYmxlU2VjdGlvbkNvbnRleHQgPSB1c2VDb250ZXh0KFRhYmxlU2VjdGlvbkNvbnRleHQpO1xuXG4gICAgY29uc3QgdHlwZSA9IHRhYmxlU2VjdGlvbkNvbnRleHQ/
|
|
108
|
+
}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvVGFibGUvVGFibGVSb3cvVGFibGVSb3cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlUm93L1RhYmxlUm93LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGhleFRvUmdiLCBhbHBoYSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi8uLi90eXBlcy9pbmRleFwiO1xuaW1wb3J0IHsgdGFibGVSb3dDbGFzc2VzLCBIdlRhYmxlUm93Q2xhc3NlcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVGFibGVDb250ZXh0IGZyb20gXCIuLi9UYWJsZUNvbnRleHRcIjtcbmltcG9ydCB7IHRyYW5zaWVudE9wdGlvbnMgfSBmcm9tIFwidXRpbHMvdHJhbnNpZW50T3B0aW9uc1wiO1xuaW1wb3J0IFRhYmxlU2VjdGlvbkNvbnRleHQgZnJvbSBcIi4uL1RhYmxlU2VjdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSBcIkBoaXRhY2hpdmFudGFyYS91aWtpdC1zdHlsZXNcIjtcbmltcG9ydCB7IEh2VGhlbWVDb250ZXh0IH0gZnJvbSBcInByb3ZpZGVyc1wiO1xuaW1wb3J0IHsgZ2V0Qm9yZGVyU3R5bGVzIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIEh2VGFibGVSb3dQcm9wcyA9IE9taXQ8SHZCYXNlUHJvcHMsIFwiY2hpbGRyZW5cIj4gJiB7XG4gIC8qKiBDb250ZW50IHRvIGJlIHJlbmRlcmVkICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKiBUaGUgY29tcG9uZW50IHVzZWQgZm9yIHRoZSByb290IG5vZGUuIEVpdGhlciBhIHN0cmluZyB0byB1c2UgYSBIVE1MIGVsZW1lbnQgb3IgYSBjb21wb25lbnQuIERlZmF1bHRzIHRvIHRib2R5LiAqL1xuICBjb21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyB3aWxsIHNoYWRlIG9uIGhvdmVyLiAqL1xuICBob3Zlcj86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSByb3cgd2lsbCBoYXZlIHRoZSBzZWxlY3RlZCBzaGFkaW5nLiAqL1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSByb3cgaXMgZXhwYW5kZWQuICovXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHJvdyBiYWNrZ3JvdW5kIGlzIHN0cmlwZWQuICovXG4gIHN0cmlwZWQ/OiBib29sZWFuO1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZUYWJsZVJvd0NsYXNzZXM7XG59O1xuXG5jb25zdCBkZWZhdWx0Q29tcG9uZW50ID0gXCJ0clwiO1xuXG5jb25zdCBTdHlsZWRUYWJsZVJvdyA9IChjOiBhbnkpID0+XG4gIHN0eWxlZChcbiAgICBjLFxuICAgIHRyYW5zaWVudE9wdGlvbnNcbiAgKShcbiAgICAoe1xuICAgICAgJGhvdmVyLFxuICAgICAgJHNlbGVjdGVkLFxuICAgICAgJGV4cGFuZGVkLFxuICAgICAgJHN0cmlwZWQsXG4gICAgICAkdmFyaWFudExpc3QsXG4gICAgICAkdmFyaWFudExpc3RIZWFkLFxuICAgICAgJHN0cmlwZWRDb2xvcixcbiAgICAgICR0eXBlLFxuICAgIH06IHtcbiAgICAgICRob3ZlcjogYm9vbGVhbjtcbiAgICAgICRzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICRleHBhbmRlZDogYm9vbGVhbjtcbiAgICAgICRzdHJpcGVkOiBib29sZWFuO1xuICAgICAgJHZhcmlhbnRMaXN0OiBib29sZWFuO1xuICAgICAgJHZhcmlhbnRMaXN0SGVhZDogYm9vbGVhbjtcbiAgICAgICR0eXBlOiBzdHJpbmc7XG4gICAgICAkc3RyaXBlZENvbG9yOiBzdHJpbmc7XG4gICAgfSkgPT4gKHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93QmFja2dyb3VuZENvbG9yLFxuICAgICAgXCI6aG92ZXJcIjoge1xuICAgICAgICAuLi4oJHR5cGUgPT09IFwiYm9keVwiICYmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnJvd0hvdmVyQ29sb3IsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIC4uLigkaG92ZXIgJiYge1xuICAgICAgICB0cmFuc2l0aW9uOiBcImJhY2tncm91bmQtY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAwbXNcIixcbiAgICAgICAgXCImOmhvdmVyXCI6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnJvd0hvdmVyQ29sb3IsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIC4uLigkc2VsZWN0ZWQgJiYge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnRhYmxlLnNlbGVjdGVkUm93QmFja2dyb3VuZENvbG9yLFxuICAgICAgfSksXG4gICAgICAuLi4oJGV4cGFuZGVkICYmIHtcbiAgICAgICAgXCImID4gKltyb2xlPWNlbGxdXCI6IHtcbiAgICAgICAgICBib3JkZXJCb3R0b206IFwibm9uZVwiLFxuICAgICAgICB9LFxuICAgICAgICBbYCYuJHt0YWJsZVJvd0NsYXNzZXMuZXhwYW5kZWR9YF06IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLmNvbG9ycy5hdG1vMSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgLi4uKCRzdHJpcGVkICYmIHtcbiAgICAgICAgXCImOm50aC1vZi10eXBlKGV2ZW4pXCI6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICRzdHJpcGVkQ29sb3IsXG4gICAgICAgICAgXCImOmhvdmVyXCI6IHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUudGFibGUucm93SG92ZXJDb2xvcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC8vIHR5cGVcbiAgICAgIC4uLigkdHlwZSA9PT0gXCJoZWFkXCIgJiYge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgXCImOmZpcnN0LW9mLXR5cGVcIjoge1xuICAgICAgICAgIGhlaWdodDogNTIsXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCJ0ciY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiA1MixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oJHZhcmlhbnRMaXN0ICYmIHtcbiAgICAgICAgYm9yZGVyQm90dG9tOiAwLFxuICAgICAgICAuLi4oISRzZWxlY3RlZCAmJiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5jb2xvcnMuYXRtbzEsXG4gICAgICAgIH0pLFxuICAgICAgICBoZWlnaHQ6IDUyLFxuICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgIC4uLmdldEJvcmRlclN0eWxlcyhcInJvd1wiLCB0aGVtZS50YWJsZS5yb3dIb3ZlckJvcmRlckNvbG9yKSxcbiAgICAgICAgfSxcbiAgICAgICAgW2AmLiR7dGFibGVSb3dDbGFzc2VzLnNlbGVjdGVkfWBdOiB7XG4gICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLmNvbG9ycy5hY2NlMSksXG5cbiAgICAgICAgICBcIiY6aG92ZXJcIjoge1xuICAgICAgICAgICAgLi4uZ2V0Qm9yZGVyU3R5bGVzKFwicm93XCIsIHRoZW1lLnRhYmxlLnJvd0hvdmVyQm9yZGVyQ29sb3IpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIC4uLigkdmFyaWFudExpc3RIZWFkICYmIHtcbiAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgXCImOmZpcnN0LW9mLXR5cGVcIjoge1xuICAgICAgICAgIGhlaWdodDogMTYsXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCJ0ciY6Zmlyc3Qtb2YtdHlwZVwiOiB7XG4gICAgICAgICAgaGVpZ2h0OiAxNixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pXG4gICk7XG5cbi8qKlxuICogYEh2VGFibGVSb3dgIGFjdHMgYXMgYSBgdHJgIGVsZW1lbnQgYW5kIGluaGVyaXRzIHN0eWxlcyBmcm9tIGl0cyBjb250ZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBIdlRhYmxlUm93ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgSHZUYWJsZVJvd1Byb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGNsYXNzZXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnQsXG4gICAgICBob3ZlciA9IGZhbHNlLFxuICAgICAgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgICAgIGV4cGFuZGVkID0gZmFsc2UsXG4gICAgICBzdHJpcGVkID0gZmFsc2UsXG4gICAgICAuLi5vdGhlcnNcbiAgICB9LFxuICAgIGV4dGVybmFsUmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlVGhlbWUsIHNlbGVjdGVkTW9kZSB9ID0gdXNlQ29udGV4dChIdlRoZW1lQ29udGV4dCk7XG4gICAgY29uc3QgdGFibGVDb250ZXh0ID0gdXNlQ29udGV4dChUYWJsZUNvbnRleHQpO1xuICAgIGNvbnN0IHRhYmxlU2VjdGlvbkNvbnRleHQgPSB1c2VDb250ZXh0KFRhYmxlU2VjdGlvbkNvbnRleHQpO1xuXG4gICAgY29uc3QgdHlwZSA9IHRhYmxlU2VjdGlvbkNvbnRleHQ/LnR5cGUgfHwgXCJib2R5XCI7XG5cbiAgICBjb25zdCBpc0xpc3QgPSB0YWJsZUNvbnRleHQudmFyaWFudCA9PT0gXCJsaXN0cm93XCI7XG5cbiAgICBjb25zdCBDb21wb25lbnQgPVxuICAgICAgY29tcG9uZW50IHx8IHRhYmxlQ29udGV4dD8uY29tcG9uZW50cz8uVHIgfHwgZGVmYXVsdENvbXBvbmVudDtcblxuICAgIGNvbnN0IFRhYmxlUm93ID0gdXNlTWVtbygoKSA9PiBTdHlsZWRUYWJsZVJvdyhDb21wb25lbnQpLCBbQ29tcG9uZW50XSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRhYmxlUm93XG4gICAgICAgIHJlZj17ZXh0ZXJuYWxSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgdGFibGVTZWN0aW9uQ29udGV4dC5maWx0ZXJDbGFzc05hbWUsXG4gICAgICAgICAgdGFibGVSb3dDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8ucm9vdCxcbiAgICAgICAgICB0YWJsZVJvd0NsYXNzZXNbdHlwZV0sXG4gICAgICAgICAgY2xhc3Nlcz8uW3R5cGVdLFxuICAgICAgICAgIGhvdmVyICYmIGNsc3godGFibGVSb3dDbGFzc2VzLmhvdmVyLCBjbGFzc2VzPy5ob3ZlciksXG4gICAgICAgICAgc2VsZWN0ZWQgJiYgY2xzeCh0YWJsZVJvd0NsYXNzZXMuc2VsZWN0ZWQsIGNsYXNzZXM/LnNlbGVjdGVkKSxcbiAgICAgICAgICBleHBhbmRlZCAmJiBjbHN4KHRhYmxlUm93Q2xhc3Nlcy5leHBhbmRlZCwgY2xhc3Nlcz8uZXhwYW5kZWQpLFxuICAgICAgICAgIHN0cmlwZWQgJiYgY2xzeCh0YWJsZVJvd0NsYXNzZXMuc3RyaXBlZCwgY2xhc3Nlcz8uc3RyaXBlZCksXG4gICAgICAgICAgaXNMaXN0ICYmXG4gICAgICAgICAgICB0eXBlID09PSBcImJvZHlcIiAmJlxuICAgICAgICAgICAgY2xzeCh0YWJsZVJvd0NsYXNzZXMudmFyaWFudExpc3QsIGNsYXNzZXM/LnZhcmlhbnRMaXN0KSxcbiAgICAgICAgICBpc0xpc3QgJiZcbiAgICAgICAgICAgIHR5cGUgPT09IFwiaGVhZFwiICYmXG4gICAgICAgICAgICBjbHN4KHRhYmxlUm93Q2xhc3Nlcy52YXJpYW50TGlzdEhlYWQsIGNsYXNzZXM/LnZhcmlhbnRMaXN0SGVhZClcbiAgICAgICAgKX1cbiAgICAgICAgcm9sZT17Q29tcG9uZW50ID09PSBkZWZhdWx0Q29tcG9uZW50ID8gbnVsbCA6IFwicm93XCJ9XG4gICAgICAgICRob3Zlcj17aG92ZXJ9XG4gICAgICAgICRzZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgICAgICRleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICRzdHJpcGVkPXtzdHJpcGVkfVxuICAgICAgICAkdmFyaWFudExpc3Q9e2lzTGlzdCAmJiB0eXBlID09PSBcImJvZHlcIn1cbiAgICAgICAgJHZhcmlhbnRMaXN0SGVhZD17aXNMaXN0ICYmIHR5cGUgPT09IFwiaGVhZFwifVxuICAgICAgICAkdHlwZT17dHlwZX1cbiAgICAgICAgJHN0cmlwZWRDb2xvcj17YWxwaGEoXG4gICAgICAgICAgaGV4VG9SZ2IoXG4gICAgICAgICAgICBhY3RpdmVUaGVtZT8uY29sb3JzPy5tb2Rlc1tzZWxlY3RlZE1vZGVdLmF0bW8xIHx8IHRoZW1lLmNvbG9ycy5hdG1vMVxuICAgICAgICAgICksXG4gICAgICAgICAgMC42XG4gICAgICAgICl9XG4gICAgICAgIHsuLi5vdGhlcnN9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG4iXX0= */");
|
|
109
109
|
const HvTableRow = forwardRef(({
|
|
110
110
|
classes,
|
|
111
111
|
className,
|
|
@@ -129,7 +129,7 @@ const HvTableRow = forwardRef(({
|
|
|
129
129
|
const TableRow = useMemo(() => StyledTableRow(Component), [Component]);
|
|
130
130
|
return /* @__PURE__ */ jsx(TableRow, {
|
|
131
131
|
ref: externalRef,
|
|
132
|
-
className: clsx(className, tableSectionContext.filterClassName, tableRowClasses.root, classes == null ? void 0 : classes.root, tableRowClasses[type], classes
|
|
132
|
+
className: clsx(className, tableSectionContext.filterClassName, tableRowClasses.root, classes == null ? void 0 : classes.root, tableRowClasses[type], classes == null ? void 0 : classes[type], hover && clsx(tableRowClasses.hover, classes == null ? void 0 : classes.hover), selected && clsx(tableRowClasses.selected, classes == null ? void 0 : classes.selected), expanded && clsx(tableRowClasses.expanded, classes == null ? void 0 : classes.expanded), striped && clsx(tableRowClasses.striped, classes == null ? void 0 : classes.striped), isList && type === "body" && clsx(tableRowClasses.variantList, classes == null ? void 0 : classes.variantList), isList && type === "head" && clsx(tableRowClasses.variantListHead, classes == null ? void 0 : classes.variantListHead)),
|
|
133
133
|
role: Component === defaultComponent ? null : "row",
|
|
134
134
|
$hover: hover,
|
|
135
135
|
$selected: selected,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvThemeContext } from \"providers\";\nimport { getBorderStyles } from \"../utils/utils\";\n\nexport type HvTableRowProps = Omit<HvBaseProps, \"children\"> & {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n};\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvThemeContext } from \"providers\";\nimport { getBorderStyles } from \"../utils/utils\";\n\nexport type HvTableRowProps = Omit<HvBaseProps, \"children\"> & {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n};\n\nconst defaultComponent = \"tr\";\n\nconst StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes?.[type],\n hover && clsx(tableRowClasses.hover, classes?.hover),\n selected && clsx(tableRowClasses.selected, classes?.selected),\n expanded && clsx(tableRowClasses.expanded, classes?.expanded),\n striped && clsx(tableRowClasses.striped, classes?.striped),\n isList &&\n type === \"body\" &&\n clsx(tableRowClasses.variantList, classes?.variantList),\n isList &&\n type === \"head\" &&\n clsx(tableRowClasses.variantListHead, classes?.variantListHead)\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $hover={hover}\n $selected={selected}\n $expanded={expanded}\n $striped={striped}\n $variantList={isList && type === \"body\"}\n $variantListHead={isList && type === \"head\"}\n $type={type}\n $stripedColor={alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n ),\n 0.6\n )}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$hover","$selected","$expanded","$striped","$variantList","$variantListHead","$stripedColor","$type","backgroundColor","theme","table","rowBackgroundColor","rowHoverColor","transition","selectedRowBackgroundColor","borderBottom","tableRowClasses","expanded","colors","atmo1","height","getBorderStyles","rowHoverBorderColor","selected","acce1","HvTableRow","forwardRef","classes","className","component","hover","striped","others","externalRef","activeTheme","selectedMode","useContext","HvThemeContext","tableContext","TableContext","tableSectionContext","TableSectionContext","type","isList","variant","Component","components","Tr","TableRow","useMemo","ref","clsx","filterClassName","root","variantList","variantListHead","role","alpha","hexToRgb","modes"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ const HvTag = ({
|
|
|
48
48
|
classes: {
|
|
49
49
|
startIcon: clsx(tagClasses.tagButton, classes == null ? void 0 : classes.tagButton),
|
|
50
50
|
focusVisible: clsx(tagClasses.focusVisible, classes == null ? void 0 : classes.focusVisible),
|
|
51
|
-
|
|
51
|
+
root: clsx(tagClasses.button, classes == null ? void 0 : classes.button)
|
|
52
52
|
},
|
|
53
53
|
"aria-label": deleteButtonArialLabel,
|
|
54
54
|
tabIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState, useContext } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvThemeContext } from \"../../providers\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\n\nexport type HvTagProps = Omit<MuiChipProps, \"color\"> &\n HvBaseProps<HTMLDivElement, { children }> & {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string;\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n };\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.sema7;\n const defaultCategoricalColor = colors.cviz1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = ({\n classes,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n}: HvTagProps) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n // @ts-ignore\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n primary: clsx(tagClasses.primaryButton, classes?.primaryButton),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\n ),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","activeTheme","selectedMode","useContext","HvThemeContext","getDeleteIcon","disabledSemanticColor","tabIndex","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","primary","primaryButton","variant","children","StyledCloseXS","iconSize","cursor","undefined","height","$color","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","root","onMouseEnter","onMouseLeave","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","$type","$disabled","$categoricalFocus","$categoricalDisabled","$base1Color","base1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState, useContext } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvThemeContext } from \"../../providers\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\n\nexport type HvTagProps = Omit<MuiChipProps, \"color\" | \"classes\"> &\n HvBaseProps<HTMLDivElement, { children }> & {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string;\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n };\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.sema7;\n const defaultCategoricalColor = colors.cviz1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = ({\n classes,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n}: HvTagProps) => {\n const { activeTheme, selectedMode } = useContext(HvThemeContext);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n root: clsx(tagClasses.button, classes?.button),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\n ),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","activeTheme","selectedMode","useContext","HvThemeContext","getDeleteIcon","disabledSemanticColor","tabIndex","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","root","button","variant","children","StyledCloseXS","iconSize","cursor","undefined","height","$color","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","$type","$disabled","$categoricalFocus","$categoricalDisabled","$base1Color","base1"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getClasses } from "../../utils/classes.js";
|
|
2
|
-
const classKeys = ["root", "tagButton", "focusVisible", "
|
|
2
|
+
const classKeys = ["root", "tagButton", "focusVisible", "button", "label", "chipRoot", "categorical", "disabled", "clickable", "categoricalFocus", "categoricalDisabled", "deleteIcon", "disabledDeleteIcon"];
|
|
3
3
|
const tagClasses = getClasses(classKeys, "HvTag");
|
|
4
4
|
const tagClasses$1 = tagClasses;
|
|
5
5
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tagClasses.js","sources":["../../../../src/components/Tag/tagClasses.ts"],"sourcesContent":["import { getClasses } from \"utils\";\n\nexport type HvTagClasses = {\n root?: string;\n tagButton?: string;\n focusVisible?: string;\n
|
|
1
|
+
{"version":3,"file":"tagClasses.js","sources":["../../../../src/components/Tag/tagClasses.ts"],"sourcesContent":["import { getClasses } from \"utils\";\n\nexport type HvTagClasses = {\n root?: string;\n tagButton?: string;\n focusVisible?: string;\n button?: string;\n label?: string;\n chipRoot?: string;\n categorical?: string;\n disabled?: string;\n clickable?: string;\n categoricalFocus?: string;\n categoricalDisabled?: string;\n deleteIcon?: string;\n disabledDeleteIcon?: string;\n};\n\nconst classKeys: string[] = [\n \"root\",\n \"tagButton\",\n \"focusVisible\",\n \"button\",\n \"label\",\n \"chipRoot\",\n \"categorical\",\n \"disabled\",\n \"clickable\",\n \"categoricalFocus\",\n \"categoricalDisabled\",\n \"deleteIcon\",\n \"disabledDeleteIcon\",\n];\n\nconst tagClasses = getClasses<HvTagClasses>(classKeys, \"HvTag\");\n\nexport default tagClasses;\n"],"names":["classKeys","tagClasses","getClasses"],"mappings":";AAkBA,MAAMA,YAAsB,CAC1B,QACA,aACA,gBACA,UACA,SACA,YACA,eACA,YACA,aACA,oBACA,uBACA,cACA,oBAAoB;AAGtB,MAAMC,aAAaC,WAAyBF,WAAW,OAAO;AAE9D,MAAA,eAAeC;"}
|
|
@@ -311,7 +311,7 @@ const HvTagsInput = ({
|
|
|
311
311
|
})
|
|
312
312
|
}, `${tag.label}-${i}`);
|
|
313
313
|
}), !(disabled || readOnly) && /* @__PURE__ */ jsx(StyledInputListItem, {
|
|
314
|
-
className: clsx(!multiline && clsx(tagsInputClasses.singleLine, classes == null ? void 0 : classes.singleLine, value.length === 0 && tagsInputClasses.tagInputRootEmpty,
|
|
314
|
+
className: clsx(!multiline && clsx(tagsInputClasses.singleLine, classes == null ? void 0 : classes.singleLine, value.length === 0 && clsx(tagsInputClasses.tagInputRootEmpty, classes == null ? void 0 : classes.tagInputRootEmpty))),
|
|
315
315
|
classes: {
|
|
316
316
|
root: clsx(tagsInputClasses.tagInputContainerRoot, classes == null ? void 0 : classes.tagInputContainerRoot),
|
|
317
317
|
gutters: clsx(tagsInputClasses.listItemGutters, classes == null ? void 0 : classes.listItemGutters)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.js","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":"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"}
|
|
1
|
+
{"version":3,"file":"TagsInput.js","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.js","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.js","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,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,cAClCR,UACAS,QAAQV,eAAe,CAAC;AAG1B,QAAMW,iBAAkBC,CAAM,MAAA;AAC5BJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,GAAG,CAACL;AAAAA,EAAU;AAG1B,6BACGM,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.js","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,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;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAqB;AAAA,OACpDQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,EAAAA,IAAWC,WAAWC,cAAc;AAE5C,6BACGC,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,sBAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,KAAKC,eAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,KAAKC,eAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,KAAKC,eAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,SAASpB,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.js","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,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;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAqB;AAAA,OACpDQ;AAAAA,EACDd,IAAAA;AAEE,QAAA;AAAA,IAAEe;AAAAA,EAAAA,IAAWC,WAAWC,cAAc;AAE5C,6BACGC,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,sBAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,KAAKC,eAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,KAAKC,eAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,KAAKC,eAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,SAASpB,SAAS;AAAA,MACtBqB,WAAWC,SAASC,eAAef,UAAU,EAAE,KAAKc,SAASE;AAAAA,IAC/D;AAAA,IAAE,GACEjB;AAAAA,IAAMN;AAAAA,EAAAA,CAGC;AAEjB,CAAC;"}
|