@carbon/react 1.80.1 → 1.81.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 +781 -781
- 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/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/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/DatePickerInput/DatePickerInput.d.ts +2 -2
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- 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/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/MenuContext.d.ts +1 -1
- 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 +18 -3
- 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 +3 -5
- package/es/components/OverflowMenu/index.js +9 -4
- package/es/components/OverflowMenu/next/index.js +0 -1
- package/es/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
- package/es/components/PageHeader/PageHeader.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/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/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/DatePickerInput/DatePickerInput.d.ts +2 -2
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- 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/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/MenuContext.d.ts +1 -1
- 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 +17 -2
- 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 +3 -5
- package/lib/components/OverflowMenu/index.js +8 -3
- package/lib/components/OverflowMenu/next/index.js +0 -1
- package/lib/components/OverflowMenuItem/OverflowMenuItem.d.ts +4 -0
- package/lib/components/PageHeader/PageHeader.js +1 -1
- 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 +14 -14
- 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
|
@@ -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 {};
|
|
@@ -436,6 +436,16 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
436
436
|
ref: enableFloatingStyles ? refs.setFloating : null
|
|
437
437
|
}), [enableFloatingStyles, getMenuProps, refs.setFloating]);
|
|
438
438
|
const labelProps = ! /*#__PURE__*/React.isValidElement(titleText) ? getLabelProps() : null;
|
|
439
|
+
const getSelectionStats = React.useCallback((selectedItems, filteredItems) => {
|
|
440
|
+
const hasIndividualSelections = selectedItems.some(selected => !selected.isSelectAll);
|
|
441
|
+
const nonSelectAllSelectedCount = selectedItems.filter(selected => !selected.isSelectAll).length;
|
|
442
|
+
const totalSelectableCount = filteredItems.filter(item => !item.isSelectAll && !item.disabled).length;
|
|
443
|
+
return {
|
|
444
|
+
hasIndividualSelections,
|
|
445
|
+
nonSelectAllSelectedCount,
|
|
446
|
+
totalSelectableCount
|
|
447
|
+
};
|
|
448
|
+
}, [selectedItems, filteredItems]);
|
|
439
449
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
440
450
|
className: wrapperClasses
|
|
441
451
|
}, /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
|
|
@@ -489,7 +499,12 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
489
499
|
className: `${prefix}--list-box__inner-wrapper--decorator`
|
|
490
500
|
}, normalizedDecorator) : ''), /*#__PURE__*/React__default["default"].createElement(index$1["default"].Menu, menuProps, isOpen && sortItems(filteredItems, sortOptions).map((item, index) => {
|
|
491
501
|
const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
492
|
-
const
|
|
502
|
+
const {
|
|
503
|
+
hasIndividualSelections,
|
|
504
|
+
nonSelectAllSelectedCount,
|
|
505
|
+
totalSelectableCount
|
|
506
|
+
} = getSelectionStats(selectedItems, filteredItems);
|
|
507
|
+
const isIndeterminate = item['isSelectAll'] && hasIndividualSelections && nonSelectAllSelectedCount < totalSelectableCount;
|
|
493
508
|
const itemProps = getItemProps({
|
|
494
509
|
item,
|
|
495
510
|
// we don't want Downshift to set aria-selected for us
|
|
@@ -712,4 +727,4 @@ MultiSelect.propTypes = {
|
|
|
712
727
|
warnText: PropTypes__default["default"].node
|
|
713
728
|
};
|
|
714
729
|
|
|
715
|
-
exports
|
|
730
|
+
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
|
}
|
|
@@ -15,7 +15,6 @@ var iconsReact = require('@carbon/icons-react');
|
|
|
15
15
|
var cx = require('classnames');
|
|
16
16
|
var invariant = require('invariant');
|
|
17
17
|
var PropTypes = require('prop-types');
|
|
18
|
-
var ClickListener = require('../../internal/ClickListener.js');
|
|
19
18
|
var FloatingMenu = require('../../internal/FloatingMenu.js');
|
|
20
19
|
var keys = require('../../internal/keyboard/keys.js');
|
|
21
20
|
var match = require('../../internal/keyboard/match.js');
|
|
@@ -25,6 +24,8 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
25
24
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
26
25
|
var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
27
26
|
var index = require('../IconButton/index.js');
|
|
27
|
+
var useOutsideClick = require('../../internal/useOutsideClick.js');
|
|
28
|
+
var deprecateValuesWithin = require('../../prop-types/deprecateValuesWithin.js');
|
|
28
29
|
|
|
29
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
30
31
|
|
|
@@ -33,7 +34,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
33
34
|
var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant);
|
|
34
35
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
35
36
|
|
|
36
|
-
const getInstanceId = setupGetInstanceId
|
|
37
|
+
const getInstanceId = setupGetInstanceId.setupGetInstanceId();
|
|
37
38
|
const on = function (target) {
|
|
38
39
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
39
40
|
args[_key - 1] = arguments[_key];
|
|
@@ -100,8 +101,25 @@ const getMenuOffset = (menuBody, direction, trigger, flip) => {
|
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
};
|
|
104
|
+
|
|
105
|
+
// TODO: Replace this code when align mapping is consolidated.
|
|
106
|
+
// https://github.com/carbon-design-system/carbon/pull/19081
|
|
107
|
+
const propMappingFunction = deprecatedValue => {
|
|
108
|
+
const mapping = {
|
|
109
|
+
'top-left': 'top-start',
|
|
110
|
+
'top-right': 'top-end',
|
|
111
|
+
'bottom-left': 'bottom-start',
|
|
112
|
+
'bottom-right': 'bottom-end',
|
|
113
|
+
'left-bottom': 'left-end',
|
|
114
|
+
'left-top': 'left-start',
|
|
115
|
+
'right-bottom': 'right-end',
|
|
116
|
+
'right-top': 'right-start'
|
|
117
|
+
};
|
|
118
|
+
return mapping[deprecatedValue];
|
|
119
|
+
};
|
|
103
120
|
const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
104
121
|
let {
|
|
122
|
+
align,
|
|
105
123
|
['aria-label']: ariaLabel = null,
|
|
106
124
|
ariaLabel: deprecatedAriaLabel,
|
|
107
125
|
children,
|
|
@@ -123,6 +141,7 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
123
141
|
renderIcon: IconElement = iconsReact.OverflowMenuVertical,
|
|
124
142
|
selectorPrimaryFocus = '[data-floating-menu-primary-focus]',
|
|
125
143
|
size = 'md',
|
|
144
|
+
innerRef,
|
|
126
145
|
...other
|
|
127
146
|
} = _ref;
|
|
128
147
|
const prefix = React.useContext(usePrefix.PrefixContext);
|
|
@@ -138,6 +157,7 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
138
157
|
const prevOpenState = React.useRef(open);
|
|
139
158
|
/** The element ref of the tooltip's trigger button. */
|
|
140
159
|
const triggerRef = React.useRef(null);
|
|
160
|
+
const wrapperRef = React.useRef(null);
|
|
141
161
|
|
|
142
162
|
// Sync open prop changes.
|
|
143
163
|
React.useEffect(() => {
|
|
@@ -161,6 +181,14 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
161
181
|
}
|
|
162
182
|
prevOpenState.current = open;
|
|
163
183
|
}, [open, onClose]);
|
|
184
|
+
useOutsideClick.useOutsideClick(wrapperRef, _ref2 => {
|
|
185
|
+
let {
|
|
186
|
+
target
|
|
187
|
+
} = _ref2;
|
|
188
|
+
if (open && (!menuBodyRef.current || target instanceof Node && !menuBodyRef.current.contains(target))) {
|
|
189
|
+
closeMenu();
|
|
190
|
+
}
|
|
191
|
+
});
|
|
164
192
|
const focusMenuEl = React.useCallback(() => {
|
|
165
193
|
if (triggerRef.current) {
|
|
166
194
|
triggerRef.current.focus();
|
|
@@ -211,23 +239,18 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
211
239
|
evt.stopPropagation();
|
|
212
240
|
}
|
|
213
241
|
};
|
|
214
|
-
const handleClickOutside = evt => {
|
|
215
|
-
if (open && (!menuBodyRef.current || evt.target instanceof Node && !menuBodyRef.current.contains(evt.target))) {
|
|
216
|
-
closeMenu();
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
242
|
|
|
220
243
|
/**
|
|
221
244
|
* Focuses the next enabled overflow menu item given the currently focused
|
|
222
245
|
* item index and direction to move.
|
|
223
246
|
*/
|
|
224
|
-
const handleOverflowMenuItemFocus =
|
|
247
|
+
const handleOverflowMenuItemFocus = _ref3 => {
|
|
225
248
|
let {
|
|
226
|
-
currentIndex,
|
|
249
|
+
currentIndex = 0,
|
|
227
250
|
direction
|
|
228
|
-
} =
|
|
251
|
+
} = _ref3;
|
|
229
252
|
const enabledIndices = React.Children.toArray(children).reduce((acc, curr, i) => {
|
|
230
|
-
if (/*#__PURE__*/
|
|
253
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(curr) && !curr.props.disabled) {
|
|
231
254
|
acc.push(i);
|
|
232
255
|
}
|
|
233
256
|
return acc;
|
|
@@ -325,12 +348,13 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
325
348
|
}, /*#__PURE__*/React.cloneElement(menuBody, {
|
|
326
349
|
'data-floating-menu-direction': direction
|
|
327
350
|
}));
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
351
|
+
const combinedRef = innerRef ? mergeRefs["default"](triggerRef, innerRef, ref) : mergeRefs["default"](triggerRef, ref);
|
|
352
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
331
353
|
className: `${prefix}--overflow-menu__wrapper`,
|
|
332
|
-
"aria-owns": open ? menuBodyId : undefined
|
|
354
|
+
"aria-owns": open ? menuBodyId : undefined,
|
|
355
|
+
ref: wrapperRef
|
|
333
356
|
}, /*#__PURE__*/React__default["default"].createElement(index.IconButton, _rollupPluginBabelHelpers["extends"]({}, other, {
|
|
357
|
+
align: align,
|
|
334
358
|
type: "button",
|
|
335
359
|
"aria-haspopup": true,
|
|
336
360
|
"aria-expanded": open,
|
|
@@ -338,7 +362,7 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
338
362
|
className: overflowMenuClasses,
|
|
339
363
|
onClick: handleClick,
|
|
340
364
|
id: id,
|
|
341
|
-
ref:
|
|
365
|
+
ref: combinedRef,
|
|
342
366
|
size: size,
|
|
343
367
|
label: iconDescription,
|
|
344
368
|
kind: "ghost"
|
|
@@ -348,6 +372,35 @@ const OverflowMenu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
348
372
|
})), open && hasMountedTrigger && wrappedMenuBody));
|
|
349
373
|
});
|
|
350
374
|
OverflowMenu.propTypes = {
|
|
375
|
+
/**
|
|
376
|
+
* Specify how the trigger should align with the tooltip
|
|
377
|
+
*/
|
|
378
|
+
align: deprecateValuesWithin["default"](PropTypes__default["default"].oneOf(['top', 'top-left',
|
|
379
|
+
// deprecated use top-start instead
|
|
380
|
+
'top-right',
|
|
381
|
+
// deprecated use top-end instead
|
|
382
|
+
|
|
383
|
+
'bottom', 'bottom-left',
|
|
384
|
+
// deprecated use bottom-start instead
|
|
385
|
+
'bottom-right',
|
|
386
|
+
// deprecated use bottom-end instead
|
|
387
|
+
|
|
388
|
+
'left', 'left-bottom',
|
|
389
|
+
// deprecated use left-end instead
|
|
390
|
+
'left-top',
|
|
391
|
+
// deprecated use left-start instead
|
|
392
|
+
|
|
393
|
+
'right', 'right-bottom',
|
|
394
|
+
// deprecated use right-end instead
|
|
395
|
+
'right-top',
|
|
396
|
+
// deprecated use right-start instead
|
|
397
|
+
|
|
398
|
+
// new values to match floating-ui
|
|
399
|
+
'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
|
|
400
|
+
//allowed prop values
|
|
401
|
+
['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'],
|
|
402
|
+
//optional mapper function
|
|
403
|
+
propMappingFunction),
|
|
351
404
|
/**
|
|
352
405
|
* Specify a label to be read by screen readers on the container node
|
|
353
406
|
*/
|
|
@@ -439,7 +492,6 @@ OverflowMenu.propTypes = {
|
|
|
439
492
|
/**
|
|
440
493
|
* A component used to render an icon.
|
|
441
494
|
*/
|
|
442
|
-
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
443
495
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
444
496
|
/**
|
|
445
497
|
* Specify a CSS selector that matches the DOM element that should
|
|
@@ -4,10 +4,8 @@
|
|
|
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
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
displayName: string;
|
|
11
|
-
};
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { OverflowMenuProps } from './OverflowMenu';
|
|
9
|
+
declare const OverflowMenu: React.ForwardRefExoticComponent<OverflowMenuProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
10
|
export default OverflowMenu;
|
|
13
11
|
export { OverflowMenu, type OverflowMenuProps };
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
12
13
|
var React = require('react');
|
|
13
14
|
var index = require('../FeatureFlags/index.js');
|
|
14
15
|
var index$1 = require('./next/index.js');
|
|
@@ -20,10 +21,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
20
21
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
22
|
|
|
22
23
|
const OverflowMenuV11 = createClassWrapper.createClassWrapper(OverflowMenu$1.OverflowMenu);
|
|
23
|
-
const OverflowMenu = props => {
|
|
24
|
+
const OverflowMenu = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
24
25
|
const enableV12OverflowMenu = index.useFeatureFlag('enable-v12-overflowmenu');
|
|
25
|
-
return enableV12OverflowMenu ? /*#__PURE__*/React__default["default"].createElement(index$1.OverflowMenu,
|
|
26
|
-
|
|
26
|
+
return enableV12OverflowMenu ? /*#__PURE__*/React__default["default"].createElement(index$1.OverflowMenu, _rollupPluginBabelHelpers["extends"]({}, props, {
|
|
27
|
+
ref: ref
|
|
28
|
+
})) : /*#__PURE__*/React__default["default"].createElement(OverflowMenuV11, _rollupPluginBabelHelpers["extends"]({}, props, {
|
|
29
|
+
ref: ref
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
27
32
|
OverflowMenu.displayName = 'OverflowMenu';
|
|
28
33
|
|
|
29
34
|
exports.OverflowMenu = OverflowMenu;
|
|
@@ -177,7 +177,6 @@ OverflowMenu.propTypes = {
|
|
|
177
177
|
/**
|
|
178
178
|
* A component used to render an icon.
|
|
179
179
|
*/
|
|
180
|
-
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
181
180
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
182
181
|
/**
|
|
183
182
|
* Specify the size of the menu, from a list of available sizes.
|
|
@@ -40,6 +40,10 @@ export interface OverflowMenuItemProps extends React.HTMLAttributes<HTMLElement>
|
|
|
40
40
|
* `true` to make this menu item a danger button.
|
|
41
41
|
*/
|
|
42
42
|
isDelete?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* accepts a ref to the button element
|
|
45
|
+
*/
|
|
46
|
+
ref?: (element: HTMLElement) => void;
|
|
43
47
|
/**
|
|
44
48
|
* `true` to require the title attribute.
|
|
45
49
|
*/
|
|
@@ -153,7 +153,7 @@ PageHeaderContent.propTypes = {
|
|
|
153
153
|
/**
|
|
154
154
|
* Provide an optional icon to render in front of the PageHeaderContent's title.
|
|
155
155
|
*/
|
|
156
|
-
|
|
156
|
+
|
|
157
157
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
158
158
|
/**
|
|
159
159
|
* The PageHeaderContent's title
|
|
@@ -18,6 +18,7 @@ var index = require('../IconButton/index.js');
|
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
19
|
var layout = require('@carbon/layout');
|
|
20
20
|
var useMatchMedia = require('../../internal/useMatchMedia.js');
|
|
21
|
+
var clamp = require('../../internal/clamp.js');
|
|
21
22
|
|
|
22
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
24
|
|
|
@@ -199,7 +200,7 @@ const PaginationNav = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
199
200
|
numberOfPages = itemsShown === 4 ? itemsShown : 5;
|
|
200
201
|
break;
|
|
201
202
|
case 'sm':
|
|
202
|
-
numberOfPages =
|
|
203
|
+
numberOfPages = clamp.clamp(itemsShown, 4, 7);
|
|
203
204
|
break;
|
|
204
205
|
default:
|
|
205
206
|
numberOfPages = 4;
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
|
7
|
+
import { WeakValidationMap } from 'prop-types';
|
|
8
|
+
import React from 'react';
|
|
8
9
|
import { type Boundary } from '@floating-ui/react';
|
|
9
10
|
import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
|
|
10
11
|
export interface PopoverContext {
|
|
@@ -56,7 +56,9 @@ const propMappingFunction = deprecatedValue => {
|
|
|
56
56
|
};
|
|
57
57
|
return mapping[deprecatedValue];
|
|
58
58
|
};
|
|
59
|
-
const Popover = /*#__PURE__*/React__default["default"].forwardRef(function PopoverRenderFunction(_ref,
|
|
59
|
+
const Popover = /*#__PURE__*/React__default["default"].forwardRef(function PopoverRenderFunction(_ref,
|
|
60
|
+
//this is a workaround, have to come back and fix this.
|
|
61
|
+
forwardRef) {
|
|
60
62
|
let {
|
|
61
63
|
isTabTip,
|
|
62
64
|
align: initialAlign = isTabTip ? 'bottom-start' : 'bottom',
|
|
@@ -86,8 +88,11 @@ const Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popov
|
|
|
86
88
|
onRequestClose?.();
|
|
87
89
|
}
|
|
88
90
|
});
|
|
89
|
-
useEvent.useWindowEvent('click',
|
|
90
|
-
|
|
91
|
+
useEvent.useWindowEvent('click', _ref2 => {
|
|
92
|
+
let {
|
|
93
|
+
target
|
|
94
|
+
} = _ref2;
|
|
95
|
+
if (open && target instanceof Node && !popover.current?.contains(target)) {
|
|
91
96
|
onRequestClose?.();
|
|
92
97
|
}
|
|
93
98
|
});
|
|
@@ -361,12 +366,12 @@ Popover.propTypes = {
|
|
|
361
366
|
open: PropTypes__default["default"].bool.isRequired
|
|
362
367
|
};
|
|
363
368
|
function PopoverContentRenderFunction(// eslint-disable-next-line react/prop-types
|
|
364
|
-
|
|
369
|
+
_ref3, forwardRef) {
|
|
365
370
|
let {
|
|
366
371
|
className,
|
|
367
372
|
children,
|
|
368
373
|
...rest
|
|
369
|
-
} =
|
|
374
|
+
} = _ref3;
|
|
370
375
|
const prefix = usePrefix.usePrefix();
|
|
371
376
|
const {
|
|
372
377
|
setFloating,
|
|
@@ -13,7 +13,7 @@ export interface PortalProps {
|
|
|
13
13
|
/**
|
|
14
14
|
* Provide a ref for a container node to render the portal
|
|
15
15
|
*/
|
|
16
|
-
container?: React.RefObject<HTMLElement>;
|
|
16
|
+
container?: React.RefObject<HTMLElement | null>;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Helper component for rendering content within a portal. By default, the
|
|
@@ -232,7 +232,6 @@ Search.propTypes = {
|
|
|
232
232
|
/**
|
|
233
233
|
* A component used to render an icon.
|
|
234
234
|
*/
|
|
235
|
-
// @ts-expect-error: PropTypes are not expressive enough to cover this case
|
|
236
235
|
renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
|
|
237
236
|
/**
|
|
238
237
|
* Specify the role for the underlying `<input>`, defaults to `searchbox`
|
|
@@ -69,7 +69,9 @@ const SkeletonText = _ref => {
|
|
|
69
69
|
lines.push(/*#__PURE__*/React__default["default"].createElement("p", _rollupPluginBabelHelpers["extends"]({
|
|
70
70
|
className: skeletonTextClasses,
|
|
71
71
|
key: i,
|
|
72
|
-
ref: el =>
|
|
72
|
+
ref: el => {
|
|
73
|
+
refs.current = [...refs.current, el];
|
|
74
|
+
}
|
|
73
75
|
}, rest)));
|
|
74
76
|
}
|
|
75
77
|
if (lineCountNumber !== 1) {
|
|
@@ -319,9 +319,9 @@ declare class Slider extends PureComponent<SliderProps> {
|
|
|
319
319
|
correctedPosition: null;
|
|
320
320
|
isRtl: boolean;
|
|
321
321
|
};
|
|
322
|
-
thumbRef: React.RefObject<HTMLDivElement>;
|
|
323
|
-
thumbRefUpper: React.RefObject<HTMLDivElement>;
|
|
324
|
-
filledTrackRef: React.RefObject<HTMLDivElement>;
|
|
322
|
+
thumbRef: React.RefObject<HTMLDivElement | null>;
|
|
323
|
+
thumbRefUpper: React.RefObject<HTMLDivElement | null>;
|
|
324
|
+
filledTrackRef: React.RefObject<HTMLDivElement | null>;
|
|
325
325
|
element: HTMLDivElement | null;
|
|
326
326
|
inputId: string;
|
|
327
327
|
track: HTMLDivElement | null | undefined;
|
|
@@ -339,16 +339,6 @@ declare class Slider extends PureComponent<SliderProps> {
|
|
|
339
339
|
* should be called.
|
|
340
340
|
*/
|
|
341
341
|
componentDidUpdate(prevProps: any, prevState: any): void;
|
|
342
|
-
/**
|
|
343
|
-
* Synonymous to ECMA2017+ `Math.clamp`.
|
|
344
|
-
*
|
|
345
|
-
* @param {number} val
|
|
346
|
-
* @param {number} min
|
|
347
|
-
* @param {number} max
|
|
348
|
-
*
|
|
349
|
-
* @returns `val` if `max>=val>=min`; `min` if `val<min`; `max` if `val>max`.
|
|
350
|
-
*/
|
|
351
|
-
clamp(val: any, min: any, max: any): number;
|
|
352
342
|
/**
|
|
353
343
|
* Rounds a given value to the nearest step defined by the slider's `step`
|
|
354
344
|
* prop.
|
|
@@ -23,6 +23,7 @@ require('../Text/index.js');
|
|
|
23
23
|
require('../Tooltip/DefinitionTooltip.js');
|
|
24
24
|
var Tooltip = require('../Tooltip/Tooltip.js');
|
|
25
25
|
var SliderHandles = require('./SliderHandles.js');
|
|
26
|
+
var clamp = require('../../internal/clamp.js');
|
|
26
27
|
var throttle = require('../../node_modules/es-toolkit/dist/compat/function/throttle.mjs.js');
|
|
27
28
|
var Text = require('../Text/Text.js');
|
|
28
29
|
|
|
@@ -574,7 +575,7 @@ class Slider extends React.PureComponent {
|
|
|
574
575
|
range
|
|
575
576
|
});
|
|
576
577
|
/** `leftPercentRaw` clamped between 0 and 1. */
|
|
577
|
-
const leftPercent =
|
|
578
|
+
const leftPercent = clamp.clamp(leftPercentRaw, 0, 1);
|
|
578
579
|
if (useRawValue) {
|
|
579
580
|
return {
|
|
580
581
|
value,
|
|
@@ -865,19 +866,6 @@ class Slider extends React.PureComponent {
|
|
|
865
866
|
}
|
|
866
867
|
}
|
|
867
868
|
|
|
868
|
-
/**
|
|
869
|
-
* Synonymous to ECMA2017+ `Math.clamp`.
|
|
870
|
-
*
|
|
871
|
-
* @param {number} val
|
|
872
|
-
* @param {number} min
|
|
873
|
-
* @param {number} max
|
|
874
|
-
*
|
|
875
|
-
* @returns `val` if `max>=val>=min`; `min` if `val<min`; `max` if `val>max`.
|
|
876
|
-
*/
|
|
877
|
-
clamp(val, min, max) {
|
|
878
|
-
return Math.max(min, Math.min(val, max));
|
|
879
|
-
}
|
|
880
|
-
|
|
881
869
|
/**
|
|
882
870
|
* Rounds a given value to the nearest step defined by the slider's `step`
|
|
883
871
|
* prop.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
-
import React, { type ReactNode, type MouseEvent, type KeyboardEvent, type HTMLAttributes, type ComponentType, type
|
|
8
|
+
import React, { type ReactNode, type MouseEvent, type KeyboardEvent, type HTMLAttributes, type ComponentType, type HTMLElementType } from 'react';
|
|
9
9
|
type DivAttributes = HTMLAttributes<HTMLDivElement>;
|
|
10
10
|
/**
|
|
11
11
|
* Tabs
|
|
@@ -312,7 +312,7 @@ export interface TabProps extends HTMLAttributes<HTMLElement> {
|
|
|
312
312
|
/**
|
|
313
313
|
* Provide a custom element to render instead of the default button
|
|
314
314
|
*/
|
|
315
|
-
as?:
|
|
315
|
+
as?: HTMLElementType | ComponentType;
|
|
316
316
|
/**
|
|
317
317
|
* Provide child elements to be rendered inside `Tab`.
|
|
318
318
|
*/
|