@carbon/react 1.44.0-rc.0 → 1.45.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.
Files changed (140) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1009 -1050
  2. package/es/components/Accordion/AccordionItem.d.ts +1 -1
  3. package/es/components/Accordion/AccordionItem.js +19 -15
  4. package/es/components/Checkbox/Checkbox.d.ts +4 -0
  5. package/es/components/Checkbox/Checkbox.js +15 -2
  6. package/es/components/CheckboxGroup/CheckboxGroup.js +17 -2
  7. package/es/components/ComboBox/ComboBox.d.ts +1 -1
  8. package/es/components/ComboBox/ComboBox.js +1 -1
  9. package/es/components/ComboButton/index.js +1 -1
  10. package/es/components/ComposedModal/ModalFooter.d.ts +2 -1
  11. package/es/components/DataTable/DataTable.d.ts +2 -0
  12. package/es/components/DataTable/DataTable.js +3 -0
  13. package/es/components/DataTable/TableExpandRow.js +20 -3
  14. package/es/components/DataTable/TableHeader.d.ts +5 -0
  15. package/es/components/DataTable/TableHeader.js +30 -6
  16. package/es/components/DataTable/TableSlugRow.d.ts +31 -0
  17. package/es/components/DataTable/TableSlugRow.js +49 -0
  18. package/es/components/DataTable/index.d.ts +2 -1
  19. package/es/components/DataTable/index.js +3 -0
  20. package/es/components/DataTable/tools/sorting.js +1 -1
  21. package/es/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  22. package/es/components/DatePickerInput/DatePickerInput.js +1 -1
  23. package/es/components/Dropdown/Dropdown.d.ts +1 -1
  24. package/es/components/Dropdown/Dropdown.js +1 -1
  25. package/es/components/FileUploader/FileUploader.js +5 -3
  26. package/es/components/Grid/Column.js +11 -1
  27. package/es/components/InlineLoading/InlineLoading.d.ts +68 -0
  28. package/es/components/InlineLoading/InlineLoading.js +4 -4
  29. package/es/components/InlineLoading/index.d.ts +9 -0
  30. package/es/components/Layer/LayerContext.d.ts +8 -0
  31. package/es/components/Layer/LayerLevel.d.ts +5 -0
  32. package/es/components/Layer/LayerLevel.js +12 -0
  33. package/es/components/Layer/index.d.ts +38 -0
  34. package/es/components/Layer/index.js +9 -8
  35. package/es/components/Menu/MenuItem.js +2 -1
  36. package/es/components/MenuButton/index.js +8 -2
  37. package/es/components/Modal/Modal.d.ts +3 -2
  38. package/es/components/MultiSelect/FilterableMultiSelect.js +1 -1
  39. package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
  40. package/es/components/MultiSelect/MultiSelect.js +1 -1
  41. package/es/components/Notification/Notification.js +1 -0
  42. package/es/components/NumberInput/NumberInput.d.ts +1 -1
  43. package/es/components/NumberInput/NumberInput.js +1 -1
  44. package/es/components/RadioButton/RadioButton.d.ts +4 -0
  45. package/es/components/RadioButton/RadioButton.js +15 -2
  46. package/es/components/RadioButtonGroup/RadioButtonGroup.d.ts +4 -0
  47. package/es/components/RadioButtonGroup/RadioButtonGroup.js +17 -2
  48. package/es/components/Select/Select.d.ts +2 -2
  49. package/es/components/Select/Select.js +1 -1
  50. package/es/components/Slider/Slider.Skeleton.js +17 -3
  51. package/es/components/Slider/Slider.js +132 -93
  52. package/es/components/Slider/SliderHandles.d.ts +4 -0
  53. package/es/components/Slider/SliderHandles.js +65 -0
  54. package/es/components/Slug/index.js +1 -1
  55. package/es/components/Tabs/Tabs.js +1 -1
  56. package/es/components/TextArea/TextArea.d.ts +7 -3
  57. package/es/components/TextArea/TextArea.js +84 -17
  58. package/es/components/TextInput/TextInput.d.ts +1 -1
  59. package/es/components/TextInput/TextInput.js +1 -1
  60. package/es/components/Tile/Tile.d.ts +37 -0
  61. package/es/components/Tile/Tile.js +114 -13
  62. package/es/components/Tooltip/Tooltip.js +48 -2
  63. package/es/components/UIShell/Content.d.ts +296 -0
  64. package/es/components/UIShell/Content.js +1 -2
  65. package/es/components/UIShell/HeaderPanel.d.ts +36 -0
  66. package/es/components/UIShell/HeaderPanel.js +6 -6
  67. package/es/components/UIShell/SideNav.d.ts +1 -1
  68. package/es/index.js +2 -1
  69. package/es/internal/useAnnouncer.js +2 -1
  70. package/es/internal/useNoInteractiveChildren.js +2 -6
  71. package/lib/components/Accordion/AccordionItem.d.ts +1 -1
  72. package/lib/components/Accordion/AccordionItem.js +18 -14
  73. package/lib/components/Checkbox/Checkbox.d.ts +4 -0
  74. package/lib/components/Checkbox/Checkbox.js +15 -2
  75. package/lib/components/CheckboxGroup/CheckboxGroup.js +17 -2
  76. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  77. package/lib/components/ComboBox/ComboBox.js +1 -1
  78. package/lib/components/ComboButton/index.js +1 -1
  79. package/lib/components/ComposedModal/ModalFooter.d.ts +2 -1
  80. package/lib/components/DataTable/DataTable.d.ts +2 -0
  81. package/lib/components/DataTable/DataTable.js +3 -0
  82. package/lib/components/DataTable/TableExpandRow.js +20 -3
  83. package/lib/components/DataTable/TableHeader.d.ts +5 -0
  84. package/lib/components/DataTable/TableHeader.js +29 -5
  85. package/lib/components/DataTable/TableSlugRow.d.ts +31 -0
  86. package/lib/components/DataTable/TableSlugRow.js +59 -0
  87. package/lib/components/DataTable/index.d.ts +2 -1
  88. package/lib/components/DataTable/index.js +3 -0
  89. package/lib/components/DataTable/tools/sorting.js +1 -1
  90. package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  91. package/lib/components/DatePickerInput/DatePickerInput.js +1 -1
  92. package/lib/components/Dropdown/Dropdown.d.ts +1 -1
  93. package/lib/components/Dropdown/Dropdown.js +1 -1
  94. package/lib/components/FileUploader/FileUploader.js +5 -3
  95. package/lib/components/Grid/Column.js +11 -1
  96. package/lib/components/InlineLoading/InlineLoading.d.ts +68 -0
  97. package/lib/components/InlineLoading/InlineLoading.js +4 -4
  98. package/lib/components/InlineLoading/index.d.ts +9 -0
  99. package/lib/components/Layer/LayerContext.d.ts +8 -0
  100. package/lib/components/Layer/LayerLevel.d.ts +5 -0
  101. package/lib/components/Layer/LayerLevel.js +18 -0
  102. package/lib/components/Layer/index.d.ts +38 -0
  103. package/lib/components/Layer/index.js +10 -9
  104. package/lib/components/Menu/MenuItem.js +2 -1
  105. package/lib/components/MenuButton/index.js +8 -2
  106. package/lib/components/Modal/Modal.d.ts +3 -2
  107. package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -1
  108. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  109. package/lib/components/MultiSelect/MultiSelect.js +1 -1
  110. package/lib/components/Notification/Notification.js +1 -0
  111. package/lib/components/NumberInput/NumberInput.d.ts +1 -1
  112. package/lib/components/NumberInput/NumberInput.js +1 -1
  113. package/lib/components/RadioButton/RadioButton.d.ts +4 -0
  114. package/lib/components/RadioButton/RadioButton.js +15 -2
  115. package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +4 -0
  116. package/lib/components/RadioButtonGroup/RadioButtonGroup.js +17 -2
  117. package/lib/components/Select/Select.d.ts +2 -2
  118. package/lib/components/Select/Select.js +1 -1
  119. package/lib/components/Slider/Slider.Skeleton.js +17 -3
  120. package/lib/components/Slider/Slider.js +132 -93
  121. package/lib/components/Slider/SliderHandles.d.ts +4 -0
  122. package/lib/components/Slider/SliderHandles.js +76 -0
  123. package/lib/components/Slug/index.js +1 -1
  124. package/lib/components/Tabs/Tabs.js +1 -1
  125. package/lib/components/TextArea/TextArea.d.ts +7 -3
  126. package/lib/components/TextArea/TextArea.js +83 -16
  127. package/lib/components/TextInput/TextInput.d.ts +1 -1
  128. package/lib/components/TextInput/TextInput.js +1 -1
  129. package/lib/components/Tile/Tile.d.ts +37 -0
  130. package/lib/components/Tile/Tile.js +114 -13
  131. package/lib/components/Tooltip/Tooltip.js +47 -1
  132. package/lib/components/UIShell/Content.d.ts +296 -0
  133. package/lib/components/UIShell/Content.js +1 -2
  134. package/lib/components/UIShell/HeaderPanel.d.ts +36 -0
  135. package/lib/components/UIShell/HeaderPanel.js +7 -7
  136. package/lib/components/UIShell/SideNav.d.ts +1 -1
  137. package/lib/index.js +4 -2
  138. package/lib/internal/useAnnouncer.js +2 -1
  139. package/lib/internal/useNoInteractiveChildren.js +2 -6
  140. package/package.json +5 -8
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import PropTypes from 'prop-types';
9
+ export declare const InlineLoadingStatuses: readonly ["inactive", "active", "finished", "error"];
10
+ export type InlineLoadingStatus = (typeof InlineLoadingStatuses)[number];
11
+ export interface InlineLoadingProps extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'> {
12
+ /**
13
+ * Specify a custom className to be applied to the container node
14
+ */
15
+ className?: string;
16
+ /**
17
+ * Specify the description for the inline loading text
18
+ */
19
+ description?: React.ReactNode;
20
+ /**
21
+ * Specify the description for the inline loading text
22
+ */
23
+ iconDescription?: string;
24
+ /**
25
+ * Provide an optional handler to be invoked when <InlineLoading> is
26
+ * successful
27
+ */
28
+ onSuccess?: () => void;
29
+ /**
30
+ * Specify the loading status
31
+ */
32
+ status?: InlineLoadingStatus;
33
+ /**
34
+ * Provide a delay for the `setTimeout` for success
35
+ */
36
+ successDelay?: number;
37
+ }
38
+ declare const InlineLoading: {
39
+ ({ className, status, iconDescription, description, onSuccess, successDelay, ...rest }: InlineLoadingProps): JSX.Element;
40
+ propTypes: {
41
+ /**
42
+ * Specify a custom className to be applied to the container node
43
+ */
44
+ className: PropTypes.Requireable<string>;
45
+ /**
46
+ * Specify the description for the inline loading text
47
+ */
48
+ description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
49
+ /**
50
+ * Specify the description for the inline loading text
51
+ */
52
+ iconDescription: PropTypes.Requireable<string>;
53
+ /**
54
+ * Provide an optional handler to be invoked when <InlineLoading> is
55
+ * successful
56
+ */
57
+ onSuccess: PropTypes.Requireable<(...args: any[]) => any>;
58
+ /**
59
+ * Specify the loading status
60
+ */
61
+ status: PropTypes.Requireable<string>;
62
+ /**
63
+ * Provide a delay for the `setTimeout` for success
64
+ */
65
+ successDelay: PropTypes.Requireable<number>;
66
+ };
67
+ };
68
+ export default InlineLoading;
@@ -13,7 +13,7 @@ import { ErrorFilled, CheckmarkFilled } from '@carbon/icons-react';
13
13
  import Loading from '../Loading/Loading.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
15
15
 
16
- function InlineLoading(_ref) {
16
+ const InlineLoading = _ref => {
17
17
  let {
18
18
  className,
19
19
  status = 'active',
@@ -21,7 +21,7 @@ function InlineLoading(_ref) {
21
21
  description,
22
22
  onSuccess,
23
23
  successDelay = 1500,
24
- ...other
24
+ ...rest
25
25
  } = _ref;
26
26
  const prefix = usePrefix();
27
27
  const loadingClasses = cx(`${prefix}--inline-loading`, className);
@@ -64,10 +64,10 @@ function InlineLoading(_ref) {
64
64
  }, loading);
65
65
  return /*#__PURE__*/React__default.createElement("div", _extends({
66
66
  className: loadingClasses
67
- }, other, {
67
+ }, rest, {
68
68
  "aria-live": 'assertive'
69
69
  }), loadingAnimation, description && loadingText);
70
- }
70
+ };
71
71
  InlineLoading.propTypes = {
72
72
  /**
73
73
  * Specify a custom className to be applied to the container node
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import InlineLoading from './InlineLoading';
8
+ export default InlineLoading;
9
+ export { InlineLoading };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ export declare const LayerContext: React.Context<0 | 1 | 2>;
@@ -0,0 +1,5 @@
1
+ export declare const levels: readonly ["one", "two", "three"];
2
+ export declare const MIN_LEVEL = 0;
3
+ export declare const MAX_LEVEL: number;
4
+ export declare const LayerLevels: readonly [0, 1, 2];
5
+ export type LayerLevel = (typeof LayerLevels)[number];
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ const levels = ['one', 'two', 'three'];
9
+ const MIN_LEVEL = 0;
10
+ const MAX_LEVEL = levels.length - 1;
11
+
12
+ export { MAX_LEVEL, MIN_LEVEL, levels };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import { LayerLevel } from './LayerLevel';
9
+ import { PolymorphicProps } from '../../types/common';
10
+ /**
11
+ * A custom hook that will return information about the current layer. A common
12
+ * field to pull from this is the `level` for the layer that the component that
13
+ * calls this hook is currently in
14
+ */
15
+ export declare function useLayer(): {
16
+ level: 0 | 1 | 2;
17
+ };
18
+ interface LayerBaseProps {
19
+ /**
20
+ * Provide child elements to be rendered inside of `Theme`
21
+ */
22
+ children?: React.ReactNode;
23
+ /**
24
+ * Provide a custom class name to be used on the outermost element rendered by
25
+ * the component
26
+ */
27
+ className?: string;
28
+ /**
29
+ * Specify the layer level and override any existing levels based on hierarchy
30
+ */
31
+ level?: LayerLevel;
32
+ }
33
+ export type LayerProps<T extends React.ElementType> = PolymorphicProps<T, LayerBaseProps>;
34
+ export interface LayerComponent {
35
+ <T extends React.ElementType>(props: LayerProps<T>, context?: any): React.ReactElement<any, any> | null;
36
+ }
37
+ export declare const Layer: LayerComponent;
38
+ export {};
@@ -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 Layer = /*#__PURE__*/React__default.forwardRef(function Layer(_ref, ref) {
27
+ const LayerRenderFunction = /*#__PURE__*/React__default.forwardRef(function Layer(_ref, ref) {
30
28
  let {
31
- as: BaseComponent = 'div',
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 0 and MAX_LEVEL
42
- const value = Math.max(0, Math.min(level + 1, MAX_LEVEL));
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
- Layer.propTypes = {
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 = 4; // top and bottom spacing between the button and the menu. in px
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) {
@@ -29,6 +29,7 @@ const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_r
29
29
  kind = defaultButtonKind,
30
30
  label,
31
31
  size = 'lg',
32
+ tabIndex = 0,
32
33
  ...rest
33
34
  } = _ref;
34
35
  const id = useId('MenuButton');
@@ -69,6 +70,7 @@ const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(_r
69
70
  }), /*#__PURE__*/React__default.createElement(Button, {
70
71
  className: triggerClasses,
71
72
  size: size,
73
+ tabIndex: tabIndex,
72
74
  kind: buttonKind,
73
75
  renderIcon: ChevronDown,
74
76
  disabled: disabled,
@@ -114,7 +116,11 @@ MenuButton.propTypes = {
114
116
  /**
115
117
  * Specify the size of the button and menu.
116
118
  */
117
- size: PropTypes.oneOf(['sm', 'md', 'lg'])
119
+ size: PropTypes.oneOf(['sm', 'md', 'lg']),
120
+ /**
121
+ * Specify the tabIndex of the button.
122
+ */
123
+ tabIndex: PropTypes.number
118
124
  };
119
125
 
120
126
  export { MenuButton };
@@ -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?: string;
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?: React.ReactEventHandler<HTMLElement>;
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.
@@ -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
  /**
@@ -507,7 +507,7 @@ MultiSelect.propTypes = {
507
507
  */
508
508
  size: ListBoxSize,
509
509
  /**
510
- * Provide a `Slug` component to be rendered inside the `MultiSelect` component
510
+ * **Experimental**: Provide a `Slug` component to be rendered inside the `MultiSelect` component
511
511
  */
512
512
  slug: PropTypes.node,
513
513
  /**
@@ -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
  /**
@@ -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
  /**
@@ -55,6 +55,10 @@ export interface RadioButtonProps extends Omit<React.InputHTMLAttributes<HTMLInp
55
55
  * Provide a handler that is invoked when a user clicks on the control
56
56
  */
57
57
  onClick?: (evt: React.MouseEvent<HTMLInputElement>) => void;
58
+ /**
59
+ * **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButton` component
60
+ */
61
+ slug?: ReactNodeLike;
58
62
  /**
59
63
  * Specify the value of the `<RadioButton>`
60
64
  */
@@ -26,6 +26,7 @@ const RadioButton = /*#__PURE__*/React__default.forwardRef((props, ref) => {
26
26
  name,
27
27
  onChange = () => {},
28
28
  value = '',
29
+ slug,
29
30
  ...rest
30
31
  } = props;
31
32
  const prefix = usePrefix();
@@ -38,9 +39,17 @@ const RadioButton = /*#__PURE__*/React__default.forwardRef((props, ref) => {
38
39
  [`${prefix}--visually-hidden`]: hideLabel
39
40
  });
40
41
  const wrapperClasses = cx(className, `${prefix}--radio-button-wrapper`, {
41
- [`${prefix}--radio-button-wrapper--label-${labelPosition}`]: labelPosition !== 'right'
42
+ [`${prefix}--radio-button-wrapper--label-${labelPosition}`]: labelPosition !== 'right',
43
+ [`${prefix}--radio-button-wrapper--slug`]: slug
42
44
  });
43
45
  const inputRef = useRef(null);
46
+ let normalizedSlug;
47
+ if (slug && /*#__PURE__*/React__default.isValidElement(slug)) {
48
+ const size = slug.props?.['kind'] === 'inline' ? 'md' : 'mini';
49
+ normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
50
+ size
51
+ });
52
+ }
44
53
  return /*#__PURE__*/React__default.createElement("div", {
45
54
  className: wrapperClasses
46
55
  }, /*#__PURE__*/React__default.createElement("input", _extends({}, rest, {
@@ -59,7 +68,7 @@ const RadioButton = /*#__PURE__*/React__default.forwardRef((props, ref) => {
59
68
  className: `${prefix}--radio-button__appearance`
60
69
  }), labelText && /*#__PURE__*/React__default.createElement(Text, {
61
70
  className: innerLabelClasses
62
- }, labelText)));
71
+ }, labelText, normalizedSlug)));
63
72
  });
64
73
  RadioButton.displayName = 'RadioButton';
65
74
  RadioButton.propTypes = {
@@ -110,6 +119,10 @@ RadioButton.propTypes = {
110
119
  * Provide a handler that is invoked when a user clicks on the control
111
120
  */
112
121
  onClick: PropTypes.func,
122
+ /**
123
+ * **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButton` component
124
+ */
125
+ slug: PropTypes.node,
113
126
  /**
114
127
  * Specify the value of the `<RadioButton>`
115
128
  */
@@ -63,6 +63,10 @@ export interface RadioButtonGroupProps extends Omit<React.InputHTMLAttributes<HT
63
63
  * Whether the RadioButtonGroup should be read-only
64
64
  */
65
65
  readOnly?: boolean;
66
+ /**
67
+ * **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
68
+ */
69
+ slug?: ReactNodeLike;
66
70
  /**
67
71
  * Specify whether the control is currently in warning state
68
72
  */
@@ -34,6 +34,7 @@ const RadioButtonGroup = /*#__PURE__*/React__default.forwardRef((props, ref) =>
34
34
  valueSelected,
35
35
  warn = false,
36
36
  warnText,
37
+ slug,
37
38
  ...rest
38
39
  } = props;
39
40
  const prefix = usePrefix();
@@ -88,7 +89,8 @@ const RadioButtonGroup = /*#__PURE__*/React__default.forwardRef((props, ref) =>
88
89
  [`${prefix}--radio-button-group--label-${labelPosition}`]: labelPosition,
89
90
  [`${prefix}--radio-button-group--readonly`]: readOnly,
90
91
  [`${prefix}--radio-button-group--invalid`]: !readOnly && invalid,
91
- [`${prefix}--radio-button-group--warning`]: showWarning
92
+ [`${prefix}--radio-button-group--warning`]: showWarning,
93
+ [`${prefix}--radio-button-group--slug`]: slug
92
94
  });
93
95
  const helperClasses = cx(`${prefix}--form__helper-text`, {
94
96
  [`${prefix}--form__helper-text--disabled`]: disabled
@@ -99,6 +101,15 @@ const RadioButtonGroup = /*#__PURE__*/React__default.forwardRef((props, ref) =>
99
101
  className: helperClasses
100
102
  }, helperText) : null;
101
103
  const divRef = useRef(null);
104
+
105
+ // Slug is always size `mini`
106
+ let normalizedSlug;
107
+ if (slug) {
108
+ normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
109
+ size: 'mini',
110
+ kind: 'default'
111
+ });
112
+ }
102
113
  return /*#__PURE__*/React__default.createElement("div", {
103
114
  className: wrapperClasses,
104
115
  ref: mergeRefs(divRef, ref)
@@ -109,7 +120,7 @@ const RadioButtonGroup = /*#__PURE__*/React__default.forwardRef((props, ref) =>
109
120
  "aria-describedby": showHelper && helperText ? helperId : undefined
110
121
  }, rest), legendText && /*#__PURE__*/React__default.createElement(Legend, {
111
122
  className: `${prefix}--label`
112
- }, legendText), getRadioButtons()), /*#__PURE__*/React__default.createElement("div", {
123
+ }, legendText, normalizedSlug), getRadioButtons()), /*#__PURE__*/React__default.createElement("div", {
113
124
  className: `${prefix}--radio-button__validation-msg`
114
125
  }, !readOnly && invalid && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(WarningFilled, {
115
126
  className: `${prefix}--radio-button__invalid-icon`
@@ -176,6 +187,10 @@ RadioButtonGroup.propTypes = {
176
187
  * Whether the RadioButtonGroup should be read-only
177
188
  */
178
189
  readOnly: PropTypes.bool,
190
+ /**
191
+ * **Experimental**: Provide a `Slug` component to be rendered inside the `RadioButtonGroup` component
192
+ */
193
+ slug: PropTypes.node,
179
194
  /**
180
195
  * Specify the value that is currently selected in the group
181
196
  */
@@ -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
  /**
@@ -90,5 +90,5 @@ interface SelectProps extends Omit<ComponentPropsWithRef<'select'>, ExcludedAttr
90
90
  */
91
91
  warnText?: ReactNode;
92
92
  }
93
- declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "value" | "children" | "disabled" | "form" | "slot" | "style" | "title" | "className" | "size" | "dir" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "autoComplete" | "multiple" | "key" | "id" | "aria-controls" | "aria-expanded" | "onClick" | "onAnimationEnd" | "onKeyDown" | "tabIndex" | "color" | "lang" | "name" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "inline" | "readOnly" | "required" | "light" | "invalid" | "labelText" | "helperText" | "invalidText" | "hideLabel" | "warn" | "warnText" | "slug" | "noLabel"> & React.RefAttributes<HTMLSelectElement>>;
93
+ declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "value" | "children" | "disabled" | "form" | "slot" | "style" | "title" | "className" | "size" | "dir" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "autoComplete" | "multiple" | "key" | "id" | "aria-controls" | "aria-expanded" | "onClick" | "onKeyDown" | "onTransitionEnd" | "tabIndex" | "color" | "lang" | "name" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "inline" | "readOnly" | "required" | "light" | "invalid" | "labelText" | "helperText" | "invalidText" | "hideLabel" | "warn" | "warnText" | "slug" | "noLabel"> & React.RefAttributes<HTMLSelectElement>>;
94
94
  export default Select;
@@ -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
  };