@carbon/react 1.84.0-rc.0 → 1.85.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/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +943 -943
- package/es/components/AILabel/index.js +6 -1
- package/es/components/Checkbox/Checkbox.d.ts +2 -2
- package/es/components/Checkbox/Checkbox.js +8 -8
- package/es/components/CheckboxGroup/CheckboxGroup.d.ts +2 -2
- package/es/components/CheckboxGroup/CheckboxGroup.js +9 -8
- package/es/components/CodeSnippet/CodeSnippet.js +2 -4
- package/es/components/ComboBox/ComboBox.d.ts +1 -1
- package/es/components/ComboBox/ComboBox.js +8 -7
- package/es/components/ComposedModal/ComposedModal.d.ts +1 -1
- package/es/components/ComposedModal/ComposedModal.js +34 -12
- package/es/components/ContainedList/ContainedList.d.ts +1 -1
- package/es/components/ContainedList/ContainedList.js +4 -2
- package/es/components/ContentSwitcher/ContentSwitcher.js +6 -5
- package/es/components/DataTable/DataTable.js +3 -0
- package/es/components/DataTable/TableDecoratorRow.d.ts +2 -2
- package/es/components/DataTable/TableDecoratorRow.js +8 -8
- package/es/components/DataTable/TableExpandRow.d.ts +1 -1
- package/es/components/DataTable/TableExpandRow.js +15 -6
- package/es/components/DataTable/TableHeader.js +10 -10
- package/es/components/DataTable/TableRow.js +12 -4
- package/es/components/DataTable/tools/normalize.js +2 -1
- package/es/components/DatePickerInput/DatePickerInput.js +8 -7
- package/es/components/Dialog/index.d.ts +5 -1
- package/es/components/Dialog/index.js +20 -0
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- package/es/components/Dropdown/Dropdown.js +8 -10
- package/es/components/FileUploader/FileUploaderButton.js +2 -2
- package/es/components/FileUploader/FileUploaderDropContainer.js +2 -2
- package/es/components/FileUploader/FileUploaderItem.js +2 -2
- package/es/components/Layer/index.d.ts +1 -3
- package/es/components/Layer/index.js +9 -8
- package/es/components/Menu/Menu.js +0 -6
- package/es/components/Modal/Modal.d.ts +2 -2
- package/es/components/Modal/Modal.js +39 -11
- package/es/components/MultiSelect/FilterableMultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +29 -7
- package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/MultiSelect.js +8 -7
- package/es/components/NumberInput/NumberInput.d.ts +1 -1
- package/es/components/NumberInput/NumberInput.js +9 -8
- package/es/components/OverflowMenu/OverflowMenu.js +4 -5
- package/es/components/PageHeader/PageHeader.d.ts +10 -9
- package/es/components/PageHeader/PageHeader.js +94 -34
- package/es/components/PageHeader/index.d.ts +2 -2
- package/es/components/PageHeader/index.js +1 -1
- package/es/components/Popover/index.js +2 -1
- package/es/components/RadioButton/RadioButton.d.ts +2 -2
- package/es/components/RadioButton/RadioButton.js +8 -8
- package/es/components/RadioButtonGroup/RadioButtonGroup.d.ts +2 -2
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +9 -8
- package/es/components/RadioTile/RadioTile.d.ts +1 -1
- package/es/components/RadioTile/RadioTile.js +8 -7
- package/es/components/Search/Search.js +0 -1
- package/es/components/Select/Select.d.ts +2 -2
- package/es/components/Select/Select.js +8 -7
- package/es/components/Slider/Slider.js +6 -0
- package/es/components/Tag/DismissibleTag.d.ts +1 -1
- package/es/components/Tag/DismissibleTag.js +9 -8
- package/es/components/Tag/Tag.d.ts +1 -1
- package/es/components/Tag/Tag.js +9 -8
- package/es/components/TextArea/TextArea.js +12 -11
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +20 -9
- package/es/components/Tile/Tile.d.ts +2 -2
- package/es/components/Tile/Tile.js +30 -36
- package/es/components/TileGroup/TileGroup.d.ts +4 -4
- package/es/components/TileGroup/TileGroup.js +45 -53
- package/es/components/TileGroup/index.d.ts +3 -3
- package/es/components/Toggletip/index.js +2 -2
- package/es/components/Tooltip/DefinitionTooltip.js +1 -0
- package/es/components/TreeView/TreeNode.js +3 -3
- package/es/components/TreeView/TreeView.js +3 -3
- package/es/components/UIShell/Content.d.ts +5 -3
- package/es/components/UIShell/HeaderMenuItem.js +2 -1
- package/es/components/UIShell/HeaderPanel.d.ts +2 -2
- package/es/components/UIShell/HeaderPanel.js +9 -5
- package/es/index.js +1 -1
- package/es/internal/Selection.js +8 -3
- package/es/internal/environment.js +1 -12
- package/es/internal/{__mocks__/mockHTMLElement.d.ts → index.d.ts} +2 -4
- package/es/internal/useOverflowItems.d.ts +29 -0
- package/es/internal/useOverflowItems.js +122 -0
- package/es/internal/useResizeObserver.d.ts +1 -1
- package/es/internal/utils.d.ts +14 -0
- package/es/internal/utils.js +18 -0
- package/es/tools/uniqueId.d.ts +1 -6
- package/lib/components/AILabel/index.js +6 -1
- package/lib/components/Checkbox/Checkbox.d.ts +2 -2
- package/lib/components/Checkbox/Checkbox.js +7 -7
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +2 -2
- package/lib/components/CheckboxGroup/CheckboxGroup.js +8 -7
- package/lib/components/CodeSnippet/CodeSnippet.js +2 -4
- package/lib/components/ComboBox/ComboBox.d.ts +1 -1
- package/lib/components/ComboBox/ComboBox.js +11 -10
- package/lib/components/ComposedModal/ComposedModal.d.ts +1 -1
- package/lib/components/ComposedModal/ComposedModal.js +35 -13
- package/lib/components/ContainedList/ContainedList.d.ts +1 -1
- package/lib/components/ContainedList/ContainedList.js +4 -2
- package/lib/components/ContentSwitcher/ContentSwitcher.js +5 -4
- package/lib/components/DataTable/DataTable.js +3 -0
- package/lib/components/DataTable/TableDecoratorRow.d.ts +2 -2
- package/lib/components/DataTable/TableDecoratorRow.js +8 -8
- package/lib/components/DataTable/TableExpandRow.d.ts +1 -1
- package/lib/components/DataTable/TableExpandRow.js +14 -5
- package/lib/components/DataTable/TableHeader.js +9 -9
- package/lib/components/DataTable/TableRow.js +11 -3
- package/lib/components/DataTable/tools/normalize.js +2 -1
- package/lib/components/DatePickerInput/DatePickerInput.js +7 -6
- package/lib/components/Dialog/index.d.ts +5 -1
- package/lib/components/Dialog/index.js +20 -0
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +12 -14
- package/lib/components/FileUploader/FileUploaderButton.js +2 -2
- package/lib/components/FileUploader/FileUploaderDropContainer.js +2 -2
- package/lib/components/FileUploader/FileUploaderItem.js +2 -2
- package/lib/components/Layer/index.d.ts +1 -3
- package/lib/components/Layer/index.js +9 -8
- package/lib/components/Menu/Menu.js +0 -6
- package/lib/components/Modal/Modal.d.ts +2 -2
- package/lib/components/Modal/Modal.js +47 -19
- package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +33 -11
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +13 -12
- package/lib/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.js +8 -7
- package/lib/components/OverflowMenu/OverflowMenu.js +4 -5
- package/lib/components/PageHeader/PageHeader.d.ts +10 -9
- package/lib/components/PageHeader/PageHeader.js +92 -34
- package/lib/components/PageHeader/index.d.ts +2 -2
- package/lib/components/PageHeader/index.js +0 -2
- package/lib/components/Popover/index.js +2 -1
- package/lib/components/RadioButton/RadioButton.d.ts +2 -2
- package/lib/components/RadioButton/RadioButton.js +7 -7
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +2 -2
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +10 -9
- package/lib/components/RadioTile/RadioTile.d.ts +1 -1
- package/lib/components/RadioTile/RadioTile.js +7 -6
- package/lib/components/Search/Search.js +0 -1
- package/lib/components/Select/Select.d.ts +2 -2
- package/lib/components/Select/Select.js +7 -6
- package/lib/components/Slider/Slider.js +6 -0
- package/lib/components/Tag/DismissibleTag.d.ts +1 -1
- package/lib/components/Tag/DismissibleTag.js +8 -7
- package/lib/components/Tag/Tag.d.ts +1 -1
- package/lib/components/Tag/Tag.js +8 -7
- package/lib/components/TextArea/TextArea.js +11 -10
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +19 -8
- package/lib/components/Tile/Tile.d.ts +2 -2
- package/lib/components/Tile/Tile.js +29 -35
- package/lib/components/TileGroup/TileGroup.d.ts +4 -4
- package/lib/components/TileGroup/TileGroup.js +44 -52
- package/lib/components/TileGroup/index.d.ts +3 -3
- package/lib/components/Toggletip/index.js +2 -2
- package/lib/components/Tooltip/DefinitionTooltip.js +1 -0
- package/lib/components/TreeView/TreeNode.js +3 -3
- package/lib/components/TreeView/TreeView.js +3 -3
- package/lib/components/UIShell/Content.d.ts +5 -3
- package/lib/components/UIShell/HeaderMenuItem.js +2 -1
- package/lib/components/UIShell/HeaderPanel.d.ts +2 -2
- package/lib/components/UIShell/HeaderPanel.js +8 -4
- package/lib/index.js +1 -1
- package/lib/internal/Selection.js +8 -3
- package/lib/internal/environment.js +1 -12
- package/lib/internal/{__mocks__/mockHTMLElement.d.ts → index.d.ts} +2 -4
- package/lib/internal/useOverflowItems.d.ts +29 -0
- package/lib/internal/useOverflowItems.js +126 -0
- package/lib/internal/useResizeObserver.d.ts +1 -1
- package/lib/internal/utils.d.ts +14 -0
- package/lib/internal/utils.js +22 -0
- package/lib/tools/uniqueId.d.ts +1 -6
- package/package.json +14 -23
- package/telemetry.yml +3 -0
- package/es/tools/uniqueId.js +0 -14
- package/lib/tools/uniqueId.js +0 -18
|
@@ -18,7 +18,7 @@ var PropTypes = require('prop-types');
|
|
|
18
18
|
var React = require('react');
|
|
19
19
|
var filter = require('../ComboBox/tools/filter.js');
|
|
20
20
|
var MultiSelectPropTypes = require('./MultiSelectPropTypes.js');
|
|
21
|
-
var index = require('../ListBox/index.js');
|
|
21
|
+
var index$1 = require('../ListBox/index.js');
|
|
22
22
|
var ListBoxSelection = require('../ListBox/next/ListBoxSelection.js');
|
|
23
23
|
var ListBoxTrigger = require('../ListBox/next/ListBoxTrigger.js');
|
|
24
24
|
var keys = require('../../internal/keyboard/keys.js');
|
|
@@ -33,6 +33,8 @@ require('../FluidForm/FluidForm.js');
|
|
|
33
33
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
34
34
|
var Selection = require('../../internal/Selection.js');
|
|
35
35
|
var react = require('@floating-ui/react');
|
|
36
|
+
var index = require('../AILabel/index.js');
|
|
37
|
+
var utils = require('../../internal/utils.js');
|
|
36
38
|
var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
|
|
37
39
|
|
|
38
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -260,6 +262,27 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
|
|
|
260
262
|
onMenuChange?.(isOpen);
|
|
261
263
|
}
|
|
262
264
|
}, [isOpen, onMenuChange, open]);
|
|
265
|
+
React.useEffect(() => {
|
|
266
|
+
const handleClickOutside = event => {
|
|
267
|
+
const target = event.target;
|
|
268
|
+
const wrapper = document.getElementById(id)?.closest(`.${prefix}--multi-select__wrapper`);
|
|
269
|
+
|
|
270
|
+
// If click is outside our component and menu is open or input is focused
|
|
271
|
+
if (wrapper && !wrapper.contains(target)) {
|
|
272
|
+
if (isOpen || inputFocused) {
|
|
273
|
+
setIsOpen(false);
|
|
274
|
+
setInputFocused(false);
|
|
275
|
+
setInputValue('');
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
if (inputFocused || isOpen) {
|
|
280
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
281
|
+
}
|
|
282
|
+
return () => {
|
|
283
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
284
|
+
};
|
|
285
|
+
}, [isOpen, inputFocused]);
|
|
263
286
|
const {
|
|
264
287
|
getToggleButtonProps,
|
|
265
288
|
getLabelProps,
|
|
@@ -435,12 +458,11 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
|
|
|
435
458
|
}
|
|
436
459
|
|
|
437
460
|
// AILabel always size `mini`
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
}
|
|
461
|
+
const candidate = slug ?? decorator;
|
|
462
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index.AILabel);
|
|
463
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
464
|
+
size: 'mini'
|
|
465
|
+
}) : null;
|
|
444
466
|
const className = cx__default["default"](`${prefix}--multi-select`, `${prefix}--combo-box`, `${prefix}--multi-select--filterable`, {
|
|
445
467
|
[`${prefix}--multi-select--invalid`]: invalid,
|
|
446
468
|
[`${prefix}--multi-select--invalid--focused`]: invalid && inputFocused,
|
|
@@ -560,7 +582,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
|
|
|
560
582
|
className: titleClasses
|
|
561
583
|
}, labelProps), titleText, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
562
584
|
className: `${prefix}--visually-hidden`
|
|
563
|
-
}, clearSelectionContent)) : null, /*#__PURE__*/React__default["default"].createElement(index["default"], {
|
|
585
|
+
}, clearSelectionContent)) : null, /*#__PURE__*/React__default["default"].createElement(index$1["default"], {
|
|
564
586
|
onFocus: isFluid ? handleFocus : undefined,
|
|
565
587
|
onBlur: isFluid ? handleFocus : undefined,
|
|
566
588
|
className: className,
|
|
@@ -616,7 +638,7 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
|
|
|
616
638
|
translateWithId: translateWithId
|
|
617
639
|
}))), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
618
640
|
className: `${prefix}--list-box__inner-wrapper--decorator`
|
|
619
|
-
}, normalizedDecorator) : '', /*#__PURE__*/React__default["default"].createElement(index["default"].Menu, menuProps, isOpen ? sortedItems.map((item, index
|
|
641
|
+
}, normalizedDecorator) : '', /*#__PURE__*/React__default["default"].createElement(index$1["default"].Menu, menuProps, isOpen ? sortedItems.map((item, index) => {
|
|
620
642
|
const isChecked = controlledSelectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
621
643
|
const itemProps = getItemProps({
|
|
622
644
|
item,
|
|
@@ -634,11 +656,11 @@ const FilterableMultiSelect = /*#__PURE__*/React.forwardRef(function FilterableM
|
|
|
634
656
|
// eslint-disable-line @typescript-eslint/no-unused-vars
|
|
635
657
|
...modifiedItemProps
|
|
636
658
|
} = itemProps;
|
|
637
|
-
return /*#__PURE__*/React__default["default"].createElement(index["default"].MenuItem, _rollupPluginBabelHelpers["extends"]({
|
|
659
|
+
return /*#__PURE__*/React__default["default"].createElement(index$1["default"].MenuItem, _rollupPluginBabelHelpers["extends"]({
|
|
638
660
|
key: itemProps.id,
|
|
639
661
|
"aria-label": itemText,
|
|
640
662
|
isActive: isChecked,
|
|
641
|
-
isHighlighted: highlightedIndex === index
|
|
663
|
+
isHighlighted: highlightedIndex === index,
|
|
642
664
|
title: itemText,
|
|
643
665
|
disabled: disabled
|
|
644
666
|
}, modifiedItemProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { UseSelectProps } from 'downshift';
|
|
8
|
-
import React, { ReactNode } from 'react';
|
|
8
|
+
import React, { type ReactNode } from 'react';
|
|
9
9
|
import { type ListBoxSize, type ListBoxType } from '../ListBox';
|
|
10
10
|
import { MultiSelectSortingProps } from './MultiSelectPropTypes';
|
|
11
11
|
import { ListBoxProps } from '../ListBox/ListBox';
|
|
@@ -16,7 +16,7 @@ var Downshift = require('downshift');
|
|
|
16
16
|
var isEqual = require('react-fast-compare');
|
|
17
17
|
var PropTypes = require('prop-types');
|
|
18
18
|
var React = require('react');
|
|
19
|
-
var index$
|
|
19
|
+
var index$2 = require('../ListBox/index.js');
|
|
20
20
|
var MultiSelectPropTypes = require('./MultiSelectPropTypes.js');
|
|
21
21
|
var sorting = require('./tools/sorting.js');
|
|
22
22
|
var Selection = require('../../internal/Selection.js');
|
|
@@ -33,6 +33,8 @@ require('../Checkbox/Checkbox.Skeleton.js');
|
|
|
33
33
|
var noopFn = require('../../internal/noopFn.js');
|
|
34
34
|
var react = require('@floating-ui/react');
|
|
35
35
|
var index = require('../FeatureFlags/index.js');
|
|
36
|
+
var index$1 = require('../AILabel/index.js');
|
|
37
|
+
var utils = require('../../internal/utils.js');
|
|
36
38
|
var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
|
|
37
39
|
|
|
38
40
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -420,12 +422,11 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(({
|
|
|
420
422
|
} : {};
|
|
421
423
|
|
|
422
424
|
// AILabel always size `mini`
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
425
|
+
const candidate = slug ?? decorator;
|
|
426
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index$1.AILabel);
|
|
427
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
428
|
+
size: 'mini'
|
|
429
|
+
}) : null;
|
|
429
430
|
const itemsSelectedText = selectedItems.length > 0 && selectedItems.map(item => item?.text);
|
|
430
431
|
const selectedItemsLength = selectAll ? selectedItems.filter(item => !item.isSelectAll).length : selectedItems.length;
|
|
431
432
|
|
|
@@ -453,7 +454,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(({
|
|
|
453
454
|
className: titleClasses
|
|
454
455
|
}, labelProps), titleText && titleText, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
455
456
|
className: `${prefix}--visually-hidden`
|
|
456
|
-
}, clearSelectionDescription, " ", selectedItems.length, ' ', itemsSelectedText, ",", clearSelectionText)), /*#__PURE__*/React__default["default"].createElement(index$
|
|
457
|
+
}, clearSelectionDescription, " ", selectedItems.length, ' ', itemsSelectedText, ",", clearSelectionText)), /*#__PURE__*/React__default["default"].createElement(index$2["default"], {
|
|
457
458
|
onFocus: isFluid ? handleFocus : undefined,
|
|
458
459
|
onBlur: isFluid ? handleFocus : undefined,
|
|
459
460
|
type: type,
|
|
@@ -474,7 +475,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(({
|
|
|
474
475
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
475
476
|
className: multiSelectFieldWrapperClasses,
|
|
476
477
|
ref: enableFloatingStyles ? refs.setReference : null
|
|
477
|
-
}, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index$
|
|
478
|
+
}, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index$2["default"].Selection, {
|
|
478
479
|
readOnly: readOnly,
|
|
479
480
|
clearSelection: !disabled && !readOnly ? clearSelection : noopFn.noopFn,
|
|
480
481
|
selectionCount: selectedItemsLength
|
|
@@ -493,12 +494,12 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(({
|
|
|
493
494
|
}, readOnlyEventHandlers), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
494
495
|
id: fieldLabelId,
|
|
495
496
|
className: `${prefix}--list-box__label`
|
|
496
|
-
}, label), /*#__PURE__*/React__default["default"].createElement(index$
|
|
497
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(index$2["default"].MenuIcon, {
|
|
497
498
|
isOpen: isOpen,
|
|
498
499
|
translateWithId: translateWithId
|
|
499
500
|
})), slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
500
501
|
className: `${prefix}--list-box__inner-wrapper--decorator`
|
|
501
|
-
}, normalizedDecorator) : ''), /*#__PURE__*/React__default["default"].createElement(index$
|
|
502
|
+
}, normalizedDecorator) : ''), /*#__PURE__*/React__default["default"].createElement(index$2["default"].Menu, menuProps, isOpen && sortItems(filteredItems, sortOptions).map((item, index) => {
|
|
502
503
|
const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
503
504
|
const {
|
|
504
505
|
hasIndividualSelections,
|
|
@@ -513,7 +514,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(({
|
|
|
513
514
|
['aria-selected']: isChecked
|
|
514
515
|
});
|
|
515
516
|
const itemText = itemToString(item);
|
|
516
|
-
return /*#__PURE__*/React__default["default"].createElement(index$
|
|
517
|
+
return /*#__PURE__*/React__default["default"].createElement(index$2["default"].MenuItem, _rollupPluginBabelHelpers["extends"]({
|
|
517
518
|
key: itemProps.id,
|
|
518
519
|
isActive: isChecked && !item['isSelectAll'],
|
|
519
520
|
"aria-label": itemText,
|
|
@@ -4,7 +4,7 @@
|
|
|
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
|
-
import React, { ReactNode } from 'react';
|
|
7
|
+
import React, { type ReactNode } from 'react';
|
|
8
8
|
import { TranslateWithId } from '../../types/common';
|
|
9
9
|
import { type NumberFormatOptions } from '@carbon/utilities';
|
|
10
10
|
export declare const translationIds: {
|
|
@@ -27,6 +27,8 @@ var utilities = require('@carbon/utilities');
|
|
|
27
27
|
var keys = require('../../internal/keyboard/keys.js');
|
|
28
28
|
var match = require('../../internal/keyboard/match.js');
|
|
29
29
|
var NumberFormatPropTypes = require('./NumberFormatPropTypes.js');
|
|
30
|
+
var index = require('../AILabel/index.js');
|
|
31
|
+
var utils = require('../../internal/utils.js');
|
|
30
32
|
var Text = require('../Text/Text.js');
|
|
31
33
|
|
|
32
34
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -272,16 +274,15 @@ const NumberInput = /*#__PURE__*/React__default["default"].forwardRef(function N
|
|
|
272
274
|
};
|
|
273
275
|
|
|
274
276
|
// AILabel always size `mini`
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
277
|
+
const candidate = slug ?? decorator;
|
|
278
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index.AILabel);
|
|
279
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
280
|
+
size: 'mini'
|
|
281
|
+
}) : null;
|
|
281
282
|
|
|
282
283
|
// Need to update the internal value when the revert button is clicked
|
|
283
284
|
let isRevertActive;
|
|
284
|
-
if (normalizedDecorator
|
|
285
|
+
if (normalizedDecorator?.type === index.AILabel) {
|
|
285
286
|
isRevertActive = normalizedDecorator.props.revertActive;
|
|
286
287
|
}
|
|
287
288
|
React.useEffect(() => {
|
|
@@ -154,14 +154,14 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
154
154
|
setHasMountedTrigger(true);
|
|
155
155
|
}
|
|
156
156
|
}, []);
|
|
157
|
-
|
|
158
|
-
// Call `onClose` when menu closes.
|
|
159
157
|
React.useEffect(() => {
|
|
160
|
-
if (
|
|
158
|
+
if (open && !prevOpenState.current) {
|
|
159
|
+
onOpen();
|
|
160
|
+
} else if (!open && prevOpenState.current) {
|
|
161
161
|
onClose();
|
|
162
162
|
}
|
|
163
163
|
prevOpenState.current = open;
|
|
164
|
-
}, [open, onClose]);
|
|
164
|
+
}, [open, onClose, onOpen]);
|
|
165
165
|
useOutsideClick.useOutsideClick(wrapperRef, ({
|
|
166
166
|
target
|
|
167
167
|
}) => {
|
|
@@ -270,7 +270,6 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}, !hasFocusin);
|
|
273
|
-
onOpen();
|
|
274
273
|
};
|
|
275
274
|
const getTarget = () => {
|
|
276
275
|
const triggerEl = triggerRef.current;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, { type ComponentType, type FunctionComponent } from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
|
-
import {
|
|
9
|
+
import { TYPES } from '../Tag/Tag';
|
|
10
10
|
/**
|
|
11
11
|
* ----------
|
|
12
12
|
* PageHeader
|
|
@@ -199,16 +199,18 @@ declare const PageHeaderHeroImage: {
|
|
|
199
199
|
* PageHeaderTabBar
|
|
200
200
|
* ----------------
|
|
201
201
|
*/
|
|
202
|
+
interface TagItem {
|
|
203
|
+
type: keyof typeof TYPES;
|
|
204
|
+
text: string;
|
|
205
|
+
size?: 'sm' | 'md' | 'lg';
|
|
206
|
+
id: string;
|
|
207
|
+
}
|
|
202
208
|
interface PageHeaderTabBarProps {
|
|
203
209
|
children?: React.ReactNode;
|
|
204
210
|
className?: string;
|
|
211
|
+
tags?: TagItem[];
|
|
205
212
|
}
|
|
206
213
|
declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
207
|
-
interface PageHeaderTabsProps extends React.ComponentProps<typeof BaseTabs> {
|
|
208
|
-
children?: React.ReactNode;
|
|
209
|
-
className?: string;
|
|
210
|
-
}
|
|
211
|
-
declare const PageHeaderTabs: React.ForwardRefExoticComponent<PageHeaderTabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
212
214
|
/**
|
|
213
215
|
* -------
|
|
214
216
|
* Exports
|
|
@@ -272,6 +274,5 @@ declare const HeroImage: {
|
|
|
272
274
|
};
|
|
273
275
|
};
|
|
274
276
|
declare const TabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
275
|
-
|
|
276
|
-
export {
|
|
277
|
-
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, PageHeaderTabsProps, };
|
|
277
|
+
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderHeroImage, PageHeaderTabBar, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, HeroImage, TabBar, };
|
|
278
|
+
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, };
|
|
@@ -24,7 +24,14 @@ var DefinitionTooltip = require('../Tooltip/DefinitionTooltip.js');
|
|
|
24
24
|
require('../Tooltip/Tooltip.js');
|
|
25
25
|
var AspectRatio = require('../AspectRatio/AspectRatio.js');
|
|
26
26
|
var utilities = require('@carbon/utilities');
|
|
27
|
-
var
|
|
27
|
+
var Tag = require('../Tag/Tag.js');
|
|
28
|
+
require('../Tag/DismissibleTag.js');
|
|
29
|
+
var OperationalTag = require('../Tag/OperationalTag.js');
|
|
30
|
+
require('../Tag/SelectableTag.js');
|
|
31
|
+
require('../Tag/Tag.Skeleton.js');
|
|
32
|
+
var useOverflowItems = require('../../internal/useOverflowItems.js');
|
|
33
|
+
var index$1 = require('../Popover/index.js');
|
|
34
|
+
var useId = require('../../internal/useId.js');
|
|
28
35
|
require('../Grid/FlexGrid.js');
|
|
29
36
|
var Grid = require('../Grid/Grid.js');
|
|
30
37
|
require('../Grid/Row.js');
|
|
@@ -365,46 +372,101 @@ PageHeaderHeroImage.propTypes = {
|
|
|
365
372
|
const PageHeaderTabBar = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderTabBar({
|
|
366
373
|
className,
|
|
367
374
|
children,
|
|
375
|
+
tags = [],
|
|
368
376
|
...other
|
|
369
377
|
}, ref) {
|
|
370
378
|
const prefix = usePrefix.usePrefix();
|
|
371
379
|
const classNames = cx__default["default"]({
|
|
372
380
|
[`${prefix}--page-header__tab-bar`]: true
|
|
373
381
|
}, className);
|
|
382
|
+
// Early return if no tags are provided
|
|
383
|
+
if (!tags.length) {
|
|
384
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
385
|
+
className: classNames,
|
|
386
|
+
ref: ref
|
|
387
|
+
}, other), /*#__PURE__*/React__default["default"].createElement(Grid.Grid, null, /*#__PURE__*/React__default["default"].createElement(Column["default"], {
|
|
388
|
+
lg: 16,
|
|
389
|
+
md: 8,
|
|
390
|
+
sm: 4
|
|
391
|
+
}, children)));
|
|
392
|
+
}
|
|
393
|
+
const [openPopover, setOpenPopover] = React.useState(false);
|
|
394
|
+
const tagSize = tags[0]?.size || 'md';
|
|
395
|
+
const instanceId = useId.useId('PageHeaderTabBar');
|
|
396
|
+
const tagsWithIds = React.useMemo(() => {
|
|
397
|
+
return tags.map((tag, index) => ({
|
|
398
|
+
...tag,
|
|
399
|
+
id: tag.id || `tag-${index}-${instanceId}`
|
|
400
|
+
}));
|
|
401
|
+
}, [tags]);
|
|
402
|
+
const tagsContainerRef = React.useRef(null);
|
|
403
|
+
const offsetRef = React.useRef(null);
|
|
404
|
+
// To close popover when window resizes
|
|
405
|
+
React.useEffect(() => {
|
|
406
|
+
const handleResize = () => {
|
|
407
|
+
// Close the popover when window resizes to prevent unwanted opens
|
|
408
|
+
setOpenPopover(false);
|
|
409
|
+
};
|
|
410
|
+
window.addEventListener('resize', handleResize);
|
|
411
|
+
return () => {
|
|
412
|
+
window.removeEventListener('resize', handleResize);
|
|
413
|
+
};
|
|
414
|
+
}, []);
|
|
415
|
+
|
|
416
|
+
// overflow items hook
|
|
417
|
+
const {
|
|
418
|
+
visibleItems = [],
|
|
419
|
+
hiddenItems = [],
|
|
420
|
+
itemRefHandler = () => {}
|
|
421
|
+
} = useOverflowItems["default"](tagsWithIds, tagsContainerRef, offsetRef) || {
|
|
422
|
+
visibleItems: [],
|
|
423
|
+
hiddenItems: [],
|
|
424
|
+
itemRefHandler: () => {}
|
|
425
|
+
};
|
|
426
|
+
const handleOverflowClick = React.useCallback(event => {
|
|
427
|
+
event.stopPropagation();
|
|
428
|
+
setOpenPopover(prev => !prev);
|
|
429
|
+
}, []);
|
|
430
|
+
|
|
431
|
+
// Function to render tags
|
|
432
|
+
const renderTags = () => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
433
|
+
className: `${prefix}--page-header__tags`,
|
|
434
|
+
ref: tagsContainerRef
|
|
435
|
+
}, visibleItems.map(tag => /*#__PURE__*/React__default["default"].createElement(Tag["default"], {
|
|
436
|
+
key: tag.id,
|
|
437
|
+
ref: node => itemRefHandler(tag.id, node),
|
|
438
|
+
type: tag.type,
|
|
439
|
+
size: tag.size,
|
|
440
|
+
className: `${prefix}--page-header__tag-item`
|
|
441
|
+
}, tag.text)), hiddenItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index$1.Popover, {
|
|
442
|
+
open: openPopover,
|
|
443
|
+
onRequestClose: () => setOpenPopover(false)
|
|
444
|
+
}, /*#__PURE__*/React__default["default"].createElement(OperationalTag["default"], {
|
|
445
|
+
onClick: handleOverflowClick,
|
|
446
|
+
"aria-expanded": openPopover,
|
|
447
|
+
text: `+${hiddenItems.length}`,
|
|
448
|
+
size: tagSize
|
|
449
|
+
}), /*#__PURE__*/React__default["default"].createElement(index$1.PopoverContent, {
|
|
450
|
+
className: "tag-popover-content"
|
|
451
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
452
|
+
className: `${prefix}--page-header__tags-popover-list`
|
|
453
|
+
}, hiddenItems.map(tag => /*#__PURE__*/React__default["default"].createElement(Tag["default"], {
|
|
454
|
+
key: tag.id,
|
|
455
|
+
type: tag.type,
|
|
456
|
+
size: tag.size
|
|
457
|
+
}, tag.text))))));
|
|
374
458
|
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
375
459
|
className: classNames,
|
|
376
460
|
ref: ref
|
|
377
|
-
}, other),
|
|
378
|
-
});
|
|
379
|
-
PageHeaderTabBar.displayName = 'PageHeaderTabBar';
|
|
380
|
-
const PageHeaderTabs = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderTabs({
|
|
381
|
-
className,
|
|
382
|
-
children,
|
|
383
|
-
...other
|
|
384
|
-
}, ref) {
|
|
385
|
-
const prefix = usePrefix.usePrefix();
|
|
386
|
-
const childrenArray = React__default["default"].Children.toArray(children);
|
|
387
|
-
let tabListElement = null;
|
|
388
|
-
const otherChildren = [];
|
|
389
|
-
|
|
390
|
-
// extract the TabList component so we can wrap a needed div around for
|
|
391
|
-
// layout purposes
|
|
392
|
-
childrenArray.forEach(child => {
|
|
393
|
-
if (child?.type?.displayName === 'TabList' || child?.type?.name === 'TabList') {
|
|
394
|
-
tabListElement = child;
|
|
395
|
-
} else {
|
|
396
|
-
otherChildren.push(child);
|
|
397
|
-
}
|
|
398
|
-
});
|
|
399
|
-
return /*#__PURE__*/React__default["default"].createElement(Tabs$1.Tabs, other, tabListElement && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
400
|
-
className: `${prefix}--page-header__tablist-wrapper`
|
|
401
|
-
}, /*#__PURE__*/React__default["default"].createElement(Grid.Grid, null, /*#__PURE__*/React__default["default"].createElement(Column["default"], {
|
|
461
|
+
}, other), /*#__PURE__*/React__default["default"].createElement(Grid.Grid, null, /*#__PURE__*/React__default["default"].createElement(Column["default"], {
|
|
402
462
|
lg: 16,
|
|
403
463
|
md: 8,
|
|
404
464
|
sm: 4
|
|
405
|
-
},
|
|
465
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
466
|
+
className: `${prefix}--page-header__tab-bar--tablist`
|
|
467
|
+
}, children, tags.length > 0 && renderTags()))));
|
|
406
468
|
});
|
|
407
|
-
|
|
469
|
+
PageHeaderTabBar.displayName = 'PageHeaderTabBar';
|
|
408
470
|
|
|
409
471
|
/**
|
|
410
472
|
* -------
|
|
@@ -418,15 +480,13 @@ BreadcrumbBar.displayName = 'PageHeaderBreadcrumbBar';
|
|
|
418
480
|
const Content = PageHeaderContent;
|
|
419
481
|
Content.displayName = 'PageHeaderContent';
|
|
420
482
|
const ContentPageActions = PageHeaderContentPageActions;
|
|
421
|
-
|
|
483
|
+
ContentPageActions.displayName = 'PageHeaderContentPageActions';
|
|
422
484
|
const ContentText = PageHeaderContentText;
|
|
423
|
-
|
|
485
|
+
ContentText.displayName = 'PageHeaderContentText';
|
|
424
486
|
const HeroImage = PageHeaderHeroImage;
|
|
425
487
|
HeroImage.displayName = 'PageHeaderHeroImage';
|
|
426
488
|
const TabBar = PageHeaderTabBar;
|
|
427
489
|
TabBar.displayName = 'PageHeaderTabBar';
|
|
428
|
-
const Tabs = PageHeaderTabs;
|
|
429
|
-
Tabs.displayName = 'PageHeader.Tabs';
|
|
430
490
|
|
|
431
491
|
exports.BreadcrumbBar = BreadcrumbBar;
|
|
432
492
|
exports.Content = Content;
|
|
@@ -440,7 +500,5 @@ exports.PageHeaderContentPageActions = PageHeaderContentPageActions;
|
|
|
440
500
|
exports.PageHeaderContentText = PageHeaderContentText;
|
|
441
501
|
exports.PageHeaderHeroImage = PageHeaderHeroImage;
|
|
442
502
|
exports.PageHeaderTabBar = PageHeaderTabBar;
|
|
443
|
-
exports.PageHeaderTabs = PageHeaderTabs;
|
|
444
503
|
exports.Root = Root;
|
|
445
504
|
exports.TabBar = TabBar;
|
|
446
|
-
exports.Tabs = Tabs;
|
|
@@ -4,5 +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
|
-
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderTabBar, PageHeaderHeroImage,
|
|
8
|
-
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderTabBarProps, PageHeaderHeroImageProps,
|
|
7
|
+
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderTabBar, PageHeaderHeroImage, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, TabBar, HeroImage, } from './PageHeader';
|
|
8
|
+
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderTabBarProps, PageHeaderHeroImageProps, } from './PageHeader';
|
|
@@ -25,7 +25,5 @@ exports.PageHeaderContentPageActions = PageHeader.PageHeaderContentPageActions;
|
|
|
25
25
|
exports.PageHeaderContentText = PageHeader.PageHeaderContentText;
|
|
26
26
|
exports.PageHeaderHeroImage = PageHeader.PageHeaderHeroImage;
|
|
27
27
|
exports.PageHeaderTabBar = PageHeader.PageHeaderTabBar;
|
|
28
|
-
exports.PageHeaderTabs = PageHeader.PageHeaderTabs;
|
|
29
28
|
exports.Root = PageHeader.Root;
|
|
30
29
|
exports.TabBar = PageHeader.TabBar;
|
|
31
|
-
exports.Tabs = PageHeader.Tabs;
|
|
@@ -21,6 +21,7 @@ var useEvent = require('../../internal/useEvent.js');
|
|
|
21
21
|
var mapPopoverAlign = require('../../tools/mapPopoverAlign.js');
|
|
22
22
|
var react = require('@floating-ui/react');
|
|
23
23
|
var index = require('../FeatureFlags/index.js');
|
|
24
|
+
var index$1 = require('../Toggletip/index.js');
|
|
24
25
|
|
|
25
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
26
27
|
|
|
@@ -236,7 +237,7 @@ forwardRef) {
|
|
|
236
237
|
// For a toggletip there is a specific trigger component, ToggletipButton.
|
|
237
238
|
// In either of these cases we want to set this as the reference node for floating-ui autoAlign
|
|
238
239
|
// positioning.
|
|
239
|
-
if (enableFloatingStyles && item?.type
|
|
240
|
+
if (enableFloatingStyles && item?.type !== PopoverContent || enableFloatingStyles && item?.type === index$1.ToggletipButton) {
|
|
240
241
|
// Set the reference element for floating-ui
|
|
241
242
|
refs.setReference(node);
|
|
242
243
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
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.
|
|
6
6
|
*/
|
|
7
|
-
import React, { ReactNode } from 'react';
|
|
7
|
+
import React, { type ReactNode } from 'react';
|
|
8
8
|
type ExcludedAttributes = 'onChange';
|
|
9
9
|
export interface RadioButtonProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, ExcludedAttributes> {
|
|
10
10
|
/**
|
|
@@ -18,6 +18,8 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
19
|
var useId = require('../../internal/useId.js');
|
|
20
20
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
21
|
+
var index = require('../AILabel/index.js');
|
|
22
|
+
var utils = require('../../internal/utils.js');
|
|
21
23
|
var Text = require('../Text/Text.js');
|
|
22
24
|
|
|
23
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -57,13 +59,11 @@ const RadioButton = /*#__PURE__*/React__default["default"].forwardRef((props, re
|
|
|
57
59
|
[`${prefix}--radio-button-wrapper--decorator`]: decorator
|
|
58
60
|
});
|
|
59
61
|
const inputRef = React.useRef(null);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
});
|
|
66
|
-
}
|
|
62
|
+
const candidate = slug ?? decorator;
|
|
63
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index.AILabel);
|
|
64
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
65
|
+
size: candidate.props?.['kind'] === 'inline' ? 'md' : 'mini'
|
|
66
|
+
}) : null;
|
|
67
67
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
68
68
|
className: wrapperClasses
|
|
69
69
|
}, /*#__PURE__*/React__default["default"].createElement("input", _rollupPluginBabelHelpers["extends"]({}, rest, {
|
|
@@ -1,10 +1,10 @@
|
|
|
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.
|
|
6
6
|
*/
|
|
7
|
-
import React, { ReactNode } from 'react';
|
|
7
|
+
import React, { type ReactNode } from 'react';
|
|
8
8
|
import type { RadioButtonProps } from '../RadioButton';
|
|
9
9
|
export declare const RadioButtonGroupContext: React.Context<null>;
|
|
10
10
|
type ExcludedAttributes = 'onChange';
|
|
@@ -13,12 +13,14 @@ 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
|
-
var index = require('../Text/index.js');
|
|
16
|
+
var index$1 = require('../Text/index.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var iconsReact = require('@carbon/icons-react');
|
|
19
19
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
20
20
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
21
21
|
var useId = require('../../internal/useId.js');
|
|
22
|
+
var index = require('../AILabel/index.js');
|
|
23
|
+
var utils = require('../../internal/utils.js');
|
|
22
24
|
|
|
23
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
26
|
|
|
@@ -113,13 +115,12 @@ const RadioButtonGroup = /*#__PURE__*/React__default["default"].forwardRef((prop
|
|
|
113
115
|
const divRef = React.useRef(null);
|
|
114
116
|
|
|
115
117
|
// AILabel is always size `mini`
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
118
|
+
const candidate = slug ?? decorator;
|
|
119
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index.AILabel);
|
|
120
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
121
|
+
size: 'mini',
|
|
122
|
+
kind: 'default'
|
|
123
|
+
}) : null;
|
|
123
124
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
124
125
|
className: wrapperClasses,
|
|
125
126
|
ref: mergeRefs["default"](divRef, ref)
|
|
@@ -128,7 +129,7 @@ const RadioButtonGroup = /*#__PURE__*/React__default["default"].forwardRef((prop
|
|
|
128
129
|
disabled: disabled,
|
|
129
130
|
"data-invalid": invalid ? true : undefined,
|
|
130
131
|
"aria-describedby": showHelper && helperText ? helperId : undefined
|
|
131
|
-
}, rest), legendText && /*#__PURE__*/React__default["default"].createElement(index.Legend, {
|
|
132
|
+
}, rest), legendText && /*#__PURE__*/React__default["default"].createElement(index$1.Legend, {
|
|
132
133
|
className: `${prefix}--label`
|
|
133
134
|
}, legendText, slug ? normalizedDecorator : decorator ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
134
135
|
className: `${prefix}--radio-button-group-inner--decorator`
|
|
@@ -22,6 +22,8 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
22
22
|
var noopFn = require('../../internal/noopFn.js');
|
|
23
23
|
require('../Text/index.js');
|
|
24
24
|
var index = require('../FeatureFlags/index.js');
|
|
25
|
+
var index$1 = require('../AILabel/index.js');
|
|
26
|
+
var utils = require('../../internal/utils.js');
|
|
25
27
|
var Text = require('../Text/Text.js');
|
|
26
28
|
|
|
27
29
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -82,12 +84,11 @@ const RadioTile = /*#__PURE__*/React__default["default"].forwardRef(function Rad
|
|
|
82
84
|
}
|
|
83
85
|
|
|
84
86
|
// AILabel is always size `xs`
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
87
|
+
const candidate = slug ?? decorator;
|
|
88
|
+
const candidateIsAILabel = utils.isComponentElement(candidate, index$1.AILabel);
|
|
89
|
+
const normalizedDecorator = candidateIsAILabel ? /*#__PURE__*/React.cloneElement(candidate, {
|
|
90
|
+
size: 'xs'
|
|
91
|
+
}) : null;
|
|
91
92
|
return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("input", {
|
|
92
93
|
checked: checked,
|
|
93
94
|
className: `${prefix}--tile-input`,
|