@carbon/react 1.80.1 → 1.81.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/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +785 -785
- package/es/components/Accordion/AccordionItem.d.ts +2 -2
- package/es/components/AspectRatio/AspectRatio.d.ts +2 -2
- package/es/components/Button/Button.js +3 -0
- package/es/components/Button/ButtonBase.d.ts +2 -2
- package/es/components/ChatButton/ChatButton.js +5 -3
- package/es/components/CodeSnippet/CodeSnippet.js +2 -0
- package/es/components/ComboBox/ComboBox.d.ts +1 -1
- package/es/components/ComboBox/ComboBox.js +52 -30
- package/es/components/ComposedModal/ComposedModal.d.ts +1 -1
- package/es/components/ComposedModal/ComposedModal.js +1 -2
- package/es/components/ComposedModal/ModalFooter.js +0 -1
- package/es/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
- package/es/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
- package/es/components/ContextMenu/useContextMenu.d.ts +1 -1
- package/es/components/DataTable/DataTable.d.ts +5 -5
- package/es/components/DataTable/DataTable.js +1 -1
- package/es/components/DataTable/TableActionList.d.ts +1 -1
- package/es/components/DataTable/TableCell.js +28 -4
- package/es/components/DataTable/TableExpandHeader.d.ts +1 -1
- package/es/components/DataTable/TableHead.d.ts +1 -1
- package/es/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/es/components/DataTable/TableToolbarSearch.d.ts +1 -1
- package/es/components/DataTable/tools/cells.d.ts +13 -0
- package/es/components/DataTable/tools/cells.js +3 -6
- package/es/components/DataTable/tools/filter.d.ts +26 -0
- package/es/components/DataTable/tools/filter.js +8 -17
- package/es/components/DatePicker/DatePicker.js +1 -1
- package/es/components/DatePickerInput/DatePickerInput.d.ts +2 -2
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- package/es/components/Dropdown/Dropdown.js +6 -6
- package/es/components/FeatureFlags/index.d.ts +1 -1
- package/es/components/FileUploader/FileUploader.d.ts +6 -1
- package/es/components/FileUploader/FileUploader.js +3 -1
- package/es/components/FileUploader/FileUploaderButton.d.ts +1 -1
- package/es/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
- package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +5 -6
- package/es/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
- package/es/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +6 -4
- package/es/components/FluidNumberInput/FluidNumberInput.Skeleton.js +40 -0
- package/es/components/FluidNumberInput/FluidNumberInput.js +123 -0
- package/es/components/FluidTextInput/FluidTextInput.js +2 -2
- package/es/components/Grid/Column.js +1 -1
- package/es/components/Grid/GridTypes.d.ts +6 -1
- package/es/components/Layer/LayerLevel.d.ts +3 -3
- package/es/components/Layer/LayerLevel.js +4 -3
- package/es/components/Layer/index.d.ts +4 -2
- package/es/components/Layer/index.js +3 -2
- package/es/components/Link/Link.js +3 -1
- package/es/components/Menu/Menu.d.ts +1 -1
- package/es/components/Menu/Menu.js +4 -14
- package/es/components/Menu/MenuContext.d.ts +1 -1
- package/es/components/Menu/MenuItem.js +15 -4
- package/es/components/Modal/Modal.js +5 -2
- package/es/components/ModalWrapper/ModalWrapper.d.ts +2 -2
- package/es/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
- package/es/components/MultiSelect/FilterableMultiSelect.js +4 -3
- package/es/components/MultiSelect/MultiSelect.d.ts +2 -6
- package/es/components/MultiSelect/MultiSelect.js +22 -4
- package/es/components/MultiSelect/index.d.ts +2 -4
- package/es/components/NumberInput/NumberInput.js +2 -1
- package/es/components/OverflowMenu/OverflowMenu.d.ts +7 -1
- package/es/components/OverflowMenu/OverflowMenu.js +69 -17
- package/es/components/OverflowMenu/index.d.ts +2 -4
- package/es/components/OverflowMenu/index.js +10 -6
- package/es/components/OverflowMenu/next/index.js +0 -1
- package/es/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
- package/es/components/PageHeader/PageHeader.d.ts +9 -2
- package/es/components/PageHeader/PageHeader.js +16 -4
- package/es/components/PageHeader/index.d.ts +2 -2
- package/es/components/PageHeader/index.js +1 -1
- package/es/components/PaginationNav/PaginationNav.d.ts +1 -1
- package/es/components/PaginationNav/PaginationNav.js +2 -1
- package/es/components/Popover/index.d.ts +3 -2
- package/es/components/Popover/index.js +10 -5
- package/es/components/Portal/index.d.ts +1 -1
- package/es/components/Search/Search.js +0 -1
- package/es/components/SkeletonText/SkeletonText.js +3 -1
- package/es/components/Slider/Slider.d.ts +3 -13
- package/es/components/Slider/Slider.js +2 -14
- package/es/components/Tabs/Tabs.d.ts +2 -2
- package/es/components/Tabs/Tabs.js +8 -6
- package/es/components/Tabs/usePressable.js +1 -1
- package/es/components/Tag/Tag.js +9 -2
- package/es/components/Text/Text.js +3 -2
- package/es/components/TextInput/ControlledPasswordInput.d.ts +1 -1
- package/es/components/TextInput/ControlledPasswordInput.js +0 -6
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +0 -4
- package/es/components/TextInput/index.d.ts +6 -0
- package/es/components/TextInput/index.js +0 -8
- package/es/components/Tile/Tile.js +0 -1
- package/es/components/Toggle/Toggle.d.ts +1 -1
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +37 -41
- package/es/components/Toggletip/index.js +11 -8
- package/es/components/Tooltip/Tooltip.d.ts +1 -1
- package/es/components/TreeView/TreeView.d.ts +1 -1
- package/es/components/UIShell/Content.d.ts +14 -1
- package/es/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/es/components/UIShell/HeaderMenu.d.ts +2 -99
- package/es/components/UIShell/HeaderMenu.js +10 -3
- package/es/components/UIShell/HeaderMenuButton.d.ts +1 -98
- package/es/components/UIShell/HeaderMenuItem.d.ts +3 -4
- package/es/components/UIShell/HeaderMenuItem.js +3 -3
- package/es/components/UIShell/HeaderName.js +1 -1
- package/es/components/UIShell/HeaderNavigation.d.ts +0 -97
- package/es/components/UIShell/Link.d.ts +8 -8
- package/es/components/UIShell/Link.js +8 -5
- package/es/components/UIShell/SideNav.d.ts +3 -3
- package/es/components/UIShell/SideNav.js +1 -1
- package/es/components/UIShell/SideNavHeader.js +0 -1
- package/es/components/UIShell/SideNavLink.d.ts +3 -4
- package/es/components/UIShell/SideNavLink.js +8 -3
- package/es/components/UIShell/SideNavMenu.js +0 -1
- package/es/components/UIShell/SideNavMenuItem.d.ts +1 -49
- package/es/components/UIShell/SideNavMenuItem.js +1 -1
- package/es/components/UIShell/SideNavSwitcher.js +0 -1
- package/es/components/UIShell/SwitcherItem.d.ts +2 -2
- package/es/components/UIShell/SwitcherItem.js +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.js +7 -7
- package/es/internal/FloatingMenu.js +2 -1
- package/es/internal/clamp.d.ts +10 -0
- package/es/internal/clamp.js +13 -0
- package/es/internal/useEvent.d.ts +9 -0
- package/es/internal/useEvent.js +8 -49
- package/es/internal/useId.js +1 -1
- package/es/internal/useMatchMedia.d.ts +7 -2
- package/es/internal/useMatchMedia.js +9 -10
- package/es/internal/useNoInteractiveChildren.js +4 -2
- package/es/internal/useOutsideClick.d.ts +1 -1
- package/es/prop-types/AriaPropTypes.js +1 -1
- package/es/prop-types/isRequiredOneOf.d.ts +16 -0
- package/es/prop-types/isRequiredOneOf.js +11 -9
- package/es/tools/setupGetInstanceId.d.ts +12 -0
- package/es/tools/setupGetInstanceId.js +7 -8
- package/es/tools/toggleClass.d.ts +14 -0
- package/es/tools/toggleClass.js +9 -10
- package/es/tools/wrapComponent.d.ts +1 -1
- package/es/types/common.d.ts +1 -6
- package/lib/components/Accordion/AccordionItem.d.ts +2 -2
- package/lib/components/AspectRatio/AspectRatio.d.ts +2 -2
- package/lib/components/Button/Button.js +3 -0
- package/lib/components/Button/ButtonBase.d.ts +2 -2
- package/lib/components/ChatButton/ChatButton.js +5 -3
- package/lib/components/CodeSnippet/CodeSnippet.js +2 -0
- package/lib/components/ComboBox/ComboBox.d.ts +1 -1
- package/lib/components/ComboBox/ComboBox.js +52 -30
- package/lib/components/ComposedModal/ComposedModal.d.ts +1 -1
- package/lib/components/ComposedModal/ComposedModal.js +2 -3
- package/lib/components/ComposedModal/ModalFooter.js +0 -1
- package/lib/components/ContainedList/ContainedListItem/ContainedListItem.js +0 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +1 -1
- package/lib/components/ContextMenu/useContextMenu.d.ts +1 -1
- package/lib/components/DataTable/DataTable.d.ts +5 -5
- package/lib/components/DataTable/DataTable.js +1 -1
- package/lib/components/DataTable/TableActionList.d.ts +1 -1
- package/lib/components/DataTable/TableCell.js +28 -3
- package/lib/components/DataTable/TableExpandHeader.d.ts +1 -1
- package/lib/components/DataTable/TableHead.d.ts +1 -1
- package/lib/components/DataTable/TableToolbarContent.d.ts +1 -1
- package/lib/components/DataTable/TableToolbarSearch.d.ts +1 -1
- package/lib/components/DataTable/tools/cells.d.ts +13 -0
- package/lib/components/DataTable/tools/cells.js +3 -6
- package/lib/components/DataTable/tools/filter.d.ts +26 -0
- package/lib/components/DataTable/tools/filter.js +8 -17
- package/lib/components/DatePicker/DatePicker.js +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +2 -2
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +6 -6
- package/lib/components/FeatureFlags/index.d.ts +1 -1
- package/lib/components/FileUploader/FileUploader.d.ts +6 -1
- package/lib/components/FileUploader/FileUploader.js +3 -1
- package/lib/components/FileUploader/FileUploaderButton.d.ts +1 -1
- package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +1 -1
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
- package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -5
- package/lib/components/FluidMultiSelect/FluidFilterableMultiSelect.d.ts +3 -3
- package/lib/components/FluidMultiSelect/FluidMultiSelect.d.ts +2 -2
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +7 -5
- package/lib/components/FluidNumberInput/FluidNumberInput.Skeleton.js +50 -0
- package/lib/components/FluidNumberInput/FluidNumberInput.js +133 -0
- package/lib/components/FluidTextInput/FluidTextInput.js +2 -2
- package/lib/components/Grid/Column.js +1 -1
- package/lib/components/Grid/GridTypes.d.ts +6 -1
- package/lib/components/Layer/LayerLevel.d.ts +3 -3
- package/lib/components/Layer/LayerLevel.js +4 -2
- package/lib/components/Layer/index.d.ts +4 -2
- package/lib/components/Layer/index.js +2 -1
- package/lib/components/Link/Link.js +3 -1
- package/lib/components/Menu/Menu.d.ts +1 -1
- package/lib/components/Menu/Menu.js +4 -14
- package/lib/components/Menu/MenuContext.d.ts +1 -1
- package/lib/components/Menu/MenuItem.js +15 -4
- package/lib/components/Modal/Modal.js +6 -3
- package/lib/components/ModalWrapper/ModalWrapper.d.ts +2 -2
- package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +3 -3
- package/lib/components/MultiSelect/FilterableMultiSelect.js +3 -2
- package/lib/components/MultiSelect/MultiSelect.d.ts +2 -6
- package/lib/components/MultiSelect/MultiSelect.js +21 -3
- package/lib/components/MultiSelect/index.d.ts +2 -4
- package/lib/components/NumberInput/NumberInput.js +2 -1
- package/lib/components/OverflowMenu/OverflowMenu.d.ts +7 -1
- package/lib/components/OverflowMenu/OverflowMenu.js +69 -17
- package/lib/components/OverflowMenu/index.d.ts +2 -4
- package/lib/components/OverflowMenu/index.js +9 -5
- package/lib/components/OverflowMenu/next/index.js +0 -1
- package/lib/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
- package/lib/components/PageHeader/PageHeader.d.ts +9 -2
- package/lib/components/PageHeader/PageHeader.js +17 -3
- package/lib/components/PageHeader/index.d.ts +2 -2
- package/lib/components/PageHeader/index.js +2 -0
- package/lib/components/PaginationNav/PaginationNav.d.ts +1 -1
- package/lib/components/PaginationNav/PaginationNav.js +2 -1
- package/lib/components/Popover/index.d.ts +3 -2
- package/lib/components/Popover/index.js +10 -5
- package/lib/components/Portal/index.d.ts +1 -1
- package/lib/components/Search/Search.js +0 -1
- package/lib/components/SkeletonText/SkeletonText.js +3 -1
- package/lib/components/Slider/Slider.d.ts +3 -13
- package/lib/components/Slider/Slider.js +2 -14
- package/lib/components/Tabs/Tabs.d.ts +2 -2
- package/lib/components/Tabs/Tabs.js +7 -5
- package/lib/components/Tabs/usePressable.js +1 -1
- package/lib/components/Tag/Tag.js +9 -2
- package/lib/components/Text/Text.js +2 -1
- package/lib/components/TextInput/ControlledPasswordInput.d.ts +1 -1
- package/lib/components/TextInput/ControlledPasswordInput.js +0 -6
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +0 -4
- package/lib/components/TextInput/index.d.ts +6 -0
- package/lib/components/TextInput/index.js +1 -7
- package/lib/components/Tile/Tile.js +0 -1
- package/lib/components/Toggle/Toggle.d.ts +1 -1
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.d.ts +9 -14
- package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +34 -39
- package/lib/components/Toggletip/index.js +11 -8
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/components/TreeView/TreeView.d.ts +1 -1
- package/lib/components/UIShell/Content.d.ts +14 -1
- package/lib/components/UIShell/HeaderGlobalBar.d.ts +1 -1
- package/lib/components/UIShell/HeaderMenu.d.ts +2 -99
- package/lib/components/UIShell/HeaderMenu.js +10 -3
- package/lib/components/UIShell/HeaderMenuButton.d.ts +1 -98
- package/lib/components/UIShell/HeaderMenuItem.d.ts +3 -4
- package/lib/components/UIShell/HeaderMenuItem.js +3 -3
- package/lib/components/UIShell/HeaderName.js +1 -1
- package/lib/components/UIShell/HeaderNavigation.d.ts +0 -97
- package/lib/components/UIShell/Link.d.ts +8 -8
- package/lib/components/UIShell/Link.js +7 -5
- package/lib/components/UIShell/SideNav.d.ts +3 -3
- package/lib/components/UIShell/SideNav.js +1 -1
- package/lib/components/UIShell/SideNavHeader.js +0 -1
- package/lib/components/UIShell/SideNavLink.d.ts +3 -4
- package/lib/components/UIShell/SideNavLink.js +8 -3
- package/lib/components/UIShell/SideNavMenu.js +0 -1
- package/lib/components/UIShell/SideNavMenuItem.d.ts +1 -49
- package/lib/components/UIShell/SideNavMenuItem.js +1 -1
- package/lib/components/UIShell/SideNavSwitcher.js +0 -1
- package/lib/components/UIShell/SwitcherItem.d.ts +2 -2
- package/lib/components/UIShell/SwitcherItem.js +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +13 -11
- package/lib/internal/FloatingMenu.js +2 -1
- package/lib/internal/clamp.d.ts +10 -0
- package/lib/internal/clamp.js +17 -0
- package/lib/internal/useEvent.d.ts +9 -0
- package/lib/internal/useEvent.js +8 -49
- package/lib/internal/useId.js +1 -1
- package/lib/internal/useMatchMedia.d.ts +7 -2
- package/lib/internal/useMatchMedia.js +9 -10
- package/lib/internal/useNoInteractiveChildren.js +4 -2
- package/lib/internal/useOutsideClick.d.ts +1 -1
- package/lib/prop-types/AriaPropTypes.js +1 -1
- package/lib/prop-types/isRequiredOneOf.d.ts +16 -0
- package/lib/prop-types/isRequiredOneOf.js +11 -9
- package/lib/tools/setupGetInstanceId.d.ts +12 -0
- package/lib/tools/setupGetInstanceId.js +7 -8
- package/lib/tools/toggleClass.d.ts +14 -0
- package/lib/tools/toggleClass.js +9 -10
- package/lib/tools/wrapComponent.d.ts +1 -1
- package/lib/types/common.d.ts +1 -6
- package/package.json +15 -15
- package/telemetry.yml +11 -12
- package/es/components/MultiSelect/index.js +0 -13
- package/es/internal/ClickListener.d.ts +0 -13
- package/es/internal/ClickListener.js +0 -47
- package/lib/components/MultiSelect/index.js +0 -19
- package/lib/internal/ClickListener.d.ts +0 -13
- package/lib/internal/ClickListener.js +0 -51
|
@@ -13,11 +13,10 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
require('../MultiSelect/index.js');
|
|
17
|
-
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
|
-
var FormContext = require('../FluidForm/FormContext.js');
|
|
19
16
|
var FilterableMultiSelect = require('../MultiSelect/FilterableMultiSelect.js');
|
|
20
17
|
var MultiSelect = require('../MultiSelect/MultiSelect.js');
|
|
18
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
21
20
|
|
|
22
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
22
|
|
|
@@ -43,10 +42,13 @@ const FluidMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(funct
|
|
|
43
42
|
}, isFilterable ?
|
|
44
43
|
/*#__PURE__*/
|
|
45
44
|
// @ts-ignore
|
|
46
|
-
React__default["default"].createElement(FilterableMultiSelect
|
|
45
|
+
React__default["default"].createElement(FilterableMultiSelect.FilterableMultiSelect, _rollupPluginBabelHelpers["extends"]({
|
|
47
46
|
ref: ref,
|
|
48
47
|
className: classNames
|
|
49
|
-
}, other)) :
|
|
48
|
+
}, other)) :
|
|
49
|
+
/*#__PURE__*/
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
React__default["default"].createElement(MultiSelect.MultiSelect, _rollupPluginBabelHelpers["extends"]({
|
|
50
52
|
ref: ref,
|
|
51
53
|
className: classNames
|
|
52
54
|
}, other)));
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
|
+
var PropTypes = require('prop-types');
|
|
14
|
+
var React = require('react');
|
|
15
|
+
var cx = require('classnames');
|
|
16
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
24
|
+
|
|
25
|
+
const FluidNumberInputSkeleton = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
className,
|
|
28
|
+
...other
|
|
29
|
+
} = _ref;
|
|
30
|
+
const prefix = usePrefix.usePrefix();
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
|
|
32
|
+
value: {
|
|
33
|
+
isFluid: true
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
36
|
+
className: cx__default["default"](`${prefix}--form-item ${prefix}--text-input--fluid__skeleton`, className)
|
|
37
|
+
}, other), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
38
|
+
className: `${prefix}--label ${prefix}--skeleton`
|
|
39
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
40
|
+
className: `${prefix}--skeleton ${prefix}--text-input`
|
|
41
|
+
})));
|
|
42
|
+
};
|
|
43
|
+
FluidNumberInputSkeleton.propTypes = {
|
|
44
|
+
/**
|
|
45
|
+
* Specify an optional className to be applied to the outer FluidForm wrapper
|
|
46
|
+
*/
|
|
47
|
+
className: PropTypes__default["default"].string
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports["default"] = FluidNumberInputSkeleton;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
|
+
var PropTypes = require('prop-types');
|
|
14
|
+
var React = require('react');
|
|
15
|
+
var cx = require('classnames');
|
|
16
|
+
require('../NumberInput/NumberInput.Skeleton.js');
|
|
17
|
+
var NumberInput = require('../NumberInput/NumberInput.js');
|
|
18
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
20
|
+
|
|
21
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
+
|
|
23
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
26
|
+
|
|
27
|
+
const FluidNumberInput = /*#__PURE__*/React__default["default"].forwardRef(function FluidNumberInput(_ref, ref) {
|
|
28
|
+
let {
|
|
29
|
+
className,
|
|
30
|
+
...other
|
|
31
|
+
} = _ref;
|
|
32
|
+
const prefix = usePrefix.usePrefix();
|
|
33
|
+
const classNames = cx__default["default"](`${prefix}--number-input--fluid`, className);
|
|
34
|
+
return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
|
|
35
|
+
value: {
|
|
36
|
+
isFluid: true
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React__default["default"].createElement(NumberInput.NumberInput, _rollupPluginBabelHelpers["extends"]({
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: classNames
|
|
41
|
+
}, other)));
|
|
42
|
+
});
|
|
43
|
+
FluidNumberInput.propTypes = {
|
|
44
|
+
/**
|
|
45
|
+
* `true` to allow empty string.
|
|
46
|
+
*/
|
|
47
|
+
allowEmpty: PropTypes__default["default"].bool,
|
|
48
|
+
/**
|
|
49
|
+
* Specify an optional className to be applied to the wrapper node
|
|
50
|
+
*/
|
|
51
|
+
className: PropTypes__default["default"].string,
|
|
52
|
+
/**
|
|
53
|
+
* Optional starting value for uncontrolled state
|
|
54
|
+
*/
|
|
55
|
+
defaultValue: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
|
|
56
|
+
/**
|
|
57
|
+
* Specify if the wheel functionality for the input should be disabled, or not
|
|
58
|
+
*/
|
|
59
|
+
disableWheel: PropTypes__default["default"].bool,
|
|
60
|
+
/**
|
|
61
|
+
* Specify if the control should be disabled, or not
|
|
62
|
+
*/
|
|
63
|
+
disabled: PropTypes__default["default"].bool,
|
|
64
|
+
/**
|
|
65
|
+
* Provide a description for up/down icons that can be read by screen readers
|
|
66
|
+
*/
|
|
67
|
+
iconDescription: PropTypes__default["default"].string,
|
|
68
|
+
/**
|
|
69
|
+
* Specify a custom `id` for the input
|
|
70
|
+
*/
|
|
71
|
+
id: PropTypes__default["default"].string.isRequired,
|
|
72
|
+
/**
|
|
73
|
+
* Specify if the currently value is invalid.
|
|
74
|
+
*/
|
|
75
|
+
invalid: PropTypes__default["default"].bool,
|
|
76
|
+
/**
|
|
77
|
+
* Message which is displayed if the value is invalid.
|
|
78
|
+
*/
|
|
79
|
+
invalidText: PropTypes__default["default"].node,
|
|
80
|
+
/**
|
|
81
|
+
* Generic `label` that will be used as the textual representation of what
|
|
82
|
+
* this field is for
|
|
83
|
+
*/
|
|
84
|
+
label: PropTypes__default["default"].node,
|
|
85
|
+
/**
|
|
86
|
+
* The maximum value.
|
|
87
|
+
*/
|
|
88
|
+
max: PropTypes__default["default"].number,
|
|
89
|
+
/**
|
|
90
|
+
* The minimum value.
|
|
91
|
+
*/
|
|
92
|
+
min: PropTypes__default["default"].number,
|
|
93
|
+
/**
|
|
94
|
+
* Provide an optional handler that is called when the internal state of
|
|
95
|
+
* NumberInput changes. This handler is called with event and state info.
|
|
96
|
+
* `(event, { value, direction }) => void`
|
|
97
|
+
*/
|
|
98
|
+
onChange: PropTypes__default["default"].func,
|
|
99
|
+
/**
|
|
100
|
+
* Provide an optional function to be called when the up/down button is clicked
|
|
101
|
+
*/
|
|
102
|
+
onClick: PropTypes__default["default"].func,
|
|
103
|
+
/**
|
|
104
|
+
* Provide an optional function to be called when a key is pressed in the number input
|
|
105
|
+
*/
|
|
106
|
+
onKeyUp: PropTypes__default["default"].func,
|
|
107
|
+
/**
|
|
108
|
+
* Specify how much the values should increase/decrease upon clicking on up/down button
|
|
109
|
+
*/
|
|
110
|
+
step: PropTypes__default["default"].number,
|
|
111
|
+
/**
|
|
112
|
+
* Provide custom text for the component for each translation id
|
|
113
|
+
*/
|
|
114
|
+
translateWithId: PropTypes__default["default"].func,
|
|
115
|
+
/**
|
|
116
|
+
* Specify the value of the input
|
|
117
|
+
*/
|
|
118
|
+
value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
|
|
119
|
+
/**
|
|
120
|
+
* Specify whether the control is currently in warning state
|
|
121
|
+
*/
|
|
122
|
+
warn: PropTypes__default["default"].bool,
|
|
123
|
+
/**
|
|
124
|
+
* Provide the text that is displayed when the control is in warning state
|
|
125
|
+
*/
|
|
126
|
+
warnText: PropTypes__default["default"].node,
|
|
127
|
+
/**
|
|
128
|
+
* Whether or not the component is readonly
|
|
129
|
+
*/
|
|
130
|
+
readOnly: PropTypes__default["default"].bool
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
exports["default"] = FluidNumberInput;
|
|
@@ -13,12 +13,12 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
require('../TextInput/
|
|
16
|
+
var TextInput = require('../TextInput/TextInput.js');
|
|
17
|
+
require('../TextInput/TextInput.Skeleton.js');
|
|
17
18
|
require('../TextInput/ControlledPasswordInput.js');
|
|
18
19
|
var PasswordInput = require('../TextInput/PasswordInput.js');
|
|
19
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
20
21
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
21
|
-
var TextInput = require('../TextInput/TextInput.js');
|
|
22
22
|
|
|
23
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
24
|
|
|
@@ -42,7 +42,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
42
42
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
43
43
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
44
44
|
|
|
45
|
-
const Column = /*#__PURE__*/React__default["default"].forwardRef(
|
|
45
|
+
const Column = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
46
46
|
let {
|
|
47
47
|
as,
|
|
48
48
|
children,
|
|
@@ -5,7 +5,12 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
|
|
8
|
+
import PropTypes from 'prop-types';
|
|
8
9
|
export interface GridBaseProps {
|
|
10
|
+
/**
|
|
11
|
+
* Specify grid alignment. Default is center
|
|
12
|
+
*/
|
|
13
|
+
align?: 'start' | 'center' | 'end';
|
|
9
14
|
/**
|
|
10
15
|
* Pass in content that will be rendered within the `Grid`
|
|
11
16
|
*/
|
|
@@ -33,5 +38,5 @@ export type GridProps<T extends React.ElementType> = PolymorphicComponentPropWit
|
|
|
33
38
|
export interface GridComponent {
|
|
34
39
|
<T extends React.ElementType = 'div'>(props: GridProps<T>): React.ReactElement | null;
|
|
35
40
|
displayName?: string;
|
|
36
|
-
propTypes?:
|
|
41
|
+
propTypes?: PropTypes.WeakValidationMap<GridProps<any>>;
|
|
37
42
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
export declare const levels: readonly ["one", "two", "three"];
|
|
8
|
-
export declare const MIN_LEVEL = 0;
|
|
9
|
-
export declare const MAX_LEVEL: number;
|
|
10
8
|
export declare const LayerLevels: readonly [0, 1, 2];
|
|
9
|
+
export declare const MIN_LEVEL: 0;
|
|
10
|
+
export declare const MAX_LEVEL: 0 | 1 | 2;
|
|
11
11
|
export type LayerLevel = (typeof LayerLevels)[number];
|
|
@@ -10,9 +10,11 @@
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
12
|
const levels = ['one', 'two', 'three'];
|
|
13
|
-
const
|
|
14
|
-
const
|
|
13
|
+
const LayerLevels = [0, 1, 2];
|
|
14
|
+
const MIN_LEVEL = LayerLevels[0];
|
|
15
|
+
const MAX_LEVEL = LayerLevels[LayerLevels.length - 1];
|
|
15
16
|
|
|
17
|
+
exports.LayerLevels = LayerLevels;
|
|
16
18
|
exports.MAX_LEVEL = MAX_LEVEL;
|
|
17
19
|
exports.MIN_LEVEL = MIN_LEVEL;
|
|
18
20
|
exports.levels = levels;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2016,
|
|
2
|
+
* Copyright IBM Corp. 2016, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -31,5 +31,7 @@ export interface LayerBaseProps {
|
|
|
31
31
|
level?: LayerLevel;
|
|
32
32
|
}
|
|
33
33
|
export type LayerProps<T extends React.ElementType> = PolymorphicComponentPropWithRef<T, LayerBaseProps>;
|
|
34
|
-
declare const Layer: React.ForwardRefExoticComponent<
|
|
34
|
+
declare const Layer: React.ForwardRefExoticComponent<LayerBaseProps & {
|
|
35
|
+
as?: React.ElementType;
|
|
36
|
+
} & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<any>>;
|
|
35
37
|
export { Layer };
|
|
@@ -16,6 +16,7 @@ var cx = require('classnames');
|
|
|
16
16
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
17
|
var LayerContext = require('./LayerContext.js');
|
|
18
18
|
var LayerLevel = require('./LayerLevel.js');
|
|
19
|
+
var clamp = require('../../internal/clamp.js');
|
|
19
20
|
|
|
20
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
22
|
|
|
@@ -47,7 +48,7 @@ const Layer = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
|
47
48
|
const prefix = usePrefix.usePrefix();
|
|
48
49
|
const className = cx__default["default"](`${prefix}--layer-${LayerLevel.levels[level]}`, customClassName);
|
|
49
50
|
// The level should be between MIN_LEVEL and MAX_LEVEL
|
|
50
|
-
const value =
|
|
51
|
+
const value = clamp.clamp(level + 1, LayerLevel.MIN_LEVEL, LayerLevel.MAX_LEVEL);
|
|
51
52
|
const BaseComponent = as || 'div';
|
|
52
53
|
return /*#__PURE__*/React__default["default"].createElement(LayerContext.LayerContext.Provider, {
|
|
53
54
|
value: value
|
|
@@ -21,7 +21,8 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
21
21
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
22
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
// First create the component with basic types
|
|
25
|
+
const LinkBase = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
25
26
|
let {
|
|
26
27
|
as: BaseComponent,
|
|
27
28
|
children,
|
|
@@ -64,6 +65,7 @@ const Link = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
|
64
65
|
className: `${prefix}--link__icon`
|
|
65
66
|
}, /*#__PURE__*/React__default["default"].createElement(Icon, null)));
|
|
66
67
|
});
|
|
68
|
+
const Link = LinkBase;
|
|
67
69
|
Link.displayName = 'Link';
|
|
68
70
|
Link.propTypes = {
|
|
69
71
|
/**
|
|
@@ -9,7 +9,7 @@ export interface MenuProps extends React.HTMLAttributes<HTMLUListElement> {
|
|
|
9
9
|
/**
|
|
10
10
|
* The ref of the containing element, used for positioning and alignment of the menu
|
|
11
11
|
*/
|
|
12
|
-
containerRef?: RefObject<HTMLDivElement>;
|
|
12
|
+
containerRef?: RefObject<HTMLDivElement | null>;
|
|
13
13
|
/**
|
|
14
14
|
* A collection of MenuItems to be rendered within this Menu.
|
|
15
15
|
*/
|
|
@@ -111,18 +111,8 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
function handleClose(
|
|
115
|
-
|
|
116
|
-
window.addEventListener('keyup', returnFocus, {
|
|
117
|
-
once: true
|
|
118
|
-
});
|
|
119
|
-
} else if (e.type === 'click' && menu.current) {
|
|
120
|
-
menu.current.addEventListener('focusout', returnFocus, {
|
|
121
|
-
once: true
|
|
122
|
-
});
|
|
123
|
-
} else {
|
|
124
|
-
returnFocus();
|
|
125
|
-
}
|
|
114
|
+
function handleClose() {
|
|
115
|
+
returnFocus();
|
|
126
116
|
if (onClose) {
|
|
127
117
|
onClose();
|
|
128
118
|
}
|
|
@@ -133,7 +123,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
|
|
|
133
123
|
// if the user presses escape or this is a submenu
|
|
134
124
|
// and the user presses ArrowLeft, close it
|
|
135
125
|
if ((match.match(e, keys.Escape) || !isRoot && match.match(e, keys.ArrowLeft)) && onClose) {
|
|
136
|
-
handleClose(
|
|
126
|
+
handleClose();
|
|
137
127
|
} else {
|
|
138
128
|
focusItem(e);
|
|
139
129
|
}
|
|
@@ -168,7 +158,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
|
|
|
168
158
|
}
|
|
169
159
|
function handleBlur(e) {
|
|
170
160
|
if (open && onClose && isRoot && !menu.current?.contains(e.relatedTarget)) {
|
|
171
|
-
handleClose(
|
|
161
|
+
handleClose();
|
|
172
162
|
}
|
|
173
163
|
}
|
|
174
164
|
function fitValue(range, axis) {
|
|
@@ -108,18 +108,28 @@ const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(_ref, forwardRe
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
+
|
|
112
|
+
// Avoid stray keyup event from MenuButton affecting MenuItem, and vice versa.
|
|
113
|
+
// Keyboard click is handled differently for <button> vs. <li> and for Enter vs. Space. See
|
|
114
|
+
// https://www.stefanjudis.com/today-i-learned/keyboard-button-clicks-with-space-and-enter-behave-differently/.
|
|
115
|
+
const pendingKeyboardClick = React.useRef(false);
|
|
116
|
+
const keyboardClickEvent = e => match.match(e, keys.Enter) || match.match(e, keys.Space);
|
|
111
117
|
function handleKeyDown(e) {
|
|
112
118
|
if (hasChildren && match.match(e, keys.ArrowRight)) {
|
|
113
119
|
openSubmenu();
|
|
114
120
|
e.stopPropagation();
|
|
115
121
|
}
|
|
116
|
-
|
|
117
|
-
handleClick(e);
|
|
118
|
-
}
|
|
122
|
+
pendingKeyboardClick.current = keyboardClickEvent(e);
|
|
119
123
|
if (rest.onKeyDown) {
|
|
120
124
|
rest.onKeyDown(e);
|
|
121
125
|
}
|
|
122
126
|
}
|
|
127
|
+
function handleKeyUp(e) {
|
|
128
|
+
if (pendingKeyboardClick.current && keyboardClickEvent(e)) {
|
|
129
|
+
handleClick(e);
|
|
130
|
+
}
|
|
131
|
+
pendingKeyboardClick.current = false;
|
|
132
|
+
}
|
|
123
133
|
const classNames = cx__default["default"](className, `${prefix}--menu-item`, {
|
|
124
134
|
[`${prefix}--menu-item--disabled`]: isDisabled,
|
|
125
135
|
[`${prefix}--menu-item--danger`]: isDanger
|
|
@@ -172,7 +182,8 @@ const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(_ref, forwardRe
|
|
|
172
182
|
"aria-haspopup": hasChildren ?? undefined,
|
|
173
183
|
"aria-expanded": hasChildren ? submenuOpen : undefined,
|
|
174
184
|
onClick: handleClick,
|
|
175
|
-
onKeyDown: handleKeyDown
|
|
185
|
+
onKeyDown: handleKeyDown,
|
|
186
|
+
onKeyUp: handleKeyUp
|
|
176
187
|
}, getReferenceProps()), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
177
188
|
className: `${prefix}--menu-item__selection-icon`
|
|
178
189
|
}, rest['aria-checked'] && (_Checkmark || (_Checkmark = /*#__PURE__*/React__default["default"].createElement(iconsReact.Checkmark, null)))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -105,12 +105,15 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
105
105
|
return !onSecondarySubmit && element === secondaryButton.current || element.classList.contains(modalCloseButtonClass);
|
|
106
106
|
}
|
|
107
107
|
function handleKeyDown(evt) {
|
|
108
|
+
const {
|
|
109
|
+
target
|
|
110
|
+
} = evt;
|
|
108
111
|
evt.stopPropagation();
|
|
109
112
|
if (open) {
|
|
110
113
|
if (match.match(evt, keys.Escape)) {
|
|
111
114
|
onRequestClose(evt);
|
|
112
115
|
}
|
|
113
|
-
if (match.match(evt, keys.Enter) && shouldSubmitOnEnter && !isCloseButton(
|
|
116
|
+
if (match.match(evt, keys.Enter) && shouldSubmitOnEnter && target instanceof Element && !isCloseButton(target) && document.activeElement !== button.current) {
|
|
114
117
|
onRequestSubmit(evt);
|
|
115
118
|
}
|
|
116
119
|
if (focusTrapWithoutSentinels && !enableDialogElement && match.match(evt, keys.Tab) && innerModal.current) {
|
|
@@ -198,13 +201,13 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
198
201
|
React.useEffect(() => {
|
|
199
202
|
return () => {
|
|
200
203
|
if (!enableDialogElement) {
|
|
201
|
-
toggleClass
|
|
204
|
+
toggleClass.toggleClass(document.body, `${prefix}--body--with-modal-open`, false);
|
|
202
205
|
}
|
|
203
206
|
};
|
|
204
207
|
}, [prefix, enableDialogElement]);
|
|
205
208
|
React.useEffect(() => {
|
|
206
209
|
if (!enableDialogElement) {
|
|
207
|
-
toggleClass
|
|
210
|
+
toggleClass.toggleClass(document.body, `${prefix}--body--with-modal-open`, open ?? false);
|
|
208
211
|
}
|
|
209
212
|
}, [open, prefix, enableDialogElement]);
|
|
210
213
|
React.useEffect(() => {
|
|
@@ -62,8 +62,8 @@ export default class ModalWrapper extends React.Component<ModalWrapperProps, Mod
|
|
|
62
62
|
triggerButtonKind: PropTypes.Requireable<"primary" | "secondary" | "danger" | "ghost" | "danger--primary" | "danger--ghost" | "danger--tertiary" | "tertiary">;
|
|
63
63
|
withHeader: PropTypes.Requireable<boolean>;
|
|
64
64
|
};
|
|
65
|
-
triggerButton: React.RefObject<HTMLButtonElement>;
|
|
66
|
-
modal: React.RefObject<HTMLDivElement>;
|
|
65
|
+
triggerButton: React.RefObject<HTMLButtonElement | null>;
|
|
66
|
+
modal: React.RefObject<HTMLDivElement | null>;
|
|
67
67
|
state: {
|
|
68
68
|
isOpen: boolean;
|
|
69
69
|
};
|
|
@@ -191,11 +191,11 @@ export interface FilterableMultiSelectProps<ItemType> extends MultiSelectSorting
|
|
|
191
191
|
*/
|
|
192
192
|
warnText?: ReactNode;
|
|
193
193
|
}
|
|
194
|
-
declare const FilterableMultiSelect: {
|
|
195
|
-
<ItemType>(props: FilterableMultiSelectProps<ItemType>): ReactElement
|
|
194
|
+
export declare const FilterableMultiSelect: {
|
|
195
|
+
<ItemType>(props: FilterableMultiSelectProps<ItemType>): ReactElement<any>;
|
|
196
196
|
propTypes?: any;
|
|
197
197
|
contextTypes?: any;
|
|
198
198
|
defaultProps?: any;
|
|
199
199
|
displayName?: any;
|
|
200
200
|
};
|
|
201
|
-
export
|
|
201
|
+
export {};
|
|
@@ -73,7 +73,7 @@ const {
|
|
|
73
73
|
* ends up just being defined as "string".)
|
|
74
74
|
*/
|
|
75
75
|
|
|
76
|
-
const FilterableMultiSelect = /*#__PURE__*/
|
|
76
|
+
const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableMultiSelect(_ref, ref) {
|
|
77
77
|
let {
|
|
78
78
|
autoAlign = false,
|
|
79
79
|
className: containerClassName,
|
|
@@ -659,6 +659,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
659
659
|
}, item)) : itemText)));
|
|
660
660
|
}) : null)), !inline && !invalid && !warn ? helper : null);
|
|
661
661
|
});
|
|
662
|
+
FilterableMultiSelect.displayName = 'FilterableMultiSelect';
|
|
662
663
|
FilterableMultiSelect.propTypes = {
|
|
663
664
|
/**
|
|
664
665
|
* Deprecated, aria-label is no longer needed
|
|
@@ -812,4 +813,4 @@ FilterableMultiSelect.propTypes = {
|
|
|
812
813
|
warnText: PropTypes__default["default"].node
|
|
813
814
|
};
|
|
814
815
|
|
|
815
|
-
exports
|
|
816
|
+
exports.FilterableMultiSelect = FilterableMultiSelect;
|
|
@@ -173,9 +173,5 @@ export interface MultiSelectProps<ItemType> extends MultiSelectSortingProps<Item
|
|
|
173
173
|
*/
|
|
174
174
|
warnText?: ReactNode;
|
|
175
175
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
<ItemType>(props: MultiSelectComponentProps<ItemType>): React.ReactElement | null;
|
|
179
|
-
}
|
|
180
|
-
declare const _default: MultiSelectComponent;
|
|
181
|
-
export default _default;
|
|
176
|
+
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps<unknown> & React.RefAttributes<HTMLButtonElement>>;
|
|
177
|
+
export {};
|
|
@@ -435,7 +435,20 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
435
435
|
const menuProps = React.useMemo(() => getMenuProps({
|
|
436
436
|
ref: enableFloatingStyles ? refs.setFloating : null
|
|
437
437
|
}), [enableFloatingStyles, getMenuProps, refs.setFloating]);
|
|
438
|
-
const
|
|
438
|
+
const allLabelProps = getLabelProps();
|
|
439
|
+
const labelProps = /*#__PURE__*/React.isValidElement(titleText) ? {
|
|
440
|
+
id: allLabelProps.id
|
|
441
|
+
} : allLabelProps;
|
|
442
|
+
const getSelectionStats = React.useCallback((selectedItems, filteredItems) => {
|
|
443
|
+
const hasIndividualSelections = selectedItems.some(selected => !selected.isSelectAll);
|
|
444
|
+
const nonSelectAllSelectedCount = selectedItems.filter(selected => !selected.isSelectAll).length;
|
|
445
|
+
const totalSelectableCount = filteredItems.filter(item => !item.isSelectAll && !item.disabled).length;
|
|
446
|
+
return {
|
|
447
|
+
hasIndividualSelections,
|
|
448
|
+
nonSelectAllSelectedCount,
|
|
449
|
+
totalSelectableCount
|
|
450
|
+
};
|
|
451
|
+
}, [selectedItems, filteredItems]);
|
|
439
452
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
440
453
|
className: wrapperClasses
|
|
441
454
|
}, /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
|
|
@@ -489,7 +502,12 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
489
502
|
className: `${prefix}--list-box__inner-wrapper--decorator`
|
|
490
503
|
}, normalizedDecorator) : ''), /*#__PURE__*/React__default["default"].createElement(index$1["default"].Menu, menuProps, isOpen && sortItems(filteredItems, sortOptions).map((item, index) => {
|
|
491
504
|
const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
492
|
-
const
|
|
505
|
+
const {
|
|
506
|
+
hasIndividualSelections,
|
|
507
|
+
nonSelectAllSelectedCount,
|
|
508
|
+
totalSelectableCount
|
|
509
|
+
} = getSelectionStats(selectedItems, filteredItems);
|
|
510
|
+
const isIndeterminate = item['isSelectAll'] && hasIndividualSelections && nonSelectAllSelectedCount < totalSelectableCount;
|
|
493
511
|
const itemProps = getItemProps({
|
|
494
512
|
item,
|
|
495
513
|
// we don't want Downshift to set aria-selected for us
|
|
@@ -712,4 +730,4 @@ MultiSelect.propTypes = {
|
|
|
712
730
|
warnText: PropTypes__default["default"].node
|
|
713
731
|
};
|
|
714
732
|
|
|
715
|
-
exports
|
|
733
|
+
exports.MultiSelect = MultiSelect;
|
|
@@ -4,7 +4,5 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export { FilterableMultiSelect, MultiSelect };
|
|
10
|
-
export default MultiSelect;
|
|
7
|
+
export * from './FilterableMultiSelect';
|
|
8
|
+
export * from './MultiSelect';
|
|
@@ -21,6 +21,7 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
21
21
|
require('../FluidForm/FluidForm.js');
|
|
22
22
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
23
23
|
require('../Text/index.js');
|
|
24
|
+
var clamp = require('../../internal/clamp.js');
|
|
24
25
|
var Text = require('../Text/Text.js');
|
|
25
26
|
|
|
26
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -183,7 +184,7 @@ const NumberInput = /*#__PURE__*/React__default["default"].forwardRef(function N
|
|
|
183
184
|
const rawValue = direction === 'up' ? currentValue + step : currentValue - step;
|
|
184
185
|
const precision = Math.max(getDecimalPlaces(currentValue), getDecimalPlaces(step));
|
|
185
186
|
const floatValue = parseFloat(rawValue.toFixed(precision));
|
|
186
|
-
const newValue =
|
|
187
|
+
const newValue = clamp.clamp(floatValue, min ?? -Infinity, max ?? Infinity);
|
|
187
188
|
const state = {
|
|
188
189
|
value: allowEmpty && inputRef.current.value === '' && step === 0 ? '' : newValue,
|
|
189
190
|
direction
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, { type ElementType, type ReactNode, type Ref } from 'react';
|
|
8
8
|
import { type MenuDirection, type MenuOffset } from '../../internal/FloatingMenu';
|
|
9
|
+
import { PopoverAlignment } from '../Popover';
|
|
9
10
|
/**
|
|
10
11
|
* Calculates the offset for the floating menu.
|
|
11
12
|
*
|
|
@@ -16,6 +17,10 @@ import { type MenuDirection, type MenuOffset } from '../../internal/FloatingMenu
|
|
|
16
17
|
*/
|
|
17
18
|
export declare const getMenuOffset: MenuOffset;
|
|
18
19
|
export interface OverflowMenuProps {
|
|
20
|
+
/**
|
|
21
|
+
* Specify how the trigger tooltip should be aligned.
|
|
22
|
+
*/
|
|
23
|
+
align?: PopoverAlignment;
|
|
19
24
|
/**
|
|
20
25
|
* Specify a label to be read by screen readers on the container node
|
|
21
26
|
*/
|
|
@@ -105,7 +110,8 @@ export interface OverflowMenuProps {
|
|
|
105
110
|
*/
|
|
106
111
|
size?: 'sm' | 'md' | 'lg';
|
|
107
112
|
/**
|
|
108
|
-
* The ref to the
|
|
113
|
+
* The ref to the overflow menu's trigger button element.
|
|
114
|
+
* @deprecated Use the standard React `ref` prop instead.
|
|
109
115
|
*/
|
|
110
116
|
innerRef?: Ref<any>;
|
|
111
117
|
}
|