@hitachivantara/uikit-react-core 5.0.0-next.8 → 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/Avatar/Avatar.cjs +9 -38
- package/dist/cjs/components/Avatar/Avatar.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/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/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 +18 -47
- 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 -19
- 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 +5 -25
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.cjs +13 -20
- package/dist/cjs/components/Card/Card.cjs.map +1 -1
- package/dist/cjs/components/Card/Content/Content.cjs +2 -8
- package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs +14 -22
- package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.cjs +5 -14
- package/dist/cjs/components/Card/Media/Media.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 -19
- package/dist/cjs/components/Container/Container.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +15 -32
- 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/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 +2 -7
- package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +35 -68
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs +8 -17
- package/dist/cjs/components/Dialog/Title/Title.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 +10 -24
- package/dist/cjs/components/EmptyState/EmptyState.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 +8 -14
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +10 -15
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs +9 -23
- package/dist/cjs/components/Footer/Footer.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 +7 -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/Header/Actions/Actions.cjs +2 -6
- package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Header/Brand/Brand.cjs +6 -11
- package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
- package/dist/cjs/components/Header/Header.cjs +2 -10
- package/dist/cjs/components/Header/Header.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 +3 -7
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +6 -24
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs +2 -15
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +2 -5
- package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
- 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 +12 -32
- 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/Login/Login.cjs +4 -13
- package/dist/cjs/components/Login/Login.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs +14 -19
- 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/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 -30
- package/dist/cjs/components/ProgressBar/ProgressBar.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 +14 -48
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +9 -32
- package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.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/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 +6 -25
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -23
- 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 +2 -11
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +6 -49
- 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 +2 -15
- 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/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 +2 -11
- package/dist/cjs/components/Typography/Typography.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/providers/Provider.cjs +5 -10
- package/dist/cjs/providers/Provider.cjs.map +1 -1
- package/dist/cjs/providers/ThemeProvider.cjs +2 -8
- 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/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/Avatar/Avatar.js +9 -38
- package/dist/esm/components/Avatar/Avatar.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/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/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 +18 -47
- 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 -19
- 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 +5 -25
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Card/Card.js +13 -20
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/Content/Content.js +2 -8
- package/dist/esm/components/Card/Content/Content.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.js +14 -22
- package/dist/esm/components/Card/Header/Header.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.js +5 -14
- package/dist/esm/components/Card/Media/Media.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 -19
- package/dist/esm/components/Container/Container.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +15 -32
- 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/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 +2 -7
- package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +35 -68
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js +8 -17
- package/dist/esm/components/Dialog/Title/Title.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 +10 -24
- package/dist/esm/components/EmptyState/EmptyState.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 +8 -14
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +10 -15
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js +9 -23
- package/dist/esm/components/Footer/Footer.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 +7 -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/Header/Actions/Actions.js +2 -6
- package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Header/Brand/Brand.js +6 -11
- package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
- package/dist/esm/components/Header/Header.js +2 -10
- package/dist/esm/components/Header/Header.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 +3 -7
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +6 -24
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js +2 -15
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Header/Navigation/utils/FocusContext.js +2 -5
- package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
- 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 +12 -32
- 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/Login/Login.js +4 -13
- package/dist/esm/components/Login/Login.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js +14 -19
- 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/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 -30
- package/dist/esm/components/ProgressBar/ProgressBar.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 +14 -48
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +9 -32
- package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.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/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 +6 -25
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +2 -23
- 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 +2 -11
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +6 -49
- 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 +2 -15
- 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/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 +2 -11
- package/dist/esm/components/Typography/Typography.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/providers/Provider.js +5 -10
- package/dist/esm/providers/Provider.js.map +1 -1
- package/dist/esm/providers/ThemeProvider.js +2 -8
- 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/types/components/Card/Card.d.ts +1 -1
- package/dist/types/components/Card/Card.d.ts.map +1 -1
- package/dist/types/components/Header/Navigation/MenuBar/MenuBar.styles.d.ts.map +1 -1
- package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
- package/package.json +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZone.cjs","sources":["../../../../../src/components/FileUploader/DropZone/DropZone.tsx"],"sourcesContent":["import { HvFileData, HvFilesAddedEvent } from \"../File\";\nimport dropZoneClasses, { HvDropZoneClasses } from \"./dropZoneClasses\";\nimport React, { useRef, useState } from \"react\";\nimport { uniqueId } from \"lodash\";\nimport accept from \"attr-accept\";\nimport {\n StyledDragText,\n StyledDropArea,\n StyledDropAreaIcon,\n StyledDropAreaLabel,\n StyledDropAreaLabels,\n StyledDropZoneContainer,\n StyledDropZoneLabelsGroup,\n StyledInfoMessage,\n StyledInput,\n StyledLabel,\n StyledSelectedFilesText,\n} from \"./DropZone.styles\";\nimport clsx from \"clsx\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { convertUnits } from \"../utils\";\nimport { withId } from \"hocs\";\n\nexport type HvDropZoneLabels = {\n /**\n * Extensions of the accepted file types\n */\n acceptedFiles?: string;\n /**\n * Dropzone area label.\n */\n dropzone?: string;\n /**\n * Size file warning label.\n */\n sizeWarning?: string;\n /**\n * Size file warning label.\n */\n drag?: string;\n /**\n * Size file warning label.\n */\n selectFiles?: string;\n /**\n * Theming sheet used to style components\n * */\n dropFiles?: string;\n /**\n * Message to display when file size is greater than allowed\n * */\n fileSizeError?: string;\n /**\n * Message to display when file type is greater than allowed\n * */\n fileTypeError?: string;\n};\n\nexport type HvDropZoneProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Labels to present in FileUploader.\n */\n labels?: HvDropZoneLabels;\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 * Files extensions accepted for upload.\n */\n acceptedFiles: string[];\n /**\n * Max upload size\n * */\n maxFileSize: number;\n /**\n * Function responsible for processing files added to the drop zone.\n */\n onFilesAdded?: HvFilesAddedEvent;\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 * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvDropZoneClasses;\n};\n\nexport const HvDropZone = withId(\n ({\n id,\n classes,\n labels,\n acceptedFiles,\n maxFileSize,\n inputProps,\n hideLabels,\n multiple = true,\n disabled = false,\n onFilesAdded,\n }: HvDropZoneProps) => {\n const [dragState, setDrag] = useState<boolean>(false);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const leaveDropArea = () => {\n setDrag(false);\n };\n\n const enterDropArea = () => {\n setDrag(true);\n };\n\n const onChangeHandler = (filesList: FileList) => {\n const filesToProcess = Object.keys(filesList).map((e) => filesList[e]);\n\n const newFiles: HvFileData[] = [];\n\n filesToProcess.forEach((file: File) => {\n const newFile: HvFileData = file;\n\n const isSizeAllowed = file.size <= maxFileSize;\n const isFileAccepted =\n !acceptedFiles.length ||\n acceptedFiles.indexOf(file.type.split(\"/\")[1]) > -1 ||\n acceptedFiles.some((acceptExtension) =>\n accept({ name: file.name, type: file.type }, acceptExtension)\n );\n\n if (!isFileAccepted) {\n newFile.errorMessage = labels?.fileTypeError;\n newFile.status = \"fail\";\n } else if (!isSizeAllowed) {\n newFile.errorMessage = labels?.fileSizeError;\n newFile.status = \"fail\";\n }\n\n newFile.id = uniqueId(\"uploaded-file-data-\");\n newFiles.push(newFile);\n });\n\n onFilesAdded?.(newFiles);\n };\n\n return (\n <>\n {!hideLabels && (\n <StyledDropZoneLabelsGroup\n id={id}\n className={clsx(\n classes?.dropZoneLabelsGroup,\n dropZoneClasses.dropZoneLabelsGroup\n )}\n aria-label=\"File Dropzone\"\n >\n <StyledLabel\n id={setId(id, \"input-file-label\")}\n htmlFor={setId(id, \"input-file\")}\n label={labels?.dropzone}\n className={clsx(\n classes?.dropZoneLabel,\n dropZoneClasses.dropZoneLabel\n )}\n $disabled={disabled}\n />\n <StyledInfoMessage\n $disabled={disabled}\n id={setId(id, \"description\")}\n >\n {Number.isInteger(maxFileSize) &&\n `${labels?.sizeWarning} ${convertUnits(maxFileSize)}`}\n {labels?.acceptedFiles && labels.acceptedFiles}\n {!labels?.acceptedFiles &&\n acceptedFiles.length > 0 &&\n `\\u00A0(${acceptedFiles.join(\", \")})`}\n </StyledInfoMessage>\n </StyledDropZoneLabelsGroup>\n )}\n <StyledDropZoneContainer\n id={setId(id, \"button\")}\n className={clsx(\n classes?.dropZoneContainer,\n dropZoneClasses.dropZoneContainer,\n dragState && clsx(classes?.dragAction, dropZoneClasses.dragAction),\n disabled &&\n clsx(\n classes?.dropZoneContainerDisabled,\n dropZoneClasses.dropZoneContainerDisabled\n )\n )}\n $drag={dragState}\n $disabled={disabled}\n role=\"button\"\n tabIndex={0}\n onDragEnter={(event) => {\n if (!disabled) {\n enterDropArea();\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onDragLeave={leaveDropArea}\n onDropCapture={leaveDropArea}\n onDragOver={(event) => {\n if (!disabled) {\n enterDropArea();\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onDrop={(event) => {\n if (!disabled) {\n const { files } = event.dataTransfer;\n if (multiple === true || files.length === 1) {\n event.stopPropagation();\n event.preventDefault();\n onChangeHandler(files);\n }\n }\n }}\n onKeyDown={(e) => {\n if (isKeypress(e, keyboardCodes.Enter) || isKeypress(e, 32)) {\n inputRef.current?.click();\n }\n }}\n >\n <StyledInput\n id={setId(id, \"input-file\")}\n tabIndex={-1}\n className={clsx(classes?.inputArea, dropZoneClasses.inputArea)}\n type=\"file\"\n multiple={multiple}\n disabled={disabled}\n title={!disabled ? `${labels?.drag}\\xa0${labels?.selectFiles}` : \"\"}\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.value = \"\";\n }\n }}\n onChange={() => {\n if (!disabled && inputRef.current?.files) {\n onChangeHandler(inputRef.current.files);\n }\n }}\n ref={inputRef}\n accept={acceptedFiles.join(\",\")}\n {...inputProps}\n />\n <StyledDropArea\n className={clsx(classes?.dropArea, dropZoneClasses.dropArea)}\n >\n {dragState ? (\n <StyledDropAreaLabel\n className={clsx(\n classes?.dropZoneAreaLabels,\n dropZoneClasses.dropZoneAreaLabels\n )}\n >\n <StyledDragText\n className={clsx(classes?.dragText, dropZoneClasses.dragText)}\n >\n {labels?.dropFiles}\n </StyledDragText>\n </StyledDropAreaLabel>\n ) : (\n <>\n <StyledDropAreaIcon\n iconSize=\"M\"\n className={clsx(\n classes?.dropZoneAreaIcon,\n dropZoneClasses.dropZoneAreaIcon\n )}\n color={disabled ? \"atmo5\" : \"acce1\"}\n />\n <StyledDropAreaLabels\n className={clsx(\n classes?.dropZoneAreaLabels,\n dropZoneClasses.dropZoneAreaLabels\n )}\n >\n <StyledDragText\n className={clsx(\n classes?.dragText,\n dropZoneClasses.dragText\n )}\n >\n {labels?.drag}\n <StyledSelectedFilesText\n className={clsx(\n classes?.selectFilesText,\n dropZoneClasses.selectFilesText\n )}\n >{`\\xa0${labels?.selectFiles}`}</StyledSelectedFilesText>\n </StyledDragText>\n </StyledDropAreaLabels>\n </>\n )}\n </StyledDropArea>\n </StyledDropZoneContainer>\n </>\n );\n }\n);\n"],"names":["HvDropZone","withId","id","classes","labels","acceptedFiles","maxFileSize","inputProps","hideLabels","multiple","disabled","onFilesAdded","dragState","setDrag","useState","inputRef","useRef","leaveDropArea","enterDropArea","onChangeHandler","filesList","filesToProcess","Object","keys","map","e","newFiles","forEach","file","newFile","isSizeAllowed","size","isFileAccepted","length","indexOf","type","split","some","acceptExtension","accept","name","errorMessage","fileTypeError","status","fileSizeError","uniqueId","push","_Fragment","children","StyledDropZoneLabelsGroup","className","clsx","dropZoneLabelsGroup","dropZoneClasses","_jsx","StyledLabel","setId","htmlFor","label","dropzone","dropZoneLabel","$disabled","_jsxs","StyledInfoMessage","Number","isInteger","sizeWarning","convertUnits","join","StyledDropZoneContainer","dropZoneContainer","dragAction","dropZoneContainerDisabled","$drag","role","tabIndex","onDragEnter","event","stopPropagation","preventDefault","onDragLeave","onDropCapture","onDragOver","onDrop","files","dataTransfer","onKeyDown","isKeypress","keyboardCodes","Enter","current","click","StyledInput","inputArea","title","drag","selectFiles","onClick","value","onChange","ref","StyledDropArea","dropArea","StyledDropAreaLabel","dropZoneAreaLabels","StyledDragText","dragText","dropFiles","StyledDropAreaIcon","iconSize","dropZoneAreaIcon","color","StyledDropAreaLabels","StyledSelectedFilesText","selectFilesText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropZone.cjs","sources":["../../../../../src/components/FileUploader/DropZone/DropZone.tsx"],"sourcesContent":["import { HvFileData, HvFilesAddedEvent } from \"../File\";\nimport dropZoneClasses, { HvDropZoneClasses } from \"./dropZoneClasses\";\nimport React, { useRef, useState } from \"react\";\nimport { uniqueId } from \"lodash\";\nimport accept from \"attr-accept\";\nimport {\n StyledDragText,\n StyledDropArea,\n StyledDropAreaIcon,\n StyledDropAreaLabel,\n StyledDropAreaLabels,\n StyledDropZoneContainer,\n StyledDropZoneLabelsGroup,\n StyledInfoMessage,\n StyledInput,\n StyledLabel,\n StyledSelectedFilesText,\n} from \"./DropZone.styles\";\nimport clsx from \"clsx\";\nimport { isKeypress, keyboardCodes, setId } from \"utils\";\nimport { convertUnits } from \"../utils\";\nimport { withId } from \"hocs\";\n\nexport type HvDropZoneLabels = {\n /**\n * Extensions of the accepted file types\n */\n acceptedFiles?: string;\n /**\n * Dropzone area label.\n */\n dropzone?: string;\n /**\n * Size file warning label.\n */\n sizeWarning?: string;\n /**\n * Size file warning label.\n */\n drag?: string;\n /**\n * Size file warning label.\n */\n selectFiles?: string;\n /**\n * Theming sheet used to style components\n * */\n dropFiles?: string;\n /**\n * Message to display when file size is greater than allowed\n * */\n fileSizeError?: string;\n /**\n * Message to display when file type is greater than allowed\n * */\n fileTypeError?: string;\n};\n\nexport type HvDropZoneProps = {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Labels to present in FileUploader.\n */\n labels?: HvDropZoneLabels;\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 * Files extensions accepted for upload.\n */\n acceptedFiles: string[];\n /**\n * Max upload size\n * */\n maxFileSize: number;\n /**\n * Function responsible for processing files added to the drop zone.\n */\n onFilesAdded?: HvFilesAddedEvent;\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 * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvDropZoneClasses;\n};\n\nexport const HvDropZone = withId(\n ({\n id,\n classes,\n labels,\n acceptedFiles,\n maxFileSize,\n inputProps,\n hideLabels,\n multiple = true,\n disabled = false,\n onFilesAdded,\n }: HvDropZoneProps) => {\n const [dragState, setDrag] = useState<boolean>(false);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const leaveDropArea = () => {\n setDrag(false);\n };\n\n const enterDropArea = () => {\n setDrag(true);\n };\n\n const onChangeHandler = (filesList: FileList) => {\n const filesToProcess = Object.keys(filesList).map((e) => filesList[e]);\n\n const newFiles: HvFileData[] = [];\n\n filesToProcess.forEach((file: File) => {\n const newFile: HvFileData = file;\n\n const isSizeAllowed = file.size <= maxFileSize;\n const isFileAccepted =\n !acceptedFiles.length ||\n acceptedFiles.indexOf(file.type.split(\"/\")[1]) > -1 ||\n acceptedFiles.some((acceptExtension) =>\n accept({ name: file.name, type: file.type }, acceptExtension)\n );\n\n if (!isFileAccepted) {\n newFile.errorMessage = labels?.fileTypeError;\n newFile.status = \"fail\";\n } else if (!isSizeAllowed) {\n newFile.errorMessage = labels?.fileSizeError;\n newFile.status = \"fail\";\n }\n\n newFile.id = uniqueId(\"uploaded-file-data-\");\n newFiles.push(newFile);\n });\n\n onFilesAdded?.(newFiles);\n };\n\n return (\n <>\n {!hideLabels && (\n <StyledDropZoneLabelsGroup\n id={id}\n className={clsx(\n classes?.dropZoneLabelsGroup,\n dropZoneClasses.dropZoneLabelsGroup\n )}\n aria-label=\"File Dropzone\"\n >\n <StyledLabel\n id={setId(id, \"input-file-label\")}\n htmlFor={setId(id, \"input-file\")}\n label={labels?.dropzone}\n className={clsx(\n classes?.dropZoneLabel,\n dropZoneClasses.dropZoneLabel\n )}\n $disabled={disabled}\n />\n <StyledInfoMessage\n $disabled={disabled}\n id={setId(id, \"description\")}\n >\n {Number.isInteger(maxFileSize) &&\n `${labels?.sizeWarning} ${convertUnits(maxFileSize)}`}\n {labels?.acceptedFiles && labels.acceptedFiles}\n {!labels?.acceptedFiles &&\n acceptedFiles.length > 0 &&\n `\\u00A0(${acceptedFiles.join(\", \")})`}\n </StyledInfoMessage>\n </StyledDropZoneLabelsGroup>\n )}\n <StyledDropZoneContainer\n id={setId(id, \"button\")}\n className={clsx(\n classes?.dropZoneContainer,\n dropZoneClasses.dropZoneContainer,\n dragState && clsx(classes?.dragAction, dropZoneClasses.dragAction),\n disabled &&\n clsx(\n classes?.dropZoneContainerDisabled,\n dropZoneClasses.dropZoneContainerDisabled\n )\n )}\n $drag={dragState}\n $disabled={disabled}\n role=\"button\"\n tabIndex={0}\n onDragEnter={(event) => {\n if (!disabled) {\n enterDropArea();\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onDragLeave={leaveDropArea}\n onDropCapture={leaveDropArea}\n onDragOver={(event) => {\n if (!disabled) {\n enterDropArea();\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onDrop={(event) => {\n if (!disabled) {\n const { files } = event.dataTransfer;\n if (multiple === true || files.length === 1) {\n event.stopPropagation();\n event.preventDefault();\n onChangeHandler(files);\n }\n }\n }}\n onKeyDown={(e) => {\n if (isKeypress(e, keyboardCodes.Enter) || isKeypress(e, 32)) {\n inputRef.current?.click();\n }\n }}\n >\n <StyledInput\n id={setId(id, \"input-file\")}\n tabIndex={-1}\n className={clsx(classes?.inputArea, dropZoneClasses.inputArea)}\n type=\"file\"\n multiple={multiple}\n disabled={disabled}\n title={!disabled ? `${labels?.drag}\\xa0${labels?.selectFiles}` : \"\"}\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.value = \"\";\n }\n }}\n onChange={() => {\n if (!disabled && inputRef.current?.files) {\n onChangeHandler(inputRef.current.files);\n }\n }}\n ref={inputRef}\n accept={acceptedFiles.join(\",\")}\n {...inputProps}\n />\n <StyledDropArea\n className={clsx(classes?.dropArea, dropZoneClasses.dropArea)}\n >\n {dragState ? (\n <StyledDropAreaLabel\n className={clsx(\n classes?.dropZoneAreaLabels,\n dropZoneClasses.dropZoneAreaLabels\n )}\n >\n <StyledDragText\n className={clsx(classes?.dragText, dropZoneClasses.dragText)}\n >\n {labels?.dropFiles}\n </StyledDragText>\n </StyledDropAreaLabel>\n ) : (\n <>\n <StyledDropAreaIcon\n iconSize=\"M\"\n className={clsx(\n classes?.dropZoneAreaIcon,\n dropZoneClasses.dropZoneAreaIcon\n )}\n color={disabled ? \"atmo5\" : \"acce1\"}\n />\n <StyledDropAreaLabels\n className={clsx(\n classes?.dropZoneAreaLabels,\n dropZoneClasses.dropZoneAreaLabels\n )}\n >\n <StyledDragText\n className={clsx(\n classes?.dragText,\n dropZoneClasses.dragText\n )}\n >\n {labels?.drag}\n <StyledSelectedFilesText\n className={clsx(\n classes?.selectFilesText,\n dropZoneClasses.selectFilesText\n )}\n >{`\\xa0${labels?.selectFiles}`}</StyledSelectedFilesText>\n </StyledDragText>\n </StyledDropAreaLabels>\n </>\n )}\n </StyledDropArea>\n </StyledDropZoneContainer>\n </>\n );\n }\n);\n"],"names":["HvDropZone","withId","id","classes","labels","acceptedFiles","maxFileSize","inputProps","hideLabels","multiple","disabled","onFilesAdded","dragState","setDrag","useState","inputRef","useRef","leaveDropArea","enterDropArea","onChangeHandler","filesList","filesToProcess","Object","keys","map","e","newFiles","forEach","file","newFile","isSizeAllowed","size","isFileAccepted","length","indexOf","type","split","some","acceptExtension","accept","name","errorMessage","fileTypeError","status","fileSizeError","uniqueId","push","jsxs","Fragment","StyledDropZoneLabelsGroup","clsx","dropZoneLabelsGroup","dropZoneClasses","jsx","StyledLabel","setId","dropzone","dropZoneLabel","StyledInfoMessage","Number","isInteger","sizeWarning","convertUnits","join","StyledDropZoneContainer","dropZoneContainer","dragAction","dropZoneContainerDisabled","event","stopPropagation","preventDefault","files","dataTransfer","isKeypress","keyboardCodes","Enter","current","click","StyledInput","inputArea","drag","selectFiles","value","StyledDropArea","dropArea","StyledDropAreaLabel","dropZoneAreaLabels","StyledDragText","dragText","dropFiles","StyledDropAreaIcon","dropZoneAreaIcon","StyledDropAreaLabels","StyledSelectedFilesText","selectFilesText"],"mappings":";;;;;;;;;;;;;;;;;AAqGaA,MAAAA,aAAaC,eACxB,CAAC;AAAA,EACCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC;AACe,MAAM;AACrB,QAAM,CAACC,WAAWC,OAAO,IAAIC,eAAkB,KAAK;AAE9CC,QAAAA,WAAWC,aAAgC,IAAI;AAErD,QAAMC,gBAAgBA,MAAM;AAC1BJ,YAAQ,KAAK;AAAA,EAAA;AAGf,QAAMK,gBAAgBA,MAAM;AAC1BL,YAAQ,IAAI;AAAA,EAAA;AAGRM,QAAAA,kBAAkBA,CAACC,cAAwB;AACzCC,UAAAA,iBAAiBC,OAAOC,KAAKH,SAAS,EAAEI,IAAKC,CAAAA,MAAML,UAAUK,EAAE;AAErE,UAAMC,WAAyB,CAAA;AAEhBC,mBAAAA,QAAQ,CAACC,SAAe;AACrC,YAAMC,UAAsBD;AAEtBE,YAAAA,gBAAgBF,KAAKG,QAAQzB;AACnC,YAAM0B,iBACJ,CAAC3B,cAAc4B,UACf5B,cAAc6B,QAAQN,KAAKO,KAAKC,MAAM,GAAG,EAAE,EAAE,IAAI,MACjD/B,cAAcgC,KAAMC,qBAClBC,wBAAO;AAAA,QAAEC,MAAMZ,KAAKY;AAAAA,QAAML,MAAMP,KAAKO;AAAAA,MAAAA,GAAQG,eAAe,CAAC;AAGjE,UAAI,CAACN,gBAAgB;AACnBH,gBAAQY,eAAerC,iCAAQsC;AAC/Bb,gBAAQc,SAAS;AAAA,MAAA,WACR,CAACb,eAAe;AACzBD,gBAAQY,eAAerC,iCAAQwC;AAC/Bf,gBAAQc,SAAS;AAAA,MACnB;AAEQzC,cAAAA,KAAK2C,gBAAS,qBAAqB;AAC3CnB,eAASoB,KAAKjB,OAAO;AAAA,IAAA,CACtB;AAEDlB,iDAAee;AAAAA,EAAQ;AAGzB,SAEKqB,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAA,CAACxC,cACAuC,2BAAAA,KAACE,gBAAAA,2BACC,EAAA,IACA,WAAWC,cAAAA,QACT/C,mCAASgD,qBACTC,gBAAgBD,QAAAA,mBAAmB,GAErC,cAAW,iBAEX,UAAA;AAAA,MAACE,2BAAAA,IAAAC,gBAAA,aAAA,EACC,IAAIC,YAAMrD,IAAI,kBAAkB,GAChC,SAASqD,YAAMrD,IAAI,YAAY,GAC/B,OAAOE,iCAAQoD,UACf,WAAWN,cAAAA,QACT/C,mCAASsD,eACTL,gBAAAA,QAAgBK,aAAa,GAE/B,WAAW/C,SAAS,CAAA;AAAA,MAEtBqC,gCAACW,gBAAAA,qBACC,WAAWhD,UACX,IAAI6C,MAAAA,MAAMrD,IAAI,aAAa,GAE1ByD,UAAAA;AAAAA,QAAAA,OAAOC,UAAUtD,WAAW,KAC1B,GAAEF,iCAAQyD,eAAeC,MAAAA,aAAaxD,WAAW;AAAA,SACnDF,iCAAQC,kBAAiBD,OAAOC;AAAAA,QAChC,EAACD,iCAAQC,kBACRA,cAAc4B,SAAS,KACtB,QAAS5B,cAAc0D,KAAK,IAAI;AAAA,MAAA,GACrC;AAAA,IAAA,GACF;AAAA,oCAEDC,gBACC,yBAAA,EAAA,IAAIT,MAAMrD,MAAAA,IAAI,QAAQ,GACtB,WAAWgD,cAAAA,QACT/C,mCAAS8D,mBACTb,gBAAAA,QAAgBa,mBAChBrD,aAAasC,sBAAK/C,mCAAS+D,YAAYd,gBAAAA,QAAgBc,UAAU,GACjExD,YACEwC,cAAAA,QACE/C,mCAASgE,2BACTf,wBAAgBe,yBAAyB,CAC1C,GAEL,OAAOvD,WACP,WAAWF,UACX,MAAK,UACL,UAAU,GACV,aAAc0D,CAAU,UAAA;AACtB,UAAI,CAAC1D,UAAU;AACE;AACf0D,cAAMC,gBAAiB;AACvBD,cAAME,eAAgB;AAAA,MACxB;AAAA,IAAA,GAEF,aAAarD,eACb,eAAeA,eACf,YAAamD,CAAU,UAAA;AACrB,UAAI,CAAC1D,UAAU;AACE;AACf0D,cAAMC,gBAAiB;AACvBD,cAAME,eAAgB;AAAA,MACxB;AAAA,IAAA,GAEF,QAASF,CAAU,UAAA;AACjB,UAAI,CAAC1D,UAAU;AACP,cAAA;AAAA,UAAE6D;AAAAA,QAAAA,IAAUH,MAAMI;AACxB,YAAI/D,aAAa,QAAQ8D,MAAMtC,WAAW,GAAG;AAC3CmC,gBAAMC,gBAAiB;AACvBD,gBAAME,eAAgB;AACtBnD,0BAAgBoD,KAAK;AAAA,QACvB;AAAA,MACF;AAAA,IAAA,GAEF,WAAY9C,CAAM,MAAA;;AACZgD,UAAAA,SAAAA,WAAWhD,GAAGiD,4BAAcC,KAAK,KAAKF,oBAAWhD,GAAG,EAAE,GAAG;AAC3DV,uBAAS6D,YAAT7D,mBAAkB8D;AAAAA,MACpB;AAAA,IAGF,GAAA,UAAA;AAAA,MAAAxB,2BAAA,IAACyB,gBACC,aAAA,EAAA,IAAIvB,MAAAA,MAAMrD,IAAI,YAAY,GAC1B,UAAU,IACV,WAAWgD,cAAAA,QAAK/C,mCAAS4E,WAAW3B,gBAAAA,QAAgB2B,SAAS,GAC7D,MAAK,QACL,UACA,UACA,OAAO,CAACrE,WAAY,GAAEN,iCAAQ4E,WAAW5E,iCAAQ6E,gBAAgB,IACjE,SAAS,MAAM;AACb,YAAIlE,SAAS6D,SAAS;AACpB7D,mBAAS6D,QAAQM,QAAQ;AAAA,QAC3B;AAAA,MACF,GACA,UAAU,MAAM;;AACd,YAAI,CAACxE,cAAYK,cAAS6D,YAAT7D,mBAAkBwD,QAAO;AACxBxD,0BAAAA,SAAS6D,QAAQL,KAAK;AAAA,QACxC;AAAA,MAAA,GAEF,KAAKxD,UACL,QAAQV,cAAc0D,KAAK,GAAG,GAC1BxD,GAAAA,YAAW;AAAA,MAEhB8C,+BAAA8B,gBAAAA,gBAAA,EACC,WAAWjC,cAAAA,QAAK/C,mCAASiF,UAAUhC,gBAAAA,QAAgBgC,QAAQ,GAE1DxE,UACC,YAAAyC,2BAAAA,IAACgC,gBAAAA,qBACC,EAAA,WAAWnC,cAAAA,QACT/C,mCAASmF,oBACTlC,wBAAgBkC,kBAAkB,GAGpC,UAAAjC,2BAAAA,IAACkC,gBAAAA,gBACC,EAAA,WAAWrC,cAAAA,QAAK/C,mCAASqF,UAAUpC,wBAAgBoC,QAAQ,GAE1DpF,UAAAA,iCAAQqF,WACX,EAAA,CACF,IAGE1C,gCAAAC,WAAAA,UAAA,EAAA,UAAA;AAAA,QAAAK,2BAAA,IAACqC,gBACC,oBAAA,EAAA,UAAS,KACT,WAAWxC,cAAAA,QACT/C,mCAASwF,kBACTvC,gBAAAA,QAAgBuC,gBAAgB,GAElC,OAAOjF,WAAW,UAAU,SAAQ;AAAA,uCAErCkF,gBAAAA,sBACC,EAAA,WAAW1C,cAAAA,QACT/C,mCAASmF,oBACTlC,wBAAgBkC,kBAAkB,GAGpC,UAAAvC,2BAAAA,KAACwC,kCACC,WAAWrC,sBACT/C,mCAASqF,UACTpC,gBAAAA,QAAgBoC,QAAQ,GAGzBpF,UAAAA;AAAAA,UAAQ4E,iCAAAA;AAAAA,UACT3B,2BAAA,IAACwC,gBACC,yBAAA,EAAA,WAAW3C,cAAAA,QACT/C,mCAAS2F,iBACT1C,gBAAAA,QAAgB0C,eAAe,GAEhC,UAAM1F,OAAAA,iCAAQ6E,eAAc;AAAA,QAAA,EAAA,CACjC,EACF,CAAA;AAAA,MAAA,EAAA,CACF,EAEJ,CAAA;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
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 uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
4
5
|
const clsx = require("clsx");
|
|
5
6
|
const fileClasses = require("./fileClasses.cjs");
|
|
6
7
|
const utils = require("../utils.cjs");
|
|
7
8
|
const File_styles = require("./File.styles.cjs");
|
|
8
|
-
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
9
9
|
const setId = require("../../../utils/setId.cjs");
|
|
10
10
|
const Typography = require("../../Typography/Typography.cjs");
|
|
11
11
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
@@ -13,35 +13,22 @@ const clsx__default = /* @__PURE__ */ _interopDefault(clsx);
|
|
|
13
13
|
const getStatusIcon = (classes, status) => {
|
|
14
14
|
switch (status) {
|
|
15
15
|
case "success":
|
|
16
|
-
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledSuccess, {
|
|
17
|
-
className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon),
|
|
18
|
-
color: "sema1"
|
|
19
|
-
});
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledSuccess, { className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon), color: "sema1" });
|
|
20
17
|
case "fail":
|
|
21
|
-
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledFail, {
|
|
22
|
-
className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon),
|
|
23
|
-
color: "sema4"
|
|
24
|
-
});
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledFail, { className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon), color: "sema4" });
|
|
25
19
|
default:
|
|
26
|
-
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledEmptyIcon, {
|
|
27
|
-
className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon)
|
|
28
|
-
});
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledEmptyIcon, { className: clsx__default.default(classes == null ? void 0 : classes.icon, fileClasses.default.icon) });
|
|
29
21
|
}
|
|
30
22
|
};
|
|
31
23
|
const getProgressText = (data, classes) => {
|
|
32
24
|
const hasFailed = data.status === "fail";
|
|
33
25
|
const inProgress = data.status === "progress";
|
|
34
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}), hasFailed && data.errorMessage && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledErrorMessage, {
|
|
41
|
-
className: clsx__default.default(classes == null ? void 0 : classes.fail, fileClasses.default.fail),
|
|
42
|
-
children: data.errorMessage
|
|
43
|
-
})]
|
|
44
|
-
});
|
|
26
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
27
|
+
data.progress || data.size || data.errorMessage ? `\xA0|\xA0` : null,
|
|
28
|
+
inProgress && data.progress != null && /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, { variant: "label", children: `${utils.convertUnits(data.progress)}\xA0/\xA0` }),
|
|
29
|
+
!hasFailed && data.size && /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, { children: `${utils.convertUnits(data.size)}` }),
|
|
30
|
+
hasFailed && data.errorMessage && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledErrorMessage, { className: clsx__default.default(classes == null ? void 0 : classes.fail, fileClasses.default.fail), children: data.errorMessage })
|
|
31
|
+
] });
|
|
45
32
|
};
|
|
46
33
|
const getProgressBarWith = ({
|
|
47
34
|
size,
|
|
@@ -62,40 +49,17 @@ const HvFile = ({
|
|
|
62
49
|
const progressText = getProgressText(data, classes);
|
|
63
50
|
const statusIcon = getStatusIcon(classes, data.status);
|
|
64
51
|
const currentProgress = getProgressBarWith(data);
|
|
65
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("li", {
|
|
66
|
-
className: clsx__default.default(classes == null ? void 0 : classes.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
}), statusIcon, /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledNameText, {
|
|
78
|
-
className: clsx__default.default(classes == null ? void 0 : classes.nameText, fileClasses.default.nameText),
|
|
79
|
-
variant: "label",
|
|
80
|
-
children: data.name
|
|
81
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledProgressTextContainer, {
|
|
82
|
-
className: clsx__default.default(classes == null ? void 0 : classes.progressTextContainer, fileClasses.default.progressTextContainer),
|
|
83
|
-
children: progressText
|
|
84
|
-
}), data.preview && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledPreviewContainer, {
|
|
85
|
-
className: clsx__default.default(classes == null ? void 0 : classes.previewContainer, fileClasses.default.previewContainer),
|
|
86
|
-
children: data.preview
|
|
87
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledIconButton, {
|
|
88
|
-
id: setId.setId(id, "remove-button"),
|
|
89
|
-
"aria-label": removeFileButtonLabel,
|
|
90
|
-
className: clsx__default.default(classes == null ? void 0 : classes.removeButton, fileClasses.default.removeButton),
|
|
91
|
-
onClick: () => onFileRemoved == null ? void 0 : onFileRemoved(data),
|
|
92
|
-
variant: "secondaryGhost",
|
|
93
|
-
icon: true,
|
|
94
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Close, {
|
|
95
|
-
iconSize: "XS"
|
|
96
|
-
})
|
|
97
|
-
})]
|
|
98
|
-
});
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: clsx__default.default(classes == null ? void 0 : classes.root, fileClasses.default.root), children: [
|
|
53
|
+
!hasError && inProgress && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledProgressBarBack, { className: clsx__default.default(classes == null ? void 0 : classes.progressbarBack, fileClasses.default.progressbarBack) }),
|
|
54
|
+
!hasError && inProgress && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledProgressBar, { className: clsx__default.default(classes == null ? void 0 : classes.progressbar, fileClasses.default.progressbar), "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": currentProgress, style: {
|
|
55
|
+
width: `${currentProgress}%`
|
|
56
|
+
} }),
|
|
57
|
+
statusIcon,
|
|
58
|
+
/* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledNameText, { className: clsx__default.default(classes == null ? void 0 : classes.nameText, fileClasses.default.nameText), variant: "label", children: data.name }),
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledProgressTextContainer, { className: clsx__default.default(classes == null ? void 0 : classes.progressTextContainer, fileClasses.default.progressTextContainer), children: progressText }),
|
|
60
|
+
data.preview && /* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledPreviewContainer, { className: clsx__default.default(classes == null ? void 0 : classes.previewContainer, fileClasses.default.previewContainer), children: data.preview }),
|
|
61
|
+
/* @__PURE__ */ jsxRuntime.jsx(File_styles.StyledIconButton, { id: setId.setId(id, "remove-button"), "aria-label": removeFileButtonLabel, className: clsx__default.default(classes == null ? void 0 : classes.removeButton, fileClasses.default.removeButton), onClick: () => onFileRemoved == null ? void 0 : onFileRemoved(data), variant: "secondaryGhost", icon: true, children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Close, { iconSize: "XS" }) })
|
|
62
|
+
] });
|
|
99
63
|
};
|
|
100
64
|
exports.HvFile = HvFile;
|
|
101
65
|
//# sourceMappingURL=File.cjs.map
|
|
@@ -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,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 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 = ({
|
|
@@ -22,19 +22,13 @@ const HvFileUploaderPreview = ({
|
|
|
22
22
|
};
|
|
23
23
|
}, [onUnload]);
|
|
24
24
|
if (onClick) {
|
|
25
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Preview_styles.StyledButton, {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledOverlay, {
|
|
33
|
-
className: clsx__default.default(classes == null ? void 0 : classes.overlay, previewClasses.default.overlay),
|
|
34
|
-
"aria-hidden": "true"
|
|
35
|
-
}), /* @__PURE__ */ jsxRuntime.jsx(Preview_styles.StyledPreviewIcon, {})]
|
|
36
|
-
})]
|
|
37
|
-
});
|
|
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
|
+
] });
|
|
38
32
|
}
|
|
39
33
|
return children;
|
|
40
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<\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","
|
|
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 };
|
|
@@ -298,18 +298,13 @@ const HvFocus = ({
|
|
|
298
298
|
};
|
|
299
299
|
if (disabled)
|
|
300
300
|
return children;
|
|
301
|
-
const focusWrapper = (childrenToWrap) => /* @__PURE__ */ jsxRuntime.jsxs(Focus_styles.StyledFocusWrapper, {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
condition: useFalseFocus,
|
|
309
|
-
wrapper: focusWrapper,
|
|
310
|
-
children: [/* @__PURE__ */ jsxRuntime.jsx(react.Global, {
|
|
311
|
-
styles: focusStyles
|
|
312
|
-
}), 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, {
|
|
313
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)),
|
|
314
309
|
ref: config,
|
|
315
310
|
onFocus,
|
|
@@ -318,8 +313,8 @@ const HvFocus = ({
|
|
|
318
313
|
onKeyDown,
|
|
319
314
|
onKeyUp,
|
|
320
315
|
selected
|
|
321
|
-
})
|
|
322
|
-
});
|
|
316
|
+
})
|
|
317
|
+
] });
|
|
323
318
|
};
|
|
324
319
|
exports.HvFocus = HvFocus;
|
|
325
320
|
//# sourceMappingURL=Focus.cjs.map
|