@carbon/react 1.29.1 → 1.30.0-rc.0
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/es/_virtual/_rollupPluginBabelHelpers.js +16 -5
- package/es/components/Accordion/Accordion.Skeleton.js +0 -7
- package/es/components/Accordion/Accordion.js +1 -8
- package/es/components/Accordion/AccordionItem.js +5 -19
- package/es/components/AspectRatio/AspectRatio.js +0 -5
- package/es/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
- package/es/components/Breadcrumb/Breadcrumb.js +0 -3
- package/es/components/Breadcrumb/BreadcrumbItem.js +0 -7
- package/es/components/Button/Button.Skeleton.js +2 -7
- package/es/components/Button/Button.js +2 -36
- package/es/components/ButtonSet/ButtonSet.js +0 -2
- package/es/components/Checkbox/Checkbox.Skeleton.js +0 -1
- package/es/components/Checkbox/Checkbox.js +4 -20
- package/es/components/CheckboxGroup/CheckboxGroup.js +0 -11
- package/es/components/ClassPrefix/index.d.ts +26 -0
- package/es/components/ClassPrefix/index.js +0 -2
- package/es/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
- package/es/components/CodeSnippet/CodeSnippet.js +6 -45
- package/es/components/ComboBox/ComboBox.js +12 -79
- package/es/components/ComboBox/tools/filter.js +0 -1
- package/es/components/ComboButton/index.js +0 -14
- package/es/components/ComposedModal/ComposedModal.js +2 -32
- package/es/components/ComposedModal/ModalFooter.js +0 -21
- package/es/components/ComposedModal/ModalHeader.js +0 -12
- package/es/components/ContainedList/ContainedList.js +5 -32
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
- package/es/components/ContentSwitcher/ContentSwitcher.js +11 -23
- package/es/components/ContextMenu/useContextMenu.js +1 -6
- package/es/components/Copy/Copy.js +8 -31
- package/es/components/CopyButton/CopyButton.js +0 -4
- package/es/components/DangerButton/DangerButton.js +0 -1
- package/es/components/DataTable/DataTable.js +171 -91
- package/es/components/DataTable/Table.js +0 -6
- package/es/components/DataTable/TableBatchAction.js +0 -4
- package/es/components/DataTable/TableBatchActions.js +0 -8
- package/es/components/DataTable/TableBody.js +0 -1
- package/es/components/DataTable/TableContainer.js +0 -5
- package/es/components/DataTable/TableExpandHeader.js +0 -7
- package/es/components/DataTable/TableExpandRow.js +0 -6
- package/es/components/DataTable/TableExpandedRow.js +0 -6
- package/es/components/DataTable/TableHeader.d.ts +1 -1
- package/es/components/DataTable/TableHeader.js +3 -19
- package/es/components/DataTable/TableRow.js +4 -5
- package/es/components/DataTable/TableSelectAll.js +0 -8
- package/es/components/DataTable/TableSelectRow.js +2 -10
- package/es/components/DataTable/TableToolbar.js +0 -3
- package/es/components/DataTable/TableToolbarMenu.d.ts +1 -1
- package/es/components/DataTable/TableToolbarMenu.js +3 -6
- package/es/components/DataTable/TableToolbarSearch.js +2 -30
- package/es/components/DataTable/state/getDerivedStateFromProps.js +0 -4
- package/es/components/DataTable/state/sorting.js +5 -8
- package/es/components/DataTable/tools/denormalize.js +2 -2
- package/es/components/DataTable/tools/filter.js +0 -2
- package/es/components/DataTable/tools/instanceId.js +0 -1
- package/es/components/DataTable/tools/normalize.js +10 -10
- package/es/components/DataTable/tools/sorting.js +5 -13
- package/es/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
- package/es/components/DatePicker/DatePicker.Skeleton.js +0 -6
- package/es/components/DatePicker/DatePicker.js +152 -174
- package/es/components/DatePicker/plugins/appendToPlugin.js +3 -7
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
- package/es/components/DatePicker/plugins/rangePlugin.js +2 -7
- package/es/components/DatePickerInput/DatePickerInput.js +2 -28
- package/es/components/Dropdown/Dropdown.Skeleton.js +0 -2
- package/es/components/Dropdown/Dropdown.js +43 -52
- package/es/components/ErrorBoundary/ErrorBoundary.js +0 -10
- package/es/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
- package/es/components/ExpandableSearch/ExpandableSearch.js +1 -10
- package/es/components/FeatureFlags/index.js +8 -20
- package/es/components/FileUploader/FileUploader.Skeleton.js +0 -2
- package/es/components/FileUploader/FileUploader.js +3 -38
- package/es/components/FileUploader/FileUploaderButton.js +3 -24
- package/es/components/FileUploader/FileUploaderDropContainer.js +1 -28
- package/es/components/FileUploader/FileUploaderItem.js +1 -11
- package/es/components/FileUploader/Filename.js +0 -10
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
- package/es/components/FluidComboBox/FluidComboBox.js +0 -18
- package/es/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
- package/es/components/FluidDatePicker/FluidDatePicker.js +0 -6
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
- package/es/components/FluidDropdown/FluidDropdown.js +0 -18
- package/es/components/FluidForm/FluidForm.js +0 -2
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
- package/es/components/FluidSelect/FluidSelect.js +0 -10
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
- package/es/components/FluidTextArea/FluidTextArea.js +0 -20
- package/es/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
- package/es/components/FluidTextInput/FluidTextInput.js +0 -14
- package/es/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
- package/es/components/FluidTimePicker/FluidTimePicker.js +1 -11
- package/es/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
- package/es/components/Form/Form.d.ts +23 -0
- package/es/components/Form/Form.js +3 -6
- package/es/components/Form/index.d.ts +7 -0
- package/es/components/FormGroup/FormGroup.js +0 -7
- package/es/components/FormItem/FormItem.js +0 -2
- package/es/components/FormLabel/FormLabel.js +1 -7
- package/es/components/Grid/CSSGrid.js +2 -15
- package/es/components/Grid/Column.js +18 -59
- package/es/components/Grid/ColumnHang.js +2 -5
- package/es/components/Grid/FlexGrid.js +2 -8
- package/es/components/Grid/Grid.js +0 -8
- package/es/components/Grid/GridContext.js +1 -3
- package/es/components/Grid/Row.js +2 -7
- package/es/components/Heading/index.js +0 -4
- package/es/components/Icon/Icon.Skeleton.js +2 -2
- package/es/components/IconButton/index.js +0 -10
- package/es/components/IdPrefix/index.js +0 -2
- package/es/components/InlineCheckbox/InlineCheckbox.js +0 -14
- package/es/components/InlineLoading/InlineLoading.js +0 -12
- package/es/components/Layer/index.js +3 -6
- package/es/components/Layout/LayoutDirection.js +0 -3
- package/es/components/Layout/useLayoutDirection.js +0 -1
- package/es/components/Link/Link.js +3 -10
- package/es/components/ListBox/ListBox.js +2 -13
- package/es/components/ListBox/ListBoxField.js +0 -5
- package/es/components/ListBox/ListBoxMenuIcon.js +0 -4
- package/es/components/ListBox/ListBoxMenuItem.js +2 -6
- package/es/components/ListBox/ListBoxPropTypes.d.ts +2 -2
- package/es/components/ListBox/ListBoxSelection.js +1 -13
- package/es/components/ListBox/next/ListBoxSelection.js +1 -14
- package/es/components/ListBox/next/ListBoxTrigger.js +1 -3
- package/es/components/ListItem/ListItem.d.ts +23 -0
- package/es/components/ListItem/ListItem.js +4 -8
- package/es/components/ListItem/index.d.ts +7 -0
- package/es/components/Loading/Loading.js +0 -6
- package/es/components/Menu/Menu.js +22 -40
- package/es/components/Menu/MenuContext.js +4 -5
- package/es/components/Menu/MenuItem.js +5 -39
- package/es/components/MenuButton/index.js +0 -9
- package/es/components/Modal/Modal.js +0 -43
- package/es/components/ModalWrapper/ModalWrapper.js +2 -15
- package/es/components/MultiSelect/FilterableMultiSelect.js +2 -60
- package/es/components/MultiSelect/MultiSelect.js +22 -70
- package/es/components/MultiSelect/MultiSelectPropTypes.js +0 -1
- package/es/components/MultiSelect/index.js +0 -1
- package/es/components/MultiSelect/tools/itemToString.js +0 -2
- package/es/components/MultiSelect/tools/sorting.js +3 -4
- package/es/components/Notification/Notification.js +0 -78
- package/es/components/NumberInput/NumberInput.Skeleton.js +0 -2
- package/es/components/NumberInput/NumberInput.js +3 -60
- package/es/components/OrderedList/OrderedList.d.ts +39 -0
- package/es/components/OrderedList/OrderedList.js +7 -19
- package/es/components/{Form/index.js → OrderedList/index.d.ts} +1 -3
- package/es/components/OverflowMenu/OverflowMenu.js +65 -86
- package/es/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
- package/es/components/OverflowMenuV2/index.js +0 -5
- package/es/components/Pagination/Pagination.Skeleton.js +0 -2
- package/es/components/Pagination/Pagination.js +11 -47
- package/es/components/Pagination/experimental/PageSelector.js +0 -10
- package/es/components/Pagination/experimental/Pagination.js +2 -48
- package/es/components/PaginationNav/PaginationNav.js +15 -59
- package/es/components/Popover/index.d.ts +14 -8
- package/es/components/Popover/index.js +44 -48
- package/es/components/PrimaryButton/PrimaryButton.js +0 -1
- package/es/components/ProgressBar/ProgressBar.js +0 -15
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
- package/es/components/ProgressIndicator/ProgressIndicator.js +2 -40
- package/es/components/RadioButton/RadioButton.Skeleton.js +0 -1
- package/es/components/RadioButton/RadioButton.js +0 -13
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
- package/es/components/RadioTile/RadioTile.js +0 -12
- package/es/components/Search/Search.Skeleton.js +0 -2
- package/es/components/Search/Search.js +1 -28
- package/es/components/SecondaryButton/SecondaryButton.js +0 -1
- package/es/components/Select/Select.Skeleton.js +0 -2
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +6 -33
- package/es/components/SelectItem/SelectItem.js +0 -5
- package/es/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
- package/es/components/SelectItemGroup/SelectItemGroup.js +1 -7
- package/es/components/SkeletonIcon/SkeletonIcon.js +0 -2
- package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
- package/es/components/SkeletonText/SkeletonText.js +0 -12
- package/es/components/Slider/Slider.Skeleton.js +0 -2
- package/es/components/Slider/Slider.d.ts +0 -1
- package/es/components/Slider/Slider.js +112 -135
- package/es/components/Stack/Stack.js +1 -8
- package/es/components/StructuredList/StructuredList.Skeleton.js +0 -5
- package/es/components/StructuredList/StructuredList.js +1 -25
- package/es/components/Switch/IconSwitch.js +0 -18
- package/es/components/Switch/Switch.js +0 -11
- package/es/components/TabContent/TabContent.js +2 -6
- package/es/components/Tabs/Tabs.Skeleton.js +0 -4
- package/es/components/Tabs/Tabs.js +135 -104
- package/es/components/Tabs/usePressable.js +18 -31
- package/es/components/Tag/Tag.Skeleton.js +0 -2
- package/es/components/Tag/Tag.js +0 -15
- package/es/components/Text/Text.js +5 -18
- package/es/components/Text/TextDirection.js +0 -3
- package/es/components/Text/TextDirectionContext.js +0 -1
- package/es/components/Text/createTextComponent.js +0 -3
- package/es/components/TextArea/TextArea.Skeleton.js +0 -2
- package/es/components/TextArea/TextArea.js +11 -33
- package/es/components/TextInput/ControlledPasswordInput.js +0 -20
- package/es/components/TextInput/PasswordInput.js +0 -25
- package/es/components/TextInput/TextInput.Skeleton.js +0 -2
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +5 -33
- package/es/components/TextInput/util.js +3 -5
- package/es/components/Theme/index.js +1 -6
- package/es/components/Tile/Tile.js +32 -59
- package/es/components/TileGroup/TileGroup.js +1 -22
- package/es/components/TimePicker/TimePicker.js +6 -32
- package/es/components/TimePickerSelect/TimePickerSelect.js +2 -5
- package/es/components/Toggle/Toggle.Skeleton.js +0 -8
- package/es/components/Toggle/Toggle.js +0 -16
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
- package/es/components/Toggletip/index.d.ts +148 -0
- package/es/components/Toggletip/index.js +20 -44
- package/es/components/Tooltip/DefinitionTooltip.js +0 -11
- package/es/components/Tooltip/Tooltip.d.ts +1 -1
- package/es/components/Tooltip/Tooltip.js +4 -21
- package/es/components/TreeView/TreeNode.js +21 -66
- package/es/components/TreeView/TreeView.js +11 -67
- package/es/components/UIShell/Content.js +2 -4
- package/es/components/UIShell/Header.js +0 -2
- package/es/components/UIShell/HeaderContainer.d.ts +33 -0
- package/es/components/UIShell/HeaderContainer.js +13 -11
- package/es/components/UIShell/HeaderGlobalAction.js +0 -6
- package/es/components/UIShell/HeaderGlobalBar.js +0 -1
- package/es/components/UIShell/HeaderMenu.js +32 -31
- package/es/components/UIShell/HeaderMenuButton.js +2 -4
- package/es/components/UIShell/HeaderMenuItem.js +0 -8
- package/es/components/UIShell/HeaderName.js +0 -5
- package/es/components/UIShell/HeaderNavigation.js +0 -2
- package/es/components/UIShell/HeaderPanel.js +0 -2
- package/es/components/UIShell/HeaderSideNavItems.js +0 -2
- package/es/components/UIShell/Link.js +2 -3
- package/es/components/UIShell/SideNav.d.ts +3 -1
- package/es/components/UIShell/SideNav.js +44 -36
- package/es/components/UIShell/SideNavDetails.js +0 -3
- package/es/components/UIShell/SideNavDivider.js +0 -1
- package/es/components/UIShell/SideNavFooter.js +1 -4
- package/es/components/UIShell/SideNavHeader.js +0 -4
- package/es/components/UIShell/SideNavIcon.js +0 -3
- package/es/components/UIShell/SideNavItem.js +0 -3
- package/es/components/UIShell/SideNavItems.js +2 -6
- package/es/components/UIShell/SideNavLink.js +3 -7
- package/es/components/UIShell/SideNavLinkText.js +0 -2
- package/es/components/UIShell/SideNavMenu.js +0 -16
- package/es/components/UIShell/SideNavMenuItem.js +0 -2
- package/es/components/UIShell/SideNavSwitcher.js +2 -5
- package/es/components/UIShell/SkipToContent.d.ts +32 -0
- package/es/components/UIShell/SkipToContent.js +8 -15
- package/es/components/UIShell/Switcher.js +0 -2
- package/es/components/UIShell/SwitcherDivider.js +0 -1
- package/es/components/UIShell/SwitcherItem.js +0 -3
- package/es/components/UnorderedList/UnorderedList.d.ts +34 -0
- package/es/components/UnorderedList/UnorderedList.js +6 -16
- package/es/components/UnorderedList/index.d.ts +7 -0
- package/es/index.js +7 -8
- package/es/internal/ClickListener.js +3 -13
- package/es/internal/FloatingMenu.js +57 -63
- package/es/internal/OptimizedResize.js +6 -12
- package/es/internal/Selection.js +2 -25
- package/es/internal/createClassWrapper.js +0 -2
- package/es/internal/deprecateFieldOnObject.js +0 -4
- package/es/internal/focus/index.js +0 -1
- package/es/internal/keyboard/keys.js +2 -1
- package/es/internal/keyboard/match.js +1 -6
- package/es/internal/keyboard/navigation.js +8 -7
- package/es/internal/useAnnouncer.js +0 -1
- package/es/internal/useAttachedMenu.js +1 -9
- package/es/internal/useControllableState.js +6 -13
- package/es/internal/useDelayedState.js +2 -4
- package/es/internal/useEffectOnce.js +0 -1
- package/es/internal/useEvent.js +61 -3
- package/es/internal/useId.js +2 -5
- package/es/internal/useIsomorphicEffect.js +1 -0
- package/es/internal/useMergedRefs.js +2 -2
- package/es/internal/useNoInteractiveChildren.js +2 -13
- package/es/internal/useNormalizedInputProps.js +0 -3
- package/es/internal/useSavedCallback.js +0 -1
- package/es/internal/warning.js +0 -3
- package/es/internal/wrapFocus.js +1 -8
- package/es/prop-types/deprecate.js +2 -5
- package/es/prop-types/isRequiredOneOf.js +2 -5
- package/es/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
- package/es/tools/array.js +0 -3
- package/es/tools/events.js +0 -3
- package/es/tools/mergeRefs.js +0 -2
- package/es/tools/wrapComponent.js +2 -5
- package/lib/_virtual/_rollupPluginBabelHelpers.js +17 -4
- package/lib/components/Accordion/Accordion.Skeleton.js +0 -7
- package/lib/components/Accordion/Accordion.js +1 -27
- package/lib/components/Accordion/AccordionItem.js +5 -19
- package/lib/components/AspectRatio/AspectRatio.js +0 -5
- package/lib/components/Breadcrumb/Breadcrumb.Skeleton.js +0 -3
- package/lib/components/Breadcrumb/Breadcrumb.js +0 -3
- package/lib/components/Breadcrumb/BreadcrumbItem.js +0 -7
- package/lib/components/Button/Button.Skeleton.js +2 -26
- package/lib/components/Button/Button.js +2 -36
- package/lib/components/ButtonSet/ButtonSet.js +0 -2
- package/lib/components/Checkbox/Checkbox.Skeleton.js +0 -1
- package/lib/components/Checkbox/Checkbox.js +4 -20
- package/lib/components/CheckboxGroup/CheckboxGroup.js +0 -11
- package/lib/components/ClassPrefix/index.d.ts +26 -0
- package/lib/components/ClassPrefix/index.js +0 -2
- package/lib/components/CodeSnippet/CodeSnippet.Skeleton.js +0 -5
- package/lib/components/CodeSnippet/CodeSnippet.js +6 -45
- package/lib/components/ComboBox/ComboBox.js +19 -86
- package/lib/components/ComboBox/tools/filter.js +0 -1
- package/lib/components/ComboButton/index.js +0 -14
- package/lib/components/ComposedModal/ComposedModal.js +2 -32
- package/lib/components/ComposedModal/ModalFooter.js +0 -21
- package/lib/components/ComposedModal/ModalHeader.js +0 -12
- package/lib/components/ContainedList/ContainedList.js +5 -32
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -6
- package/lib/components/ContentSwitcher/ContentSwitcher.js +11 -23
- package/lib/components/ContextMenu/useContextMenu.js +1 -6
- package/lib/components/Copy/Copy.js +8 -50
- package/lib/components/CopyButton/CopyButton.js +0 -4
- package/lib/components/DangerButton/DangerButton.js +0 -1
- package/lib/components/DataTable/DataTable.js +171 -91
- package/lib/components/DataTable/Table.js +0 -6
- package/lib/components/DataTable/TableBatchAction.js +0 -4
- package/lib/components/DataTable/TableBatchActions.js +0 -8
- package/lib/components/DataTable/TableBody.js +0 -1
- package/lib/components/DataTable/TableContainer.js +0 -5
- package/lib/components/DataTable/TableExpandHeader.js +0 -7
- package/lib/components/DataTable/TableExpandRow.js +0 -6
- package/lib/components/DataTable/TableExpandedRow.js +0 -6
- package/lib/components/DataTable/TableHeader.d.ts +1 -1
- package/lib/components/DataTable/TableHeader.js +3 -19
- package/lib/components/DataTable/TableRow.js +4 -5
- package/lib/components/DataTable/TableSelectAll.js +0 -8
- package/lib/components/DataTable/TableSelectRow.js +2 -10
- package/lib/components/DataTable/TableToolbar.js +0 -3
- package/lib/components/DataTable/TableToolbarMenu.d.ts +1 -1
- package/lib/components/DataTable/TableToolbarMenu.js +3 -6
- package/lib/components/DataTable/TableToolbarSearch.js +2 -30
- package/lib/components/DataTable/state/getDerivedStateFromProps.js +0 -4
- package/lib/components/DataTable/state/sorting.js +5 -8
- package/lib/components/DataTable/tools/denormalize.js +2 -2
- package/lib/components/DataTable/tools/filter.js +0 -2
- package/lib/components/DataTable/tools/instanceId.js +0 -1
- package/lib/components/DataTable/tools/normalize.js +10 -10
- package/lib/components/DataTable/tools/sorting.js +5 -13
- package/lib/components/DataTableSkeleton/DataTableSkeleton.js +5 -20
- package/lib/components/DatePicker/DatePicker.Skeleton.js +0 -6
- package/lib/components/DatePicker/DatePicker.js +152 -174
- package/lib/components/DatePicker/plugins/appendToPlugin.js +3 -7
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +14 -25
- package/lib/components/DatePicker/plugins/rangePlugin.js +2 -7
- package/lib/components/DatePickerInput/DatePickerInput.js +2 -28
- package/lib/components/Dropdown/Dropdown.Skeleton.js +0 -2
- package/lib/components/Dropdown/Dropdown.js +50 -59
- package/lib/components/ErrorBoundary/ErrorBoundary.js +0 -10
- package/lib/components/ErrorBoundary/ErrorBoundaryContext.js +0 -1
- package/lib/components/ExpandableSearch/ExpandableSearch.js +1 -10
- package/lib/components/FeatureFlags/index.js +8 -20
- package/lib/components/FileUploader/FileUploader.Skeleton.js +0 -2
- package/lib/components/FileUploader/FileUploader.js +3 -57
- package/lib/components/FileUploader/FileUploaderButton.js +3 -43
- package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -28
- package/lib/components/FileUploader/FileUploaderItem.js +1 -30
- package/lib/components/FileUploader/Filename.js +0 -10
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +0 -1
- package/lib/components/FluidComboBox/FluidComboBox.js +0 -18
- package/lib/components/FluidDatePicker/FluidDatePicker.Skeleton.js +0 -2
- package/lib/components/FluidDatePicker/FluidDatePicker.js +0 -6
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +2 -1
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +0 -1
- package/lib/components/FluidDropdown/FluidDropdown.js +0 -18
- package/lib/components/FluidForm/FluidForm.js +0 -2
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +0 -1
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +0 -19
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +0 -1
- package/lib/components/FluidSelect/FluidSelect.js +0 -10
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +0 -1
- package/lib/components/FluidTextArea/FluidTextArea.js +0 -20
- package/lib/components/FluidTextInput/FluidTextInput.Skeleton.js +0 -1
- package/lib/components/FluidTextInput/FluidTextInput.js +0 -14
- package/lib/components/FluidTimePicker/FluidTimePicker.Skeleton.js +0 -3
- package/lib/components/FluidTimePicker/FluidTimePicker.js +1 -11
- package/lib/components/FluidTimePickerSelect/FluidTimePickerSelect.js +0 -6
- package/lib/components/Form/Form.d.ts +23 -0
- package/lib/components/Form/Form.js +3 -6
- package/lib/components/Form/index.d.ts +7 -0
- package/lib/components/FormGroup/FormGroup.js +0 -7
- package/lib/components/FormItem/FormItem.js +0 -2
- package/lib/components/FormLabel/FormLabel.js +1 -26
- package/lib/components/Grid/CSSGrid.js +2 -15
- package/lib/components/Grid/Column.js +18 -59
- package/lib/components/Grid/ColumnHang.js +2 -5
- package/lib/components/Grid/FlexGrid.js +2 -8
- package/lib/components/Grid/Grid.js +0 -8
- package/lib/components/Grid/GridContext.js +1 -3
- package/lib/components/Grid/Row.js +2 -7
- package/lib/components/Heading/index.js +0 -4
- package/lib/components/Icon/Icon.Skeleton.js +2 -2
- package/lib/components/IconButton/index.js +0 -10
- package/lib/components/IdPrefix/index.js +0 -2
- package/lib/components/InlineCheckbox/InlineCheckbox.js +0 -14
- package/lib/components/InlineLoading/InlineLoading.js +0 -12
- package/lib/components/Layer/index.js +3 -6
- package/lib/components/Layout/LayoutDirection.js +0 -3
- package/lib/components/Layout/useLayoutDirection.js +0 -1
- package/lib/components/Link/Link.js +3 -10
- package/lib/components/ListBox/ListBox.js +2 -13
- package/lib/components/ListBox/ListBoxField.js +0 -5
- package/lib/components/ListBox/ListBoxMenuIcon.js +0 -4
- package/lib/components/ListBox/ListBoxMenuItem.js +2 -6
- package/lib/components/ListBox/ListBoxPropTypes.d.ts +2 -2
- package/lib/components/ListBox/ListBoxSelection.js +1 -13
- package/lib/components/ListBox/next/ListBoxSelection.js +1 -14
- package/lib/components/ListBox/next/ListBoxTrigger.js +1 -3
- package/lib/components/ListItem/ListItem.d.ts +23 -0
- package/lib/components/ListItem/ListItem.js +4 -8
- package/lib/components/ListItem/index.d.ts +7 -0
- package/lib/components/Loading/Loading.js +0 -6
- package/lib/components/Menu/Menu.js +22 -40
- package/lib/components/Menu/MenuContext.js +4 -5
- package/lib/components/Menu/MenuItem.js +5 -39
- package/lib/components/MenuButton/index.js +0 -9
- package/lib/components/Modal/Modal.js +0 -43
- package/lib/components/ModalWrapper/ModalWrapper.js +2 -15
- package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -66
- package/lib/components/MultiSelect/MultiSelect.js +30 -78
- package/lib/components/MultiSelect/MultiSelectPropTypes.js +0 -1
- package/lib/components/MultiSelect/index.js +0 -1
- package/lib/components/MultiSelect/tools/itemToString.js +0 -2
- package/lib/components/MultiSelect/tools/sorting.js +3 -4
- package/lib/components/Notification/Notification.js +0 -78
- package/lib/components/NumberInput/NumberInput.Skeleton.js +0 -2
- package/lib/components/NumberInput/NumberInput.js +3 -60
- package/lib/components/OrderedList/OrderedList.d.ts +39 -0
- package/lib/components/OrderedList/OrderedList.js +7 -19
- package/lib/components/OrderedList/index.d.ts +7 -0
- package/lib/components/OverflowMenu/OverflowMenu.js +65 -86
- package/lib/components/OverflowMenuItem/OverflowMenuItem.js +6 -23
- package/lib/components/OverflowMenuV2/index.js +0 -5
- package/lib/components/Pagination/Pagination.Skeleton.js +0 -2
- package/lib/components/Pagination/Pagination.js +11 -47
- package/lib/components/Pagination/experimental/PageSelector.js +0 -10
- package/lib/components/Pagination/experimental/Pagination.js +2 -67
- package/lib/components/PaginationNav/PaginationNav.js +15 -78
- package/lib/components/Popover/index.d.ts +14 -8
- package/lib/components/Popover/index.js +44 -48
- package/lib/components/PrimaryButton/PrimaryButton.js +0 -1
- package/lib/components/ProgressBar/ProgressBar.js +0 -15
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +0 -4
- package/lib/components/ProgressIndicator/ProgressIndicator.js +2 -40
- package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -1
- package/lib/components/RadioButton/RadioButton.js +0 -13
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +3 -23
- package/lib/components/RadioTile/RadioTile.js +0 -12
- package/lib/components/Search/Search.Skeleton.js +0 -2
- package/lib/components/Search/Search.js +1 -28
- package/lib/components/SecondaryButton/SecondaryButton.js +0 -1
- package/lib/components/Select/Select.Skeleton.js +0 -2
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +6 -33
- package/lib/components/SelectItem/SelectItem.js +0 -5
- package/lib/components/SelectItemGroup/SelectItemGroup.d.ts +0 -1
- package/lib/components/SelectItemGroup/SelectItemGroup.js +1 -26
- package/lib/components/SkeletonIcon/SkeletonIcon.js +0 -2
- package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +0 -1
- package/lib/components/SkeletonText/SkeletonText.js +0 -12
- package/lib/components/Slider/Slider.Skeleton.js +0 -2
- package/lib/components/Slider/Slider.d.ts +0 -1
- package/lib/components/Slider/Slider.js +112 -154
- package/lib/components/Stack/Stack.js +1 -8
- package/lib/components/StructuredList/StructuredList.Skeleton.js +0 -5
- package/lib/components/StructuredList/StructuredList.js +1 -25
- package/lib/components/Switch/IconSwitch.js +0 -18
- package/lib/components/Switch/Switch.js +0 -11
- package/lib/components/TabContent/TabContent.js +2 -6
- package/lib/components/Tabs/Tabs.Skeleton.js +0 -4
- package/lib/components/Tabs/Tabs.js +133 -102
- package/lib/components/Tabs/usePressable.js +18 -31
- package/lib/components/Tag/Tag.Skeleton.js +0 -2
- package/lib/components/Tag/Tag.js +0 -15
- package/lib/components/Text/Text.js +5 -18
- package/lib/components/Text/TextDirection.js +0 -3
- package/lib/components/Text/TextDirectionContext.js +0 -1
- package/lib/components/Text/createTextComponent.js +0 -3
- package/lib/components/TextArea/TextArea.Skeleton.js +0 -2
- package/lib/components/TextArea/TextArea.js +10 -32
- package/lib/components/TextInput/ControlledPasswordInput.js +0 -20
- package/lib/components/TextInput/PasswordInput.js +0 -25
- package/lib/components/TextInput/TextInput.Skeleton.js +0 -2
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +5 -52
- package/lib/components/TextInput/util.js +3 -5
- package/lib/components/Theme/index.js +1 -6
- package/lib/components/Tile/Tile.js +31 -58
- package/lib/components/TileGroup/TileGroup.js +1 -22
- package/lib/components/TimePicker/TimePicker.js +6 -32
- package/lib/components/TimePickerSelect/TimePickerSelect.js +2 -5
- package/lib/components/Toggle/Toggle.Skeleton.js +0 -8
- package/lib/components/Toggle/Toggle.js +0 -16
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -7
- package/lib/components/Toggletip/index.d.ts +148 -0
- package/lib/components/Toggletip/index.js +20 -44
- package/lib/components/Tooltip/DefinitionTooltip.js +0 -11
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/Tooltip/Tooltip.js +4 -21
- package/lib/components/TreeView/TreeNode.js +21 -66
- package/lib/components/TreeView/TreeView.js +11 -67
- package/lib/components/UIShell/Content.js +2 -4
- package/lib/components/UIShell/Header.js +0 -2
- package/lib/components/UIShell/HeaderContainer.d.ts +33 -0
- package/lib/components/UIShell/HeaderContainer.js +13 -11
- package/lib/components/UIShell/HeaderGlobalAction.js +0 -6
- package/lib/components/UIShell/HeaderGlobalBar.js +0 -1
- package/lib/components/UIShell/HeaderMenu.js +32 -31
- package/lib/components/UIShell/HeaderMenuButton.js +2 -4
- package/lib/components/UIShell/HeaderMenuItem.js +0 -8
- package/lib/components/UIShell/HeaderName.js +0 -5
- package/lib/components/UIShell/HeaderNavigation.js +0 -2
- package/lib/components/UIShell/HeaderPanel.js +0 -2
- package/lib/components/UIShell/HeaderSideNavItems.js +0 -2
- package/lib/components/UIShell/Link.js +2 -3
- package/lib/components/UIShell/SideNav.d.ts +3 -1
- package/lib/components/UIShell/SideNav.js +43 -35
- package/lib/components/UIShell/SideNavDetails.js +0 -3
- package/lib/components/UIShell/SideNavDivider.js +0 -1
- package/lib/components/UIShell/SideNavFooter.js +1 -4
- package/lib/components/UIShell/SideNavHeader.js +0 -4
- package/lib/components/UIShell/SideNavIcon.js +0 -3
- package/lib/components/UIShell/SideNavItem.js +0 -3
- package/lib/components/UIShell/SideNavItems.js +2 -6
- package/lib/components/UIShell/SideNavLink.js +3 -7
- package/lib/components/UIShell/SideNavLinkText.js +0 -2
- package/lib/components/UIShell/SideNavMenu.js +0 -16
- package/lib/components/UIShell/SideNavMenuItem.js +0 -2
- package/lib/components/UIShell/SideNavSwitcher.js +2 -5
- package/lib/components/UIShell/SkipToContent.d.ts +32 -0
- package/lib/components/UIShell/SkipToContent.js +8 -15
- package/lib/components/UIShell/Switcher.js +0 -2
- package/lib/components/UIShell/SwitcherDivider.js +0 -1
- package/lib/components/UIShell/SwitcherItem.js +0 -3
- package/lib/components/UnorderedList/UnorderedList.d.ts +34 -0
- package/lib/components/UnorderedList/UnorderedList.js +6 -16
- package/lib/components/UnorderedList/index.d.ts +7 -0
- package/lib/index.js +42 -43
- package/lib/internal/ClickListener.js +3 -13
- package/lib/internal/FloatingMenu.js +57 -63
- package/lib/internal/OptimizedResize.js +6 -12
- package/lib/internal/Selection.js +2 -25
- package/lib/internal/createClassWrapper.js +0 -2
- package/lib/internal/deprecateFieldOnObject.js +0 -4
- package/lib/internal/focus/index.js +0 -1
- package/lib/internal/keyboard/keys.js +2 -1
- package/lib/internal/keyboard/match.js +1 -6
- package/lib/internal/keyboard/navigation.js +8 -7
- package/lib/internal/useAnnouncer.js +0 -1
- package/lib/internal/useAttachedMenu.js +1 -9
- package/lib/internal/useControllableState.js +6 -13
- package/lib/internal/useDelayedState.js +2 -4
- package/lib/internal/useEffectOnce.js +0 -1
- package/lib/internal/useEvent.js +61 -2
- package/lib/internal/useId.js +2 -5
- package/lib/internal/useIsomorphicEffect.js +1 -0
- package/lib/internal/useMergedRefs.js +2 -2
- package/lib/internal/useNoInteractiveChildren.js +2 -13
- package/lib/internal/useNormalizedInputProps.js +0 -3
- package/lib/internal/useSavedCallback.js +0 -1
- package/lib/internal/warning.js +0 -3
- package/lib/internal/wrapFocus.js +1 -8
- package/lib/prop-types/deprecate.js +2 -5
- package/lib/prop-types/isRequiredOneOf.js +2 -5
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +0 -2
- package/lib/tools/array.js +0 -3
- package/lib/tools/events.js +0 -3
- package/lib/tools/mergeRefs.js +0 -2
- package/lib/tools/wrapComponent.js +2 -5
- package/package.json +9 -9
- package/es/components/Tab/Tab.js +0 -185
- package/es/components/Tab/index.js +0 -14
- package/es/components/TimePickerSelect/index.js +0 -13
- package/lib/components/Form/index.js +0 -17
- package/lib/components/Tab/Tab.js +0 -214
- package/lib/components/Tab/index.js +0 -39
- package/lib/components/TimePickerSelect/index.js +0 -38
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
import { defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import * as FeatureFlags from '@carbon/feature-flags';
|
|
12
11
|
import React__default from 'react';
|
|
13
12
|
import Filename from './Filename.js';
|
|
14
13
|
import FileUploaderButton from './FileUploaderButton.js';
|
|
@@ -20,49 +19,39 @@ import { Enter, Space } from '../../internal/keyboard/keys.js';
|
|
|
20
19
|
class FileUploader extends React__default.Component {
|
|
21
20
|
constructor() {
|
|
22
21
|
super(...arguments);
|
|
23
|
-
|
|
24
22
|
_defineProperty(this, "state", {
|
|
25
23
|
filenames: []
|
|
26
24
|
});
|
|
27
|
-
|
|
28
25
|
_defineProperty(this, "nodes", []);
|
|
29
|
-
|
|
30
26
|
_defineProperty(this, "uploaderButton", /*#__PURE__*/React__default.createRef());
|
|
31
|
-
|
|
32
27
|
_defineProperty(this, "handleChange", evt => {
|
|
33
28
|
evt.stopPropagation();
|
|
34
29
|
const filenames = Array.prototype.map.call(evt.target.files, file => file.name);
|
|
35
30
|
this.setState({
|
|
36
31
|
filenames: this.props.multiple ? this.state.filenames.concat(filenames) : filenames
|
|
37
32
|
});
|
|
38
|
-
|
|
39
33
|
if (this.props.onChange) {
|
|
40
34
|
this.props.onChange(evt);
|
|
41
35
|
}
|
|
42
36
|
});
|
|
43
|
-
|
|
44
37
|
_defineProperty(this, "handleClick", (evt, _ref) => {
|
|
45
38
|
let {
|
|
46
39
|
index,
|
|
47
40
|
filenameStatus
|
|
48
41
|
} = _ref;
|
|
49
|
-
|
|
50
42
|
if (filenameStatus === 'edit') {
|
|
51
43
|
evt.stopPropagation();
|
|
52
44
|
const filteredArray = this.state.filenames.filter(filename => filename !== this.nodes[index].innerText.trim());
|
|
53
45
|
this.setState({
|
|
54
46
|
filenames: filteredArray
|
|
55
47
|
});
|
|
56
|
-
|
|
57
48
|
if (this.props.onDelete) {
|
|
58
49
|
this.props.onDelete(evt);
|
|
59
50
|
this.uploaderButton.current.focus();
|
|
60
51
|
}
|
|
61
|
-
|
|
62
52
|
this.props.onClick(evt);
|
|
63
53
|
}
|
|
64
54
|
});
|
|
65
|
-
|
|
66
55
|
_defineProperty(this, "clearFiles", () => {
|
|
67
56
|
// A clearFiles function that resets filenames and can be referenced using a ref by the parent.
|
|
68
57
|
this.setState({
|
|
@@ -70,7 +59,6 @@ class FileUploader extends React__default.Component {
|
|
|
70
59
|
});
|
|
71
60
|
});
|
|
72
61
|
}
|
|
73
|
-
|
|
74
62
|
static getDerivedStateFromProps(_ref2, state) {
|
|
75
63
|
let {
|
|
76
64
|
filenameStatus
|
|
@@ -83,7 +71,6 @@ class FileUploader extends React__default.Component {
|
|
|
83
71
|
prevFilenameStatus: filenameStatus
|
|
84
72
|
};
|
|
85
73
|
}
|
|
86
|
-
|
|
87
74
|
render() {
|
|
88
75
|
const {
|
|
89
76
|
iconDescription,
|
|
@@ -107,18 +94,16 @@ class FileUploader extends React__default.Component {
|
|
|
107
94
|
[`${prefix}--form-item`]: true,
|
|
108
95
|
[className]: className
|
|
109
96
|
});
|
|
110
|
-
|
|
111
97
|
const getHelperLabelClasses = baseClass => cx(baseClass, {
|
|
112
98
|
[`${prefix}--label-description--disabled`]: disabled
|
|
113
99
|
});
|
|
114
|
-
|
|
115
100
|
const selectedFileClasses = cx(`${prefix}--file__selected-file`, {
|
|
116
101
|
[`${prefix}--file__selected-file--md`]: size === 'field' || size === 'md',
|
|
117
102
|
[`${prefix}--file__selected-file--sm`]: size === 'small' || size === 'sm'
|
|
118
103
|
});
|
|
119
104
|
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
120
105
|
className: classes
|
|
121
|
-
}, other),
|
|
106
|
+
}, other), !labelTitle ? null : /*#__PURE__*/React__default.createElement("p", {
|
|
122
107
|
className: getHelperLabelClasses(`${prefix}--file--label`)
|
|
123
108
|
}, labelTitle), /*#__PURE__*/React__default.createElement("p", {
|
|
124
109
|
className: getHelperLabelClasses(`${prefix}--label-description`)
|
|
@@ -139,7 +124,6 @@ class FileUploader extends React__default.Component {
|
|
|
139
124
|
key: index,
|
|
140
125
|
className: selectedFileClasses,
|
|
141
126
|
ref: node => this.nodes[index] = node // eslint-disable-line
|
|
142
|
-
|
|
143
127
|
}, other), /*#__PURE__*/React__default.createElement("p", {
|
|
144
128
|
className: `${prefix}--file-filename`,
|
|
145
129
|
id: name
|
|
@@ -163,96 +147,77 @@ class FileUploader extends React__default.Component {
|
|
|
163
147
|
})
|
|
164
148
|
}))))));
|
|
165
149
|
}
|
|
166
|
-
|
|
167
150
|
}
|
|
168
|
-
|
|
169
151
|
_defineProperty(FileUploader, "propTypes", {
|
|
170
152
|
/**
|
|
171
153
|
* Specify the types of files that this input should be able to receive
|
|
172
154
|
*/
|
|
173
155
|
accept: PropTypes.arrayOf(PropTypes.string),
|
|
174
|
-
|
|
175
156
|
/**
|
|
176
157
|
* Specify the type of the `<FileUploaderButton>`
|
|
177
158
|
*/
|
|
178
159
|
buttonKind: PropTypes.oneOf(ButtonKinds),
|
|
179
|
-
|
|
180
160
|
/**
|
|
181
161
|
* Provide the label text to be read by screen readers when interacting with
|
|
182
162
|
* the `<FileUploaderButton>`
|
|
183
163
|
*/
|
|
184
164
|
buttonLabel: PropTypes.string,
|
|
185
|
-
|
|
186
165
|
/**
|
|
187
166
|
* Provide a custom className to be applied to the container node
|
|
188
167
|
*/
|
|
189
168
|
className: PropTypes.string,
|
|
190
|
-
|
|
191
169
|
/**
|
|
192
170
|
* Specify whether file input is disabled
|
|
193
171
|
*/
|
|
194
172
|
disabled: PropTypes.bool,
|
|
195
|
-
|
|
196
173
|
/**
|
|
197
174
|
* Specify the status of the File Upload
|
|
198
175
|
*/
|
|
199
176
|
filenameStatus: PropTypes.oneOf(['edit', 'complete', 'uploading']).isRequired,
|
|
200
|
-
|
|
201
177
|
/**
|
|
202
178
|
* Provide a description for the complete/close icon that can be read by screen readers
|
|
203
179
|
*/
|
|
204
|
-
iconDescription:
|
|
205
|
-
|
|
180
|
+
iconDescription: PropTypes.string.isRequired,
|
|
206
181
|
/**
|
|
207
182
|
* Specify the description text of this `<FileUploader>`
|
|
208
183
|
*/
|
|
209
184
|
labelDescription: PropTypes.string,
|
|
210
|
-
|
|
211
185
|
/**
|
|
212
186
|
* Specify the title text of this `<FileUploader>`
|
|
213
187
|
*/
|
|
214
188
|
labelTitle: PropTypes.string,
|
|
215
|
-
|
|
216
189
|
/**
|
|
217
190
|
* Specify if the component should accept multiple files to upload
|
|
218
191
|
*/
|
|
219
192
|
multiple: PropTypes.bool,
|
|
220
|
-
|
|
221
193
|
/**
|
|
222
194
|
* Provide a name for the underlying `<input>` node
|
|
223
195
|
*/
|
|
224
196
|
name: PropTypes.string,
|
|
225
|
-
|
|
226
197
|
/**
|
|
227
198
|
* Provide an optional `onChange` hook that is called each time the input is
|
|
228
199
|
* changed
|
|
229
200
|
*/
|
|
230
201
|
onChange: PropTypes.func,
|
|
231
|
-
|
|
232
202
|
/**
|
|
233
203
|
* Provide an optional `onClick` hook that is called each time the
|
|
234
204
|
* FileUploader is clicked
|
|
235
205
|
*/
|
|
236
206
|
onClick: PropTypes.func,
|
|
237
|
-
|
|
238
207
|
/**
|
|
239
208
|
* Provide an optional `onDelete` hook that is called when an uploaded item
|
|
240
209
|
* is removed
|
|
241
210
|
*/
|
|
242
211
|
onDelete: PropTypes.func,
|
|
243
|
-
|
|
244
212
|
/**
|
|
245
213
|
* Specify the size of the FileUploaderButton, from a list of available
|
|
246
214
|
* sizes.
|
|
247
215
|
*/
|
|
248
|
-
size:
|
|
216
|
+
size: PropTypes.oneOf(['sm', 'md', 'lg'])
|
|
249
217
|
});
|
|
250
|
-
|
|
251
218
|
_defineProperty(FileUploader, "contextType", PrefixContext);
|
|
252
|
-
|
|
253
219
|
_defineProperty(FileUploader, "defaultProps", {
|
|
254
220
|
disabled: false,
|
|
255
|
-
iconDescription: FeatureFlags.enabled('enable-v11-release') ? undefined : 'Provide icon description',
|
|
256
221
|
filenameStatus: 'uploading',
|
|
257
222
|
buttonLabel: '',
|
|
258
223
|
buttonKind: 'primary',
|
|
@@ -12,13 +12,11 @@ import React__default, { useState, useRef } from 'react';
|
|
|
12
12
|
import { ButtonKinds } from '../../prop-types/types.js';
|
|
13
13
|
import uniqueId from '../../tools/uniqueId.js';
|
|
14
14
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
-
import * as FeatureFlags from '@carbon/feature-flags';
|
|
16
15
|
import deprecate from '../../prop-types/deprecate.js';
|
|
17
16
|
import { matches } from '../../internal/keyboard/match.js';
|
|
18
17
|
import { Enter, Space } from '../../internal/keyboard/keys.js';
|
|
19
18
|
|
|
20
19
|
function noop() {}
|
|
21
|
-
|
|
22
20
|
function FileUploaderButton(_ref) {
|
|
23
21
|
let {
|
|
24
22
|
accept,
|
|
@@ -49,30 +47,27 @@ function FileUploaderButton(_ref) {
|
|
|
49
47
|
// V11: remove field, small
|
|
50
48
|
[`${prefix}--btn--md`]: size === 'field' || size === 'md',
|
|
51
49
|
[`${prefix}--btn--sm`]: size === 'small' || size === 'sm'
|
|
52
|
-
});
|
|
50
|
+
});
|
|
53
51
|
|
|
52
|
+
// Adjust label text state based on changes to the labelText prop
|
|
54
53
|
if (ownerLabelText !== prevOwnerLabelText) {
|
|
55
54
|
setLabelText(ownerLabelText);
|
|
56
55
|
setPrevOwnerLabelText(ownerLabelText);
|
|
57
56
|
}
|
|
58
|
-
|
|
59
57
|
function onClick(event) {
|
|
60
58
|
event.target.value = null;
|
|
61
59
|
inputNode.current.value = '';
|
|
62
60
|
inputNode.current.click();
|
|
63
61
|
}
|
|
64
|
-
|
|
65
62
|
function onKeyDown(event) {
|
|
66
63
|
if (matches(event, [Enter, Space])) {
|
|
67
64
|
inputNode.current.value = '';
|
|
68
65
|
inputNode.current.click();
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
|
-
|
|
72
68
|
function handleOnChange(event) {
|
|
73
69
|
const files = event.target.files;
|
|
74
70
|
const length = event.target.files.length;
|
|
75
|
-
|
|
76
71
|
if (files && !disableLabelChanges) {
|
|
77
72
|
if (length > 1) {
|
|
78
73
|
setLabelText(`${length} files`);
|
|
@@ -80,10 +75,8 @@ function FileUploaderButton(_ref) {
|
|
|
80
75
|
setLabelText(files[0].name);
|
|
81
76
|
}
|
|
82
77
|
}
|
|
83
|
-
|
|
84
78
|
onChange(event);
|
|
85
79
|
}
|
|
86
|
-
|
|
87
80
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("button", _extends({
|
|
88
81
|
type: "button",
|
|
89
82
|
disabled: disabled,
|
|
@@ -107,78 +100,64 @@ function FileUploaderButton(_ref) {
|
|
|
107
100
|
onChange: handleOnChange
|
|
108
101
|
}));
|
|
109
102
|
}
|
|
110
|
-
|
|
111
103
|
FileUploaderButton.propTypes = {
|
|
112
104
|
/**
|
|
113
105
|
* Specify the types of files that this input should be able to receive
|
|
114
106
|
*/
|
|
115
107
|
accept: PropTypes.arrayOf(PropTypes.string),
|
|
116
|
-
|
|
117
108
|
/**
|
|
118
109
|
* Specify the type of underlying button
|
|
119
110
|
*/
|
|
120
111
|
buttonKind: PropTypes.oneOf(ButtonKinds),
|
|
121
|
-
|
|
122
112
|
/**
|
|
123
113
|
* Provide a custom className to be applied to the container node
|
|
124
114
|
*/
|
|
125
115
|
className: PropTypes.string,
|
|
126
|
-
|
|
127
116
|
/**
|
|
128
117
|
* Specify whether you want to disable any updates to the FileUploaderButton
|
|
129
118
|
* label
|
|
130
119
|
*/
|
|
131
120
|
disableLabelChanges: PropTypes.bool,
|
|
132
|
-
|
|
133
121
|
/**
|
|
134
122
|
* Specify whether file input is disabled
|
|
135
123
|
*/
|
|
136
124
|
disabled: PropTypes.bool,
|
|
137
|
-
|
|
138
125
|
/**
|
|
139
126
|
* Provide a unique id for the underlying `<input>` node
|
|
140
127
|
*/
|
|
141
128
|
id: PropTypes.string,
|
|
142
|
-
|
|
143
129
|
/**
|
|
144
130
|
* Provide the label text to be read by screen readers when interacting with
|
|
145
131
|
* this control
|
|
146
132
|
*/
|
|
147
133
|
labelText: PropTypes.node,
|
|
148
|
-
|
|
149
134
|
/**
|
|
150
135
|
* Specify if the component should accept multiple files to upload
|
|
151
136
|
*/
|
|
152
137
|
multiple: PropTypes.bool,
|
|
153
|
-
|
|
154
138
|
/**
|
|
155
139
|
* Provide a name for the underlying `<input>` node
|
|
156
140
|
*/
|
|
157
141
|
name: PropTypes.string,
|
|
158
|
-
|
|
159
142
|
/**
|
|
160
143
|
* Provide an optional `onChange` hook that is called each time the `<input>`
|
|
161
144
|
* value changes
|
|
162
145
|
*/
|
|
163
146
|
onChange: PropTypes.func,
|
|
164
|
-
|
|
165
147
|
/**
|
|
166
148
|
* Provide an optional `onClick` hook that is called each time the button is
|
|
167
149
|
* clicked
|
|
168
150
|
*/
|
|
169
151
|
onClick: PropTypes.func,
|
|
170
|
-
|
|
171
152
|
/**
|
|
172
153
|
* Provide an accessibility role for the `<FileUploaderButton>`
|
|
173
154
|
*/
|
|
174
155
|
role: PropTypes.string,
|
|
175
|
-
|
|
176
156
|
/**
|
|
177
157
|
* Specify the size of the FileUploaderButton, from a list of available
|
|
178
158
|
* sizes.
|
|
179
159
|
*/
|
|
180
|
-
size:
|
|
181
|
-
|
|
160
|
+
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
182
161
|
/**
|
|
183
162
|
* Provide a custom tabIndex value for the `<FileUploaderButton>`
|
|
184
163
|
*/
|
|
@@ -43,18 +43,16 @@ function FileUploaderDropContainer(_ref) {
|
|
|
43
43
|
[`${prefix}--file-browse-btn--disabled`]: disabled,
|
|
44
44
|
[className]: className
|
|
45
45
|
});
|
|
46
|
+
|
|
46
47
|
/**
|
|
47
48
|
* Filters the array of added files based on file type restrictions
|
|
48
49
|
* @param {Event} event - Event object, used to get the list of files added
|
|
49
50
|
*/
|
|
50
|
-
|
|
51
51
|
function validateFiles(event) {
|
|
52
52
|
const transferredFiles = event.type === 'drop' ? [...event.dataTransfer.files] : [...event.target.files];
|
|
53
|
-
|
|
54
53
|
if (!accept.length) {
|
|
55
54
|
return transferredFiles;
|
|
56
55
|
}
|
|
57
|
-
|
|
58
56
|
const acceptedTypes = new Set(accept);
|
|
59
57
|
return transferredFiles.reduce((acc, curr) => {
|
|
60
58
|
const {
|
|
@@ -63,67 +61,54 @@ function FileUploaderDropContainer(_ref) {
|
|
|
63
61
|
} = curr;
|
|
64
62
|
const fileExtensionRegExp = new RegExp(pattern, 'i');
|
|
65
63
|
const hasFileExtension = fileExtensionRegExp.test(name);
|
|
66
|
-
|
|
67
64
|
if (!hasFileExtension) {
|
|
68
65
|
return acc;
|
|
69
66
|
}
|
|
70
|
-
|
|
71
67
|
const [fileExtension] = name.match(fileExtensionRegExp);
|
|
72
|
-
|
|
73
68
|
if (acceptedTypes.has(mimeType) || acceptedTypes.has(fileExtension.toLowerCase())) {
|
|
74
69
|
return acc.concat([curr]);
|
|
75
70
|
}
|
|
76
|
-
|
|
77
71
|
curr.invalidFileType = true;
|
|
78
72
|
return acc.concat([curr]);
|
|
79
73
|
}, []);
|
|
80
74
|
}
|
|
81
|
-
|
|
82
75
|
function handleChange(event) {
|
|
83
76
|
const addedFiles = validateFiles(event);
|
|
84
77
|
return onAddFiles(event, {
|
|
85
78
|
addedFiles
|
|
86
79
|
});
|
|
87
80
|
}
|
|
88
|
-
|
|
89
81
|
const handleClick = () => {
|
|
90
82
|
if (!disabled) {
|
|
91
83
|
inputRef.current.click();
|
|
92
84
|
}
|
|
93
85
|
};
|
|
94
|
-
|
|
95
86
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
96
87
|
className: `${prefix}--file`,
|
|
97
88
|
onDragOver: evt => {
|
|
98
89
|
evt.stopPropagation();
|
|
99
90
|
evt.preventDefault();
|
|
100
|
-
|
|
101
91
|
if (disabled) {
|
|
102
92
|
return;
|
|
103
93
|
}
|
|
104
|
-
|
|
105
94
|
setActive(true);
|
|
106
95
|
evt.dataTransfer.dropEffect = 'copy';
|
|
107
96
|
},
|
|
108
97
|
onDragLeave: evt => {
|
|
109
98
|
evt.stopPropagation();
|
|
110
99
|
evt.preventDefault();
|
|
111
|
-
|
|
112
100
|
if (disabled) {
|
|
113
101
|
return;
|
|
114
102
|
}
|
|
115
|
-
|
|
116
103
|
setActive(false);
|
|
117
104
|
evt.dataTransfer.dropEffect = 'move';
|
|
118
105
|
},
|
|
119
106
|
onDrop: evt => {
|
|
120
107
|
evt.stopPropagation();
|
|
121
108
|
evt.preventDefault();
|
|
122
|
-
|
|
123
109
|
if (disabled) {
|
|
124
110
|
return;
|
|
125
111
|
}
|
|
126
|
-
|
|
127
112
|
setActive(false);
|
|
128
113
|
handleChange(evt);
|
|
129
114
|
}
|
|
@@ -157,66 +142,54 @@ function FileUploaderDropContainer(_ref) {
|
|
|
157
142
|
}
|
|
158
143
|
}));
|
|
159
144
|
}
|
|
160
|
-
|
|
161
145
|
FileUploaderDropContainer.propTypes = {
|
|
162
146
|
/**
|
|
163
147
|
* Specify the types of files that this input should be able to receive
|
|
164
148
|
*/
|
|
165
149
|
accept: PropTypes.arrayOf(PropTypes.string),
|
|
166
|
-
|
|
167
150
|
/**
|
|
168
151
|
* Provide a custom className to be applied to the container node
|
|
169
152
|
*/
|
|
170
153
|
className: PropTypes.string,
|
|
171
|
-
|
|
172
154
|
/**
|
|
173
155
|
* Specify whether file input is disabled
|
|
174
156
|
*/
|
|
175
157
|
disabled: PropTypes.bool,
|
|
176
|
-
|
|
177
158
|
/**
|
|
178
159
|
* Provide a unique id for the underlying `<input>` node
|
|
179
160
|
*/
|
|
180
161
|
id: PropTypes.string,
|
|
181
|
-
|
|
182
162
|
/**
|
|
183
163
|
* Provide the label text to be read by screen readers when interacting with
|
|
184
164
|
* this control
|
|
185
165
|
*/
|
|
186
166
|
labelText: PropTypes.string.isRequired,
|
|
187
|
-
|
|
188
167
|
/**
|
|
189
168
|
* Specify if the component should accept multiple files to upload
|
|
190
169
|
*/
|
|
191
170
|
multiple: PropTypes.bool,
|
|
192
|
-
|
|
193
171
|
/**
|
|
194
172
|
* Provide a name for the underlying `<input>` node
|
|
195
173
|
*/
|
|
196
174
|
name: PropTypes.string,
|
|
197
|
-
|
|
198
175
|
/**
|
|
199
176
|
* Event handler that is called after files are added to the uploader
|
|
200
177
|
* The event handler signature looks like `onAddFiles(evt, { addedFiles })`
|
|
201
178
|
*/
|
|
202
179
|
onAddFiles: PropTypes.func,
|
|
203
|
-
|
|
204
180
|
/**
|
|
205
181
|
* Provide an optional function to be called when the button element
|
|
206
182
|
* is clicked
|
|
207
183
|
*/
|
|
208
184
|
onClick: PropTypes.func,
|
|
209
|
-
|
|
210
185
|
/**
|
|
211
186
|
* Provide a custom regex pattern for the acceptedTypes
|
|
212
187
|
*/
|
|
213
188
|
pattern: PropTypes.string,
|
|
214
|
-
|
|
215
189
|
/**
|
|
216
190
|
* Provide an accessibility role for the `<FileUploaderButton>`
|
|
217
191
|
*/
|
|
218
192
|
role: deprecate(PropTypes.number, 'The `role` prop for `FileUploaderButton` has ' + 'been deprecated since it now renders a button element by default, and has an implicit role of button.'),
|
|
219
|
-
|
|
220
193
|
/**
|
|
221
194
|
* Provide a custom tabIndex value for the `<FileUploaderButton>`
|
|
222
195
|
*/
|
|
@@ -12,7 +12,6 @@ import React__default, { useRef } from 'react';
|
|
|
12
12
|
import Filename from './Filename.js';
|
|
13
13
|
import uniqueId from '../../tools/uniqueId.js';
|
|
14
14
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
15
|
-
import * as FeatureFlags from '@carbon/feature-flags';
|
|
16
15
|
import { matches } from '../../internal/keyboard/match.js';
|
|
17
16
|
import { Enter, Space } from '../../internal/keyboard/keys.js';
|
|
18
17
|
|
|
@@ -76,50 +75,41 @@ function FileUploaderItem(_ref) {
|
|
|
76
75
|
className: `${prefix}--form-requirement__supplement`
|
|
77
76
|
}, errorBody)));
|
|
78
77
|
}
|
|
79
|
-
|
|
80
78
|
FileUploaderItem.propTypes = {
|
|
81
79
|
/**
|
|
82
80
|
* Error message body for an invalid file upload
|
|
83
81
|
*/
|
|
84
82
|
errorBody: PropTypes.string,
|
|
85
|
-
|
|
86
83
|
/**
|
|
87
84
|
* Error message subject for an invalid file upload
|
|
88
85
|
*/
|
|
89
86
|
errorSubject: PropTypes.string,
|
|
90
|
-
|
|
91
87
|
/**
|
|
92
88
|
* Description of status icon (displayed in native tooltip)
|
|
93
89
|
*/
|
|
94
90
|
iconDescription: PropTypes.string,
|
|
95
|
-
|
|
96
91
|
/**
|
|
97
92
|
* Specify if the currently uploaded file is invalid
|
|
98
93
|
*/
|
|
99
94
|
invalid: PropTypes.bool,
|
|
100
|
-
|
|
101
95
|
/**
|
|
102
96
|
* Name of the uploaded file
|
|
103
97
|
*/
|
|
104
98
|
name: PropTypes.string,
|
|
105
|
-
|
|
106
99
|
/**
|
|
107
100
|
* Event handler that is called after removing a file from the file uploader
|
|
108
101
|
* The event handler signature looks like `onDelete(evt, { uuid })`
|
|
109
102
|
*/
|
|
110
103
|
onDelete: PropTypes.func,
|
|
111
|
-
|
|
112
104
|
/**
|
|
113
105
|
* Specify the size of the FileUploaderButton, from a list of available
|
|
114
106
|
* sizes.
|
|
115
107
|
*/
|
|
116
|
-
size:
|
|
117
|
-
|
|
108
|
+
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
118
109
|
/**
|
|
119
110
|
* Status of the file upload
|
|
120
111
|
*/
|
|
121
112
|
status: PropTypes.oneOf(['uploading', 'edit', 'complete']),
|
|
122
|
-
|
|
123
113
|
/**
|
|
124
114
|
* Unique identifier for the file object
|
|
125
115
|
*/
|
|
@@ -13,7 +13,6 @@ import Loading from '../Loading/Loading.js';
|
|
|
13
13
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
14
|
|
|
15
15
|
var _Close;
|
|
16
|
-
|
|
17
16
|
function Filename(_ref) {
|
|
18
17
|
let {
|
|
19
18
|
iconDescription,
|
|
@@ -23,7 +22,6 @@ function Filename(_ref) {
|
|
|
23
22
|
...rest
|
|
24
23
|
} = _ref;
|
|
25
24
|
const prefix = usePrefix();
|
|
26
|
-
|
|
27
25
|
switch (status) {
|
|
28
26
|
case 'uploading':
|
|
29
27
|
return /*#__PURE__*/React__default.createElement(Loading, {
|
|
@@ -31,7 +29,6 @@ function Filename(_ref) {
|
|
|
31
29
|
small: true,
|
|
32
30
|
withOverlay: false
|
|
33
31
|
});
|
|
34
|
-
|
|
35
32
|
case 'edit':
|
|
36
33
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, invalid && /*#__PURE__*/React__default.createElement(WarningFilled, {
|
|
37
34
|
className: `${prefix}--file-invalid`
|
|
@@ -40,7 +37,6 @@ function Filename(_ref) {
|
|
|
40
37
|
className: `${prefix}--file-close`,
|
|
41
38
|
type: "button"
|
|
42
39
|
}, rest), _Close || (_Close = /*#__PURE__*/React__default.createElement(Close, null))));
|
|
43
|
-
|
|
44
40
|
case 'complete':
|
|
45
41
|
return /*#__PURE__*/React__default.createElement(CheckmarkFilled, _extends({
|
|
46
42
|
"aria-label": iconDescription,
|
|
@@ -48,33 +44,27 @@ function Filename(_ref) {
|
|
|
48
44
|
}, rest, {
|
|
49
45
|
tabIndex: null
|
|
50
46
|
}), iconDescription && /*#__PURE__*/React__default.createElement("title", null, iconDescription));
|
|
51
|
-
|
|
52
47
|
default:
|
|
53
48
|
return null;
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
|
-
|
|
57
51
|
Filename.propTypes = {
|
|
58
52
|
/**
|
|
59
53
|
* Provide a description of the SVG icon to denote file upload status
|
|
60
54
|
*/
|
|
61
55
|
iconDescription: PropTypes.string,
|
|
62
|
-
|
|
63
56
|
/**
|
|
64
57
|
* Specify if the file is invalid
|
|
65
58
|
*/
|
|
66
59
|
invalid: PropTypes.bool,
|
|
67
|
-
|
|
68
60
|
/**
|
|
69
61
|
* Name of the uploaded file
|
|
70
62
|
*/
|
|
71
63
|
name: PropTypes.string,
|
|
72
|
-
|
|
73
64
|
/**
|
|
74
65
|
* Status of the file upload
|
|
75
66
|
*/
|
|
76
67
|
status: PropTypes.oneOf(['edit', 'complete', 'uploading']),
|
|
77
|
-
|
|
78
68
|
/**
|
|
79
69
|
* Provide a custom tabIndex value for the `<Filename>`
|
|
80
70
|
*/
|