@hitachivantara/uikit-react-core 5.0.0-next.7 → 5.0.0-next.9
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 +10 -37
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -7
- package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +11 -39
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +2 -4
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs +12 -54
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +2 -4
- package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +15 -37
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +2 -16
- package/dist/cjs/components/AppSwitcher/TitleWithTooltip.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 +9 -38
- 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 +6 -23
- 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 +7 -33
- package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -27
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -4
- package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +12 -34
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +6 -20
- package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -4
- package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.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 +5 -36
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +57 -93
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +19 -48
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs +4 -30
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +9 -30
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/Box/Box.cjs +2 -7
- package/dist/cjs/components/Box/Box.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -35
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +2 -4
- package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +4 -21
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -7
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +5 -8
- package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/utils.cjs +2 -10
- package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.cjs +20 -54
- package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +23 -30
- 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 -18
- 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 -8
- 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 +23 -17
- 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 +7 -14
- 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/CheckBox/CheckBox.cjs +16 -55
- package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +17 -56
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
- package/dist/cjs/components/Container/Container.cjs +11 -9
- 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 +16 -33
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +5 -13
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs +2 -14
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
- package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +2 -4
- package/dist/cjs/components/Controls/RightControl/RightControl.styles.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 +5 -11
- package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.cjs +4 -7
- 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 +47 -50
- 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 +13 -15
- 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 +9 -29
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +3 -7
- package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +23 -63
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +2 -4
- package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs +21 -97
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +2 -4
- package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.cjs +27 -83
- package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.styles.cjs +2 -4
- package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyState.cjs +16 -24
- 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/DropZone/DropZone.cjs +52 -101
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.cjs +21 -57
- package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs +4 -14
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs +4 -21
- package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs +9 -14
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +19 -18
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs +9 -22
- 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/Adornment/Adornment.cjs +2 -29
- package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
- package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +5 -27
- package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
- package/dist/cjs/components/Forms/FormElement/FormElement.cjs +2 -16
- package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
- package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +2 -11
- package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
- package/dist/cjs/components/Forms/Label/Label.cjs +8 -17
- package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +5 -26
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs +6 -20
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs +12 -25
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.cjs +5 -9
- 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.cjs +2 -6
- package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
- 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 +8 -9
- 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 +10 -8
- 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.cjs +3 -17
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +7 -10
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +7 -25
- 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 +4 -15
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +4 -6
- 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/Input/Input.cjs +42 -112
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.styles.cjs +2 -4
- package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
- package/dist/cjs/components/Kpi/Kpi.cjs +16 -47
- package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.cjs +2 -14
- package/dist/cjs/components/Link/Link.cjs.map +1 -1
- package/dist/cjs/components/List/List.cjs +32 -104
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/List/List.styles.cjs +5 -13
- package/dist/cjs/components/List/List.styles.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListContainer.cjs +2 -11
- package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +14 -34
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/Loading/Loading.cjs +5 -18
- 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 +5 -13
- 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 +14 -18
- package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +2 -5
- package/dist/cjs/components/MultiButton/MultiButton.styles.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/OverflowTooltip/OverflowTooltip.cjs +3 -20
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs +2 -4
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +1 -13
- package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +27 -127
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Select.cjs +8 -32
- package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.cjs +2 -7
- package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs +9 -28
- 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 +16 -51
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +7 -36
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/SelectionList/SelectionList.cjs +7 -41
- package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
- package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +4 -10
- package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
- package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +2 -8
- package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs +17 -40
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +10 -31
- 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/SnackbarProvider/SnackbarProvider.cjs +4 -27
- package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.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 +8 -29
- package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs +13 -46
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.cjs +17 -14
- package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.cjs +2 -13
- package/dist/cjs/components/Table/Table.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +7 -26
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +3 -24
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +2 -6
- package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +3 -12
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +8 -51
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +8 -14
- package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +3 -16
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs +5 -15
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -8
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -4
- package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -10
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +2 -10
- package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +6 -17
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +19 -60
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs +9 -13
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs +25 -55
- 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 +45 -129
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +11 -31
- package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +22 -69
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.styles.cjs +5 -13
- package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -10
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +8 -21
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +3 -12
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/Typography/utils.cjs.map +1 -1
- package/dist/cjs/hocs/withId.cjs +2 -5
- package/dist/cjs/hocs/withId.cjs.map +1 -1
- package/dist/cjs/hocs/withTooltip.cjs +5 -24
- package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
- package/dist/cjs/index.cjs +8 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/providers/Provider.cjs +5 -10
- package/dist/cjs/providers/Provider.cjs.map +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs +3 -9
- package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
- package/dist/cjs/utils/iconVariant.cjs +5 -16
- package/dist/cjs/utils/iconVariant.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 +10 -37
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/ActionBar/ActionBar.js +2 -7
- package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +11 -39
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +2 -4
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.js +12 -54
- package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.styles.js +2 -4
- package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +15 -37
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +2 -16
- package/dist/esm/components/AppSwitcher/TitleWithTooltip.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 +9 -38
- 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 +6 -23
- 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 +7 -33
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -27
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +2 -4
- package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js +12 -34
- package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +6 -20
- package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +2 -4
- package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.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 +5 -36
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +57 -93
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +19 -48
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js +4 -30
- package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js +9 -30
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/Box/Box.js +2 -7
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -35
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +2 -4
- package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +4 -21
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -7
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +5 -8
- package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
- package/dist/esm/components/BreadCrumb/utils.js +2 -10
- package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.js +20 -54
- package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/components/Button/Button.js +21 -30
- 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 -19
- 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 -9
- 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 +22 -17
- 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 +7 -15
- 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/CheckBox/CheckBox.js +16 -55
- package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +17 -56
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/components/Container/Container.js +11 -9
- 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 +16 -33
- package/dist/esm/components/Controls/Controls.js.map +1 -1
- package/dist/esm/components/Controls/LeftControl/LeftControl.js +5 -13
- package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
- package/dist/esm/components/Controls/RightControl/RightControl.js +2 -14
- package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
- package/dist/esm/components/Controls/RightControl/RightControl.styles.js +2 -4
- package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +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 +5 -11
- package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.js +4 -8
- 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 +47 -51
- 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 +13 -15
- 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 +9 -29
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.styles.js +3 -7
- package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +23 -63
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +2 -4
- package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +21 -97
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.styles.js +2 -4
- package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.js +27 -83
- package/dist/esm/components/Dropdown/List/List.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.styles.js +2 -4
- package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyState.js +17 -25
- 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/DropZone/DropZone.js +52 -101
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.js +21 -57
- package/dist/esm/components/FileUploader/File/File.js.map +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.js +4 -14
- package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js +4 -21
- package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js +9 -14
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +19 -18
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js +9 -22
- 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/Adornment/Adornment.js +2 -29
- package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/esm/components/Forms/CharCounter/CharCounter.js +5 -27
- package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
- package/dist/esm/components/Forms/FormElement/FormElement.js +2 -16
- package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
- package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +2 -11
- package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
- package/dist/esm/components/Forms/Label/Label.js +8 -17
- package/dist/esm/components/Forms/Label/Label.js.map +1 -1
- package/dist/esm/components/Forms/Suggestions/Suggestions.js +5 -26
- package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.js +6 -20
- package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js +12 -25
- package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js +5 -9
- 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.js +2 -6
- package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
- 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 +8 -9
- 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 +8 -8
- 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.js +3 -17
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js +7 -10
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +7 -25
- 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 +4 -15
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Header/Navigation/utils/FocusContext.js +4 -6
- 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/Input/Input.js +42 -112
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Input/Input.styles.js +2 -4
- package/dist/esm/components/Input/Input.styles.js.map +1 -1
- package/dist/esm/components/Kpi/Kpi.js +16 -47
- package/dist/esm/components/Kpi/Kpi.js.map +1 -1
- package/dist/esm/components/Link/Link.js +2 -14
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/List/List.js +32 -104
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/List/List.styles.js +5 -13
- package/dist/esm/components/List/List.styles.js.map +1 -1
- package/dist/esm/components/ListContainer/ListContainer.js +2 -11
- package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +14 -34
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/Loading/Loading.js +5 -18
- 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 +5 -13
- 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 +14 -18
- package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.styles.js +2 -5
- package/dist/esm/components/MultiButton/MultiButton.styles.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/OverflowTooltip/OverflowTooltip.js +3 -20
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js +2 -4
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
- package/dist/esm/components/Pagination/ButtonIconTooltip.js +1 -13
- package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +27 -127
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Select.js +8 -32
- package/dist/esm/components/Pagination/Select.js.map +1 -1
- package/dist/esm/components/Panel/Panel.js +2 -7
- package/dist/esm/components/Panel/Panel.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js +9 -28
- 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 +16 -51
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +7 -36
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/SelectionList/SelectionList.js +7 -41
- package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
- package/dist/esm/components/SelectionList/SelectionList.styles.js +4 -10
- package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
- package/dist/esm/components/SimpleGrid/SimpleGrid.js +2 -8
- package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js +16 -40
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +10 -31
- 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/SnackbarProvider/SnackbarProvider.js +4 -27
- package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.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 +8 -29
- package/dist/esm/components/Stack/Stack.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +13 -46
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tab/Tab.js +17 -14
- package/dist/esm/components/Tab/Tab.js.map +1 -1
- package/dist/esm/components/Table/Table.js +2 -13
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +7 -26
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +3 -24
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableContainer/TableContainer.js +2 -6
- package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +3 -12
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +8 -51
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +8 -14
- package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +3 -16
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowExpand.js +5 -15
- package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowSelection.js +2 -8
- package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -4
- package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -10
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +2 -10
- package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +6 -17
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +19 -60
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +9 -13
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +25 -55
- 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 +45 -129
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.styles.js +11 -31
- package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +22 -69
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.styles.js +5 -13
- package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js +2 -10
- package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +8 -21
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +3 -12
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/Typography/utils.js.map +1 -1
- package/dist/esm/hocs/withId.js +2 -5
- package/dist/esm/hocs/withId.js.map +1 -1
- package/dist/esm/hocs/withTooltip.js +5 -24
- package/dist/esm/hocs/withTooltip.js.map +1 -1
- package/dist/esm/index.js +162 -156
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/Provider.js +5 -10
- package/dist/esm/providers/Provider.js.map +1 -1
- package/dist/esm/providers/ThemeProvider.js +3 -9
- package/dist/esm/providers/ThemeProvider.js.map +1 -1
- package/dist/esm/utils/iconVariant.js +5 -16
- package/dist/esm/utils/iconVariant.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 +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/hooks/index.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 +7 -7
- 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":"File.cjs","sources":["../../../../../src/components/FileUploader/File/File.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId } from \"utils\";\nimport fileClasses, { HvFileClasses } from \"./fileClasses\";\nimport { HvTypography } from \"components\";\nimport { convertUnits } from \"../utils\";\nimport {\n StyledFail,\n StyledErrorMessage,\n StyledSuccess,\n StyledProgressBarBack,\n StyledProgressBar,\n StyledNameText,\n StyledProgressTextContainer,\n StyledPreviewContainer,\n StyledIconButton,\n StyledEmptyIcon,\n} from \"./File.styles\";\n\nexport type HvFileData = File & {\n /**\n * The file id.\n */\n id?: string;\n /**\n * The file name.\n */\n name?: string;\n /**\n * The upload status.\n */\n status?: \"progress\" | \"success\" | \"fail\";\n /**\n * The file size in bytes.\n */\n size?: number;\n /**\n * Upload progress in bytes.\n */\n progress?: number;\n /**\n * Optional node representing a preview of the uploaded file.\n */\n preview?: React.ReactNode;\n /**\n * Error message when the upload failed.\n */\n errorMessage?: string;\n};\n\nexport type HvFilesAddedEvent = (files: HvFileData[]) => void;\n\nexport type HvFileRemovedEvent = (file: HvFileData) => void;\n\nexport type HvFileProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * File information to be displayed.\n */\n data: HvFileData;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in file list.\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileClasses;\n};\n\nconst getStatusIcon = (\n classes?: HvFileClasses,\n status?: HvFileData[\"status\"]\n) => {\n switch (status) {\n case \"success\":\n return (\n <StyledSuccess\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema1\"\n />\n );\n case \"fail\":\n return (\n <StyledFail\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema4\"\n />\n );\n default:\n return (\n <StyledEmptyIcon className={clsx(classes?.icon, fileClasses.icon)} />\n );\n }\n};\n\nconst getProgressText = (data: HvFileData, classes?: HvFileClasses) => {\n const hasFailed = data.status === \"fail\";\n const inProgress = data.status === \"progress\";\n\n return (\n <>\n {data.progress || data.size || data.errorMessage ? `\\xa0|\\xa0` : null}\n\n {inProgress && data.progress != null && (\n <HvTypography variant=\"label\">\n {`${convertUnits(data.progress)}\\xa0/\\xa0`}\n </HvTypography>\n )}\n\n {!hasFailed && data.size && (\n <HvTypography>{`${convertUnits(data.size)}`}</HvTypography>\n )}\n\n {hasFailed && data.errorMessage && (\n <StyledErrorMessage className={clsx(classes?.fail, fileClasses.fail)}>\n {data.errorMessage}\n </StyledErrorMessage>\n )}\n </>\n );\n};\n\nconst getProgressBarWith = ({ size, progress }: HvFileData) => {\n const width =\n progress != null && size != null ? Math.round((progress * 100) / size) : 0;\n\n return width;\n};\n\nexport const HvFile = ({\n id,\n classes,\n data,\n onFileRemoved,\n removeFileButtonLabel,\n}: HvFileProps) => {\n const hasError = data.status === \"fail\";\n\n const inProgress = data.status === \"progress\";\n\n const progressText = getProgressText(data, classes);\n\n const statusIcon = getStatusIcon(classes, data.status);\n\n const currentProgress = getProgressBarWith(data);\n\n return (\n <li className={clsx(classes?.root, fileClasses.root)}>\n {!hasError && inProgress && (\n <StyledProgressBarBack\n className={clsx(\n classes?.progressbarBack,\n fileClasses.progressbarBack\n )}\n />\n )}\n\n {!hasError && inProgress && (\n <StyledProgressBar\n className={clsx(classes?.progressbar, fileClasses.progressbar)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={currentProgress}\n style={{ width: `${currentProgress}%` }}\n />\n )}\n\n {statusIcon}\n\n <StyledNameText\n className={clsx(classes?.nameText, fileClasses.nameText)}\n variant=\"label\"\n >\n {data.name}\n </StyledNameText>\n\n <StyledProgressTextContainer\n className={clsx(\n classes?.progressTextContainer,\n fileClasses.progressTextContainer\n )}\n >\n {progressText}\n </StyledProgressTextContainer>\n\n {data.preview && (\n <StyledPreviewContainer\n className={clsx(\n classes?.previewContainer,\n fileClasses.previewContainer\n )}\n >\n {data.preview}\n </StyledPreviewContainer>\n )}\n\n <StyledIconButton\n id={setId(id, \"remove-button\")}\n aria-label={removeFileButtonLabel}\n className={clsx(classes?.removeButton, fileClasses.removeButton)}\n onClick={() => onFileRemoved?.(data)}\n variant=\"secondaryGhost\"\n icon\n >\n <Close iconSize=\"XS\" />\n </StyledIconButton>\n </li>\n );\n};\n"],"names":["getStatusIcon","classes","status","
|
|
1
|
+
{"version":3,"file":"File.cjs","sources":["../../../../../src/components/FileUploader/File/File.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId } from \"utils\";\nimport fileClasses, { HvFileClasses } from \"./fileClasses\";\nimport { HvTypography } from \"components\";\nimport { convertUnits } from \"../utils\";\nimport {\n StyledFail,\n StyledErrorMessage,\n StyledSuccess,\n StyledProgressBarBack,\n StyledProgressBar,\n StyledNameText,\n StyledProgressTextContainer,\n StyledPreviewContainer,\n StyledIconButton,\n StyledEmptyIcon,\n} from \"./File.styles\";\n\nexport type HvFileData = File & {\n /**\n * The file id.\n */\n id?: string;\n /**\n * The file name.\n */\n name?: string;\n /**\n * The upload status.\n */\n status?: \"progress\" | \"success\" | \"fail\";\n /**\n * The file size in bytes.\n */\n size?: number;\n /**\n * Upload progress in bytes.\n */\n progress?: number;\n /**\n * Optional node representing a preview of the uploaded file.\n */\n preview?: React.ReactNode;\n /**\n * Error message when the upload failed.\n */\n errorMessage?: string;\n};\n\nexport type HvFilesAddedEvent = (files: HvFileData[]) => void;\n\nexport type HvFileRemovedEvent = (file: HvFileData) => void;\n\nexport type HvFileProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * File information to be displayed.\n */\n data: HvFileData;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in file list.\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileClasses;\n};\n\nconst getStatusIcon = (\n classes?: HvFileClasses,\n status?: HvFileData[\"status\"]\n) => {\n switch (status) {\n case \"success\":\n return (\n <StyledSuccess\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema1\"\n />\n );\n case \"fail\":\n return (\n <StyledFail\n className={clsx(classes?.icon, fileClasses.icon)}\n color=\"sema4\"\n />\n );\n default:\n return (\n <StyledEmptyIcon className={clsx(classes?.icon, fileClasses.icon)} />\n );\n }\n};\n\nconst getProgressText = (data: HvFileData, classes?: HvFileClasses) => {\n const hasFailed = data.status === \"fail\";\n const inProgress = data.status === \"progress\";\n\n return (\n <>\n {data.progress || data.size || data.errorMessage ? `\\xa0|\\xa0` : null}\n\n {inProgress && data.progress != null && (\n <HvTypography variant=\"label\">\n {`${convertUnits(data.progress)}\\xa0/\\xa0`}\n </HvTypography>\n )}\n\n {!hasFailed && data.size && (\n <HvTypography>{`${convertUnits(data.size)}`}</HvTypography>\n )}\n\n {hasFailed && data.errorMessage && (\n <StyledErrorMessage className={clsx(classes?.fail, fileClasses.fail)}>\n {data.errorMessage}\n </StyledErrorMessage>\n )}\n </>\n );\n};\n\nconst getProgressBarWith = ({ size, progress }: HvFileData) => {\n const width =\n progress != null && size != null ? Math.round((progress * 100) / size) : 0;\n\n return width;\n};\n\nexport const HvFile = ({\n id,\n classes,\n data,\n onFileRemoved,\n removeFileButtonLabel,\n}: HvFileProps) => {\n const hasError = data.status === \"fail\";\n\n const inProgress = data.status === \"progress\";\n\n const progressText = getProgressText(data, classes);\n\n const statusIcon = getStatusIcon(classes, data.status);\n\n const currentProgress = getProgressBarWith(data);\n\n return (\n <li className={clsx(classes?.root, fileClasses.root)}>\n {!hasError && inProgress && (\n <StyledProgressBarBack\n className={clsx(\n classes?.progressbarBack,\n fileClasses.progressbarBack\n )}\n />\n )}\n\n {!hasError && inProgress && (\n <StyledProgressBar\n className={clsx(classes?.progressbar, fileClasses.progressbar)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={currentProgress}\n style={{ width: `${currentProgress}%` }}\n />\n )}\n\n {statusIcon}\n\n <StyledNameText\n className={clsx(classes?.nameText, fileClasses.nameText)}\n variant=\"label\"\n >\n {data.name}\n </StyledNameText>\n\n <StyledProgressTextContainer\n className={clsx(\n classes?.progressTextContainer,\n fileClasses.progressTextContainer\n )}\n >\n {progressText}\n </StyledProgressTextContainer>\n\n {data.preview && (\n <StyledPreviewContainer\n className={clsx(\n classes?.previewContainer,\n fileClasses.previewContainer\n )}\n >\n {data.preview}\n </StyledPreviewContainer>\n )}\n\n <StyledIconButton\n id={setId(id, \"remove-button\")}\n aria-label={removeFileButtonLabel}\n className={clsx(classes?.removeButton, fileClasses.removeButton)}\n onClick={() => onFileRemoved?.(data)}\n variant=\"secondaryGhost\"\n icon\n >\n <Close iconSize=\"XS\" />\n </StyledIconButton>\n </li>\n );\n};\n"],"names":["getStatusIcon","classes","status","jsx","StyledSuccess","clsx","icon","fileClasses","StyledFail","StyledEmptyIcon","getProgressText","data","hasFailed","inProgress","progress","size","errorMessage","HvTypography","convertUnits","StyledErrorMessage","fail","getProgressBarWith","width","Math","round","HvFile","id","onFileRemoved","removeFileButtonLabel","hasError","progressText","statusIcon","currentProgress","jsxs","root","StyledProgressBarBack","progressbarBack","StyledProgressBar","progressbar","StyledNameText","nameText","name","StyledProgressTextContainer","progressTextContainer","preview","StyledPreviewContainer","previewContainer","StyledIconButton","setId","removeButton","Close"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
4
|
const fileListClasses = require("./fileListClasses.cjs");
|
|
4
5
|
const FileList_styles = require("./FileList.styles.cjs");
|
|
5
6
|
const clsx = require("clsx");
|
|
6
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
7
7
|
const useUniqueId = require("../../../hooks/useUniqueId.cjs");
|
|
8
8
|
const File = require("../File/File.cjs");
|
|
9
9
|
const setId = require("../../../utils/setId.cjs");
|
|
@@ -20,19 +20,9 @@ const HvFileList = ({
|
|
|
20
20
|
const hasFiles = list.length > 0;
|
|
21
21
|
if (!hasFiles)
|
|
22
22
|
return null;
|
|
23
|
-
return /* @__PURE__ */ jsxRuntime.jsx(FileList_styles.StyledList, {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
children: list.map((data) => /* @__PURE__ */ jsxRuntime.jsx(File.HvFile, {
|
|
27
|
-
classes: {
|
|
28
|
-
root: clsx__default.default(classes == null ? void 0 : classes.listItem, fileListClasses.default.listItem)
|
|
29
|
-
},
|
|
30
|
-
id: setId.setId(elementId, "values"),
|
|
31
|
-
data,
|
|
32
|
-
onFileRemoved,
|
|
33
|
-
removeFileButtonLabel
|
|
34
|
-
}, data.id))
|
|
35
|
-
});
|
|
23
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FileList_styles.StyledList, { id: setId.setId(id, "list"), className: clsx__default.default(classes == null ? void 0 : classes.list, fileListClasses.default.list), children: list.map((data) => /* @__PURE__ */ jsxRuntime.jsx(File.HvFile, { classes: {
|
|
24
|
+
root: clsx__default.default(classes == null ? void 0 : classes.listItem, fileListClasses.default.listItem)
|
|
25
|
+
}, id: setId.setId(elementId, "values"), data, onFileRemoved, removeFileButtonLabel }, data.id)) });
|
|
36
26
|
};
|
|
37
27
|
exports.HvFileList = HvFileList;
|
|
38
28
|
//# sourceMappingURL=FileList.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileList.cjs","sources":["../../../../../src/components/FileUploader/FileList/FileList.tsx"],"sourcesContent":["import { HvFile, HvFileData, HvFileRemovedEvent } from \"../File\";\nimport fileListClasses, { HvFileListClasses } from \"./fileListClasses\";\nimport { useUniqueId } from \"hooks\";\nimport { setId } from \"utils\";\nimport { StyledList } from \"./FileList.styles\";\nimport clsx from \"clsx\";\n\nexport type HvFileListProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The files to upload.\n */\n list?: HvFileData[];\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileListClasses;\n};\n\nexport const HvFileList = ({\n id,\n classes,\n list = [],\n removeFileButtonLabel,\n onFileRemoved,\n}: HvFileListProps) => {\n const elementId = useUniqueId(id, \"hvfilelist\");\n\n const hasFiles = list.length > 0;\n if (!hasFiles) return null;\n\n return (\n <StyledList\n id={setId(id, \"list\")}\n className={clsx(classes?.list, fileListClasses.list)}\n >\n {list.map((data) => (\n <HvFile\n key={data.id}\n classes={{ root: clsx(classes?.listItem, fileListClasses.listItem) }}\n id={setId(elementId, \"values\")}\n data={data}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={removeFileButtonLabel}\n />\n ))}\n </StyledList>\n );\n};\n"],"names":["HvFileList","id","classes","list","removeFileButtonLabel","onFileRemoved","elementId","useUniqueId","hasFiles","length","StyledList","setId","
|
|
1
|
+
{"version":3,"file":"FileList.cjs","sources":["../../../../../src/components/FileUploader/FileList/FileList.tsx"],"sourcesContent":["import { HvFile, HvFileData, HvFileRemovedEvent } from \"../File\";\nimport fileListClasses, { HvFileListClasses } from \"./fileListClasses\";\nimport { useUniqueId } from \"hooks\";\nimport { setId } from \"utils\";\nimport { StyledList } from \"./FileList.styles\";\nimport clsx from \"clsx\";\n\nexport type HvFileListProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The files to upload.\n */\n list?: HvFileData[];\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileListClasses;\n};\n\nexport const HvFileList = ({\n id,\n classes,\n list = [],\n removeFileButtonLabel,\n onFileRemoved,\n}: HvFileListProps) => {\n const elementId = useUniqueId(id, \"hvfilelist\");\n\n const hasFiles = list.length > 0;\n if (!hasFiles) return null;\n\n return (\n <StyledList\n id={setId(id, \"list\")}\n className={clsx(classes?.list, fileListClasses.list)}\n >\n {list.map((data) => (\n <HvFile\n key={data.id}\n classes={{ root: clsx(classes?.listItem, fileListClasses.listItem) }}\n id={setId(elementId, \"values\")}\n data={data}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={removeFileButtonLabel}\n />\n ))}\n </StyledList>\n );\n};\n"],"names":["HvFileList","id","classes","list","removeFileButtonLabel","onFileRemoved","elementId","useUniqueId","hasFiles","length","StyledList","setId","clsx","fileListClasses","map","data","jsx","HvFile","root","listItem"],"mappings":";;;;;;;;;;;AA8BO,MAAMA,aAAaA,CAAC;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,OAAO,CAAE;AAAA,EACTC;AAAAA,EACAC;AACe,MAAM;AACfC,QAAAA,YAAYC,YAAAA,QAAYN,IAAI,YAAY;AAExCO,QAAAA,WAAWL,KAAKM,SAAS;AAC/B,MAAI,CAACD;AAAiB,WAAA;AAEtB,wCACGE,4BACC,EAAA,IAAIC,MAAAA,MAAMV,IAAI,MAAM,GACpB,WAAWW,cAAAA,QAAKV,mCAASC,MAAMU,gBAAAA,QAAgBV,IAAI,GAElDA,UAAAA,KAAKW,IAAKC,CACT,SAAAC,2BAAA,IAACC,eAEC,SAAS;AAAA,IAAEC,MAAMN,cAAAA,QAAKV,mCAASiB,UAAUN,gBAAAA,QAAgBM,QAAQ;AAAA,EACjE,GAAA,IAAIR,MAAML,MAAAA,WAAW,QAAQ,GAC7B,MACA,eACA,sBALKS,GAAAA,KAAKd,GAOb,EACH,CAAA;AAEJ;;"}
|
|
@@ -31,27 +31,10 @@ const HvFileUploader = ({
|
|
|
31
31
|
...others
|
|
32
32
|
}) => {
|
|
33
33
|
const labels = useLabels.useLabels(DEFAULT_LABELS, labelsProp);
|
|
34
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
35
|
-
id,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(DropZone.HvDropZone, {
|
|
39
|
-
id: setId.setId(id, "dropzone"),
|
|
40
|
-
labels,
|
|
41
|
-
multiple,
|
|
42
|
-
disabled,
|
|
43
|
-
acceptedFiles,
|
|
44
|
-
maxFileSize,
|
|
45
|
-
onFilesAdded,
|
|
46
|
-
inputProps,
|
|
47
|
-
hideLabels
|
|
48
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(FileList.HvFileList, {
|
|
49
|
-
id: setId.setId(id, "filelist"),
|
|
50
|
-
list: fileList,
|
|
51
|
-
onFileRemoved,
|
|
52
|
-
removeFileButtonLabel: labels == null ? void 0 : labels.removeFileButtonLabel
|
|
53
|
-
})]
|
|
54
|
-
});
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { id, className, ...others, children: [
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropZone.HvDropZone, { id: setId.setId(id, "dropzone"), labels, multiple, disabled, acceptedFiles, maxFileSize, onFilesAdded, inputProps, hideLabels }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(FileList.HvFileList, { id: setId.setId(id, "filelist"), list: fileList, onFileRemoved, removeFileButtonLabel: labels == null ? void 0 : labels.removeFileButtonLabel })
|
|
37
|
+
] });
|
|
55
38
|
};
|
|
56
39
|
exports.HvFileUploader = HvFileUploader;
|
|
57
40
|
//# sourceMappingURL=FileUploader.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploader.cjs","sources":["../../../../src/components/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useLabels } from \"hooks\";\nimport { setId } from \"utils\";\nimport { HvBaseProps } from \"../../types\";\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport type HvFileUploaderLabels = HvDropZoneLabels & {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n};\n\nexport type HvFileUploaderProps = HvBaseProps & {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n};\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = ({\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n}: HvFileUploaderProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n acceptedFiles={acceptedFiles}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_LABELS","dropzone","sizeWarning","drag","selectFiles","dropFiles","fileSizeError","fileTypeError","removeFileButtonLabel","HvFileUploader","id","className","labels","labelsProp","fileList","multiple","disabled","hideLabels","maxFileSize","Infinity","inputProps","acceptedFiles","onFilesAdded","onFileRemoved","others","useLabels","
|
|
1
|
+
{"version":3,"file":"FileUploader.cjs","sources":["../../../../src/components/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useLabels } from \"hooks\";\nimport { setId } from \"utils\";\nimport { HvBaseProps } from \"../../types\";\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport type HvFileUploaderLabels = HvDropZoneLabels & {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n};\n\nexport type HvFileUploaderProps = HvBaseProps & {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n};\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = ({\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n}: HvFileUploaderProps) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n acceptedFiles={acceptedFiles}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["DEFAULT_LABELS","dropzone","sizeWarning","drag","selectFiles","dropFiles","fileSizeError","fileTypeError","removeFileButtonLabel","HvFileUploader","id","className","labels","labelsProp","fileList","multiple","disabled","hideLabels","maxFileSize","Infinity","inputProps","acceptedFiles","onFilesAdded","onFileRemoved","others","useLabels","jsxs","jsx","HvDropZone","setId","HvFileList"],"mappings":";;;;;;;AA2DA,MAAMA,iBAAuC;AAAA,EAC3CC,UAAU;AAAA,EACVC,aAAa;AAAA,EACbC,MAAM;AAAA,EACNC,aAAa;AAAA,EACbC,WAAW;AAAA,EACXC,eAAe;AAAA,EACfC,eAAe;AAAA,EACfC,uBAAuB;AACzB;AAQO,MAAMC,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC,QAAQC;AAAAA,EACRC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,aAAa;AAAA,EACbC,cAAcC;AAAAA,EACdC,aAAa,CAAC;AAAA,EACdC,gBAAgB,CAAE;AAAA,EAClBC;AAAAA,EACAC;AAAAA,KACGC;AACgB,MAAM;AACnBZ,QAAAA,SAASa,UAAAA,UAAUzB,gBAAgBa,UAAU;AAEnD,SACGa,2BAAAA,KAAA,OAAA,EAAI,IAAQ,WAAsB,GAAIF,QACrC,UAAA;AAAA,IAAAG,2BAAA,IAACC,SACC,YAAA,EAAA,IAAIC,MAAAA,MAAMnB,IAAI,UAAU,GACxB,QACA,UACA,UACA,eACA,aACA,cACA,YACA,YAAuB;AAAA,IAExBiB,2BAAAA,IAAAG,SAAAA,YAAA,EACC,IAAID,MAAAA,MAAMnB,IAAI,UAAU,GACxB,MAAMI,UACN,eACA,uBAAuBF,iCAAQJ,sBAAsB,CAAA;AAAA,EAEzD,EAAA,CAAA;AAEJ;;"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
4
|
const clsx = require("clsx");
|
|
4
5
|
const React = require("react");
|
|
5
6
|
const previewClasses = require("./previewClasses.cjs");
|
|
6
7
|
const Preview_styles = require("./Preview.styles.cjs");
|
|
7
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
8
8
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
9
9
|
const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
|
|
10
10
|
const HvFileUploaderPreview = ({
|
|
11
|
+
className,
|
|
11
12
|
children,
|
|
12
13
|
classes,
|
|
13
14
|
disableOverlay = false,
|
|
@@ -21,19 +22,13 @@ const HvFileUploaderPreview = ({
|
|
|
21
22
|
};
|
|
22
23
|
}, [onUnload]);
|
|
23
24
|
if (onClick) {
|
|
24
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Preview_styles.StyledButton, {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledOverlay, {
|
|
32
|
-
className: clsx__default.default(classes == null ? void 0 : classes.overlay, previewClasses.default.overlay),
|
|
33
|
-
"aria-hidden": "true"
|
|
34
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledPreviewIcon, {})]
|
|
35
|
-
})]
|
|
36
|
-
});
|
|
25
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Preview_styles.StyledButton, { icon: true, className: clsx__default.default(className, classes == null ? void 0 : classes.previewButton, previewClasses.default.previewButton), onClick, variant: "secondaryGhost", ...others, children: [
|
|
26
|
+
children,
|
|
27
|
+
!disableOverlay && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledOverlay, { className: clsx__default.default(classes == null ? void 0 : classes.overlay, previewClasses.default.overlay), "aria-hidden": "true" }),
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledPreviewIcon, {})
|
|
30
|
+
] })
|
|
31
|
+
] });
|
|
37
32
|
}
|
|
38
33
|
return children;
|
|
39
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Preview.cjs","sources":["../../../../../src/components/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { HvButtonProps } from \"components\";\nimport { useEffect } from \"react\";\nimport fileUploaderPreviewClasses, {\n HvFileUploaderPreviewClasses,\n} from \"./previewClasses\";\nimport {\n StyledButton,\n StyledOverlay,\n StyledPreviewIcon,\n} from \"./Preview.styles\";\n\nexport type HvFileUploaderPreviewProps = Omit
|
|
1
|
+
{"version":3,"file":"Preview.cjs","sources":["../../../../../src/components/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { HvButtonProps } from \"components\";\nimport { useEffect } from \"react\";\nimport fileUploaderPreviewClasses, {\n HvFileUploaderPreviewClasses,\n} from \"./previewClasses\";\nimport {\n StyledButton,\n StyledOverlay,\n StyledPreviewIcon,\n} from \"./Preview.styles\";\n\nexport type HvFileUploaderPreviewProps = Omit<\n HvButtonProps,\n \"children\" | \"classes\"\n> & {\n /**\n * Content that represents the preview of an uploaded file.\n */\n children: React.ReactElement;\n /**\n * Callback executed when the preview is unmounted.\n *\n * Should be used for cleaning up client-side image URLs created by `URL.createObjectURL()`.\n */\n onUnload?: () => void;\n /**\n * If `true`, doesn't show an overlay on top of the preview when hovering.\n *\n * Only applies when `onClick` is set.\n */\n disableOverlay?: boolean;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileUploaderPreviewClasses;\n};\n\n/**\n * The `HvFileUploaderPreview` component is available to facilitate the styling\n * of the button (when clickable) and the detection of image unloading.\n */\nexport const HvFileUploaderPreview = ({\n className,\n children,\n classes,\n disableOverlay = false,\n onUnload,\n onClick,\n ...others\n}: HvFileUploaderPreviewProps) => {\n useEffect(() => {\n return () => {\n onUnload?.();\n };\n }, [onUnload]);\n\n if (onClick) {\n return (\n <StyledButton\n icon\n className={clsx(\n className,\n classes?.previewButton,\n fileUploaderPreviewClasses.previewButton\n )}\n onClick={onClick}\n variant=\"secondaryGhost\"\n {...others}\n >\n {children}\n {!disableOverlay && (\n <>\n <StyledOverlay\n className={clsx(\n classes?.overlay,\n fileUploaderPreviewClasses.overlay\n )}\n aria-hidden=\"true\"\n />\n <StyledPreviewIcon />\n </>\n )}\n </StyledButton>\n );\n }\n\n return children;\n};\n"],"names":["HvFileUploaderPreview","className","children","classes","disableOverlay","onUnload","onClick","others","useEffect","StyledButton","clsx","previewButton","fileUploaderPreviewClasses","jsxs","Fragment","jsx","StyledOverlay","overlay","StyledPreviewIcon"],"mappings":";;;;;;;;;AA0CO,MAAMA,wBAAwBA,CAAC;AAAA,EACpCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,iBAAiB;AAAA,EACjBC;AAAAA,EACAC;AAAAA,KACGC;AACuB,MAAM;AAChCC,QAAAA,UAAU,MAAM;AACd,WAAO,MAAM;AACC;AAAA,IAAA;AAAA,EACd,GACC,CAACH,QAAQ,CAAC;AAEb,MAAIC,SAAS;AACX,2CACGG,eAAAA,cACC,EAAA,MAAI,MACJ,WAAWC,sBACTT,WACAE,mCAASQ,eACTC,eAAAA,QAA2BD,aAAa,GAE1C,SACA,SAAQ,kBACR,GAAIJ,QAEHL,UAAAA;AAAAA,MAAAA;AAAAA,MACA,CAACE,kBAEES,2BAAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,QAACC,2BAAAA,IAAAC,eAAA,eAAA,EACC,WAAWN,cACTP,QAAAA,mCAASc,SACTL,eAAAA,QAA2BK,OAAO,GAEpC,eAAY,OAAM,CAAA;AAAA,uCAEnBC,eAAiB,mBAAA,EAAA;AAAA,MAAA,GACpB;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AAEOhB,SAAAA;AACT;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
4
|
const clsx = require("clsx");
|
|
4
5
|
const lodash = require("lodash");
|
|
5
6
|
const React = require("react");
|
|
@@ -8,7 +9,6 @@ const Focus_styles = require("./Focus.styles.cjs");
|
|
|
8
9
|
const utils = require("./utils.cjs");
|
|
9
10
|
const focusClasses = require("./focusClasses.cjs");
|
|
10
11
|
const react = require("@emotion/react");
|
|
11
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
12
12
|
const browser = require("../../utils/browser.cjs");
|
|
13
13
|
const keyboardCodes = require("../../utils/keyboardUtils/keyboardCodes.cjs");
|
|
14
14
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
@@ -23,7 +23,7 @@ const focusStyles = process.env.NODE_ENV === "production" ? {
|
|
|
23
23
|
} : {
|
|
24
24
|
name: "1ahoc7i-focusStyles",
|
|
25
25
|
styles: ".HvFocus-focused{outline-color:#52a8ec;outline-style:solid;outline-width:0px;outline-offset:-1px;box-shadow:0 0 0 1px #52a8ec,0 0 0 4px rgba(29, 155, 209, 0.3);@media (-webkit-min-device-pixel-ratio: 0){outline-color:#52a8ec;outline-style:solid;outline-width:0px;outline-offset:-1px;box-shadow:0 0 0 1px #52a8ec,0 0 0 4px rgba(29, 155, 209, 0.3);}}.HvFocus-focusDisabled{outline:none;box-shadow:none;}.HvFocus-focusDisabled *:focus{outline:none;box-shadow:none;}.HvFocus-focusDisabled *{outline:none!important;box-shadow:none!important;};label:focusStyles;",
|
|
26
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRm9jdXMvRm9jdXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVd1QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0ZvY3VzL0ZvY3VzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsga2V5Ym9hcmRDb2RlcywgaXNCcm93c2VyIH0gZnJvbSBcInV0aWxzXCI7XG5pbXBvcnQgQ29uZGl0aW9uYWxXcmFwcGVyIGZyb20gXCJ1dGlscy9Db25kaXRpb25hbFdyYXBwZXJcIjtcbmltcG9ydCB7IFN0eWxlZEZvY3VzV3JhcHBlciwgU3R5bGVkRmFsc2VGb2N1cyB9IGZyb20gXCIuL0ZvY3VzLnN0eWxlc1wiO1xuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4sIGlzS2V5LCBpc09uZU9mS2V5cywgc2V0Rm9jdXNUbyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgZm9jdXNDbGFzc2VzLCB7IEh2Rm9jdXNDbGFzc2VzIH0gZnJvbSBcIi4vZm9jdXNDbGFzc2VzXCI7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5jb25zdCBmb2N1c1N0eWxlcyA9IGNzc2BcbiAgLkh2Rm9jdXMtZm9jdXNlZCB7XG4gICAgb3V0bGluZS1jb2xvcjogIzUyYThlYztcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmE4ZWMsIDAgMCAwIDRweCByZ2JhKDI5LCAxNTUsIDIwOSwgMC4zKTtcblxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjNTJhOGVjO1xuICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJhOGVjLCAwIDAgMCA0cHggcmdiYSgyOSwgMTU1LCAyMDksIDAuMyk7XG4gICAgfVxuICB9XG5cbiAgLkh2Rm9jdXMtZm9jdXNEaXNhYmxlZCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgSHZGb2N1c1Byb3BzID0gSHZCYXNlUHJvcHM8SFRNTEVsZW1lbnQsIHsgY2hpbGRyZW4gfT4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY2hpbGQgZWxlbWVudC4gKi9cbiAgY29uZmlndXJhdGlvbj86IHtcbiAgICB0YWJJbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBkaXNhYmxlZCBjbGFzcyBzaG91bGQgYmUgYXBwbGllZC4gKi9cbiAgZGlzYWJsZWRDbGFzcz86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyBzZWxlY3RlZC4gKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgZm9jdXMgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZWxlbWVudCB0byBob2xkIGFsbCBGb2N1cycgY29udGV4dC4gKi9cbiAgcm9vdFJlZj86IFJlZk9iamVjdDxIVE1MRWxlbWVudD47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzT25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogVXNlIHVwLyBkb3duIGtleWJvYXJkIGFycm93cyB0byBjb250cm9sIGZvY3VzLiAqL1xuICB1c2VBcnJvd3M/OiBib29sZWFuO1xuICAvKiogRm9jdXMgYW5kIG5hdmlnYXRpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZC4gdiovXG4gIHN0cmF0ZWd5PzogXCJsaXN0Ym94XCIgfCBcIm1lbnVcIiB8IFwiY2FyZFwiIHwgXCJncmlkXCI7XG4gIC8qKiBVc2VzIGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZGl2IGFzIGEgZm9jdXMuIHYqL1xuICB1c2VGYWxzZUZvY3VzPzogYm9vbGVhbjtcbiAgLyoqIE5hcnJvd3MgdGhlIHJlc3VsdHMgb2YgdGhlIGZvY3VzIHRvIG9ubHkgdGhlc2VzIGNsYXNzIHYqL1xuICBmaWx0ZXJDbGFzcz86IHN0cmluZztcbiAgLyoqIEhvdyBtdWNoIHRoZSBuYXZpZ2F0aW9uIHdpbGwgc2tpcCB3aGVuIHVzaW5nIHRoZSBhcnJvd3MuIHYqL1xuICBuYXZpZ2F0aW9uSnVtcD86IG51bWJlcjtcbiAgLyoqIEEgSnNzIE9iamVjdCB1c2VkIHRvIG92ZXJyaWRlIG9yIGV4dGVuZCB0aGUgc3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC4gKi9cbiAgY2xhc3Nlcz86IEh2Rm9jdXNDbGFzc2VzO1xufTtcblxuZXhwb3J0IGNvbnN0IEh2Rm9jdXMgPSAoe1xuICBjbGFzc2VzLFxuICBjaGlsZHJlbixcbiAgY29uZmlndXJhdGlvbiA9IHt9LFxuICBkaXNhYmxlZENsYXNzID0gZmFsc2UsXG4gIHNlbGVjdGVkID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIHJvb3RSZWYgPSB1bmRlZmluZWQsXG4gIGZvY3VzT25DbGljayA9IGZhbHNlLFxuICBmb2N1c0Rpc2FibGVkID0gdHJ1ZSxcbiAgc3RyYXRlZ3kgPSBcImxpc3Rib3hcIixcbiAgdXNlRmFsc2VGb2N1cyA9IGZhbHNlLFxuICBmaWx0ZXJDbGFzcyxcbiAgbmF2aWdhdGlvbkp1bXAgPSA0LFxufTogSHZGb2N1c1Byb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93Rm9jdXMsIHNldFNob3dGb2N1c10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtjaGlsZEZvY3VzLCBzZXRDaGlsZEZvY3VzXSA9IHVzZVN0YXRlPGFueT4oKTtcbiAgY29uc3QgW2hhc1J1bkNvbmZpZywgc2V0SGFzUnVuQ29uZmlnXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBnZXRGb2N1c2VzID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzZXMgPSByb290UmVmPy5jdXJyZW50XG4gICAgICA/IEFycmF5LmZyb20oXG4gICAgICAgICAgcm9vdFJlZi5jdXJyZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAgICAgICBmaWx0ZXJDbGFzcyB8fCBmb2N1c0NsYXNzZXMucm9vdCB8fCBcInJvb3RcIlxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiBbXTtcbiAgICByZXR1cm4gZm9jdXNlcztcbiAgfTtcblxuICBjb25zdCBzZXRUYWJJbmRleCA9IChlbCwgdGFiSW5kZXggPSAwKSA9PiB7XG4gICAgY29uc3QgZWxDaGlsZEZvY3VzID0gZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWwpWzBdO1xuICAgIGlmIChlbENoaWxkRm9jdXMpIHtcbiAgICAgIGVsLnRhYkluZGV4ID0gLTE7XG4gICAgICBlbENoaWxkRm9jdXMudGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwudGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2V0U2VsZWN0ZWRUYWJJbmRleCA9ICgpID0+IHtcbiAgICBjb25zdCBmb2N1c2VzID0gZ2V0Rm9jdXNlcygpO1xuICAgIGNvbnN0IGZpcnN0U2VsZWN0ZWQgPSBmb2N1c2VzLmZpbmQoKGZvY3VzKSA9PlxuICAgICAgZm9jdXMuY2xhc3NMaXN0LmNvbnRhaW5zKGZvY3VzQ2xhc3Nlcy5zZWxlY3RlZCB8fCBcInNlbGVjdGVkXCIpXG4gICAgKTtcblxuICAgIGlmICghZmlyc3RTZWxlY3RlZCkgcmV0dXJuO1xuICAgIGZvY3VzZXMuZm9yRWFjaCgoZm9jdXMpID0+IHNldFRhYkluZGV4KGZvY3VzLCAtMSkpO1xuICAgIHNldFRhYkluZGV4KGZpcnN0U2VsZWN0ZWQsIDApO1xuICB9O1xuXG4gIGNvbnN0IGNsZWFyVGFiU2libGluZ3MgPSAoZWwpID0+IHtcbiAgICBnZXRGb2N1c2VzKCkuZm9yRWFjaCgoZm9jdXMpID0+IHNldFRhYkluZGV4KGZvY3VzLCAtMSkpO1xuICAgIHNldFRhYkluZGV4KGVsLCAwKTtcbiAgfTtcblxuICBjb25zdCBvbkZvY3VzU3RyYXRlZ3kgPSAoZXZ0KSA9PiB7XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImxpc3Rib3hcIikge1xuICAgICAgY2xlYXJUYWJTaWJsaW5ncyhldnQuY3VycmVudFRhcmdldCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQmx1clN0cmF0ZWd5ID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHN0cmF0ZWd5ID09PSBcImxpc3Rib3hcIiAmJlxuICAgICAgcm9vdFJlZiAmJlxuICAgICAgcm9vdFJlZi5jdXJyZW50ICYmXG4gICAgICAhcm9vdFJlZi5jdXJyZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpXG4gICAgKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgICAgfSwgMTApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjb25maWcgPSAoZWwpID0+IHtcbiAgICBjb25zdCB7IHRhYkluZGV4IH0gPSBjb25maWd1cmF0aW9uO1xuICAgIGlmICghZWwgfHwgaGFzUnVuQ29uZmlnKSByZXR1cm47XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImNhcmRcIikge1xuICAgICAgc2V0Q2hpbGRGb2N1cyhjaGlsZHJlbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImdyaWRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZvY3VzYWJsZUNoaWxkcmVuID0gZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWwpO1xuICAgIGlmIChmb2N1c2FibGVDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIGZvY3VzYWJsZUNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiBzZXRUYWJJbmRleChjaGlsZCwgLTEpKTtcbiAgICAgIHNldENoaWxkRm9jdXMoZm9jdXNhYmxlQ2hpbGRyZW5bMF0pO1xuICAgIH1cblxuICAgIGlmICghaXNOaWwodGFiSW5kZXgpKSBzZXRUYWJJbmRleChlbCwgdGFiSW5kZXgpO1xuICAgIHNldEhhc1J1bkNvbmZpZyh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBhZGRGb2N1c0NsYXNzID0gKGV2dCkgPT4ge1xuICAgIGlmICghdXNlRmFsc2VGb2N1cykge1xuICAgICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChmb2N1c0NsYXNzZXMuZm9jdXNlZCk7XG4gICAgICAvLyBhZGQgZ2xvYmFsIGNsYXNzIEh2SXNGb2N1c2VkIGFzIGEgbWFya2VyXG4gICAgICAvLyBub3QgdG8gYmUgc3R5bGVkIGRpcmVjdGx5LCBvbmx5IGFzIGhlbHBlciBpbiBzcGVjaWZpYyBjc3MgcXVlcmllc1xuICAgICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChcIkh2SXNGb2N1c2VkXCIpO1xuICAgICAgY2xhc3Nlcz8uZm9jdXNcbiAgICAgICAgPy5zcGxpdChcIiBcIilcbiAgICAgICAgLmZvckVhY2goKGMpID0+IGV2dC5jdXJyZW50VGFyZ2V0LmNsYXNzTGlzdC5hZGQoYykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW1vdmVGb2N1c0NsYXNzID0gKCkgPT4ge1xuICAgIGlmICghdXNlRmFsc2VGb2N1cykge1xuICAgICAgZ2V0Rm9jdXNlcygpLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKSB7XG4gICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZW1vdmUgdGhlIGdsb2JhbCBjbGFzcyBIdklzRm9jdXNlZFxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJIdklzRm9jdXNlZFwiKTtcbiAgICAgICAgY2xhc3Nlcz8uZm9jdXM/LnNwbGl0KFwiIFwiKS5mb3JFYWNoKChjKSA9PiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYykpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uRm9jdXMgPSAoZXZ0KSA9PiB7XG4gICAgYWRkRm9jdXNDbGFzcyhldnQpO1xuICAgIHNldFNob3dGb2N1cyh0cnVlKTtcbiAgICAvLyBnaXZlIGZvY3VzIHRvIGNoaWxkIGVsZW1lbnQgaWYgYW55IGZvY3VzYWJsZVxuXG4gICAgaWYgKGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5mb2N1cykgY2hpbGRGb2N1cy5mb2N1cygpO1xuICAgIG9uRm9jdXNTdHJhdGVneShldnQpO1xuICB9O1xuXG4gIGNvbnN0IG9uQmx1ciA9ICgpID0+IHtcbiAgICBzZXRTaG93Rm9jdXMoZmFsc2UpO1xuICAgIHJlbW92ZUZvY3VzQ2xhc3MoKTtcbiAgICBvbkJsdXJTdHJhdGVneSgpO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VEb3duID0gKGV2dCkgPT4ge1xuICAgIGNvbnN0IGhhc0NhcmQgPSAhIWV2dC5jdXJyZW50VGFyZ2V0Py5xdWVyeVNlbGVjdG9yKFwiLkh2SXNDYXJkR3JpZEVsZW1lbnRcIik7XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcImdyaWRcIiAmJiBoYXNDYXJkKSByZXR1cm47XG5cbiAgICBzZXRGb2N1c1RvKGV2dC5jdXJyZW50VGFyZ2V0KTtcbiAgICBzZXRUYWJJbmRleChldnQuY3VycmVudFRhcmdldCwgMCk7XG4gICAgLy8gcmVtb3ZlIGZvY3VzIG91dGxpbmUgdW5sZXNzIGV4cGxpY2l0bHkgZW5hYmxlZFxuICAgIGlmICghZm9jdXNPbkNsaWNrKSB7XG4gICAgICAvLyBUT0RPIHRoaXMgcGllY2Ugb2YgY29kZSB3b3JrcyBvbmx5IGJlY2F1c2Ugb25Nb3VzZURvd24gaXMgaGFwcGVuaW5nIGFmdGVyIHRoZSBmb2N1cyBldmVudFxuICAgICAgLy8gVGhlcmUgaXMgbm90aGluZyBpbiBoZXJlIHRoYXQgZ3VhcmFudGVlcyB0aGUgb3JkZXIgb2YgdGhlc2UgZXZlbnRzLCBzbyBpdCBtYXkgcHJlc2VudCBhIHByb2JsZW0gaW4gdGhlIGZ1dHVyZVxuICAgICAgcmVtb3ZlRm9jdXNDbGFzcygpO1xuICAgICAgc2V0U2hvd0ZvY3VzKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZm9jdXNBbmRVcGRhdGVJbmRleCA9IChuZXh0Rm9jdXMsIHByZXZpb3VzRm9jdXMsIGZvY3VzZXNMaXN0KSA9PiB7XG4gICAgaWYgKGZvY3VzZXNMaXN0Py5pbmNsdWRlcyhwcmV2aW91c0ZvY3VzKSkge1xuICAgICAgc2V0VGFiSW5kZXgocHJldmlvdXNGb2N1cywgLTEpO1xuICAgIH1cbiAgICBzZXRUYWJJbmRleChuZXh0Rm9jdXMsIDApO1xuICAgIHNldEZvY3VzVG8obmV4dEZvY3VzKTtcbiAgfTtcblxuICBjb25zdCBnZXRFbmFibGVkS2V5cyA9IChjdXJyZW50Rm9jdXNJbmRleCwganVtcCwgbGlzdFNpemUpID0+ICh7XG4gICAgcmlnaHQ6XG4gICAgICAoY3VycmVudEZvY3VzSW5kZXggKyAxKSAlIGp1bXAgPT09IDAgfHxcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4ICsgMSA+IGxpc3RTaXplIC0gMSxcbiAgICBsZWZ0OiBjdXJyZW50Rm9jdXNJbmRleCAlIGp1bXAgPT09IDAsXG4gICAgdXA6IGN1cnJlbnRGb2N1c0luZGV4IC0ganVtcCA8IDAsXG4gICAgZG93bjpcbiAgICAgIGN1cnJlbnRGb2N1c0luZGV4ICsganVtcCA+IGxpc3RTaXplIHx8XG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCArIGp1bXAgPiBsaXN0U2l6ZSAtIDEsXG4gIH0pO1xuXG4gIGNvbnN0IG9uR3JpZEtleURvd25IYW5kbGVyID0gKFxuICAgIGV2dCxcbiAgICBmb2N1c2VzLFxuICAgIGZvY3VzZXNMaXN0LFxuICAgIGN1cnJlbnRGb2N1c0luZGV4LFxuICAgIGp1bXBcbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgQXJyb3dVcCxcbiAgICAgIEFycm93RG93bixcbiAgICAgIEhvbWUsXG4gICAgICBFbmQsXG4gICAgICBBcnJvd0xlZnQsXG4gICAgICBBcnJvd1JpZ2h0LFxuICAgICAgRW50ZXIsXG4gICAgICBTcGFjZUJhcixcbiAgICB9ID0ga2V5Ym9hcmRDb2RlcztcblxuICAgIGNvbnN0IGNoaWxkRm9jdXNJc0lucHV0ID0gY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLm5vZGVOYW1lID09PSBcIklOUFVUXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNPbmVPZktleXMoZXZ0LCBbXG4gICAgICAgIEFycm93VXAsXG4gICAgICAgIEFycm93RG93bixcbiAgICAgICAgQXJyb3dMZWZ0LFxuICAgICAgICBBcnJvd1JpZ2h0LFxuICAgICAgICBIb21lLFxuICAgICAgICBFbmQsXG4gICAgICAgIFNwYWNlQmFyLFxuICAgICAgICBFbnRlcixcbiAgICAgIF0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICAvLyBleGNlcHQgZm9yIEVudGVyIGFuZCBTcGFjZUJhclxuICAgIGlmICghaXNPbmVPZktleXMoZXZ0LCBbRW50ZXIsIFNwYWNlQmFyXSkpIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrZWRLZXlzID0gZ2V0RW5hYmxlZEtleXMoXG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCxcbiAgICAgIGp1bXAsXG4gICAgICBmb2N1c2VzTGlzdC5sZW5ndGhcbiAgICApO1xuXG4gICAgc3dpdGNoIChldnQua2V5Q29kZSkge1xuICAgICAgY2FzZSBTcGFjZUJhcjpcbiAgICAgIGNhc2UgRW50ZXI6XG4gICAgICAgIGlmIChpc0Jyb3dzZXIoXCJmaXJlZm94XCIpKSB7XG4gICAgICAgICAgZXZ0LnRhcmdldC5jbGljaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV2dC5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93VXA6XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMudXApIHtcbiAgICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgZm9jdXNlcy5qdW1wIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd0Rvd246XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMuZG93bikge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLmZhbGwgfHwgZm9jdXNlcy5maXJzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd0xlZnQ6XG4gICAgICAgIGlmICghYmxvY2tlZEtleXMubGVmdCkge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLnByZXZpb3VzIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd1JpZ2h0OlxuICAgICAgICBpZiAoIWJsb2NrZWRLZXlzLnJpZ2h0KSB7XG4gICAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICAgIGZvY3VzZXMubmV4dCB8fCBmb2N1c2VzLmZpcnN0LFxuICAgICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEhvbWU6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5maXJzdCwgZXZ0LmN1cnJlbnQsIGZvY3VzZXNMaXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVuZDpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChmb2N1c2VzLmxhc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25WZXJ0aWNhbEFycmFuZ2VtZW50SGFuZGxlciA9IChldnQsIGZvY3VzZXMsIGZvY3VzZXNMaXN0KSA9PiB7XG4gICAgY29uc3QgeyBBcnJvd1VwLCBBcnJvd0Rvd24sIEhvbWUsIEVuZCwgRW50ZXIsIFNwYWNlQmFyIH0gPSBrZXlib2FyZENvZGVzO1xuICAgIGNvbnN0IGNoaWxkRm9jdXNJc0lucHV0ID0gY2hpbGRGb2N1cyAmJiBjaGlsZEZvY3VzLm5vZGVOYW1lID09PSBcIklOUFVUXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNPbmVPZktleXMoZXZ0LCBbQXJyb3dVcCwgQXJyb3dEb3duLCBIb21lLCBFbmQsIFNwYWNlQmFyLCBFbnRlcl0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBzd2l0Y2ggKGV2dC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFNwYWNlQmFyOlxuICAgICAgY2FzZSBFbnRlcjpcbiAgICAgICAgZXZ0LnRhcmdldC5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dVcDpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICBmb2N1c2VzLnByZXZpb3VzIHx8IGZvY3VzZXMubGFzdCxcbiAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dEb3duOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgIGZvY3VzZXMubmV4dCB8fCBmb2N1c2VzLmZpcnN0LFxuICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBIb21lOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KGZvY3VzZXMuZmlyc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFbmQ6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5sYXN0LCBldnQuY3VycmVudCwgZm9jdXNlc0xpc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uU2luZ2xlSGFuZGxlciA9IChldnQpID0+IHtcbiAgICBjb25zdCB7IEVudGVyLCBTcGFjZUJhciB9ID0ga2V5Ym9hcmRDb2RlcztcbiAgICBjb25zdCBjaGlsZEZvY3VzSXNJbnB1dCA9IGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5ub2RlTmFtZSA9PT0gXCJJTlBVVFwiO1xuXG4gICAgaWYgKFxuICAgICAgIWlzT25lT2ZLZXlzKGV2dCwgW1NwYWNlQmFyLCBFbnRlcl0pIHx8XG4gICAgICAoY2hpbGRGb2N1c0lzSW5wdXQgJiYgaXNLZXkoZXZ0LCBFbnRlcikpXG4gICAgKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gd2UnbGwgZG8gc29tZXRoaW5nIHdpdGggdGhlIGtleSBzbyBwcmV2ZW50IGRlZmF1bHQgYW5kIHN0b3AgcHJvcGFnYXRpb25cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBldnQuY3VycmVudFRhcmdldC5jbGljaygpO1xuICB9O1xuXG4gIGNvbnN0IG9uS2V5RG93biA9IChldnQpID0+IHtcbiAgICBpZiAocm9vdFJlZj8uY3VycmVudCA9PSBudWxsKSB7XG4gICAgICAvLyBvcGVyYXRpbmcgb3V0c2lkZSBvZiBhIGNvbXBvc2l0ZSB3aWRnZXRcbiAgICAgIC8vIG5vdGhpbmcgdG8gbWFuYWdlLCBqdXN0IHN0eWxlIGFuZCB0cmlnZ2VyIGNsaWNrc1xuICAgICAgb25TaW5nbGVIYW5kbGVyKGV2dCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVE9ETyBrZWVwIHRoZSBzbWFydCBkZWZhdWx0LCBidXQgYWxsb3cgdG8gZXhwbGljaXRseSBvdmVycmlkZSBpZiBkaXNhYmxlZCBlbGVtZW50cyBzaG91bGQgYmUgZm9jdXNhYmxlXG4gICAgY29uc3QgaXNEaXNhYmxlZEZvY3VzYWJsZSA9IHN0cmF0ZWd5ID09PSBcIm1lbnVcIjtcbiAgICBjb25zdCBmb2N1c2VzTGlzdCA9IGdldEZvY3VzZXMoKS5maWx0ZXIoXG4gICAgICAoZWwpID0+XG4gICAgICAgIGlzRGlzYWJsZWRGb2N1c2FibGUgfHxcbiAgICAgICAgIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc2VzPy5kaXNhYmxlZCBhcyBzdHJpbmcpXG4gICAgKTtcblxuICAgIGNvbnN0IGN1cnJlbnRGb2N1cyA9IGZvY3VzZXNMaXN0LmluZGV4T2YoZXZ0LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgY29uc3QgZm9jdXNlcyA9IHtcbiAgICAgIGZpcnN0OiBmb2N1c2VzTGlzdFswXSxcbiAgICAgIGxhc3Q6IGZvY3VzZXNMaXN0W2ZvY3VzZXNMaXN0Lmxlbmd0aCAtIDFdLFxuICAgICAgcHJldmlvdXM6IGZvY3VzZXNMaXN0W2N1cnJlbnRGb2N1cyAtIDFdLFxuICAgICAgbmV4dDogZm9jdXNlc0xpc3RbY3VycmVudEZvY3VzICsgMV0sXG4gICAgICBmYWxsOiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgKyBuYXZpZ2F0aW9uSnVtcF0sXG4gICAgICBqdW1wOiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgLSBuYXZpZ2F0aW9uSnVtcF0sXG4gICAgfTtcblxuICAgIGlmIChzdHJhdGVneSA9PT0gXCJncmlkXCIpIHtcbiAgICAgIG9uR3JpZEtleURvd25IYW5kbGVyKFxuICAgICAgICBldnQsXG4gICAgICAgIGZvY3VzZXMsXG4gICAgICAgIGZvY3VzZXNMaXN0LFxuICAgICAgICBjdXJyZW50Rm9jdXMsXG4gICAgICAgIG5hdmlnYXRpb25KdW1wXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRPRE8gYWRkIHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nIHRoZSBjb21wb3NpdGUgd2lkZ2V0IG9yaWVudGF0aW9uXG4gICAgLy8gVE9ETyBpbXBsZW1lbnQgaGFuZGxlciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgIG9uVmVydGljYWxBcnJhbmdlbWVudEhhbmRsZXIoZXZ0LCBmb2N1c2VzLCBmb2N1c2VzTGlzdCk7XG4gIH07XG5cbiAgY29uc3Qgb25LZXlVcCA9IChldnQpID0+IHtcbiAgICBpZiAoaXNCcm93c2VyKFwiZmlyZWZveFwiKSkgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgaWYgKGRpc2FibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgY29uc3QgZm9jdXNXcmFwcGVyID0gKGNoaWxkcmVuVG9XcmFwKSA9PiAoXG4gICAgPFN0eWxlZEZvY3VzV3JhcHBlclxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBjbGFzc2VzPy5leHRlcm5hbFJlZmVyZW5jZSxcbiAgICAgICAgZm9jdXNDbGFzc2VzLmV4dGVybmFsUmVmZXJlbmNlXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlblRvV3JhcH1cbiAgICAgIHtzaG93Rm9jdXMgJiYgKFxuICAgICAgICA8U3R5bGVkRmFsc2VGb2N1c1xuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzPy5mYWxzZUZvY3VzLCBmb2N1c0NsYXNzZXMuZmFsc2VGb2N1cyl9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkRm9jdXNXcmFwcGVyPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbmRpdGlvbmFsV3JhcHBlciBjb25kaXRpb249e3VzZUZhbHNlRm9jdXN9IHdyYXBwZXI9e2ZvY3VzV3JhcHBlcn0+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Zm9jdXNTdHlsZXN9IC8+XG4gICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCB7XG4gICAgICAgIGNsYXNzTmFtZTogY2xzeChcbiAgICAgICAgICBjaGlsZHJlbi5wcm9wcy5jbGFzc05hbWUsXG4gICAgICAgICAgZm9jdXNDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgY2xhc3Nlcz8ucm9vdCxcbiAgICAgICAgICBmaWx0ZXJDbGFzcyxcbiAgICAgICAgICBzZWxlY3RlZCAmJiBjbHN4KGZvY3VzQ2xhc3Nlcy5zZWxlY3RlZCwgY2xhc3Nlcz8uc2VsZWN0ZWQpLFxuICAgICAgICAgIGRpc2FibGVkQ2xhc3MgJiYgY2xzeChmb2N1c0NsYXNzZXMuZGlzYWJsZWQsIGNsYXNzZXM/LmRpc2FibGVkKSxcbiAgICAgICAgICBmb2N1c0Rpc2FibGVkICYmXG4gICAgICAgICAgICBjbHN4KGZvY3VzQ2xhc3Nlcy5mb2N1c0Rpc2FibGVkLCBjbGFzc2VzPy5mb2N1c0Rpc2FibGVkKVxuICAgICAgICApLFxuICAgICAgICByZWY6IGNvbmZpZyxcbiAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgb25CbHVyLFxuICAgICAgICBvbk1vdXNlRG93bixcbiAgICAgICAgb25LZXlEb3duLFxuICAgICAgICBvbktleVVwLFxuICAgICAgICBzZWxlY3RlZCxcbiAgICAgIH0pfVxuICAgIDwvQ29uZGl0aW9uYWxXcmFwcGVyPlxuICApO1xufTtcbiJdfQ== */",
|
|
26
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRm9jdXMvRm9jdXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVd1QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0ZvY3VzL0ZvY3VzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdkJhc2VQcm9wcyB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsga2V5Ym9hcmRDb2RlcywgaXNCcm93c2VyIH0gZnJvbSBcInV0aWxzXCI7XG5pbXBvcnQgQ29uZGl0aW9uYWxXcmFwcGVyIGZyb20gXCJ1dGlscy9Db25kaXRpb25hbFdyYXBwZXJcIjtcbmltcG9ydCB7IFN0eWxlZEZvY3VzV3JhcHBlciwgU3R5bGVkRmFsc2VGb2N1cyB9IGZyb20gXCIuL0ZvY3VzLnN0eWxlc1wiO1xuaW1wb3J0IHsgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4sIGlzS2V5LCBpc09uZU9mS2V5cywgc2V0Rm9jdXNUbyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgZm9jdXNDbGFzc2VzLCB7IEh2Rm9jdXNDbGFzc2VzIH0gZnJvbSBcIi4vZm9jdXNDbGFzc2VzXCI7XG5pbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5jb25zdCBmb2N1c1N0eWxlcyA9IGNzc2BcbiAgLkh2Rm9jdXMtZm9jdXNlZCB7XG4gICAgb3V0bGluZS1jb2xvcjogIzUyYThlYztcbiAgICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmE4ZWMsIDAgMCAwIDRweCByZ2JhKDI5LCAxNTUsIDIwOSwgMC4zKTtcblxuICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjNTJhOGVjO1xuICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJhOGVjLCAwIDAgMCA0cHggcmdiYSgyOSwgMTU1LCAyMDksIDAuMyk7XG4gICAgfVxuICB9XG5cbiAgLkh2Rm9jdXMtZm9jdXNEaXNhYmxlZCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5IdkZvY3VzLWZvY3VzRGlzYWJsZWQgKiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgSHZGb2N1c1Byb3BzID0gSHZCYXNlUHJvcHM8SFRNTEVsZW1lbnQsIHsgY2hpbGRyZW4gfT4gJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY2hpbGQgZWxlbWVudC4gKi9cbiAgY29uZmlndXJhdGlvbj86IHtcbiAgICB0YWJJbmRleD86IG51bWJlcjtcbiAgfTtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBkaXNhYmxlZCBjbGFzcyBzaG91bGQgYmUgYXBwbGllZC4gKi9cbiAgZGlzYWJsZWRDbGFzcz86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyBzZWxlY3RlZC4gKi9cbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgZm9jdXMgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHJvb3QgZWxlbWVudCB0byBob2xkIGFsbCBGb2N1cycgY29udGV4dC4gKi9cbiAgcm9vdFJlZj86IFJlZk9iamVjdDxIVE1MRWxlbWVudD47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzT25DbGljaz86IGJvb2xlYW47XG4gIC8qKiBTaG93IGZvY3VzIHdoZW4gY2xpY2sgZWxlbWVudC4gdiovXG4gIGZvY3VzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogVXNlIHVwLyBkb3duIGtleWJvYXJkIGFycm93cyB0byBjb250cm9sIGZvY3VzLiAqL1xuICB1c2VBcnJvd3M/OiBib29sZWFuO1xuICAvKiogRm9jdXMgYW5kIG5hdmlnYXRpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZC4gdiovXG4gIHN0cmF0ZWd5PzogXCJsaXN0Ym94XCIgfCBcIm1lbnVcIiB8IFwiY2FyZFwiIHwgXCJncmlkXCI7XG4gIC8qKiBVc2VzIGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZGl2IGFzIGEgZm9jdXMuIHYqL1xuICB1c2VGYWxzZUZvY3VzPzogYm9vbGVhbjtcbiAgLyoqIE5hcnJvd3MgdGhlIHJlc3VsdHMgb2YgdGhlIGZvY3VzIHRvIG9ubHkgdGhlc2VzIGNsYXNzIHYqL1xuICBmaWx0ZXJDbGFzcz86IHN0cmluZztcbiAgLyoqIEhvdyBtdWNoIHRoZSBuYXZpZ2F0aW9uIHdpbGwgc2tpcCB3aGVuIHVzaW5nIHRoZSBhcnJvd3MuIHYqL1xuICBuYXZpZ2F0aW9uSnVtcD86IG51bWJlcjtcbiAgLyoqIEEgSnNzIE9iamVjdCB1c2VkIHRvIG92ZXJyaWRlIG9yIGV4dGVuZCB0aGUgc3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC4gKi9cbiAgY2xhc3Nlcz86IEh2Rm9jdXNDbGFzc2VzO1xufTtcblxuZXhwb3J0IGNvbnN0IEh2Rm9jdXMgPSAoe1xuICBjbGFzc2VzLFxuICBjaGlsZHJlbixcbiAgY29uZmlndXJhdGlvbiA9IHt9LFxuICBkaXNhYmxlZENsYXNzID0gZmFsc2UsXG4gIHNlbGVjdGVkID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG4gIHJvb3RSZWYgPSB1bmRlZmluZWQsXG4gIGZvY3VzT25DbGljayA9IGZhbHNlLFxuICBmb2N1c0Rpc2FibGVkID0gdHJ1ZSxcbiAgc3RyYXRlZ3kgPSBcImxpc3Rib3hcIixcbiAgdXNlRmFsc2VGb2N1cyA9IGZhbHNlLFxuICBmaWx0ZXJDbGFzcyxcbiAgbmF2aWdhdGlvbkp1bXAgPSA0LFxufTogSHZGb2N1c1Byb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93Rm9jdXMsIHNldFNob3dGb2N1c10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtjaGlsZEZvY3VzLCBzZXRDaGlsZEZvY3VzXSA9IHVzZVN0YXRlPGFueT4oKTtcbiAgY29uc3QgW2hhc1J1bkNvbmZpZywgc2V0SGFzUnVuQ29uZmlnXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBnZXRGb2N1c2VzID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzZXMgPSByb290UmVmPy5jdXJyZW50XG4gICAgICA/IEFycmF5LmZyb20oXG4gICAgICAgICAgcm9vdFJlZi5jdXJyZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAgICAgICBmaWx0ZXJDbGFzcyB8fCBmb2N1c0NsYXNzZXMucm9vdCB8fCBjbGFzc2VzPy5yb290IHx8IFwicm9vdFwiXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICA6IFtdO1xuICAgIHJldHVybiBmb2N1c2VzO1xuICB9O1xuXG4gIGNvbnN0IHNldFRhYkluZGV4ID0gKGVsLCB0YWJJbmRleCA9IDApID0+IHtcbiAgICBjb25zdCBlbENoaWxkRm9jdXMgPSBnZXRGb2N1c2FibGVDaGlsZHJlbihlbClbMF07XG4gICAgaWYgKGVsQ2hpbGRGb2N1cykge1xuICAgICAgZWwudGFiSW5kZXggPSAtMTtcbiAgICAgIGVsQ2hpbGRGb2N1cy50YWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC50YWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRTZWxlY3RlZFRhYkluZGV4ID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvY3VzZXMgPSBnZXRGb2N1c2VzKCk7XG4gICAgY29uc3QgZmlyc3RTZWxlY3RlZCA9IGZvY3VzZXMuZmluZCgoZm9jdXMpID0+XG4gICAgICBmb2N1cy5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgICAgIGZvY3VzQ2xhc3Nlcy5zZWxlY3RlZCB8fCBjbGFzc2VzPy5zZWxlY3RlZCB8fCBcInNlbGVjdGVkXCJcbiAgICAgIClcbiAgICApO1xuXG4gICAgaWYgKCFmaXJzdFNlbGVjdGVkKSByZXR1cm47XG4gICAgZm9jdXNlcy5mb3JFYWNoKChmb2N1cykgPT4gc2V0VGFiSW5kZXgoZm9jdXMsIC0xKSk7XG4gICAgc2V0VGFiSW5kZXgoZmlyc3RTZWxlY3RlZCwgMCk7XG4gIH07XG5cbiAgY29uc3QgY2xlYXJUYWJTaWJsaW5ncyA9IChlbCkgPT4ge1xuICAgIGdldEZvY3VzZXMoKS5mb3JFYWNoKChmb2N1cykgPT4gc2V0VGFiSW5kZXgoZm9jdXMsIC0xKSk7XG4gICAgc2V0VGFiSW5kZXgoZWwsIDApO1xuICB9O1xuXG4gIGNvbnN0IG9uRm9jdXNTdHJhdGVneSA9IChldnQpID0+IHtcbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwibGlzdGJveFwiKSB7XG4gICAgICBjbGVhclRhYlNpYmxpbmdzKGV2dC5jdXJyZW50VGFyZ2V0KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25CbHVyU3RyYXRlZ3kgPSAoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc3RyYXRlZ3kgPT09IFwibGlzdGJveFwiICYmXG4gICAgICByb290UmVmICYmXG4gICAgICByb290UmVmLmN1cnJlbnQgJiZcbiAgICAgICFyb290UmVmLmN1cnJlbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNvbmZpZyA9IChlbCkgPT4ge1xuICAgIGNvbnN0IHsgdGFiSW5kZXggfSA9IGNvbmZpZ3VyYXRpb247XG4gICAgaWYgKCFlbCB8fCBoYXNSdW5Db25maWcpIHJldHVybjtcbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiY2FyZFwiKSB7XG4gICAgICBzZXRDaGlsZEZvY3VzKGNoaWxkcmVuKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiZ3JpZFwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPSBnZXRGb2N1c2FibGVDaGlsZHJlbihlbCk7XG4gICAgaWYgKGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9jdXNhYmxlQ2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHNldFRhYkluZGV4KGNoaWxkLCAtMSkpO1xuICAgICAgc2V0Q2hpbGRGb2N1cyhmb2N1c2FibGVDaGlsZHJlblswXSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc05pbCh0YWJJbmRleCkpIHNldFRhYkluZGV4KGVsLCB0YWJJbmRleCk7XG4gICAgc2V0SGFzUnVuQ29uZmlnKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGFkZEZvY3VzQ2xhc3MgPSAoZXZ0KSA9PiB7XG4gICAgaWYgKCF1c2VGYWxzZUZvY3VzKSB7XG4gICAgICBldnQuY3VycmVudFRhcmdldC5jbGFzc0xpc3QuYWRkKGZvY3VzQ2xhc3Nlcy5mb2N1c2VkKTtcbiAgICAgIGlmIChjbGFzc2VzPy5mb2N1c2VkKSB7XG4gICAgICAgIGV2dC5jdXJyZW50VGFyZ2V0LmNsYXNzTGlzdC5hZGQoY2xhc3Nlcy5mb2N1c2VkKTtcbiAgICAgIH1cbiAgICAgIC8vIGFkZCBnbG9iYWwgY2xhc3MgSHZJc0ZvY3VzZWQgYXMgYSBtYXJrZXJcbiAgICAgIC8vIG5vdCB0byBiZSBzdHlsZWQgZGlyZWN0bHksIG9ubHkgYXMgaGVscGVyIGluIHNwZWNpZmljIGNzcyBxdWVyaWVzXG4gICAgICBldnQuY3VycmVudFRhcmdldC5jbGFzc0xpc3QuYWRkKFwiSHZJc0ZvY3VzZWRcIik7XG4gICAgICBjbGFzc2VzPy5mb2N1c1xuICAgICAgICA/LnNwbGl0KFwiIFwiKVxuICAgICAgICAuZm9yRWFjaCgoYykgPT4gZXZ0LmN1cnJlbnRUYXJnZXQuY2xhc3NMaXN0LmFkZChjKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbW92ZUZvY3VzQ2xhc3MgPSAoKSA9PiB7XG4gICAgaWYgKCF1c2VGYWxzZUZvY3VzKSB7XG4gICAgICBnZXRGb2N1c2VzKCkuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZm9jdXNDbGFzc2VzLmZvY3VzZWQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZm9jdXNDbGFzc2VzLmZvY3VzZWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjbGFzc2VzPy5mb2N1c2VkKSB7XG4gICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzZXMuZm9jdXNlZCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBnbG9iYWwgY2xhc3MgSHZJc0ZvY3VzZWRcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiSHZJc0ZvY3VzZWRcIik7XG4gICAgICAgIGNsYXNzZXM/LmZvY3VzPy5zcGxpdChcIiBcIikuZm9yRWFjaCgoYykgPT4gZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGMpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkZvY3VzID0gKGV2dCkgPT4ge1xuICAgIGFkZEZvY3VzQ2xhc3MoZXZ0KTtcbiAgICBzZXRTaG93Rm9jdXModHJ1ZSk7XG4gICAgLy8gZ2l2ZSBmb2N1cyB0byBjaGlsZCBlbGVtZW50IGlmIGFueSBmb2N1c2FibGVcblxuICAgIGlmIChjaGlsZEZvY3VzICYmIGNoaWxkRm9jdXMuZm9jdXMpIGNoaWxkRm9jdXMuZm9jdXMoKTtcbiAgICBvbkZvY3VzU3RyYXRlZ3koZXZ0KTtcbiAgfTtcblxuICBjb25zdCBvbkJsdXIgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0ZvY3VzKGZhbHNlKTtcbiAgICByZW1vdmVGb2N1c0NsYXNzKCk7XG4gICAgb25CbHVyU3RyYXRlZ3koKTtcbiAgfTtcblxuICBjb25zdCBvbk1vdXNlRG93biA9IChldnQpID0+IHtcbiAgICBjb25zdCBoYXNDYXJkID0gISFldnQuY3VycmVudFRhcmdldD8ucXVlcnlTZWxlY3RvcihcIi5IdklzQ2FyZEdyaWRFbGVtZW50XCIpO1xuICAgIGlmIChzdHJhdGVneSA9PT0gXCJncmlkXCIgJiYgaGFzQ2FyZCkgcmV0dXJuO1xuXG4gICAgc2V0Rm9jdXNUbyhldnQuY3VycmVudFRhcmdldCk7XG4gICAgc2V0VGFiSW5kZXgoZXZ0LmN1cnJlbnRUYXJnZXQsIDApO1xuICAgIC8vIHJlbW92ZSBmb2N1cyBvdXRsaW5lIHVubGVzcyBleHBsaWNpdGx5IGVuYWJsZWRcbiAgICBpZiAoIWZvY3VzT25DbGljaykge1xuICAgICAgLy8gVE9ETyB0aGlzIHBpZWNlIG9mIGNvZGUgd29ya3Mgb25seSBiZWNhdXNlIG9uTW91c2VEb3duIGlzIGhhcHBlbmluZyBhZnRlciB0aGUgZm9jdXMgZXZlbnRcbiAgICAgIC8vIFRoZXJlIGlzIG5vdGhpbmcgaW4gaGVyZSB0aGF0IGd1YXJhbnRlZXMgdGhlIG9yZGVyIG9mIHRoZXNlIGV2ZW50cywgc28gaXQgbWF5IHByZXNlbnQgYSBwcm9ibGVtIGluIHRoZSBmdXR1cmVcbiAgICAgIHJlbW92ZUZvY3VzQ2xhc3MoKTtcbiAgICAgIHNldFNob3dGb2N1cyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGZvY3VzQW5kVXBkYXRlSW5kZXggPSAobmV4dEZvY3VzLCBwcmV2aW91c0ZvY3VzLCBmb2N1c2VzTGlzdCkgPT4ge1xuICAgIGlmIChmb2N1c2VzTGlzdD8uaW5jbHVkZXMocHJldmlvdXNGb2N1cykpIHtcbiAgICAgIHNldFRhYkluZGV4KHByZXZpb3VzRm9jdXMsIC0xKTtcbiAgICB9XG4gICAgc2V0VGFiSW5kZXgobmV4dEZvY3VzLCAwKTtcbiAgICBzZXRGb2N1c1RvKG5leHRGb2N1cyk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RW5hYmxlZEtleXMgPSAoY3VycmVudEZvY3VzSW5kZXgsIGp1bXAsIGxpc3RTaXplKSA9PiAoe1xuICAgIHJpZ2h0OlxuICAgICAgKGN1cnJlbnRGb2N1c0luZGV4ICsgMSkgJSBqdW1wID09PSAwIHx8XG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCArIDEgPiBsaXN0U2l6ZSAtIDEsXG4gICAgbGVmdDogY3VycmVudEZvY3VzSW5kZXggJSBqdW1wID09PSAwLFxuICAgIHVwOiBjdXJyZW50Rm9jdXNJbmRleCAtIGp1bXAgPCAwLFxuICAgIGRvd246XG4gICAgICBjdXJyZW50Rm9jdXNJbmRleCArIGp1bXAgPiBsaXN0U2l6ZSB8fFxuICAgICAgY3VycmVudEZvY3VzSW5kZXggKyBqdW1wID4gbGlzdFNpemUgLSAxLFxuICB9KTtcblxuICBjb25zdCBvbkdyaWRLZXlEb3duSGFuZGxlciA9IChcbiAgICBldnQsXG4gICAgZm9jdXNlcyxcbiAgICBmb2N1c2VzTGlzdCxcbiAgICBjdXJyZW50Rm9jdXNJbmRleCxcbiAgICBqdW1wXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIEFycm93VXAsXG4gICAgICBBcnJvd0Rvd24sXG4gICAgICBIb21lLFxuICAgICAgRW5kLFxuICAgICAgQXJyb3dMZWZ0LFxuICAgICAgQXJyb3dSaWdodCxcbiAgICAgIEVudGVyLFxuICAgICAgU3BhY2VCYXIsXG4gICAgfSA9IGtleWJvYXJkQ29kZXM7XG5cbiAgICBjb25zdCBjaGlsZEZvY3VzSXNJbnB1dCA9IGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5ub2RlTmFtZSA9PT0gXCJJTlBVVFwiO1xuXG4gICAgaWYgKFxuICAgICAgIWlzT25lT2ZLZXlzKGV2dCwgW1xuICAgICAgICBBcnJvd1VwLFxuICAgICAgICBBcnJvd0Rvd24sXG4gICAgICAgIEFycm93TGVmdCxcbiAgICAgICAgQXJyb3dSaWdodCxcbiAgICAgICAgSG9tZSxcbiAgICAgICAgRW5kLFxuICAgICAgICBTcGFjZUJhcixcbiAgICAgICAgRW50ZXIsXG4gICAgICBdKSB8fFxuICAgICAgKGNoaWxkRm9jdXNJc0lucHV0ICYmIGlzS2V5KGV2dCwgRW50ZXIpKVxuICAgICkge1xuICAgICAgLy8gbm90aGluZyB0byBkb1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHdlJ2xsIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBrZXkgc28gcHJldmVudCBkZWZhdWx0IGFuZCBzdG9wIHByb3BhZ2F0aW9uXG4gICAgLy8gZXhjZXB0IGZvciBFbnRlciBhbmQgU3BhY2VCYXJcbiAgICBpZiAoIWlzT25lT2ZLZXlzKGV2dCwgW0VudGVyLCBTcGFjZUJhcl0pKSB7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb25zdCBibG9ja2VkS2V5cyA9IGdldEVuYWJsZWRLZXlzKFxuICAgICAgY3VycmVudEZvY3VzSW5kZXgsXG4gICAgICBqdW1wLFxuICAgICAgZm9jdXNlc0xpc3QubGVuZ3RoXG4gICAgKTtcblxuICAgIHN3aXRjaCAoZXZ0LmtleUNvZGUpIHtcbiAgICAgIGNhc2UgU3BhY2VCYXI6XG4gICAgICBjYXNlIEVudGVyOlxuICAgICAgICBpZiAoaXNCcm93c2VyKFwiZmlyZWZveFwiKSkge1xuICAgICAgICAgIGV2dC50YXJnZXQuY2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBldnQuY3VycmVudFRhcmdldC5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBcnJvd1VwOlxuICAgICAgICBpZiAoIWJsb2NrZWRLZXlzLnVwKSB7XG4gICAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICAgIGZvY3VzZXMuanVtcCB8fCBmb2N1c2VzLmxhc3QsXG4gICAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dEb3duOlxuICAgICAgICBpZiAoIWJsb2NrZWRLZXlzLmRvd24pIHtcbiAgICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgZm9jdXNlcy5mYWxsIHx8IGZvY3VzZXMuZmlyc3QsXG4gICAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dMZWZ0OlxuICAgICAgICBpZiAoIWJsb2NrZWRLZXlzLmxlZnQpIHtcbiAgICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgZm9jdXNlcy5wcmV2aW91cyB8fCBmb2N1c2VzLmxhc3QsXG4gICAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICAgIGZvY3VzZXNMaXN0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQXJyb3dSaWdodDpcbiAgICAgICAgaWYgKCFibG9ja2VkS2V5cy5yaWdodCkge1xuICAgICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgICBmb2N1c2VzLm5leHQgfHwgZm9jdXNlcy5maXJzdCxcbiAgICAgICAgICAgIGV2dC5jdXJyZW50LFxuICAgICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBIb21lOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KGZvY3VzZXMuZmlyc3QsIGV2dC5jdXJyZW50LCBmb2N1c2VzTGlzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFbmQ6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoZm9jdXNlcy5sYXN0LCBldnQuY3VycmVudCwgZm9jdXNlc0xpc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uVmVydGljYWxBcnJhbmdlbWVudEhhbmRsZXIgPSAoZXZ0LCBmb2N1c2VzLCBmb2N1c2VzTGlzdCkgPT4ge1xuICAgIGNvbnN0IHsgQXJyb3dVcCwgQXJyb3dEb3duLCBIb21lLCBFbmQsIEVudGVyLCBTcGFjZUJhciB9ID0ga2V5Ym9hcmRDb2RlcztcbiAgICBjb25zdCBjaGlsZEZvY3VzSXNJbnB1dCA9IGNoaWxkRm9jdXMgJiYgY2hpbGRGb2N1cy5ub2RlTmFtZSA9PT0gXCJJTlBVVFwiO1xuXG4gICAgaWYgKFxuICAgICAgIWlzT25lT2ZLZXlzKGV2dCwgW0Fycm93VXAsIEFycm93RG93biwgSG9tZSwgRW5kLCBTcGFjZUJhciwgRW50ZXJdKSB8fFxuICAgICAgKGNoaWxkRm9jdXNJc0lucHV0ICYmIGlzS2V5KGV2dCwgRW50ZXIpKVxuICAgICkge1xuICAgICAgLy8gbm90aGluZyB0byBkb1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHdlJ2xsIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBrZXkgc28gcHJldmVudCBkZWZhdWx0IGFuZCBzdG9wIHByb3BhZ2F0aW9uXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgc3dpdGNoIChldnQua2V5Q29kZSkge1xuICAgICAgY2FzZSBTcGFjZUJhcjpcbiAgICAgIGNhc2UgRW50ZXI6XG4gICAgICAgIGV2dC50YXJnZXQuY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93VXA6XG4gICAgICAgIGZvY3VzQW5kVXBkYXRlSW5kZXgoXG4gICAgICAgICAgZm9jdXNlcy5wcmV2aW91cyB8fCBmb2N1c2VzLmxhc3QsXG4gICAgICAgICAgZXZ0LmN1cnJlbnQsXG4gICAgICAgICAgZm9jdXNlc0xpc3RcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFycm93RG93bjpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChcbiAgICAgICAgICBmb2N1c2VzLm5leHQgfHwgZm9jdXNlcy5maXJzdCxcbiAgICAgICAgICBldnQuY3VycmVudCxcbiAgICAgICAgICBmb2N1c2VzTGlzdFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSG9tZTpcbiAgICAgICAgZm9jdXNBbmRVcGRhdGVJbmRleChmb2N1c2VzLmZpcnN0LCBldnQuY3VycmVudCwgZm9jdXNlc0xpc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRW5kOlxuICAgICAgICBmb2N1c0FuZFVwZGF0ZUluZGV4KGZvY3VzZXMubGFzdCwgZXZ0LmN1cnJlbnQsIGZvY3VzZXNMaXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfTtcblxuICBjb25zdCBvblNpbmdsZUhhbmRsZXIgPSAoZXZ0KSA9PiB7XG4gICAgY29uc3QgeyBFbnRlciwgU3BhY2VCYXIgfSA9IGtleWJvYXJkQ29kZXM7XG4gICAgY29uc3QgY2hpbGRGb2N1c0lzSW5wdXQgPSBjaGlsZEZvY3VzICYmIGNoaWxkRm9jdXMubm9kZU5hbWUgPT09IFwiSU5QVVRcIjtcblxuICAgIGlmIChcbiAgICAgICFpc09uZU9mS2V5cyhldnQsIFtTcGFjZUJhciwgRW50ZXJdKSB8fFxuICAgICAgKGNoaWxkRm9jdXNJc0lucHV0ICYmIGlzS2V5KGV2dCwgRW50ZXIpKVxuICAgICkge1xuICAgICAgLy8gbm90aGluZyB0byBkb1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHdlJ2xsIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBrZXkgc28gcHJldmVudCBkZWZhdWx0IGFuZCBzdG9wIHByb3BhZ2F0aW9uXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgZXZ0LmN1cnJlbnRUYXJnZXQuY2xpY2soKTtcbiAgfTtcblxuICBjb25zdCBvbktleURvd24gPSAoZXZ0KSA9PiB7XG4gICAgaWYgKHJvb3RSZWY/LmN1cnJlbnQgPT0gbnVsbCkge1xuICAgICAgLy8gb3BlcmF0aW5nIG91dHNpZGUgb2YgYSBjb21wb3NpdGUgd2lkZ2V0XG4gICAgICAvLyBub3RoaW5nIHRvIG1hbmFnZSwganVzdCBzdHlsZSBhbmQgdHJpZ2dlciBjbGlja3NcbiAgICAgIG9uU2luZ2xlSGFuZGxlcihldnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRPRE8ga2VlcCB0aGUgc21hcnQgZGVmYXVsdCwgYnV0IGFsbG93IHRvIGV4cGxpY2l0bHkgb3ZlcnJpZGUgaWYgZGlzYWJsZWQgZWxlbWVudHMgc2hvdWxkIGJlIGZvY3VzYWJsZVxuICAgIGNvbnN0IGlzRGlzYWJsZWRGb2N1c2FibGUgPSBzdHJhdGVneSA9PT0gXCJtZW51XCI7XG4gICAgY29uc3QgZm9jdXNlc0xpc3QgPSBnZXRGb2N1c2VzKCkuZmlsdGVyKFxuICAgICAgKGVsKSA9PlxuICAgICAgICBpc0Rpc2FibGVkRm9jdXNhYmxlIHx8XG4gICAgICAgICFlbC5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3Nlcz8uZGlzYWJsZWQgYXMgc3RyaW5nKVxuICAgICk7XG5cbiAgICBjb25zdCBjdXJyZW50Rm9jdXMgPSBmb2N1c2VzTGlzdC5pbmRleE9mKGV2dC5jdXJyZW50VGFyZ2V0KTtcblxuICAgIGNvbnN0IGZvY3VzZXMgPSB7XG4gICAgICBmaXJzdDogZm9jdXNlc0xpc3RbMF0sXG4gICAgICBsYXN0OiBmb2N1c2VzTGlzdFtmb2N1c2VzTGlzdC5sZW5ndGggLSAxXSxcbiAgICAgIHByZXZpb3VzOiBmb2N1c2VzTGlzdFtjdXJyZW50Rm9jdXMgLSAxXSxcbiAgICAgIG5leHQ6IGZvY3VzZXNMaXN0W2N1cnJlbnRGb2N1cyArIDFdLFxuICAgICAgZmFsbDogZm9jdXNlc0xpc3RbY3VycmVudEZvY3VzICsgbmF2aWdhdGlvbkp1bXBdLFxuICAgICAganVtcDogZm9jdXNlc0xpc3RbY3VycmVudEZvY3VzIC0gbmF2aWdhdGlvbkp1bXBdLFxuICAgIH07XG5cbiAgICBpZiAoc3RyYXRlZ3kgPT09IFwiZ3JpZFwiKSB7XG4gICAgICBvbkdyaWRLZXlEb3duSGFuZGxlcihcbiAgICAgICAgZXZ0LFxuICAgICAgICBmb2N1c2VzLFxuICAgICAgICBmb2N1c2VzTGlzdCxcbiAgICAgICAgY3VycmVudEZvY3VzLFxuICAgICAgICBuYXZpZ2F0aW9uSnVtcFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBUT0RPIGFkZCBwcm9wZXJ0eSBmb3Igc3BlY2lmeWluZyB0aGUgY29tcG9zaXRlIHdpZGdldCBvcmllbnRhdGlvblxuICAgIC8vIFRPRE8gaW1wbGVtZW50IGhhbmRsZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICBvblZlcnRpY2FsQXJyYW5nZW1lbnRIYW5kbGVyKGV2dCwgZm9jdXNlcywgZm9jdXNlc0xpc3QpO1xuICB9O1xuXG4gIGNvbnN0IG9uS2V5VXAgPSAoZXZ0KSA9PiB7XG4gICAgaWYgKGlzQnJvd3NlcihcImZpcmVmb3hcIikpIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9O1xuXG4gIGlmIChkaXNhYmxlZCkgcmV0dXJuIGNoaWxkcmVuO1xuXG4gIGNvbnN0IGZvY3VzV3JhcHBlciA9IChjaGlsZHJlblRvV3JhcCkgPT4gKFxuICAgIDxTdHlsZWRGb2N1c1dyYXBwZXJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgY2xhc3Nlcz8uZXh0ZXJuYWxSZWZlcmVuY2UsXG4gICAgICAgIGZvY3VzQ2xhc3Nlcy5leHRlcm5hbFJlZmVyZW5jZVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW5Ub1dyYXB9XG4gICAgICB7c2hvd0ZvY3VzICYmIChcbiAgICAgICAgPFN0eWxlZEZhbHNlRm9jdXNcbiAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goY2xhc3Nlcz8uZmFsc2VGb2N1cywgZm9jdXNDbGFzc2VzLmZhbHNlRm9jdXMpfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZEZvY3VzV3JhcHBlcj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25kaXRpb25hbFdyYXBwZXIgY29uZGl0aW9uPXt1c2VGYWxzZUZvY3VzfSB3cmFwcGVyPXtmb2N1c1dyYXBwZXJ9PlxuICAgICAgPEdsb2JhbCBzdHlsZXM9e2ZvY3VzU3R5bGVzfSAvPlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChjaGlsZHJlbiwge1xuICAgICAgICBjbGFzc05hbWU6IGNsc3goXG4gICAgICAgICAgY2hpbGRyZW4ucHJvcHMuY2xhc3NOYW1lLFxuICAgICAgICAgIGZvY3VzQ2xhc3Nlcy5yb290LFxuICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgZmlsdGVyQ2xhc3MsXG4gICAgICAgICAgc2VsZWN0ZWQgJiYgY2xzeChmb2N1c0NsYXNzZXMuc2VsZWN0ZWQsIGNsYXNzZXM/LnNlbGVjdGVkKSxcbiAgICAgICAgICBkaXNhYmxlZENsYXNzICYmIGNsc3goZm9jdXNDbGFzc2VzLmRpc2FibGVkLCBjbGFzc2VzPy5kaXNhYmxlZCksXG4gICAgICAgICAgZm9jdXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgY2xzeChmb2N1c0NsYXNzZXMuZm9jdXNEaXNhYmxlZCwgY2xhc3Nlcz8uZm9jdXNEaXNhYmxlZClcbiAgICAgICAgKSxcbiAgICAgICAgcmVmOiBjb25maWcsXG4gICAgICAgIG9uRm9jdXMsXG4gICAgICAgIG9uQmx1cixcbiAgICAgICAgb25Nb3VzZURvd24sXG4gICAgICAgIG9uS2V5RG93bixcbiAgICAgICAgb25LZXlVcCxcbiAgICAgICAgc2VsZWN0ZWQsXG4gICAgICB9KX1cbiAgICA8L0NvbmRpdGlvbmFsV3JhcHBlcj5cbiAgKTtcbn07XG4iXX0= */",
|
|
27
27
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
28
28
|
};
|
|
29
29
|
const HvFocus = ({
|
|
@@ -45,7 +45,7 @@ const HvFocus = ({
|
|
|
45
45
|
const [childFocus, setChildFocus] = React.useState();
|
|
46
46
|
const [hasRunConfig, setHasRunConfig] = React.useState(false);
|
|
47
47
|
const getFocuses = () => {
|
|
48
|
-
const focuses = (rootRef == null ? void 0 : rootRef.current) ? Array.from(rootRef.current.getElementsByClassName(filterClass || focusClasses.default.root || "root")) : [];
|
|
48
|
+
const focuses = (rootRef == null ? void 0 : rootRef.current) ? Array.from(rootRef.current.getElementsByClassName(filterClass || focusClasses.default.root || (classes == null ? void 0 : classes.root) || "root")) : [];
|
|
49
49
|
return focuses;
|
|
50
50
|
};
|
|
51
51
|
const setTabIndex = (el, tabIndex = 0) => {
|
|
@@ -59,7 +59,7 @@ const HvFocus = ({
|
|
|
59
59
|
};
|
|
60
60
|
const setSelectedTabIndex = () => {
|
|
61
61
|
const focuses = getFocuses();
|
|
62
|
-
const firstSelected = focuses.find((focus) => focus.classList.contains(focusClasses.default.selected || "selected"));
|
|
62
|
+
const firstSelected = focuses.find((focus) => focus.classList.contains(focusClasses.default.selected || (classes == null ? void 0 : classes.selected) || "selected"));
|
|
63
63
|
if (!firstSelected)
|
|
64
64
|
return;
|
|
65
65
|
focuses.forEach((focus) => setTabIndex(focus, -1));
|
|
@@ -107,6 +107,9 @@ const HvFocus = ({
|
|
|
107
107
|
var _a;
|
|
108
108
|
if (!useFalseFocus) {
|
|
109
109
|
evt.currentTarget.classList.add(focusClasses.default.focused);
|
|
110
|
+
if (classes == null ? void 0 : classes.focused) {
|
|
111
|
+
evt.currentTarget.classList.add(classes.focused);
|
|
112
|
+
}
|
|
110
113
|
evt.currentTarget.classList.add("HvIsFocused");
|
|
111
114
|
(_a = classes == null ? void 0 : classes.focus) == null ? void 0 : _a.split(" ").forEach((c) => evt.currentTarget.classList.add(c));
|
|
112
115
|
}
|
|
@@ -118,6 +121,9 @@ const HvFocus = ({
|
|
|
118
121
|
if (focusClasses.default.focused) {
|
|
119
122
|
element.classList.remove(focusClasses.default.focused);
|
|
120
123
|
}
|
|
124
|
+
if (classes == null ? void 0 : classes.focused) {
|
|
125
|
+
element.classList.remove(classes.focused);
|
|
126
|
+
}
|
|
121
127
|
element.classList.remove("HvIsFocused");
|
|
122
128
|
(_a = classes == null ? void 0 : classes.focus) == null ? void 0 : _a.split(" ").forEach((c) => element.classList.remove(c));
|
|
123
129
|
});
|
|
@@ -292,18 +298,13 @@ const HvFocus = ({
|
|
|
292
298
|
};
|
|
293
299
|
if (disabled)
|
|
294
300
|
return children;
|
|
295
|
-
const focusWrapper = (childrenToWrap) => /* @__PURE__ */ jsxRuntime.jsxs(Focus_styles.StyledFocusWrapper, {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
condition: useFalseFocus,
|
|
303
|
-
wrapper: focusWrapper,
|
|
304
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(react.Global, {
|
|
305
|
-
styles: focusStyles
|
|
306
|
-
}), React__default.default.cloneElement(children, {
|
|
301
|
+
const focusWrapper = (childrenToWrap) => /* @__PURE__ */ jsxRuntime.jsxs(Focus_styles.StyledFocusWrapper, { className: clsx__default.default(classes == null ? void 0 : classes.externalReference, focusClasses.default.externalReference), children: [
|
|
302
|
+
childrenToWrap,
|
|
303
|
+
showFocus && /* @__PURE__ */ jsxRuntime.jsx(Focus_styles.StyledFalseFocus, { className: clsx__default.default(classes == null ? void 0 : classes.falseFocus, focusClasses.default.falseFocus) })
|
|
304
|
+
] });
|
|
305
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ConditionalWrapper.default, { condition: useFalseFocus, wrapper: focusWrapper, children: [
|
|
306
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Global, { styles: focusStyles }),
|
|
307
|
+
React__default.default.cloneElement(children, {
|
|
307
308
|
className: clsx__default.default(children.props.className, focusClasses.default.root, classes == null ? void 0 : classes.root, filterClass, selected && clsx__default.default(focusClasses.default.selected, classes == null ? void 0 : classes.selected), disabledClass && clsx__default.default(focusClasses.default.disabled, classes == null ? void 0 : classes.disabled), focusDisabled && clsx__default.default(focusClasses.default.focusDisabled, classes == null ? void 0 : classes.focusDisabled)),
|
|
308
309
|
ref: config,
|
|
309
310
|
onFocus,
|
|
@@ -312,8 +313,8 @@ const HvFocus = ({
|
|
|
312
313
|
onKeyDown,
|
|
313
314
|
onKeyUp,
|
|
314
315
|
selected
|
|
315
|
-
})
|
|
316
|
-
});
|
|
316
|
+
})
|
|
317
|
+
] });
|
|
317
318
|
};
|
|
318
319
|
exports.HvFocus = HvFocus;
|
|
319
320
|
//# sourceMappingURL=Focus.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Focus.cjs","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(focusClasses.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","_jsxs","StyledFocusWrapper","className","clsx","externalReference","StyledFalseFocus","falseFocus","ConditionalWrapper","condition","wrapper","_jsx","Global","React","cloneElement","props","ref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Focus.cjs","sources":["../../../../src/components/Focus/Focus.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { isNil } from \"lodash\";\nimport React, { RefObject, useState } from \"react\";\nimport { HvBaseProps } from \"../../types\";\nimport { keyboardCodes, isBrowser } from \"utils\";\nimport ConditionalWrapper from \"utils/ConditionalWrapper\";\nimport { StyledFocusWrapper, StyledFalseFocus } from \"./Focus.styles\";\nimport { getFocusableChildren, isKey, isOneOfKeys, setFocusTo } from \"./utils\";\nimport focusClasses, { HvFocusClasses } from \"./focusClasses\";\nimport { css, Global } from \"@emotion/react\";\n\nconst focusStyles = css`\n .HvFocus-focused {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n\n @media (-webkit-min-device-pixel-ratio: 0) {\n outline-color: #52a8ec;\n outline-style: solid;\n outline-width: 0px;\n outline-offset: -1px;\n box-shadow: 0 0 0 1px #52a8ec, 0 0 0 4px rgba(29, 155, 209, 0.3);\n }\n }\n\n .HvFocus-focusDisabled {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled *:focus {\n outline: none;\n box-shadow: none;\n }\n .HvFocus-focusDisabled * {\n outline: none !important;\n box-shadow: none !important;\n }\n`;\n\nexport type HvFocusProps = HvBaseProps<HTMLElement, { children }> & {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: RefObject<HTMLElement>;\n /** Show focus when click element. v*/\n focusOnClick?: boolean;\n /** Show focus when click element. v*/\n focusDisabled?: boolean;\n /** Use up/ down keyboard arrows to control focus. */\n useArrows?: boolean;\n /** Focus and navigation strategy to be used. v*/\n strategy?: \"listbox\" | \"menu\" | \"card\" | \"grid\";\n /** Uses an absolute positioned div as a focus. v*/\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v*/\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v*/\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n};\n\nexport const HvFocus = ({\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || focusClasses.root || classes?.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(\n focusClasses.selected || classes?.selected || \"selected\"\n )\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(focusClasses.focused);\n if (classes?.focused) {\n evt.currentTarget.classList.add(classes.focused);\n }\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n if (focusClasses.focused) {\n element.classList.remove(focusClasses.focused);\n }\n if (classes?.focused) {\n element.classList.remove(classes.focused);\n }\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const {\n ArrowUp,\n ArrowDown,\n Home,\n End,\n ArrowLeft,\n ArrowRight,\n Enter,\n SpaceBar,\n } = keyboardCodes;\n\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n ArrowUp,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n Home,\n End,\n SpaceBar,\n Enter,\n ]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case ArrowDown:\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = keyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <StyledFocusWrapper\n className={clsx(\n classes?.externalReference,\n focusClasses.externalReference\n )}\n >\n {childrenToWrap}\n {showFocus && (\n <StyledFalseFocus\n className={clsx(classes?.falseFocus, focusClasses.falseFocus)}\n />\n )}\n </StyledFocusWrapper>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n <Global styles={focusStyles} />\n {React.cloneElement(children, {\n className: clsx(\n children.props.className,\n focusClasses.root,\n classes?.root,\n filterClass,\n selected && clsx(focusClasses.selected, classes?.selected),\n disabledClass && clsx(focusClasses.disabled, classes?.disabled),\n focusDisabled &&\n clsx(focusClasses.focusDisabled, classes?.focusDisabled)\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["focusStyles","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","HvFocus","classes","children","configuration","disabledClass","selected","disabled","rootRef","undefined","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","useState","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","focuses","current","Array","from","getElementsByClassName","focusClasses","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","keyboardCodes","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","jsxs","StyledFocusWrapper","clsx","externalReference","StyledFalseFocus","falseFocus","ConditionalWrapper","jsx","Global","React","cloneElement","className","props","ref"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,MAAMA,cAAWC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA;AA+DV,MAAMC,UAAUA,CAAC;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC,gBAAgB,CAAC;AAAA,EACjBC,gBAAgB;AAAA,EAChBC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,UAAUC;AAAAA,EACVC,eAAe;AAAA,EACfC,gBAAgB;AAAA,EAChBC,WAAW;AAAA,EACXC,gBAAgB;AAAA,EAChBC;AAAAA,EACAC,iBAAiB;AACL,MAAM;AAClB,QAAM,CAACC,WAAWC,YAAY,IAAIC,eAAkB,KAAK;AACzD,QAAM,CAACC,YAAYC,aAAa,IAAIF,MAAe,SAAA;AACnD,QAAM,CAACG,cAAcC,eAAe,IAAIJ,eAAS,KAAK;AAEtD,QAAMK,aAAaA,MAAM;AACvB,UAAMC,WAAUhB,mCAASiB,WACrBC,MAAMC,KACJnB,QAAQiB,QAAQG,uBACdd,eAAee,aAAAA,QAAaC,SAAQ5B,mCAAS4B,SAAQ,MAAM,CAC5D,IAEH;AACGN,WAAAA;AAAAA,EAAAA;AAGT,QAAMO,cAAcA,CAACC,IAAIC,WAAW,MAAM;AAClCC,UAAAA,eAAeC,MAAqBH,qBAAAA,EAAE,EAAE;AAC9C,QAAIE,cAAc;AAChBF,SAAGC,WAAW;AACdC,mBAAaD,WAAWA;AAAAA,IAAAA,OACnB;AACLD,SAAGC,WAAWA;AAAAA,IAChB;AAAA,EAAA;AAGF,QAAMG,sBAAsBA,MAAM;AAChC,UAAMZ,UAAUD;AAChB,UAAMc,gBAAgBb,QAAQc,KAAMC,CAAAA,UAClCA,MAAMC,UAAUC,SACdZ,aAAAA,QAAavB,aAAYJ,mCAASI,aAAY,UAAU,CACzD;AAGH,QAAI,CAAC+B;AAAe;AACpBb,YAAQkB,QAASH,CAAAA,UAAUR,YAAYQ,OAAO,EAAE,CAAC;AACjDR,gBAAYM,eAAe,CAAC;AAAA,EAAA;AAG9B,QAAMM,mBAAoBX,CAAO,OAAA;AAC/BT,iBAAamB,QAASH,CAAAA,UAAUR,YAAYQ,OAAO,EAAE,CAAC;AACtDR,gBAAYC,IAAI,CAAC;AAAA,EAAA;AAGnB,QAAMY,kBAAmBC,CAAQ,QAAA;AAC/B,QAAIjC,aAAa,WAAW;AAC1B+B,uBAAiBE,IAAIC,aAAa;AAAA,IACpC;AAAA,EAAA;AAGF,QAAMC,iBAAiBA,MAAM;AAEzBnC,QAAAA,aAAa,aACbJ,WACAA,QAAQiB,WACR,CAACjB,QAAQiB,QAAQgB,SAASO,SAASC,aAAa,GAChD;AACAC,iBAAW,MAAM;AACM;SACpB,EAAE;AAAA,IACP;AAAA,EAAA;AAGF,QAAMC,SAAUnB,CAAO,OAAA;AACf,UAAA;AAAA,MAAEC;AAAAA,IAAa7B,IAAAA;AACrB,QAAI,CAAC4B,MAAMX;AAAc;AACzB,QAAIT,aAAa,QAAQ;AACvBQ,oBAAcjB,QAAQ;AACtB;AAAA,IACF;AAEA,QAAIS,aAAa,QAAQ;AACvB;AAAA,IACF;AAEMwC,UAAAA,oBAAoBjB,2BAAqBH,EAAE;AACjD,QAAIoB,kBAAkBC,QAAQ;AAC5BD,wBAAkBV,QAASY,CAAAA,UAAUvB,YAAYuB,OAAO,EAAE,CAAC;AAC3DlC,oBAAcgC,kBAAkB,EAAE;AAAA,IACpC;AAEI,QAAA,CAACG,aAAMtB,QAAQ;AAAGF,kBAAYC,IAAIC,QAAQ;AAC9CX,oBAAgB,IAAI;AAAA,EAAA;AAGtB,QAAMkC,gBAAiBX,CAAQ,QAAA;;AAC7B,QAAI,CAAChC,eAAe;AAClBgC,UAAIC,cAAcN,UAAUiB,IAAI5B,aAAAA,QAAa6B,OAAO;AACpD,UAAIxD,mCAASwD,SAAS;AACpBb,YAAIC,cAAcN,UAAUiB,IAAIvD,QAAQwD,OAAO;AAAA,MACjD;AAGIZ,UAAAA,cAAcN,UAAUiB,IAAI,aAAa;AACpClB,+CAAAA,UAAAA,mBACLoB,MAAM,KACPjB,QAASkB,CAAMf,MAAAA,IAAIC,cAAcN,UAAUiB,IAAIG,CAAC;AAAA,IACrD;AAAA,EAAA;AAGF,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAAChD,eAAe;AACN,iBAAA,EAAC6B,QAASoB,CAAY,YAAA;;AAChC,YAAIjC,aAAAA,QAAa6B,SAAS;AAChBlB,kBAAAA,UAAUuB,OAAOlC,aAAAA,QAAa6B,OAAO;AAAA,QAC/C;AACA,YAAIxD,mCAASwD,SAAS;AACZlB,kBAAAA,UAAUuB,OAAO7D,QAAQwD,OAAO;AAAA,QAC1C;AAEQlB,gBAAAA,UAAUuB,OAAO,aAAa;AAC7BxB,iDAAAA,UAAAA,mBAAOoB,MAAM,KAAKjB,QAASkB,OAAME,QAAQtB,UAAUuB,OAAOH,CAAC;AAAA,MAAC,CACtE;AAAA,IACH;AAAA,EAAA;AAGF,QAAMI,UAAWnB,CAAQ,QAAA;AACvBW,kBAAcX,GAAG;AACjB5B,iBAAa,IAAI;AAGjB,QAAIE,cAAcA,WAAWoB;AAAOpB,iBAAWoB,MAAO;AACtDK,oBAAgBC,GAAG;AAAA,EAAA;AAGrB,QAAMoB,SAASA,MAAM;AACnBhD,iBAAa,KAAK;AACA;AACF;EAAA;AAGlB,QAAMiD,cAAerB,CAAQ,QAAA;;AAC3B,UAAMsB,UAAU,CAAC,GAACtB,SAAIC,kBAAJD,mBAAmBuB,cAAc;AACnD,QAAIxD,aAAa,UAAUuD;AAAS;AAEpCE,qBAAWxB,IAAIC,aAAa;AAChBD,gBAAAA,IAAIC,eAAe,CAAC;AAEhC,QAAI,CAACpC,cAAc;AAGC;AAClBO,mBAAa,KAAK;AAAA,IACpB;AAAA,EAAA;AAGF,QAAMqD,sBAAsBA,CAACC,WAAWC,eAAeC,gBAAgB;AACjEA,QAAAA,2CAAaC,SAASF,gBAAgB;AACxCzC,kBAAYyC,eAAe,EAAE;AAAA,IAC/B;AACAzC,gBAAYwC,WAAW,CAAC;AACxBF,UAAAA,WAAWE,SAAS;AAAA,EAAA;AAGtB,QAAMI,iBAAiBA,CAACC,mBAAmBC,MAAMC,cAAc;AAAA,IAC7DC,QACGH,oBAAoB,KAAKC,SAAS,KACnCD,oBAAoB,IAAIE,WAAW;AAAA,IACrCE,MAAMJ,oBAAoBC,SAAS;AAAA,IACnCI,IAAIL,oBAAoBC,OAAO;AAAA,IAC/BK,MACEN,oBAAoBC,OAAOC,YAC3BF,oBAAoBC,OAAOC,WAAW;AAAA,EAAA;AAG1C,QAAMK,uBAAuBA,CAC3BtC,KACArB,SACAiD,aACAG,mBACAC,SACG;AACG,UAAA;AAAA,MACJO;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAC;AAAAA,IACEC,IAAAA;AAEEC,UAAAA,oBAAoB1E,cAAcA,WAAW2E,aAAa;AAEhE,QACE,CAACC,MAAYlD,YAAAA,KAAK,CAChBuC,SACAC,WACAG,WACAC,YACAH,MACAC,KACAI,UACAD,KAAK,CACN,KACAG,qBAAqBG,YAAMnD,KAAK6C,KAAK,GACtC;AAEA;AAAA,IACF;AAIA,QAAI,CAACK,MAAYlD,YAAAA,KAAK,CAAC6C,OAAOC,QAAQ,CAAC,GAAG;AACxC9C,UAAIoD,eAAgB;AACpBpD,UAAIqD,gBAAiB;AAAA,IACvB;AAEA,UAAMC,cAAcxB,eAClBC,mBACAC,MACAJ,YAAYpB,MAAM;AAGpB,YAAQR,IAAIuD,SAAO;AAAA,MACjB,KAAKT;AAAAA,MACL,KAAKD;AACCW,YAAAA,QAAAA,QAAU,SAAS,GAAG;AACxBxD,cAAIyD,OAAOC;QAAO,OACb;AACL1D,cAAIC,cAAcyD;QACpB;AACA;AAAA,MACF,KAAKnB;AACC,YAAA,CAACe,YAAYlB,IAAI;AACnBX,8BACE9C,QAAQqD,QAAQrD,QAAQgF,MACxB3D,IAAIpB,SACJgD,WAAW;AAAA,QAEf;AACA;AAAA,MACF,KAAKY;AACC,YAAA,CAACc,YAAYjB,MAAM;AACrBZ,8BACE9C,QAAQiF,QAAQjF,QAAQkF,OACxB7D,IAAIpB,SACJgD,WAAW;AAAA,QAEf;AACA;AAAA,MACF,KAAKe;AACC,YAAA,CAACW,YAAYnB,MAAM;AACrBV,8BACE9C,QAAQmF,YAAYnF,QAAQgF,MAC5B3D,IAAIpB,SACJgD,WAAW;AAAA,QAEf;AACA;AAAA,MACF,KAAKgB;AACC,YAAA,CAACU,YAAYpB,OAAO;AACtBT,8BACE9C,QAAQoF,QAAQpF,QAAQkF,OACxB7D,IAAIpB,SACJgD,WAAW;AAAA,QAEf;AACA;AAAA,MACF,KAAKa;AACHhB,4BAAoB9C,QAAQkF,OAAO7D,IAAIpB,SAASgD,WAAW;AAC3D;AAAA,MACF,KAAKc;AACHjB,4BAAoB9C,QAAQgF,MAAM3D,IAAIpB,SAASgD,WAAW;AAC1D;AAAA,IACM;AAAA,EAAA;AAIZ,QAAMoC,+BAA+BA,CAAChE,KAAKrB,SAASiD,gBAAgB;AAC5D,UAAA;AAAA,MAAEW;AAAAA,MAASC;AAAAA,MAAWC;AAAAA,MAAMC;AAAAA,MAAKG;AAAAA,MAAOC;AAAAA,IAAaC,IAAAA;AACrDC,UAAAA,oBAAoB1E,cAAcA,WAAW2E,aAAa;AAEhE,QACE,CAACC,MAAYlD,YAAAA,KAAK,CAACuC,SAASC,WAAWC,MAAMC,KAAKI,UAAUD,KAAK,CAAC,KACjEG,qBAAqBG,MAAAA,MAAMnD,KAAK6C,KAAK,GACtC;AAEA;AAAA,IACF;AAGA7C,QAAIoD,eAAgB;AACpBpD,QAAIqD,gBAAiB;AAErB,YAAQrD,IAAIuD,SAAO;AAAA,MACjB,KAAKT;AAAAA,MACL,KAAKD;AACH7C,YAAIyD,OAAOC;AACX;AAAA,MACF,KAAKnB;AACHd,4BACE9C,QAAQmF,YAAYnF,QAAQgF,MAC5B3D,IAAIpB,SACJgD,WAAW;AAEb;AAAA,MACF,KAAKY;AACHf,4BACE9C,QAAQoF,QAAQpF,QAAQkF,OACxB7D,IAAIpB,SACJgD,WAAW;AAEb;AAAA,MACF,KAAKa;AACHhB,4BAAoB9C,QAAQkF,OAAO7D,IAAIpB,SAASgD,WAAW;AAC3D;AAAA,MACF,KAAKc;AACHjB,4BAAoB9C,QAAQgF,MAAM3D,IAAIpB,SAASgD,WAAW;AAC1D;AAAA,IACM;AAAA,EAAA;AAIZ,QAAMqC,kBAAmBjE,CAAQ,QAAA;AACzB,UAAA;AAAA,MAAE6C;AAAAA,MAAOC;AAAAA,IAAaC,IAAAA;AACtBC,UAAAA,oBAAoB1E,cAAcA,WAAW2E,aAAa;AAEhE,QACE,CAACC,MAAAA,YAAYlD,KAAK,CAAC8C,UAAUD,KAAK,CAAC,KAClCG,qBAAqBG,MAAAA,MAAMnD,KAAK6C,KAAK,GACtC;AAEA;AAAA,IACF;AAGA7C,QAAIoD,eAAgB;AACpBpD,QAAIqD,gBAAiB;AAErBrD,QAAIC,cAAcyD;EAAO;AAG3B,QAAMQ,YAAalE,CAAQ,QAAA;AACrBrC,SAAAA,mCAASiB,YAAW,MAAM;AAG5BqF,sBAAgBjE,GAAG;AACnB;AAAA,IACF;AAGA,UAAMmE,sBAAsBpG,aAAa;AACzC,UAAM6D,cAAclD,WAAAA,EAAa0F,OAC9BjF,CACCgF,OAAAA,uBACA,CAAChF,GAAGQ,UAAUC,SAASvC,mCAASK,QAAkB,CAAC;AAGvD,UAAM2G,eAAezC,YAAY0C,QAAQtE,IAAIC,aAAa;AAE1D,UAAMtB,UAAU;AAAA,MACdkF,OAAOjC,YAAY;AAAA,MACnB+B,MAAM/B,YAAYA,YAAYpB,SAAS;AAAA,MACvCsD,UAAUlC,YAAYyC,eAAe;AAAA,MACrCN,MAAMnC,YAAYyC,eAAe;AAAA,MACjCT,MAAMhC,YAAYyC,eAAenG;AAAAA,MACjC8D,MAAMJ,YAAYyC,eAAenG;AAAAA,IAAAA;AAGnC,QAAIH,aAAa,QAAQ;AACvBuE,2BACEtC,KACArB,SACAiD,aACAyC,cACAnG,cAAc;AAEhB;AAAA,IACF;AAI6B8B,iCAAAA,KAAKrB,SAASiD,WAAW;AAAA,EAAA;AAGxD,QAAM2C,UAAWvE,CAAQ,QAAA;AACvB,QAAIwD,QAAAA,QAAU,SAAS;AAAGxD,UAAIoD,eAAgB;AAAA,EAAA;AAG5C1F,MAAAA;AAAiBJ,WAAAA;AAEfkH,QAAAA,eAAgBC,CACpB,mBAAAC,2BAAA,KAACC,aACC,oBAAA,EAAA,WAAWC,sBACTvH,mCAASwH,mBACT7F,aAAa6F,QAAAA,iBAAiB,GAG/BJ,UAAAA;AAAAA,IAAAA;AAAAA,IACAtG,4CACE2G,+BACC,EAAA,WAAWF,cAAAA,QAAKvH,mCAAS0H,YAAY/F,aAAAA,QAAa+F,UAAU,GAE/D;AAAA,EACH,EAAA,CAAA;AAGF,SACGL,2BAAAA,KAAAM,mBAAAA,SAAA,EAAmB,WAAWhH,eAAe,SAASwG,cACrD,UAAA;AAAA,IAACS,2BAAAA,IAAAC,MAAA,QAAA,EAAO,QAAQvI,YAAY,CAAA;AAAA,IAC3BwI,eAAAA,QAAMC,aAAa9H,UAAU;AAAA,MAC5B+H,WAAWT,cAAAA,QACTtH,SAASgI,MAAMD,WACfrG,aAAAA,QAAaC,MACb5B,mCAAS4B,MACThB,aACAR,YAAYmH,cAAAA,QAAK5F,aAAAA,QAAavB,UAAUJ,mCAASI,QAAQ,GACzDD,iBAAiBoH,cAAAA,QAAK5F,aAAAA,QAAatB,UAAUL,mCAASK,QAAQ,GAC9DI,iBACE8G,cAAK5F,QAAAA,aAAAA,QAAalB,eAAeT,mCAASS,aAAa,CAAC;AAAA,MAE5DyH,KAAKjF;AAAAA,MACLa;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACA6C;AAAAA,MACAK;AAAAA,MACA9G;AAAAA,IAAAA,CACD;AAAA,EACH,EAAA,CAAA;AAEJ;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
4
|
const styles = require("@mui/material/styles");
|
|
4
5
|
const clsx = require("clsx");
|
|
5
6
|
const footerClasses = require("./footerClasses.cjs");
|
|
6
7
|
const Footer_styles = require("./Footer.styles.cjs");
|
|
7
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
8
8
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
9
9
|
const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
|
|
10
10
|
const HvFooter = (props) => {
|
|
@@ -17,27 +17,14 @@ const HvFooter = (props) => {
|
|
|
17
17
|
...others
|
|
18
18
|
} = props;
|
|
19
19
|
const muiTheme = styles.useTheme();
|
|
20
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Footer_styles.StyledRoot, {
|
|
21
|
-
$breakpoints: muiTheme.breakpoints,
|
|
22
|
-
className: clsx__default.default(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
children: name
|
|
29
|
-
}), /* @__PURE__ */ jsxRuntime.jsxs(Footer_styles.StyledRightContainer, {
|
|
30
|
-
$breakpoints: muiTheme.breakpoints,
|
|
31
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(Footer_styles.StyledCopyright, {
|
|
32
|
-
$breakpoints: muiTheme.breakpoints,
|
|
33
|
-
className: clsx__default.default(footerClasses.default.copyright, classes == null ? void 0 : classes.copyright),
|
|
34
|
-
children: copyright
|
|
35
|
-
}), links && /* @__PURE__ */ jsxRuntime.jsx(Footer_styles.StyledSeparator, {
|
|
36
|
-
$breakpoints: muiTheme.breakpoints,
|
|
37
|
-
className: clsx__default.default(footerClasses.default.separator, classes == null ? void 0 : classes.separator)
|
|
38
|
-
}), links]
|
|
39
|
-
})]
|
|
40
|
-
});
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Footer_styles.StyledRoot, { $breakpoints: muiTheme.breakpoints, className: clsx__default.default(className, footerClasses.default.root, classes == null ? void 0 : classes.root), ...others, children: [
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsx(Footer_styles.StyledName, { $breakpoints: muiTheme.breakpoints, variant: "label", className: clsx__default.default(footerClasses.default.name, classes == null ? void 0 : classes.name), children: name }),
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Footer_styles.StyledRightContainer, { className: clsx__default.default(footerClasses.default.rightContainer, classes == null ? void 0 : classes.rightContainer), $breakpoints: muiTheme.breakpoints, children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(Footer_styles.StyledCopyright, { $breakpoints: muiTheme.breakpoints, className: clsx__default.default(footerClasses.default.copyright, classes == null ? void 0 : classes.copyright), children: copyright }),
|
|
24
|
+
links && /* @__PURE__ */ jsxRuntime.jsx(Footer_styles.StyledSeparator, { $breakpoints: muiTheme.breakpoints, className: clsx__default.default(footerClasses.default.separator, classes == null ? void 0 : classes.separator) }),
|
|
25
|
+
links
|
|
26
|
+
] })
|
|
27
|
+
] });
|
|
41
28
|
};
|
|
42
29
|
exports.HvFooter = HvFooter;
|
|
43
30
|
//# sourceMappingURL=Footer.cjs.map
|