@carbon/react 1.81.0-rc.0 → 1.82.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 (222) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +784 -784
  2. package/es/components/AILabel/index.d.ts +1 -1
  3. package/es/components/AILabel/index.js +2 -9
  4. package/es/components/Breadcrumb/Breadcrumb.d.ts +2 -3
  5. package/es/components/Breadcrumb/Breadcrumb.js +4 -4
  6. package/es/components/Breadcrumb/BreadcrumbItem.d.ts +3 -4
  7. package/es/components/Breadcrumb/BreadcrumbItem.js +5 -4
  8. package/es/components/Button/Button.js +2 -10
  9. package/es/components/ButtonSet/ButtonSet.d.ts +2 -3
  10. package/es/components/ButtonSet/ButtonSet.js +4 -4
  11. package/es/components/CodeSnippet/CodeSnippet.d.ts +1 -1
  12. package/es/components/CodeSnippet/CodeSnippet.js +3 -19
  13. package/es/components/ComboBox/ComboBox.d.ts +1 -1
  14. package/es/components/ComboBox/ComboBox.js +54 -32
  15. package/es/components/ComboButton/index.d.ts +1 -1
  16. package/es/components/ComboButton/index.js +2 -18
  17. package/es/components/ComposedModal/ComposedModal.js +5 -3
  18. package/es/components/Copy/Copy.d.ts +1 -1
  19. package/es/components/Copy/Copy.js +2 -18
  20. package/es/components/CopyButton/CopyButton.d.ts +1 -1
  21. package/es/components/CopyButton/CopyButton.js +2 -18
  22. package/es/components/DataTable/DataTable.d.ts +7 -12
  23. package/es/components/DataTable/DataTable.js +0 -5
  24. package/es/components/DataTable/TableCell.js +28 -4
  25. package/es/components/DataTable/TableToolbarAction.d.ts +2 -4
  26. package/es/components/DataTable/TableToolbarAction.js +5 -4
  27. package/es/components/DataTable/tools/cells.d.ts +13 -0
  28. package/es/components/DataTable/tools/cells.js +3 -6
  29. package/es/components/DataTable/tools/filter.d.ts +26 -0
  30. package/es/components/DataTable/tools/filter.js +8 -17
  31. package/es/components/DataTable/tools/sorting.d.ts +42 -0
  32. package/es/components/DataTable/tools/sorting.js +24 -53
  33. package/es/components/DatePicker/DatePicker.d.ts +1 -1
  34. package/es/components/DatePicker/DatePicker.js +19 -19
  35. package/es/components/Dialog/index.d.ts +1 -1
  36. package/es/components/Dropdown/Dropdown.Skeleton.d.ts +2 -2
  37. package/es/components/Dropdown/Dropdown.Skeleton.js +2 -2
  38. package/es/components/Dropdown/Dropdown.d.ts +7 -6
  39. package/es/components/Dropdown/Dropdown.js +13 -9
  40. package/es/components/FileUploader/FileUploaderButton.d.ts +1 -1
  41. package/es/components/FileUploader/FileUploaderButton.js +1 -1
  42. package/es/components/FileUploader/FileUploaderDropContainer.js +1 -1
  43. package/es/components/FileUploader/FileUploaderItem.js +1 -1
  44. package/es/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  45. package/es/components/FluidDatePickerInput/FluidDatePickerInput.js +5 -6
  46. package/es/components/FluidDropdown/FluidDropdown.d.ts +1 -1
  47. package/es/components/FluidSearch/FluidSearch.d.ts +3 -6
  48. package/es/components/IconButton/index.d.ts +1 -1
  49. package/es/components/IconButton/index.js +2 -18
  50. package/es/components/ListBox/ListBox.d.ts +4 -5
  51. package/es/components/ListBox/ListBox.js +8 -7
  52. package/es/components/ListBox/ListBoxMenu.d.ts +4 -4
  53. package/es/components/ListBox/ListBoxMenu.js +4 -2
  54. package/es/components/ListBox/ListBoxMenuItem.d.ts +9 -8
  55. package/es/components/ListBox/ListBoxPropTypes.d.ts +3 -3
  56. package/es/components/ListBox/ListBoxPropTypes.js +3 -3
  57. package/es/components/ListBox/index.d.ts +7 -5
  58. package/es/components/ListBox/index.js +1 -1
  59. package/es/components/Menu/Menu.js +9 -14
  60. package/es/components/Menu/MenuItem.js +15 -4
  61. package/es/components/Modal/Modal.js +9 -9
  62. package/es/components/MultiSelect/FilterableMultiSelect.d.ts +3 -2
  63. package/es/components/MultiSelect/FilterableMultiSelect.js +3 -2
  64. package/es/components/MultiSelect/MultiSelect.d.ts +8 -2
  65. package/es/components/MultiSelect/MultiSelect.js +7 -4
  66. package/es/components/Notification/Notification.js +1 -1
  67. package/es/components/OverflowMenu/OverflowMenu.js +2 -21
  68. package/es/components/OverflowMenu/index.d.ts +1 -1
  69. package/es/components/OverflowMenu/index.js +2 -3
  70. package/es/components/OverflowMenu/next/index.js +2 -18
  71. package/es/components/OverflowMenuItem/OverflowMenuItem.d.ts +2 -4
  72. package/es/components/OverflowMenuItem/OverflowMenuItem.js +5 -4
  73. package/es/components/PageHeader/PageHeader.d.ts +160 -8
  74. package/es/components/PageHeader/PageHeader.js +155 -21
  75. package/es/components/PageHeader/index.d.ts +2 -2
  76. package/es/components/PageHeader/index.js +1 -1
  77. package/es/components/Popover/index.js +4 -21
  78. package/es/components/Search/Search.d.ts +2 -5
  79. package/es/components/Search/Search.js +24 -8
  80. package/es/components/Stack/HStack.d.ts +2 -3
  81. package/es/components/Stack/HStack.js +4 -7
  82. package/es/components/Stack/Stack.d.ts +3 -4
  83. package/es/components/Stack/Stack.js +3 -6
  84. package/es/components/Stack/VStack.d.ts +2 -3
  85. package/es/components/Stack/VStack.js +3 -2
  86. package/es/components/Stack/index.d.ts +4 -4
  87. package/es/components/TextArea/TextArea.js +3 -5
  88. package/es/components/TimePicker/TimePicker.d.ts +3 -4
  89. package/es/components/TimePicker/TimePicker.js +5 -4
  90. package/es/components/TimePickerSelect/TimePickerSelect.d.ts +23 -4
  91. package/es/components/TimePickerSelect/TimePickerSelect.js +5 -4
  92. package/es/components/TreeView/TreeNode.js +13 -1
  93. package/es/components/TreeView/TreeView.js +1 -1
  94. package/es/index.js +1 -1
  95. package/es/internal/FloatingMenu.js +9 -5
  96. package/es/internal/environment.js +7 -0
  97. package/es/internal/keyboard/navigation.d.ts +0 -10
  98. package/es/internal/keyboard/navigation.js +1 -13
  99. package/es/internal/useId.js +1 -1
  100. package/es/internal/useNoInteractiveChildren.js +7 -0
  101. package/es/internal/useOutsideClick.js +3 -0
  102. package/es/internal/wrapFocus.d.ts +49 -0
  103. package/es/internal/wrapFocus.js +64 -51
  104. package/es/tools/events.d.ts +17 -0
  105. package/es/tools/events.js +10 -13
  106. package/es/tools/mapPopoverAlign.d.ts +15 -0
  107. package/es/tools/mapPopoverAlign.js +28 -0
  108. package/es/tools/uniqueId.d.ts +7 -0
  109. package/es/tools/uniqueId.js +3 -3
  110. package/es/types/common.d.ts +0 -2
  111. package/lib/components/AILabel/index.d.ts +1 -1
  112. package/lib/components/AILabel/index.js +2 -9
  113. package/lib/components/Breadcrumb/Breadcrumb.d.ts +2 -3
  114. package/lib/components/Breadcrumb/Breadcrumb.js +3 -3
  115. package/lib/components/Breadcrumb/BreadcrumbItem.d.ts +3 -4
  116. package/lib/components/Breadcrumb/BreadcrumbItem.js +4 -3
  117. package/lib/components/Button/Button.js +1 -9
  118. package/lib/components/ButtonSet/ButtonSet.d.ts +2 -3
  119. package/lib/components/ButtonSet/ButtonSet.js +3 -3
  120. package/lib/components/CodeSnippet/CodeSnippet.d.ts +1 -1
  121. package/lib/components/CodeSnippet/CodeSnippet.js +3 -19
  122. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  123. package/lib/components/ComboBox/ComboBox.js +53 -31
  124. package/lib/components/ComboButton/index.d.ts +1 -1
  125. package/lib/components/ComboButton/index.js +2 -18
  126. package/lib/components/ComposedModal/ComposedModal.js +5 -3
  127. package/lib/components/Copy/Copy.d.ts +1 -1
  128. package/lib/components/Copy/Copy.js +2 -18
  129. package/lib/components/CopyButton/CopyButton.d.ts +1 -1
  130. package/lib/components/CopyButton/CopyButton.js +2 -18
  131. package/lib/components/DataTable/DataTable.d.ts +7 -12
  132. package/lib/components/DataTable/DataTable.js +0 -5
  133. package/lib/components/DataTable/TableCell.js +28 -3
  134. package/lib/components/DataTable/TableToolbarAction.d.ts +2 -4
  135. package/lib/components/DataTable/TableToolbarAction.js +4 -3
  136. package/lib/components/DataTable/tools/cells.d.ts +13 -0
  137. package/lib/components/DataTable/tools/cells.js +3 -6
  138. package/lib/components/DataTable/tools/filter.d.ts +26 -0
  139. package/lib/components/DataTable/tools/filter.js +8 -17
  140. package/lib/components/DataTable/tools/sorting.d.ts +42 -0
  141. package/lib/components/DataTable/tools/sorting.js +23 -53
  142. package/lib/components/DatePicker/DatePicker.d.ts +1 -1
  143. package/lib/components/DatePicker/DatePicker.js +19 -19
  144. package/lib/components/Dialog/index.d.ts +1 -1
  145. package/lib/components/Dropdown/Dropdown.Skeleton.d.ts +2 -2
  146. package/lib/components/Dropdown/Dropdown.Skeleton.js +1 -1
  147. package/lib/components/Dropdown/Dropdown.d.ts +7 -6
  148. package/lib/components/Dropdown/Dropdown.js +12 -8
  149. package/lib/components/FileUploader/FileUploaderButton.d.ts +1 -1
  150. package/lib/components/FileUploader/FileUploaderButton.js +1 -1
  151. package/lib/components/FileUploader/FileUploaderDropContainer.js +1 -1
  152. package/lib/components/FileUploader/FileUploaderItem.js +1 -1
  153. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.d.ts +1 -1
  154. package/lib/components/FluidDatePickerInput/FluidDatePickerInput.js +4 -5
  155. package/lib/components/FluidDropdown/FluidDropdown.d.ts +1 -1
  156. package/lib/components/FluidSearch/FluidSearch.d.ts +3 -6
  157. package/lib/components/IconButton/index.d.ts +1 -1
  158. package/lib/components/IconButton/index.js +2 -18
  159. package/lib/components/ListBox/ListBox.d.ts +4 -5
  160. package/lib/components/ListBox/ListBox.js +7 -6
  161. package/lib/components/ListBox/ListBoxMenu.d.ts +4 -4
  162. package/lib/components/ListBox/ListBoxMenu.js +3 -1
  163. package/lib/components/ListBox/ListBoxMenuItem.d.ts +9 -8
  164. package/lib/components/ListBox/ListBoxPropTypes.d.ts +3 -3
  165. package/lib/components/ListBox/ListBoxPropTypes.js +4 -4
  166. package/lib/components/ListBox/index.d.ts +7 -5
  167. package/lib/components/ListBox/index.js +2 -2
  168. package/lib/components/Menu/Menu.js +9 -14
  169. package/lib/components/Menu/MenuItem.js +15 -4
  170. package/lib/components/Modal/Modal.js +9 -9
  171. package/lib/components/MultiSelect/FilterableMultiSelect.d.ts +3 -2
  172. package/lib/components/MultiSelect/FilterableMultiSelect.js +2 -1
  173. package/lib/components/MultiSelect/MultiSelect.d.ts +8 -2
  174. package/lib/components/MultiSelect/MultiSelect.js +6 -3
  175. package/lib/components/Notification/Notification.js +1 -1
  176. package/lib/components/OverflowMenu/OverflowMenu.js +2 -21
  177. package/lib/components/OverflowMenu/index.d.ts +1 -1
  178. package/lib/components/OverflowMenu/index.js +2 -3
  179. package/lib/components/OverflowMenu/next/index.js +2 -18
  180. package/lib/components/OverflowMenuItem/OverflowMenuItem.d.ts +2 -4
  181. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +4 -3
  182. package/lib/components/PageHeader/PageHeader.d.ts +160 -8
  183. package/lib/components/PageHeader/PageHeader.js +159 -19
  184. package/lib/components/PageHeader/index.d.ts +2 -2
  185. package/lib/components/PageHeader/index.js +6 -0
  186. package/lib/components/Popover/index.js +4 -21
  187. package/lib/components/Search/Search.d.ts +2 -5
  188. package/lib/components/Search/Search.js +24 -8
  189. package/lib/components/Stack/HStack.d.ts +2 -3
  190. package/lib/components/Stack/HStack.js +3 -6
  191. package/lib/components/Stack/Stack.d.ts +3 -4
  192. package/lib/components/Stack/Stack.js +2 -5
  193. package/lib/components/Stack/VStack.d.ts +2 -3
  194. package/lib/components/Stack/VStack.js +2 -1
  195. package/lib/components/Stack/index.d.ts +4 -4
  196. package/lib/components/TextArea/TextArea.js +2 -4
  197. package/lib/components/TimePicker/TimePicker.d.ts +3 -4
  198. package/lib/components/TimePicker/TimePicker.js +4 -3
  199. package/lib/components/TimePickerSelect/TimePickerSelect.d.ts +23 -4
  200. package/lib/components/TimePickerSelect/TimePickerSelect.js +4 -3
  201. package/lib/components/TreeView/TreeNode.js +13 -1
  202. package/lib/components/TreeView/TreeView.js +1 -1
  203. package/lib/index.js +2 -2
  204. package/lib/internal/FloatingMenu.js +9 -5
  205. package/lib/internal/environment.js +7 -0
  206. package/lib/internal/keyboard/navigation.d.ts +0 -10
  207. package/lib/internal/keyboard/navigation.js +0 -14
  208. package/lib/internal/useNoInteractiveChildren.js +7 -0
  209. package/lib/internal/useOutsideClick.js +3 -0
  210. package/lib/internal/wrapFocus.d.ts +49 -0
  211. package/lib/internal/wrapFocus.js +66 -53
  212. package/lib/tools/events.d.ts +17 -0
  213. package/lib/tools/events.js +10 -13
  214. package/lib/tools/mapPopoverAlign.d.ts +15 -0
  215. package/lib/tools/mapPopoverAlign.js +32 -0
  216. package/lib/tools/uniqueId.d.ts +7 -0
  217. package/lib/tools/uniqueId.js +3 -3
  218. package/lib/types/common.d.ts +0 -2
  219. package/package.json +9 -9
  220. package/telemetry.yml +3 -1
  221. package/es/tools/createPropAdapter.js +0 -40
  222. package/lib/tools/createPropAdapter.js +0 -44
@@ -7,6 +7,7 @@
7
7
  import { type UseComboboxProps, type UseMultipleSelectionProps } from 'downshift';
8
8
  import React, { ReactNode, FunctionComponent, ReactElement } from 'react';
9
9
  import { type MultiSelectSortingProps } from './MultiSelectPropTypes';
10
+ import { type ListBoxSize, type ListBoxType } from '../ListBox';
10
11
  import { TranslateWithId } from '../../types/common';
11
12
  /**
12
13
  * Message ids that will be passed to translateWithId().
@@ -166,7 +167,7 @@ export interface FilterableMultiSelectProps<ItemType> extends MultiSelectSorting
166
167
  * Specify the size of the ListBox.
167
168
  * Currently, supports either `sm`, `md` or `lg` as an option.
168
169
  */
169
- size?: 'sm' | 'md' | 'lg';
170
+ size?: ListBoxSize;
170
171
  /**
171
172
  * @deprecated please use decorator instead.
172
173
  * **Experimental**: Provide a `Slug` component to be rendered inside the `Checkbox` component
@@ -177,7 +178,7 @@ export interface FilterableMultiSelectProps<ItemType> extends MultiSelectSorting
177
178
  * combobox via ARIA attributes.
178
179
  */
179
180
  titleText?: ReactNode;
180
- type?: 'default' | 'inline';
181
+ type?: ListBoxType;
181
182
  /**
182
183
  * Specify title to show title on hover
183
184
  */
@@ -29,7 +29,7 @@ import '../FluidForm/FluidForm.js';
29
29
  import { FormContext } from '../FluidForm/FormContext.js';
30
30
  import { useSelection } from '../../internal/Selection.js';
31
31
  import { useFloating, flip, size, hide, autoUpdate } from '@floating-ui/react';
32
- import { ListBoxSize } from '../ListBox/ListBoxPropTypes.js';
32
+ import { ListBoxSizePropType, ListBoxTypePropType } from '../ListBox/ListBoxPropTypes.js';
33
33
 
34
34
  const {
35
35
  InputBlur,
@@ -775,7 +775,7 @@ FilterableMultiSelect.propTypes = {
775
775
  /**
776
776
  * Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
777
777
  */
778
- size: ListBoxSize,
778
+ size: ListBoxSizePropType,
779
779
  slug: deprecate(PropTypes.node, 'The `slug` prop has been deprecated and will be removed in the next major version. Use the decorator prop instead.'),
780
780
  ...sortingPropTypes,
781
781
  /**
@@ -787,6 +787,7 @@ FilterableMultiSelect.propTypes = {
787
787
  * Callback function for translating ListBoxMenuIcon SVG title
788
788
  */
789
789
  translateWithId: PropTypes.func,
790
+ type: ListBoxTypePropType,
790
791
  /**
791
792
  * Specify title to show title on hover
792
793
  */
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { UseSelectProps } from 'downshift';
8
8
  import React, { ReactNode } from 'react';
9
- import { ListBoxSize, ListBoxType } from '../ListBox';
9
+ import { type ListBoxSize, type ListBoxType } from '../ListBox';
10
10
  import { MultiSelectSortingProps } from './MultiSelectPropTypes';
11
11
  import { ListBoxProps } from '../ListBox/ListBox';
12
12
  import type { TranslateWithId } from '../../types/common';
@@ -173,5 +173,11 @@ export interface MultiSelectProps<ItemType> extends MultiSelectSortingProps<Item
173
173
  */
174
174
  warnText?: ReactNode;
175
175
  }
176
- export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps<unknown> & React.RefAttributes<HTMLButtonElement>>;
176
+ export declare const MultiSelect: MultiSelectComponent;
177
+ type MultiSelectComponentProps<ItemType> = React.PropsWithChildren<MultiSelectProps<ItemType>> & React.RefAttributes<HTMLButtonElement>;
178
+ interface MultiSelectComponent {
179
+ propTypes: Record<string, any>;
180
+ displayName: string;
181
+ <ItemType>(props: MultiSelectComponentProps<ItemType>): React.ReactElement<any> | null;
182
+ }
177
183
  export {};
@@ -29,7 +29,7 @@ import '../Checkbox/Checkbox.Skeleton.js';
29
29
  import { noopFn } from '../../internal/noopFn.js';
30
30
  import { useFloating, flip, size, hide, autoUpdate } from '@floating-ui/react';
31
31
  import { useFeatureFlag } from '../FeatureFlags/index.js';
32
- import { ListBoxSize } from '../ListBox/ListBoxPropTypes.js';
32
+ import { ListBoxSizePropType, ListBoxTypePropType } from '../ListBox/ListBoxPropTypes.js';
33
33
 
34
34
  const {
35
35
  ItemClick,
@@ -424,7 +424,10 @@ const MultiSelect = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
424
424
  const menuProps = useMemo(() => getMenuProps({
425
425
  ref: enableFloatingStyles ? refs.setFloating : null
426
426
  }), [enableFloatingStyles, getMenuProps, refs.setFloating]);
427
- const labelProps = ! /*#__PURE__*/isValidElement(titleText) ? getLabelProps() : null;
427
+ const allLabelProps = getLabelProps();
428
+ const labelProps = /*#__PURE__*/isValidElement(titleText) ? {
429
+ id: allLabelProps.id
430
+ } : allLabelProps;
428
431
  const getSelectionStats = useCallback((selectedItems, filteredItems) => {
429
432
  const hasIndividualSelections = selectedItems.some(selected => !selected.isSelectAll);
430
433
  const nonSelectAllSelectedCount = selectedItems.filter(selected => !selected.isSelectAll).length;
@@ -666,7 +669,7 @@ MultiSelect.propTypes = {
666
669
  /**
667
670
  * Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
668
671
  */
669
- size: ListBoxSize,
672
+ size: ListBoxSizePropType,
670
673
  slug: deprecate(PropTypes.node, 'The `slug` prop has been deprecated and will be removed in the next major version. Use the decorator prop instead.'),
671
674
  /**
672
675
  * Provide a method that sorts all options in the control. Overriding this
@@ -701,7 +704,7 @@ MultiSelect.propTypes = {
701
704
  /**
702
705
  * Specify 'inline' to create an inline multi-select.
703
706
  */
704
- type: PropTypes.oneOf(['default', 'inline']),
707
+ type: ListBoxTypePropType,
705
708
  /**
706
709
  * Specify title to show title on hover
707
710
  */
@@ -21,7 +21,7 @@ import { match, matches } from '../../internal/keyboard/match.js';
21
21
  import { usePrefix } from '../../internal/usePrefix.js';
22
22
  import { useId } from '../../internal/useId.js';
23
23
  import { noopFn } from '../../internal/noopFn.js';
24
- import wrapFocus, { wrapFocusWithoutSentinels } from '../../internal/wrapFocus.js';
24
+ import { wrapFocus, wrapFocusWithoutSentinels } from '../../internal/wrapFocus.js';
25
25
  import { useFeatureFlag } from '../FeatureFlags/index.js';
26
26
  import { warning } from '../../internal/warning.js';
27
27
  import deprecateValuesWithin from '../../prop-types/deprecateValuesWithin.js';
@@ -22,6 +22,7 @@ import { setupGetInstanceId } from '../../tools/setupGetInstanceId.js';
22
22
  import { IconButton } from '../IconButton/index.js';
23
23
  import { useOutsideClick } from '../../internal/useOutsideClick.js';
24
24
  import deprecateValuesWithin from '../../prop-types/deprecateValuesWithin.js';
25
+ import { mapPopoverAlign } from '../../tools/mapPopoverAlign.js';
25
26
 
26
27
  const getInstanceId = setupGetInstanceId();
27
28
  const on = function (target) {
@@ -90,22 +91,6 @@ const getMenuOffset = (menuBody, direction, trigger, flip) => {
90
91
  };
91
92
  }
92
93
  };
93
-
94
- // TODO: Replace this code when align mapping is consolidated.
95
- // https://github.com/carbon-design-system/carbon/pull/19081
96
- const propMappingFunction = deprecatedValue => {
97
- const mapping = {
98
- 'top-left': 'top-start',
99
- 'top-right': 'top-end',
100
- 'bottom-left': 'bottom-start',
101
- 'bottom-right': 'bottom-end',
102
- 'left-bottom': 'left-end',
103
- 'left-top': 'left-start',
104
- 'right-bottom': 'right-end',
105
- 'right-top': 'right-start'
106
- };
107
- return mapping[deprecatedValue];
108
- };
109
94
  const OverflowMenu = /*#__PURE__*/forwardRef((_ref, ref) => {
110
95
  let {
111
96
  align,
@@ -385,11 +370,7 @@ OverflowMenu.propTypes = {
385
370
  // deprecated use right-start instead
386
371
 
387
372
  // new values to match floating-ui
388
- 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
389
- //allowed prop values
390
- ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'],
391
- //optional mapper function
392
- propMappingFunction),
373
+ 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']), ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'], mapPopoverAlign),
393
374
  /**
394
375
  * Specify a label to be read by screen readers on the container node
395
376
  */
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
- import type { OverflowMenuProps } from './OverflowMenu';
8
+ import { type OverflowMenuProps } from './OverflowMenu';
9
9
  declare const OverflowMenu: React.ForwardRefExoticComponent<OverflowMenuProps & React.RefAttributes<HTMLDivElement>>;
10
10
  export default OverflowMenu;
11
11
  export { OverflowMenu, type OverflowMenuProps };
@@ -10,17 +10,16 @@ import React__default, { forwardRef } from 'react';
10
10
  import { useFeatureFlag } from '../FeatureFlags/index.js';
11
11
  import { OverflowMenu as OverflowMenu$2 } from './next/index.js';
12
12
  import { OverflowMenu as OverflowMenu$1 } from './OverflowMenu.js';
13
- import { createClassWrapper } from '../../internal/createClassWrapper.js';
14
13
 
15
- const OverflowMenuV11 = createClassWrapper(OverflowMenu$1);
16
14
  const OverflowMenu = /*#__PURE__*/forwardRef((props, ref) => {
17
15
  const enableV12OverflowMenu = useFeatureFlag('enable-v12-overflowmenu');
18
16
  return enableV12OverflowMenu ? /*#__PURE__*/React__default.createElement(OverflowMenu$2, _extends({}, props, {
19
17
  ref: ref
20
- })) : /*#__PURE__*/React__default.createElement(OverflowMenuV11, _extends({}, props, {
18
+ })) : /*#__PURE__*/React__default.createElement(OverflowMenu$1, _extends({}, props, {
21
19
  ref: ref
22
20
  }));
23
21
  });
24
22
  OverflowMenu.displayName = 'OverflowMenu';
23
+ OverflowMenu.propTypes = OverflowMenu$1.propTypes;
25
24
 
26
25
  export { OverflowMenu, OverflowMenu as default };
@@ -20,21 +20,9 @@ import { useId } from '../../../internal/useId.js';
20
20
  import { usePrefix } from '../../../internal/usePrefix.js';
21
21
  import { useAttachedMenu } from '../../../internal/useAttachedMenu.js';
22
22
  import deprecateValuesWithin from '../../../prop-types/deprecateValuesWithin.js';
23
+ import { mapPopoverAlign } from '../../../tools/mapPopoverAlign.js';
23
24
 
24
25
  const defaultSize = 'md';
25
- const propMappingFunction = deprecatedValue => {
26
- const mapping = {
27
- 'top-left': 'top-start',
28
- 'top-right': 'top-end',
29
- 'bottom-left': 'bottom-start',
30
- 'bottom-right': 'bottom-end',
31
- 'left-bottom': 'left-end',
32
- 'left-top': 'left-start',
33
- 'right-bottom': 'right-end',
34
- 'right-top': 'right-start'
35
- };
36
- return mapping[deprecatedValue];
37
- };
38
26
  const OverflowMenu = /*#__PURE__*/React__default.forwardRef(function OverflowMenu(_ref, forwardRef) {
39
27
  let {
40
28
  autoAlign = false,
@@ -196,11 +184,7 @@ OverflowMenu.propTypes = {
196
184
  // deprecated use right-start instead
197
185
 
198
186
  // new values to match floating-ui
199
- 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
200
- //allowed prop values
201
- ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'],
202
- //optional mapper function
203
- propMappingFunction),
187
+ 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']), ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'], mapPopoverAlign),
204
188
  /**
205
189
  * Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
206
190
  */
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2023
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
7
  import React from 'react';
8
- import { ForwardRefReturn } from '../../types/common';
9
8
  export interface OverflowMenuItemProps extends React.HTMLAttributes<HTMLElement> {
10
9
  /**
11
10
  * The CSS class name to be placed on the button element
@@ -57,6 +56,5 @@ export interface OverflowMenuItemProps extends React.HTMLAttributes<HTMLElement>
57
56
  */
58
57
  wrapperClassName?: string;
59
58
  }
60
- export type OverflowMenuItemComponent = ForwardRefReturn<HTMLElement, OverflowMenuItemProps>;
61
- declare const OverflowMenuItem: OverflowMenuItemComponent;
59
+ declare const OverflowMenuItem: React.ForwardRefExoticComponent<Omit<OverflowMenuItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
62
60
  export default OverflowMenuItem;
@@ -8,7 +8,7 @@
8
8
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import cx from 'classnames';
10
10
  import PropTypes from 'prop-types';
11
- import React__default from 'react';
11
+ import React__default, { forwardRef } from 'react';
12
12
  import { ArrowDown, ArrowUp } from '../../internal/keyboard/keys.js';
13
13
  import { match } from '../../internal/keyboard/match.js';
14
14
  import { usePrefix } from '../../internal/usePrefix.js';
@@ -16,8 +16,9 @@ import { warning } from '../../internal/warning.js';
16
16
  import '../Text/index.js';
17
17
  import { Text } from '../Text/Text.js';
18
18
 
19
- const OverflowMenuItem = /*#__PURE__*/React__default.forwardRef(function OverflowMenuItem(_ref, ref) {
20
- let {
19
+ const frFn = forwardRef;
20
+ const OverflowMenuItem = frFn((props, ref) => {
21
+ const {
21
22
  className,
22
23
  closeMenu,
23
24
  disabled = false,
@@ -33,7 +34,7 @@ const OverflowMenuItem = /*#__PURE__*/React__default.forwardRef(function Overflo
33
34
  title,
34
35
  wrapperClassName,
35
36
  ...rest
36
- } = _ref;
37
+ } = props;
37
38
  const prefix = usePrefix();
38
39
  function setTabFocus(evt) {
39
40
  if (match(evt, ArrowDown)) {
@@ -5,6 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { type ComponentType, type FunctionComponent } from 'react';
8
+ import PropTypes from 'prop-types';
9
+ import { Tabs as BaseTabs } from '../Tabs/Tabs';
8
10
  /**
9
11
  * ----------
10
12
  * PageHeader
@@ -47,10 +49,6 @@ interface PageHeaderContentProps {
47
49
  * The PageHeaderContent's title
48
50
  */
49
51
  title: string;
50
- /**
51
- * The PageHeaderContent's subtitle
52
- */
53
- subtitle?: string;
54
52
  /**
55
53
  * The PageHeaderContent's contextual actions
56
54
  */
@@ -61,6 +59,88 @@ interface PageHeaderContentProps {
61
59
  pageActions?: React.ReactNode;
62
60
  }
63
61
  declare const PageHeaderContent: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
62
+ /**
63
+ * ----------------
64
+ * PageHeaderContentPageActions
65
+ * ----------------
66
+ */
67
+ interface PageHeaderContentPageActionsProps {
68
+ /**
69
+ * Provide child elements to be rendered inside PageHeaderContentPageActions.
70
+ */
71
+ children?: React.ReactNode;
72
+ /**
73
+ * Specify an optional className to be added to your PageHeaderContentPageActions
74
+ */
75
+ className?: string;
76
+ /**
77
+ * The PageHeaderContent's page actions collapsible Menu button label
78
+ */
79
+ menuButtonLabel?: string;
80
+ /**
81
+ * The PageHeaderContent's page actions
82
+ */
83
+ pageActions?: React.ReactNode;
84
+ }
85
+ declare const PageHeaderContentPageActions: {
86
+ ({ className, children, menuButtonLabel, pageActions, ...other }: PageHeaderContentPageActionsProps): import("react/jsx-runtime").JSX.Element;
87
+ displayName: string;
88
+ propTypes: {
89
+ /**
90
+ * Provide child elements to be rendered inside PageHeaderContentPageActions.
91
+ */
92
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
93
+ /**
94
+ * Specify an optional className to be added to your PageHeaderContentPageActions
95
+ */
96
+ className: PropTypes.Requireable<string>;
97
+ /**
98
+ * The PageHeaderContent's collapsible Menu button label
99
+ */
100
+ menuButtonLabel: PropTypes.Requireable<string>;
101
+ /**
102
+ * The PageHeaderContent's page actions
103
+ */
104
+ pageActions: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactNodeLike>>;
105
+ };
106
+ };
107
+ /**
108
+ * ----------------
109
+ * PageHeaderContentText
110
+ * ----------------
111
+ */
112
+ interface PageHeaderContentTextProps {
113
+ /**
114
+ * Provide child elements to be rendered inside PageHeaderContentText.
115
+ */
116
+ children?: React.ReactNode;
117
+ /**
118
+ * Specify an optional className to be added to your PageHeaderContentText
119
+ */
120
+ className?: string;
121
+ /**
122
+ * The PageHeaderContent's subtitle
123
+ */
124
+ subtitle?: string;
125
+ }
126
+ declare const PageHeaderContentText: {
127
+ ({ className, children, subtitle, ...other }: PageHeaderContentTextProps): import("react/jsx-runtime").JSX.Element;
128
+ displayName: string;
129
+ propTypes: {
130
+ /**
131
+ * Provide child elements to be rendered inside PageHeaderContentText.
132
+ */
133
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
134
+ /**
135
+ * Specify an optional className to be added to your PageHeaderContentText
136
+ */
137
+ className: PropTypes.Requireable<string>;
138
+ /**
139
+ * The PageHeaderContent's subtitle
140
+ */
141
+ subtitle: PropTypes.Requireable<string>;
142
+ };
143
+ };
64
144
  /**
65
145
  * ----------------
66
146
  * PageHeaderHeroImage
@@ -76,7 +156,20 @@ interface PageHeaderHeroImageProps {
76
156
  */
77
157
  className?: string;
78
158
  }
79
- declare const PageHeaderHeroImage: React.ForwardRefExoticComponent<PageHeaderHeroImageProps & React.RefAttributes<HTMLDivElement>>;
159
+ declare const PageHeaderHeroImage: {
160
+ ({ className, children, ...other }: PageHeaderHeroImageProps): import("react/jsx-runtime").JSX.Element;
161
+ displayName: string;
162
+ propTypes: {
163
+ /**
164
+ * Provide child elements to be rendered inside PageHeaderHeroImage.
165
+ */
166
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
167
+ /**
168
+ * Specify an optional className to be added to your PageHeaderHeroImage
169
+ */
170
+ className: PropTypes.Requireable<string>;
171
+ };
172
+ };
80
173
  /**
81
174
  * ----------------
82
175
  * PageHeaderTabBar
@@ -87,6 +180,11 @@ interface PageHeaderTabBarProps {
87
180
  className?: string;
88
181
  }
89
182
  declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
183
+ interface PageHeaderTabsProps extends React.ComponentProps<typeof BaseTabs> {
184
+ children?: React.ReactNode;
185
+ className?: string;
186
+ }
187
+ declare const PageHeaderTabs: React.ForwardRefExoticComponent<PageHeaderTabsProps & React.RefAttributes<HTMLDivElement>>;
90
188
  /**
91
189
  * -------
92
190
  * Exports
@@ -95,7 +193,61 @@ declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBar
95
193
  declare const Root: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
96
194
  declare const BreadcrumbBar: React.ForwardRefExoticComponent<PageHeaderBreadcrumbBarProps & React.RefAttributes<HTMLDivElement>>;
97
195
  declare const Content: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
98
- declare const HeroImage: React.ForwardRefExoticComponent<PageHeaderHeroImageProps & React.RefAttributes<HTMLDivElement>>;
196
+ declare const ContentPageActions: {
197
+ ({ className, children, menuButtonLabel, pageActions, ...other }: PageHeaderContentPageActionsProps): import("react/jsx-runtime").JSX.Element;
198
+ displayName: string;
199
+ propTypes: {
200
+ /**
201
+ * Provide child elements to be rendered inside PageHeaderContentPageActions.
202
+ */
203
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
204
+ /**
205
+ * Specify an optional className to be added to your PageHeaderContentPageActions
206
+ */
207
+ className: PropTypes.Requireable<string>;
208
+ /**
209
+ * The PageHeaderContent's collapsible Menu button label
210
+ */
211
+ menuButtonLabel: PropTypes.Requireable<string>;
212
+ /**
213
+ * The PageHeaderContent's page actions
214
+ */
215
+ pageActions: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactNodeLike>>;
216
+ };
217
+ };
218
+ declare const ContentText: {
219
+ ({ className, children, subtitle, ...other }: PageHeaderContentTextProps): import("react/jsx-runtime").JSX.Element;
220
+ displayName: string;
221
+ propTypes: {
222
+ /**
223
+ * Provide child elements to be rendered inside PageHeaderContentText.
224
+ */
225
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
226
+ /**
227
+ * Specify an optional className to be added to your PageHeaderContentText
228
+ */
229
+ className: PropTypes.Requireable<string>;
230
+ /**
231
+ * The PageHeaderContent's subtitle
232
+ */
233
+ subtitle: PropTypes.Requireable<string>;
234
+ };
235
+ };
236
+ declare const HeroImage: {
237
+ ({ className, children, ...other }: PageHeaderHeroImageProps): import("react/jsx-runtime").JSX.Element;
238
+ displayName: string;
239
+ propTypes: {
240
+ /**
241
+ * Provide child elements to be rendered inside PageHeaderHeroImage.
242
+ */
243
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
244
+ /**
245
+ * Specify an optional className to be added to your PageHeaderHeroImage
246
+ */
247
+ className: PropTypes.Requireable<string>;
248
+ };
249
+ };
99
250
  declare const TabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
100
- export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderHeroImage, PageHeaderTabBar, Root, BreadcrumbBar, Content, HeroImage, TabBar, };
101
- export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, };
251
+ declare const Tabs: React.ForwardRefExoticComponent<PageHeaderTabsProps & React.RefAttributes<HTMLDivElement>>;
252
+ export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderHeroImage, PageHeaderTabBar, PageHeaderTabs, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, HeroImage, TabBar, Tabs, };
253
+ export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, PageHeaderTabsProps, };