@carbon/react 1.44.0 → 1.45.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 +820 -902
- package/es/components/Checkbox/Checkbox.d.ts +1 -1
- package/es/components/Checkbox/Checkbox.js +1 -1
- package/es/components/CheckboxGroup/CheckboxGroup.js +2 -2
- package/es/components/ComboBox/ComboBox.d.ts +1 -1
- package/es/components/ComboBox/ComboBox.js +2 -2
- package/es/components/ComboButton/index.js +1 -1
- package/es/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/es/components/ContentSwitcher/ContentSwitcher.js +1 -1
- package/es/components/DataTable/DataTable.d.ts +2 -0
- package/es/components/DataTable/DataTable.js +3 -0
- package/es/components/DataTable/TableExpandRow.js +20 -3
- package/es/components/DataTable/TableHeader.d.ts +5 -0
- package/es/components/DataTable/TableHeader.js +30 -6
- package/es/components/DataTable/TableSlugRow.d.ts +31 -0
- package/es/components/DataTable/TableSlugRow.js +49 -0
- package/es/components/DataTable/index.d.ts +2 -1
- package/es/components/DataTable/index.js +3 -0
- package/es/components/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/es/components/DatePickerInput/DatePickerInput.js +2 -2
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- package/es/components/Dropdown/Dropdown.js +2 -2
- package/es/components/InlineLoading/InlineLoading.d.ts +68 -0
- package/es/components/InlineLoading/InlineLoading.js +4 -4
- package/es/components/InlineLoading/index.d.ts +9 -0
- package/es/components/Layer/LayerContext.d.ts +8 -0
- package/es/components/Layer/LayerLevel.d.ts +5 -0
- package/es/components/Layer/LayerLevel.js +12 -0
- package/es/components/Layer/index.d.ts +38 -0
- package/es/components/Layer/index.js +9 -8
- package/es/components/Menu/MenuItem.js +2 -1
- package/es/components/MenuButton/index.js +1 -1
- package/es/components/Modal/Modal.d.ts +3 -2
- package/es/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/MultiSelect.js +5 -2
- package/es/components/Notification/Notification.js +1 -0
- package/es/components/NumberInput/NumberInput.d.ts +1 -1
- package/es/components/NumberInput/NumberInput.js +3 -3
- package/es/components/ProgressIndicator/ProgressIndicator.js +4 -0
- package/es/components/RadioButton/RadioButton.d.ts +1 -1
- package/es/components/RadioButton/RadioButton.js +1 -1
- package/es/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +2 -2
- package/es/components/Slider/Slider.Skeleton.js +17 -3
- package/es/components/Slider/Slider.js +132 -93
- package/es/components/Slider/SliderHandles.d.ts +4 -0
- package/es/components/Slider/SliderHandles.js +65 -0
- package/es/components/Slug/index.js +1 -0
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/Tag/Tag.d.ts +18 -10
- package/es/components/Tag/Tag.js +23 -7
- package/es/components/TextArea/TextArea.d.ts +7 -3
- package/es/components/TextArea/TextArea.js +85 -18
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +2 -2
- package/es/components/Tile/Tile.d.ts +8 -8
- package/es/components/Tile/Tile.js +11 -7
- package/es/components/Tooltip/Tooltip.js +48 -2
- package/es/components/UIShell/HeaderPanel.d.ts +36 -0
- package/es/components/UIShell/HeaderPanel.js +6 -6
- package/es/components/UIShell/Switcher.js +1 -1
- package/es/index.js +2 -1
- package/es/internal/useAnnouncer.js +2 -1
- package/es/internal/useNoInteractiveChildren.js +2 -6
- package/lib/components/Checkbox/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox/Checkbox.js +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.js +2 -2
- package/lib/components/ComboBox/ComboBox.d.ts +1 -1
- package/lib/components/ComboBox/ComboBox.js +2 -2
- package/lib/components/ComboButton/index.js +1 -1
- package/lib/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.js +1 -1
- package/lib/components/DataTable/DataTable.d.ts +2 -0
- package/lib/components/DataTable/DataTable.js +3 -0
- package/lib/components/DataTable/TableExpandRow.js +20 -3
- package/lib/components/DataTable/TableHeader.d.ts +5 -0
- package/lib/components/DataTable/TableHeader.js +29 -5
- package/lib/components/DataTable/TableSlugRow.d.ts +31 -0
- package/lib/components/DataTable/TableSlugRow.js +59 -0
- package/lib/components/DataTable/index.d.ts +2 -1
- package/lib/components/DataTable/index.js +3 -0
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.js +2 -2
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +2 -2
- package/lib/components/InlineLoading/InlineLoading.d.ts +68 -0
- package/lib/components/InlineLoading/InlineLoading.js +4 -4
- package/lib/components/InlineLoading/index.d.ts +9 -0
- package/lib/components/Layer/LayerContext.d.ts +8 -0
- package/lib/components/Layer/LayerLevel.d.ts +5 -0
- package/lib/components/Layer/LayerLevel.js +18 -0
- package/lib/components/Layer/index.d.ts +38 -0
- package/lib/components/Layer/index.js +10 -9
- package/lib/components/Menu/MenuItem.js +2 -1
- package/lib/components/MenuButton/index.js +1 -1
- package/lib/components/Modal/Modal.d.ts +3 -2
- package/lib/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +5 -2
- package/lib/components/Notification/Notification.js +1 -0
- package/lib/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.js +3 -3
- package/lib/components/ProgressIndicator/ProgressIndicator.js +4 -0
- package/lib/components/RadioButton/RadioButton.d.ts +1 -1
- package/lib/components/RadioButton/RadioButton.js +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +2 -2
- package/lib/components/Slider/Slider.Skeleton.js +17 -3
- package/lib/components/Slider/Slider.js +132 -93
- package/lib/components/Slider/SliderHandles.d.ts +4 -0
- package/lib/components/Slider/SliderHandles.js +76 -0
- package/lib/components/Slug/index.js +1 -0
- package/lib/components/Tabs/Tabs.js +1 -1
- package/lib/components/Tag/Tag.d.ts +18 -10
- package/lib/components/Tag/Tag.js +23 -7
- package/lib/components/TextArea/TextArea.d.ts +7 -3
- package/lib/components/TextArea/TextArea.js +84 -17
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +2 -2
- package/lib/components/Tile/Tile.d.ts +8 -8
- package/lib/components/Tile/Tile.js +11 -7
- package/lib/components/Tooltip/Tooltip.js +47 -1
- package/lib/components/UIShell/HeaderPanel.d.ts +36 -0
- package/lib/components/UIShell/HeaderPanel.js +7 -7
- package/lib/components/UIShell/Switcher.js +1 -1
- package/lib/index.js +4 -2
- package/lib/internal/useAnnouncer.js +2 -1
- package/lib/internal/useNoInteractiveChildren.js +2 -6
- package/package.json +4 -7
|
@@ -11,9 +11,7 @@ import PropTypes from 'prop-types';
|
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
13
|
import { LayerContext } from './LayerContext.js';
|
|
14
|
-
|
|
15
|
-
const levels = ['one', 'two', 'three'];
|
|
16
|
-
const MAX_LEVEL = levels.length - 1;
|
|
14
|
+
import { levels, MIN_LEVEL, MAX_LEVEL } from './LayerLevel.js';
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
17
|
* A custom hook that will return information about the current layer. A common
|
|
@@ -26,9 +24,9 @@ function useLayer() {
|
|
|
26
24
|
level
|
|
27
25
|
};
|
|
28
26
|
}
|
|
29
|
-
const
|
|
27
|
+
const LayerRenderFunction = /*#__PURE__*/React__default.forwardRef(function Layer(_ref, ref) {
|
|
30
28
|
let {
|
|
31
|
-
as
|
|
29
|
+
as = 'div',
|
|
32
30
|
className: customClassName,
|
|
33
31
|
children,
|
|
34
32
|
level: overrideLevel,
|
|
@@ -38,8 +36,9 @@ const Layer = /*#__PURE__*/React__default.forwardRef(function Layer(_ref, ref) {
|
|
|
38
36
|
const level = overrideLevel ?? contextLevel;
|
|
39
37
|
const prefix = usePrefix();
|
|
40
38
|
const className = cx(`${prefix}--layer-${levels[level]}`, customClassName);
|
|
41
|
-
// The level should be between
|
|
42
|
-
const value = Math.max(
|
|
39
|
+
// The level should be between MIN_LEVEL and MAX_LEVEL
|
|
40
|
+
const value = Math.max(MIN_LEVEL, Math.min(level + 1, MAX_LEVEL));
|
|
41
|
+
const BaseComponent = as;
|
|
43
42
|
return /*#__PURE__*/React__default.createElement(LayerContext.Provider, {
|
|
44
43
|
value: value
|
|
45
44
|
}, /*#__PURE__*/React__default.createElement(BaseComponent, _extends({
|
|
@@ -48,7 +47,8 @@ const Layer = /*#__PURE__*/React__default.forwardRef(function Layer(_ref, ref) {
|
|
|
48
47
|
className: className
|
|
49
48
|
}), children));
|
|
50
49
|
});
|
|
51
|
-
|
|
50
|
+
LayerRenderFunction.displayName = 'Layer';
|
|
51
|
+
LayerRenderFunction.propTypes = {
|
|
52
52
|
/**
|
|
53
53
|
* Specify a custom component or element to be rendered as the top-level
|
|
54
54
|
* element in the component
|
|
@@ -68,5 +68,6 @@ Layer.propTypes = {
|
|
|
68
68
|
*/
|
|
69
69
|
level: PropTypes.oneOf([0, 1, 2])
|
|
70
70
|
};
|
|
71
|
+
const Layer = LayerRenderFunction;
|
|
71
72
|
|
|
72
73
|
export { Layer, useLayer };
|
|
@@ -169,7 +169,8 @@ const MenuItem = /*#__PURE__*/React__default.forwardRef(function MenuItem(_ref,
|
|
|
169
169
|
className: `${prefix}--menu-item__icon`
|
|
170
170
|
}, iconsAllowed && IconElement && /*#__PURE__*/React__default.createElement(IconElement, null)), /*#__PURE__*/React__default.createElement(Text, {
|
|
171
171
|
as: "div",
|
|
172
|
-
className: `${prefix}--menu-item__label
|
|
172
|
+
className: `${prefix}--menu-item__label`,
|
|
173
|
+
title: label
|
|
173
174
|
}, label), shortcut && !hasChildren && /*#__PURE__*/React__default.createElement("div", {
|
|
174
175
|
className: `${prefix}--menu-item__shortcut`
|
|
175
176
|
}, shortcut), hasChildren && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -18,7 +18,7 @@ import { useId } from '../../internal/useId.js';
|
|
|
18
18
|
import { useMergedRefs } from '../../internal/useMergedRefs.js';
|
|
19
19
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
20
20
|
|
|
21
|
-
const spacing =
|
|
21
|
+
const spacing = 0; // top and bottom spacing between the button and the menu. in px
|
|
22
22
|
const validButtonKinds = ['primary', 'tertiary', 'ghost'];
|
|
23
23
|
const defaultButtonKind = 'primary';
|
|
24
24
|
const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_ref, forwardRef) {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { ReactAttr } from '../../types/common';
|
|
9
|
+
import { InlineLoadingStatus } from '../InlineLoading/InlineLoading';
|
|
9
10
|
export declare const ModalSizes: readonly ["xs", "sm", "md", "lg"];
|
|
10
11
|
export type ModalSize = (typeof ModalSizes)[number];
|
|
11
12
|
export interface ModalSecondaryButton {
|
|
@@ -65,7 +66,7 @@ export interface ModalProps extends ReactAttr<HTMLDivElement> {
|
|
|
65
66
|
/**
|
|
66
67
|
* Specify loading status
|
|
67
68
|
*/
|
|
68
|
-
loadingStatus?:
|
|
69
|
+
loadingStatus?: InlineLoadingStatus;
|
|
69
70
|
/**
|
|
70
71
|
* Specify a label to be read by screen readers on the modal root node
|
|
71
72
|
*/
|
|
@@ -87,7 +88,7 @@ export interface ModalProps extends ReactAttr<HTMLDivElement> {
|
|
|
87
88
|
* Specify an optional handler to be invoked when loading is
|
|
88
89
|
* successful
|
|
89
90
|
*/
|
|
90
|
-
onLoadingSuccess?:
|
|
91
|
+
onLoadingSuccess?: () => void;
|
|
91
92
|
/**
|
|
92
93
|
* Specify a handler for closing modal.
|
|
93
94
|
* The handler should care of closing modal, e.g. changing `open` prop.
|
|
@@ -193,7 +193,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default.forwardRef(function Fi
|
|
|
193
193
|
|
|
194
194
|
// Slug is always size `mini`
|
|
195
195
|
let normalizedSlug;
|
|
196
|
-
if (slug) {
|
|
196
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
197
197
|
normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
|
198
198
|
size: 'mini'
|
|
199
199
|
});
|
|
@@ -545,7 +545,7 @@ FilterableMultiSelect.propTypes = {
|
|
|
545
545
|
*/
|
|
546
546
|
size: ListBoxSize,
|
|
547
547
|
/**
|
|
548
|
-
* Provide a `Slug` component to be rendered inside the `FilterableMultiSelect` component
|
|
548
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `FilterableMultiSelect` component
|
|
549
549
|
*/
|
|
550
550
|
slug: PropTypes.node,
|
|
551
551
|
...sortingPropTypes,
|
|
@@ -164,7 +164,7 @@ export interface MultiSelectProps<ItemType> extends MultiSelectSortingProps<Item
|
|
|
164
164
|
*/
|
|
165
165
|
size?: ListBoxSize;
|
|
166
166
|
/**
|
|
167
|
-
* Provide a `Slug` component to be rendered inside the `MultiSelect` component
|
|
167
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `MultiSelect` component
|
|
168
168
|
*/
|
|
169
169
|
slug?: ReactNodeLike;
|
|
170
170
|
/**
|
|
@@ -237,6 +237,9 @@ const MultiSelect = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
237
237
|
if (changes.selectedItem === undefined) {
|
|
238
238
|
break;
|
|
239
239
|
}
|
|
240
|
+
if (Array.isArray(changes.selectedItem)) {
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
240
243
|
onItemChange(changes.selectedItem);
|
|
241
244
|
return {
|
|
242
245
|
...changes,
|
|
@@ -298,7 +301,7 @@ const MultiSelect = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
|
|
|
298
301
|
|
|
299
302
|
// Slug is always size `mini`
|
|
300
303
|
let normalizedSlug;
|
|
301
|
-
if (slug) {
|
|
304
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
302
305
|
normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
|
303
306
|
size: 'mini'
|
|
304
307
|
});
|
|
@@ -507,7 +510,7 @@ MultiSelect.propTypes = {
|
|
|
507
510
|
*/
|
|
508
511
|
size: ListBoxSize,
|
|
509
512
|
/**
|
|
510
|
-
* Provide a `Slug` component to be rendered inside the `MultiSelect` component
|
|
513
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `MultiSelect` component
|
|
511
514
|
*/
|
|
512
515
|
slug: PropTypes.node,
|
|
513
516
|
/**
|
|
@@ -584,6 +584,7 @@ function ActionableNotification(_ref6) {
|
|
|
584
584
|
className: `${prefix}--actionable-notification__subtitle`,
|
|
585
585
|
id: subtitleId
|
|
586
586
|
}, subtitle), children))), /*#__PURE__*/React__default.createElement("div", {
|
|
587
|
+
className: `${prefix}--actionable-notification__button-wrapper`,
|
|
587
588
|
ref: innerModal
|
|
588
589
|
}, actionButtonLabel && /*#__PURE__*/React__default.createElement(NotificationActionButton, {
|
|
589
590
|
onClick: onActionButtonClick,
|
|
@@ -109,7 +109,7 @@ export interface NumberInputProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
109
109
|
*/
|
|
110
110
|
size?: 'sm' | 'md' | 'lg';
|
|
111
111
|
/**
|
|
112
|
-
* Provide a `Slug` component to be rendered inside the `TextInput` component
|
|
112
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `TextInput` component
|
|
113
113
|
*/
|
|
114
114
|
slug?: ReactNodeLike;
|
|
115
115
|
/**
|
|
@@ -172,7 +172,7 @@ const NumberInput = /*#__PURE__*/React__default.forwardRef(function NumberInput(
|
|
|
172
172
|
|
|
173
173
|
// Slug is always size `mini`
|
|
174
174
|
let normalizedSlug;
|
|
175
|
-
if (slug) {
|
|
175
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
176
176
|
normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
|
177
177
|
size: 'mini'
|
|
178
178
|
});
|
|
@@ -180,7 +180,7 @@ const NumberInput = /*#__PURE__*/React__default.forwardRef(function NumberInput(
|
|
|
180
180
|
|
|
181
181
|
// Need to update the internal value when the revert button is clicked
|
|
182
182
|
let isRevertActive;
|
|
183
|
-
if (slug) {
|
|
183
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
184
184
|
isRevertActive = normalizedSlug.props.revertActive;
|
|
185
185
|
}
|
|
186
186
|
useEffect(() => {
|
|
@@ -360,7 +360,7 @@ NumberInput.propTypes = {
|
|
|
360
360
|
*/
|
|
361
361
|
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
362
362
|
/**
|
|
363
|
-
* Provide a `Slug` component to be rendered inside the `NumberInput` component
|
|
363
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `NumberInput` component
|
|
364
364
|
*/
|
|
365
365
|
slug: PropTypes.node,
|
|
366
366
|
/**
|
|
@@ -51,6 +51,10 @@ function ProgressIndicator(_ref) {
|
|
|
51
51
|
return /*#__PURE__*/React__default.createElement("ul", _extends({
|
|
52
52
|
className: className
|
|
53
53
|
}, rest), React__default.Children.map(children, (child, index) => {
|
|
54
|
+
if (! /*#__PURE__*/React__default.isValidElement(child)) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
54
58
|
// only setup click handlers if onChange event is passed
|
|
55
59
|
const onClick = onChange ? () => onChange(index) : undefined;
|
|
56
60
|
if (index === currentIndex) {
|
|
@@ -56,7 +56,7 @@ export interface RadioButtonProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
56
56
|
*/
|
|
57
57
|
onClick?: (evt: React.MouseEvent<HTMLInputElement>) => void;
|
|
58
58
|
/**
|
|
59
|
-
* Provide a `Slug` component to be rendered inside the `RadioButton` component
|
|
59
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButton` component
|
|
60
60
|
*/
|
|
61
61
|
slug?: ReactNodeLike;
|
|
62
62
|
/**
|
|
@@ -120,7 +120,7 @@ RadioButton.propTypes = {
|
|
|
120
120
|
*/
|
|
121
121
|
onClick: PropTypes.func,
|
|
122
122
|
/**
|
|
123
|
-
* Provide a `Slug` component to be rendered inside the `RadioButton` component
|
|
123
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButton` component
|
|
124
124
|
*/
|
|
125
125
|
slug: PropTypes.node,
|
|
126
126
|
/**
|
|
@@ -64,7 +64,7 @@ export interface RadioButtonGroupProps extends Omit<React.InputHTMLAttributes<HT
|
|
|
64
64
|
*/
|
|
65
65
|
readOnly?: boolean;
|
|
66
66
|
/**
|
|
67
|
-
* Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
|
|
67
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
|
|
68
68
|
*/
|
|
69
69
|
slug?: ReactNodeLike;
|
|
70
70
|
/**
|
|
@@ -104,7 +104,7 @@ const RadioButtonGroup = /*#__PURE__*/React__default.forwardRef((props, ref) =>
|
|
|
104
104
|
|
|
105
105
|
// Slug is always size `mini`
|
|
106
106
|
let normalizedSlug;
|
|
107
|
-
if (slug) {
|
|
107
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
108
108
|
normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
|
109
109
|
size: 'mini',
|
|
110
110
|
kind: 'default'
|
|
@@ -188,7 +188,7 @@ RadioButtonGroup.propTypes = {
|
|
|
188
188
|
*/
|
|
189
189
|
readOnly: PropTypes.bool,
|
|
190
190
|
/**
|
|
191
|
-
* Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
|
|
191
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
|
|
192
192
|
*/
|
|
193
193
|
slug: PropTypes.node,
|
|
194
194
|
/**
|
|
@@ -78,7 +78,7 @@ interface SelectProps extends Omit<ComponentPropsWithRef<'select'>, ExcludedAttr
|
|
|
78
78
|
*/
|
|
79
79
|
size?: 'sm' | 'md' | 'lg';
|
|
80
80
|
/**
|
|
81
|
-
* Provide a `Slug` component to be rendered inside the `Dropdown` component
|
|
81
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `Dropdown` component
|
|
82
82
|
*/
|
|
83
83
|
slug?: ReactNodeLike;
|
|
84
84
|
/**
|
|
@@ -128,7 +128,7 @@ const Select = /*#__PURE__*/React__default.forwardRef(function Select(_ref, ref)
|
|
|
128
128
|
|
|
129
129
|
// Slug is always size `mini`
|
|
130
130
|
let normalizedSlug;
|
|
131
|
-
if (slug) {
|
|
131
|
+
if (slug && slug['type']?.displayName === 'Slug') {
|
|
132
132
|
normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
|
|
133
133
|
size: 'mini'
|
|
134
134
|
});
|
|
@@ -245,7 +245,7 @@ Select.propTypes = {
|
|
|
245
245
|
*/
|
|
246
246
|
size: PropTypes.oneOf(['sm', 'md', 'lg']),
|
|
247
247
|
/**
|
|
248
|
-
* Provide a `Slug` component to be rendered inside the `Select` component
|
|
248
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `Select` component
|
|
249
249
|
*/
|
|
250
250
|
slug: PropTypes.node,
|
|
251
251
|
/**
|
|
@@ -10,7 +10,9 @@ import PropTypes from 'prop-types';
|
|
|
10
10
|
import React__default from 'react';
|
|
11
11
|
import cx from 'classnames';
|
|
12
12
|
import { usePrefix } from '../../internal/usePrefix.js';
|
|
13
|
+
import { LowerHandle, UpperHandle } from './SliderHandles.js';
|
|
13
14
|
|
|
15
|
+
var _LowerHandle, _UpperHandle, _UpperHandle2, _LowerHandle2;
|
|
14
16
|
const SliderSkeleton = _ref => {
|
|
15
17
|
let {
|
|
16
18
|
hideLabel,
|
|
@@ -19,8 +21,10 @@ const SliderSkeleton = _ref => {
|
|
|
19
21
|
...rest
|
|
20
22
|
} = _ref;
|
|
21
23
|
const prefix = usePrefix();
|
|
24
|
+
const isRtl = document?.dir === 'rtl';
|
|
22
25
|
const containerClasses = cx(`${prefix}--slider-container`, `${prefix}--skeleton`, {
|
|
23
|
-
[`${prefix}--slider-container--two-handles`]: twoHandles
|
|
26
|
+
[`${prefix}--slider-container--two-handles`]: twoHandles,
|
|
27
|
+
[`${prefix}--slider-container--rtl`]: isRtl
|
|
24
28
|
});
|
|
25
29
|
const lowerThumbClasses = cx(`${prefix}--slider__thumb`, {
|
|
26
30
|
[`${prefix}--slider__thumb--lower`]: twoHandles
|
|
@@ -28,6 +32,12 @@ const SliderSkeleton = _ref => {
|
|
|
28
32
|
const upperThumbClasses = cx(`${prefix}--slider__thumb`, {
|
|
29
33
|
[`${prefix}--slider__thumb--upper`]: twoHandles
|
|
30
34
|
});
|
|
35
|
+
const lowerThumbWrapperClasses = cx(`${prefix}--slider__thumb-wrapper`, {
|
|
36
|
+
[`${prefix}--slider__thumb-wrapper--lower`]: twoHandles
|
|
37
|
+
});
|
|
38
|
+
const upperThumbWrapperClasses = cx(`${prefix}--slider__thumb-wrapper`, {
|
|
39
|
+
[`${prefix}--slider__thumb-wrapper--upper`]: twoHandles
|
|
40
|
+
});
|
|
31
41
|
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
32
42
|
className: cx(`${prefix}--form-item`, className)
|
|
33
43
|
}, rest), !hideLabel && /*#__PURE__*/React__default.createElement("span", {
|
|
@@ -43,10 +53,14 @@ const SliderSkeleton = _ref => {
|
|
|
43
53
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
44
54
|
className: `${prefix}--slider__filled-track`
|
|
45
55
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
56
|
+
className: lowerThumbWrapperClasses
|
|
57
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
46
58
|
className: lowerThumbClasses
|
|
47
|
-
}), twoHandles ? /*#__PURE__*/React__default.createElement("div", {
|
|
59
|
+
}, twoHandles && !isRtl ? _LowerHandle || (_LowerHandle = /*#__PURE__*/React__default.createElement(LowerHandle, null)) : twoHandles && isRtl ? _UpperHandle || (_UpperHandle = /*#__PURE__*/React__default.createElement(UpperHandle, null)) : undefined)), twoHandles ? /*#__PURE__*/React__default.createElement("div", {
|
|
60
|
+
className: upperThumbWrapperClasses
|
|
61
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
48
62
|
className: upperThumbClasses
|
|
49
|
-
}) : undefined), /*#__PURE__*/React__default.createElement("span", {
|
|
63
|
+
}, twoHandles && !isRtl ? _UpperHandle2 || (_UpperHandle2 = /*#__PURE__*/React__default.createElement(UpperHandle, null)) : twoHandles && isRtl ? _LowerHandle2 || (_LowerHandle2 = /*#__PURE__*/React__default.createElement(LowerHandle, null)) : undefined)) : undefined), /*#__PURE__*/React__default.createElement("span", {
|
|
50
64
|
className: `${prefix}--slider__range-label`
|
|
51
65
|
})));
|
|
52
66
|
};
|