@carbon/react 1.79.0 → 1.80.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 (125) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +960 -904
  2. package/es/components/CodeSnippet/CodeSnippet.js +1 -1
  3. package/es/components/ComposedModal/ComposedModal.d.ts +6 -0
  4. package/es/components/ComposedModal/ModalFooter.d.ts +6 -0
  5. package/es/components/ContainedList/index.js +1 -1
  6. package/es/components/DataTable/DataTable.d.ts +3 -1
  7. package/es/components/DatePicker/DatePicker.d.ts +1 -1
  8. package/es/components/DatePicker/DatePicker.js +1 -1
  9. package/es/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +6 -0
  10. package/es/components/Layer/LayerLevel.d.ts +6 -0
  11. package/es/components/Menu/Menu.d.ts +1 -1
  12. package/es/components/Menu/MenuItem.d.ts +1 -1
  13. package/es/components/Modal/Modal.js +1 -1
  14. package/es/components/ModalWrapper/ModalWrapper.d.ts +1 -1
  15. package/es/components/ModalWrapper/ModalWrapper.js +2 -1
  16. package/es/components/Notification/Notification.js +1 -1
  17. package/es/components/NumberInput/NumberInput.d.ts +1 -1
  18. package/es/components/OverflowMenu/OverflowMenu.js +1 -1
  19. package/es/components/OverflowMenuItem/OverflowMenuItem.js +1 -3
  20. package/es/components/OverflowMenuV2/index.js +1 -1
  21. package/es/components/PageHeader/PageHeader.d.ts +101 -0
  22. package/es/components/PageHeader/PageHeader.js +241 -0
  23. package/es/components/PageHeader/index.d.ts +8 -0
  24. package/es/components/PageHeader/index.js +8 -0
  25. package/es/components/PasswordInput/index.d.ts +6 -0
  26. package/es/components/Popover/index.js +1 -1
  27. package/es/components/Slider/SliderHandles.d.ts +6 -0
  28. package/es/components/Tag/Tag.js +2 -2
  29. package/es/components/Text/createTextComponent.js +1 -1
  30. package/es/components/TextArea/TextArea.d.ts +3 -3
  31. package/es/components/TextArea/TextArea.js +5 -2
  32. package/es/components/TextInput/ControlledPasswordInput.d.ts +6 -0
  33. package/es/components/TextInput/ControlledPasswordInput.js +1 -1
  34. package/es/components/TextInput/PasswordInput.d.ts +6 -0
  35. package/es/components/TextInput/index.js +1 -1
  36. package/es/components/Tile/Tile.d.ts +1 -1
  37. package/es/components/Tile/Tile.js +1 -4
  38. package/es/components/UIShell/Switcher.d.ts +1 -7
  39. package/es/components/UIShell/SwitcherDivider.d.ts +6 -0
  40. package/es/components/UIShell/SwitcherItem.d.ts +6 -0
  41. package/es/index.d.ts +5 -1
  42. package/es/index.js +3 -1
  43. package/es/internal/FloatingMenu.js +2 -2
  44. package/es/internal/PolymorphicProps.d.ts +6 -0
  45. package/es/internal/deprecateFieldOnObject.d.ts +12 -0
  46. package/es/internal/deprecateFieldOnObject.js +4 -4
  47. package/es/internal/useControllableState.js +2 -2
  48. package/es/internal/useEvent.js +1 -1
  49. package/es/internal/useMergedRefs.d.ts +9 -6
  50. package/es/internal/useMergedRefs.js +8 -9
  51. package/es/internal/useNoInteractiveChildren.js +2 -2
  52. package/es/internal/useSavedCallback.d.ts +15 -0
  53. package/es/internal/useSavedCallback.js +9 -12
  54. package/es/internal/warning.d.ts +17 -0
  55. package/es/internal/warning.js +16 -12
  56. package/es/internal/wrapFocus.js +1 -1
  57. package/es/prop-types/isRequiredOneOf.js +1 -1
  58. package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
  59. package/es/tools/events.js +1 -6
  60. package/es/tools/toggleClass.js +6 -0
  61. package/es/types/common.d.ts +6 -0
  62. package/lib/components/CodeSnippet/CodeSnippet.js +1 -1
  63. package/lib/components/ComposedModal/ComposedModal.d.ts +6 -0
  64. package/lib/components/ComposedModal/ModalFooter.d.ts +6 -0
  65. package/lib/components/ContainedList/index.js +1 -1
  66. package/lib/components/DataTable/DataTable.d.ts +3 -1
  67. package/lib/components/DatePicker/DatePicker.d.ts +1 -1
  68. package/lib/components/DatePicker/DatePicker.js +1 -1
  69. package/lib/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +6 -0
  70. package/lib/components/Layer/LayerLevel.d.ts +6 -0
  71. package/lib/components/Menu/Menu.d.ts +1 -1
  72. package/lib/components/Menu/MenuItem.d.ts +1 -1
  73. package/lib/components/Modal/Modal.js +1 -1
  74. package/lib/components/ModalWrapper/ModalWrapper.d.ts +1 -1
  75. package/lib/components/ModalWrapper/ModalWrapper.js +2 -1
  76. package/lib/components/Notification/Notification.js +1 -1
  77. package/lib/components/NumberInput/NumberInput.d.ts +1 -1
  78. package/lib/components/OverflowMenu/OverflowMenu.js +1 -1
  79. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +1 -3
  80. package/lib/components/OverflowMenuV2/index.js +1 -1
  81. package/lib/components/PageHeader/PageHeader.d.ts +101 -0
  82. package/lib/components/PageHeader/PageHeader.js +260 -0
  83. package/lib/components/PageHeader/index.d.ts +8 -0
  84. package/lib/components/PageHeader/index.js +25 -0
  85. package/lib/components/PasswordInput/index.d.ts +6 -0
  86. package/lib/components/Popover/index.js +1 -1
  87. package/lib/components/Slider/SliderHandles.d.ts +6 -0
  88. package/lib/components/Tag/Tag.js +2 -2
  89. package/lib/components/Text/createTextComponent.js +1 -1
  90. package/lib/components/TextArea/TextArea.d.ts +3 -3
  91. package/lib/components/TextArea/TextArea.js +4 -1
  92. package/lib/components/TextInput/ControlledPasswordInput.d.ts +6 -0
  93. package/lib/components/TextInput/ControlledPasswordInput.js +1 -1
  94. package/lib/components/TextInput/PasswordInput.d.ts +6 -0
  95. package/lib/components/TextInput/index.js +1 -1
  96. package/lib/components/Tile/Tile.d.ts +1 -1
  97. package/lib/components/Tile/Tile.js +1 -4
  98. package/lib/components/UIShell/Switcher.d.ts +1 -7
  99. package/lib/components/UIShell/SwitcherDivider.d.ts +6 -0
  100. package/lib/components/UIShell/SwitcherItem.d.ts +6 -0
  101. package/lib/index.d.ts +5 -1
  102. package/lib/index.js +62 -57
  103. package/lib/internal/FloatingMenu.js +2 -2
  104. package/lib/internal/PolymorphicProps.d.ts +6 -0
  105. package/lib/internal/deprecateFieldOnObject.d.ts +12 -0
  106. package/lib/internal/deprecateFieldOnObject.js +4 -4
  107. package/lib/internal/useControllableState.js +2 -2
  108. package/lib/internal/useEvent.js +1 -1
  109. package/lib/internal/useMergedRefs.d.ts +9 -6
  110. package/lib/internal/useMergedRefs.js +8 -9
  111. package/lib/internal/useNoInteractiveChildren.js +2 -2
  112. package/lib/internal/useSavedCallback.d.ts +15 -0
  113. package/lib/internal/useSavedCallback.js +9 -12
  114. package/lib/internal/warning.d.ts +17 -0
  115. package/lib/internal/warning.js +16 -12
  116. package/lib/internal/wrapFocus.js +1 -1
  117. package/lib/prop-types/isRequiredOneOf.js +1 -1
  118. package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
  119. package/lib/tools/events.js +1 -6
  120. package/lib/tools/toggleClass.js +6 -0
  121. package/lib/types/common.d.ts +6 -0
  122. package/package.json +7 -7
  123. package/scss/components/page-header/_index.scss +9 -0
  124. package/scss/components/page-header/_page-header.scss +9 -0
  125. package/telemetry.yml +62 -23
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2024
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
+ */
1
7
  import React from 'react';
2
8
  export interface FluidTextAreaSkeletonProps {
3
9
  /**
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 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
+ */
1
7
  export declare const levels: readonly ["one", "two", "three"];
2
8
  export declare const MIN_LEVEL = 0;
3
9
  export declare const MAX_LEVEL: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2023
2
+ * Copyright IBM Corp. 2023, 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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2025
2
+ * Copyright IBM Corp. 2023, 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.
@@ -208,7 +208,7 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
208
208
  if (!enableDialogElement) {
209
209
  const initialFocus = focusContainerElement => {
210
210
  const containerElement = focusContainerElement || innerModal.current;
211
- const primaryFocusElement = containerElement ? containerElement.querySelector(danger ? `.${prefix}--btn--secondary` : selectorPrimaryFocus) : null;
211
+ const primaryFocusElement = containerElement && (containerElement.querySelector(selectorPrimaryFocus) || danger && containerElement.querySelector(`.${prefix}--btn--secondary`));
212
212
  if (primaryFocusElement) {
213
213
  return primaryFocusElement;
214
214
  }
@@ -36,7 +36,7 @@ interface ModelWrapperState {
36
36
  isOpen: boolean;
37
37
  }
38
38
  export default class ModalWrapper extends React.Component<ModalWrapperProps, ModelWrapperState> {
39
- if(__DEV__: any): void;
39
+ if(isDev: any): void;
40
40
  static propTypes: {
41
41
  buttonTriggerClassName: PropTypes.Requireable<string>;
42
42
  buttonTriggerText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -26,6 +26,7 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
26
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
27
 
28
28
  let didWarnAboutDeprecation = false;
29
+ process.env.NODE_ENV !== 'production';
29
30
  class ModalWrapper extends React__default["default"].Component {
30
31
  constructor() {
31
32
  super(...arguments);
@@ -61,7 +62,7 @@ class ModalWrapper extends React__default["default"].Component {
61
62
  handleSubmit?.(evt);
62
63
  });
63
64
  }
64
- if(__DEV__) {
65
+ if(isDev) {
65
66
  process.env.NODE_ENV !== "production" ? warning.warning(didWarnAboutDeprecation, '`<ModalWrapper>` has been deprecated in favor of `<ComposedModal/>` and will be removed in the next major version, `@carbon/react@v2.x`') : void 0;
66
67
  didWarnAboutDeprecation = true;
67
68
  }
@@ -822,7 +822,7 @@ Callout.propTypes = {
822
822
 
823
823
  let didWarnAboutDeprecation = false;
824
824
  const StaticNotification = props => {
825
- if (process.env.NODE_ENV !== "production") {
825
+ if (process.env.NODE_ENV !== 'production') {
826
826
  process.env.NODE_ENV !== "production" ? warning.warning(didWarnAboutDeprecation, '`StaticNotification` has been renamed to `Callout`.' + 'Run the following codemod to automatically update usages in your' + 'project: `npx @carbon/upgrade migrate refactor-to-callout --write`') : void 0;
827
827
  didWarnAboutDeprecation = true;
828
828
  }
@@ -1,5 +1,5 @@
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.
@@ -75,7 +75,7 @@ const triggerButtonPositionFactors = {
75
75
  const getMenuOffset = (menuBody, direction, trigger, flip) => {
76
76
  const triggerButtonPositionProp = triggerButtonPositionProps[direction];
77
77
  const triggerButtonPositionFactor = triggerButtonPositionFactors[direction];
78
- if (process.env.NODE_ENV !== "production") {
78
+ if (process.env.NODE_ENV !== 'production') {
79
79
  !(triggerButtonPositionProp && triggerButtonPositionFactor) ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '[OverflowMenu] wrong floating menu direction: `%s`', direction) : invariant__default["default"](false) : void 0;
80
80
  }
81
81
  const {
@@ -65,9 +65,7 @@ const OverflowMenuItem = /*#__PURE__*/React__default["default"].forwardRef(funct
65
65
  closeMenu();
66
66
  }
67
67
  }
68
- if (process.env.NODE_ENV !== "production") {
69
- process.env.NODE_ENV !== "production" ? warning.warning(closeMenu, '`<OverflowMenuItem>` detected missing `closeMenu` prop. ' + '`closeMenu` is required to let `<OverflowMenu>` close the menu upon actions on `<OverflowMenuItem>`. ' + 'Please make sure `<OverflowMenuItem>` is a direct child of `<OverflowMenu>.') : void 0;
70
- }
68
+ process.env.NODE_ENV !== "production" ? warning.warning(!!closeMenu, '`<OverflowMenuItem>` detected missing `closeMenu` prop. ' + '`closeMenu` is required to let `<OverflowMenu>` close the menu upon actions on `<OverflowMenuItem>`. ' + 'Please make sure `<OverflowMenuItem>` is a direct child of `<OverflowMenu>.') : void 0;
71
69
  const overflowMenuBtnClasses = cx__default["default"](`${prefix}--overflow-menu-options__btn`, className);
72
70
  const overflowMenuItemClasses = cx__default["default"](`${prefix}--overflow-menu-options__option`, {
73
71
  [`${prefix}--overflow-menu--divider`]: hasDivider,
@@ -20,7 +20,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
20
 
21
21
  let didWarnAboutDeprecation = false;
22
22
  function OverflowMenuV2(props) {
23
- if (process.env.NODE_ENV !== "production") {
23
+ if (process.env.NODE_ENV !== 'production') {
24
24
  process.env.NODE_ENV !== "production" ? warning.warning(didWarnAboutDeprecation, '`<OverflowMenuV2>` is deprecated and will be removed in the next major version. Use `<OverflowMenu>` with the `enable-v12-overflowmenu` feature flag instead.') : void 0;
25
25
  didWarnAboutDeprecation = true;
26
26
  }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025
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, { type ComponentType, type FunctionComponent } from 'react';
8
+ /**
9
+ * ----------
10
+ * PageHeader
11
+ * ----------
12
+ */
13
+ interface PageHeaderProps {
14
+ children?: React.ReactNode;
15
+ className?: string;
16
+ }
17
+ declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
18
+ /**
19
+ * -----------------------
20
+ * PageHeaderBreadcrumbBar
21
+ * -----------------------
22
+ */
23
+ interface PageHeaderBreadcrumbBarProps {
24
+ children?: React.ReactNode;
25
+ className?: string;
26
+ }
27
+ declare const PageHeaderBreadcrumbBar: React.ForwardRefExoticComponent<PageHeaderBreadcrumbBarProps & React.RefAttributes<HTMLDivElement>>;
28
+ /**
29
+ * -----------------
30
+ * PageHeaderContent
31
+ * -----------------
32
+ */
33
+ interface PageHeaderContentProps {
34
+ /**
35
+ * Provide child elements to be rendered inside PageHeaderContent.
36
+ */
37
+ children?: React.ReactNode;
38
+ /**
39
+ * Specify an optional className to be added to your PageHeaderContent
40
+ */
41
+ className?: string;
42
+ /**
43
+ * Provide an optional icon to render in front of the PageHeaderContent's title.
44
+ */
45
+ renderIcon?: ComponentType | FunctionComponent;
46
+ /**
47
+ * The PageHeaderContent's title
48
+ */
49
+ title: string;
50
+ /**
51
+ * The PageHeaderContent's subtitle
52
+ */
53
+ subtitle?: string;
54
+ /**
55
+ * The PageHeaderContent's contextual actions
56
+ */
57
+ contextualActions?: React.ReactNode;
58
+ /**
59
+ * The PageHeaderContent's page actions
60
+ */
61
+ pageActions?: React.ReactNode;
62
+ }
63
+ declare const PageHeaderContent: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
64
+ /**
65
+ * ----------------
66
+ * PageHeaderHeroImage
67
+ * ----------------
68
+ */
69
+ interface PageHeaderHeroImageProps {
70
+ /**
71
+ * Provide child elements to be rendered inside PageHeaderHeroImage.
72
+ */
73
+ children?: React.ReactNode;
74
+ /**
75
+ * Specify an optional className to be added to your PageHeaderHeroImage
76
+ */
77
+ className?: string;
78
+ }
79
+ declare const PageHeaderHeroImage: React.ForwardRefExoticComponent<PageHeaderHeroImageProps & React.RefAttributes<HTMLDivElement>>;
80
+ /**
81
+ * ----------------
82
+ * PageHeaderTabBar
83
+ * ----------------
84
+ */
85
+ interface PageHeaderTabBarProps {
86
+ children?: React.ReactNode;
87
+ className?: string;
88
+ }
89
+ declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
90
+ /**
91
+ * -------
92
+ * Exports
93
+ * -------
94
+ */
95
+ declare const Root: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
96
+ declare const BreadcrumbBar: React.ForwardRefExoticComponent<PageHeaderBreadcrumbBarProps & React.RefAttributes<HTMLDivElement>>;
97
+ declare const Content: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
98
+ declare const HeroImage: React.ForwardRefExoticComponent<PageHeaderHeroImageProps & React.RefAttributes<HTMLDivElement>>;
99
+ 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, };
@@ -0,0 +1,260 @@
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
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var PropTypes = require('prop-types');
15
+ var cx = require('classnames');
16
+ var usePrefix = require('../../internal/usePrefix.js');
17
+ var layout = require('@carbon/layout');
18
+ var useMatchMedia = require('../../internal/useMatchMedia.js');
19
+ require('../Text/index.js');
20
+ var DefinitionTooltip = require('../Tooltip/DefinitionTooltip.js');
21
+ require('../Tooltip/Tooltip.js');
22
+ var AspectRatio = require('../AspectRatio/AspectRatio.js');
23
+ var Text = require('../Text/Text.js');
24
+
25
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
+
27
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
29
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
30
+
31
+ var _p, _p2, _p3;
32
+
33
+ /**
34
+ * ----------
35
+ * PageHeader
36
+ * ----------
37
+ */
38
+
39
+ const PageHeader = /*#__PURE__*/React__default["default"].forwardRef(function PageHeader(_ref, ref) {
40
+ let {
41
+ className,
42
+ children,
43
+ ...other
44
+ } = _ref;
45
+ const prefix = usePrefix.usePrefix();
46
+ const classNames = cx__default["default"]({
47
+ [`${prefix}--page-header`]: true
48
+ }, className);
49
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
50
+ className: classNames,
51
+ ref: ref
52
+ }, other), _p || (_p = /*#__PURE__*/React__default["default"].createElement("p", null, "page header")), children);
53
+ });
54
+ PageHeader.displayName = 'PageHeader';
55
+
56
+ /**
57
+ * -----------------------
58
+ * PageHeaderBreadcrumbBar
59
+ * -----------------------
60
+ */
61
+
62
+ const PageHeaderBreadcrumbBar = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderBreadcrumbBar(_ref2, ref) {
63
+ let {
64
+ className,
65
+ children,
66
+ ...other
67
+ } = _ref2;
68
+ const prefix = usePrefix.usePrefix();
69
+ const classNames = cx__default["default"]({
70
+ [`${prefix}--page-header__breadcrumb-bar`]: true
71
+ }, className);
72
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
73
+ className: classNames,
74
+ ref: ref
75
+ }, other), _p2 || (_p2 = /*#__PURE__*/React__default["default"].createElement("p", null, "page header breadcrumb bar")), children);
76
+ });
77
+ PageHeaderBreadcrumbBar.displayName = 'PageHeaderBreadcrumbBar';
78
+
79
+ /**
80
+ * -----------------
81
+ * PageHeaderContent
82
+ * -----------------
83
+ */
84
+
85
+ const PageHeaderContent = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderContent(_ref3, ref) {
86
+ let {
87
+ className,
88
+ children,
89
+ title,
90
+ subtitle,
91
+ renderIcon: IconElement,
92
+ contextualActions,
93
+ pageActions,
94
+ ...other
95
+ } = _ref3;
96
+ const prefix = usePrefix.usePrefix();
97
+ const classNames = cx__default["default"]({
98
+ [`${prefix}--page-header__content`]: true
99
+ }, className);
100
+ const titleRef = React.useRef(null);
101
+ const [isEllipsisApplied, setIsEllipsisApplied] = React.useState(false);
102
+ const isEllipsisActive = element => {
103
+ setIsEllipsisApplied(element.offsetHeight < element.scrollHeight);
104
+ return element.offsetHeight < element.scrollHeight;
105
+ };
106
+ React.useLayoutEffect(() => {
107
+ titleRef.current && isEllipsisActive(titleRef.current);
108
+ }, [title]);
109
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
110
+ className: classNames,
111
+ ref: ref
112
+ }, other), /*#__PURE__*/React__default["default"].createElement("div", {
113
+ className: `${prefix}--page-header__content__title-wrapper`
114
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
115
+ className: `${prefix}--page-header__content__start`
116
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
117
+ className: `${prefix}--page-header__content__title-container`
118
+ }, IconElement && /*#__PURE__*/React__default["default"].createElement("div", {
119
+ className: `${prefix}--page-header__content__icon`
120
+ }, /*#__PURE__*/React__default["default"].createElement(IconElement, null)), isEllipsisApplied ? /*#__PURE__*/React__default["default"].createElement(DefinitionTooltip.DefinitionTooltip, {
121
+ definition: title
122
+ }, /*#__PURE__*/React__default["default"].createElement(Text.Text, {
123
+ ref: titleRef,
124
+ as: "h4",
125
+ className: `${prefix}--page-header__content__title`
126
+ }, title)) : /*#__PURE__*/React__default["default"].createElement(Text.Text, {
127
+ ref: titleRef,
128
+ as: "h4",
129
+ className: `${prefix}--page-header__content__title`
130
+ }, title)), contextualActions && /*#__PURE__*/React__default["default"].createElement("div", {
131
+ className: `${prefix}--page-header__content__contextual-actions`
132
+ }, contextualActions)), /*#__PURE__*/React__default["default"].createElement("div", {
133
+ className: `${prefix}--page-header__content__end`
134
+ }, pageActions && /*#__PURE__*/React__default["default"].createElement("div", {
135
+ className: `${prefix}--page-header__content__page-actions`
136
+ }, pageActions))), subtitle && /*#__PURE__*/React__default["default"].createElement(Text.Text, {
137
+ as: "h3",
138
+ className: `${prefix}--page-header__content__subtitle`
139
+ }, subtitle), children && /*#__PURE__*/React__default["default"].createElement("div", {
140
+ className: `${prefix}--page-header__content__body`
141
+ }, children));
142
+ });
143
+ PageHeaderContent.displayName = 'PageHeaderContent';
144
+ PageHeaderContent.propTypes = {
145
+ /**
146
+ * Provide child elements to be rendered inside PageHeaderContent.
147
+ */
148
+ children: PropTypes__default["default"].node,
149
+ /**
150
+ * Specify an optional className to be added to your PageHeaderContent
151
+ */
152
+ className: PropTypes__default["default"].string,
153
+ /**
154
+ * Provide an optional icon to render in front of the PageHeaderContent's title.
155
+ */
156
+ // @ts-expect-error: PropTypes are not expressive enough to cover this case
157
+ renderIcon: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].object]),
158
+ /**
159
+ * The PageHeaderContent's title
160
+ */
161
+ title: PropTypes__default["default"].string.isRequired,
162
+ /**
163
+ * The PageHeaderContent's subtitle
164
+ */
165
+ subtitle: PropTypes__default["default"].string,
166
+ /**
167
+ * The PageHeaderContent's contextual actions
168
+ */
169
+ contextualActions: PropTypes__default["default"].node,
170
+ /**
171
+ * The PageHeaderContent's page actions
172
+ */
173
+ pageActions: PropTypes__default["default"].node
174
+ };
175
+
176
+ /**
177
+ * ----------------
178
+ * PageHeaderHeroImage
179
+ * ----------------
180
+ */
181
+
182
+ const PageHeaderHeroImage = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderHeroImage(_ref4, ref) {
183
+ let {
184
+ className,
185
+ children,
186
+ ...other
187
+ } = _ref4;
188
+ const prefix = usePrefix.usePrefix();
189
+ const classNames = cx__default["default"]({
190
+ [`${prefix}--page-header__hero-image`]: true
191
+ }, className);
192
+ const lgMediaQuery = `(min-width: ${layout.breakpoints.lg.width})`;
193
+ const isLg = useMatchMedia.useMatchMedia(lgMediaQuery);
194
+ return /*#__PURE__*/React__default["default"].createElement(AspectRatio["default"], _rollupPluginBabelHelpers["extends"]({
195
+ className: classNames
196
+ }, other, {
197
+ ratio: isLg ? '2x1' : '3x2'
198
+ }), children);
199
+ });
200
+ PageHeaderHeroImage.displayName = 'PageHeaderHeroImage';
201
+ PageHeaderHeroImage.propTypes = {
202
+ /**
203
+ * Provide child elements to be rendered inside PageHeaderHeroImage.
204
+ */
205
+ children: PropTypes__default["default"].node,
206
+ /**
207
+ * Specify an optional className to be added to your PageHeaderHeroImage
208
+ */
209
+ className: PropTypes__default["default"].string
210
+ };
211
+
212
+ /**
213
+ * ----------------
214
+ * PageHeaderTabBar
215
+ * ----------------
216
+ */
217
+
218
+ const PageHeaderTabBar = /*#__PURE__*/React__default["default"].forwardRef(function PageHeaderTabBar(_ref5, ref) {
219
+ let {
220
+ className,
221
+ children,
222
+ ...other
223
+ } = _ref5;
224
+ const prefix = usePrefix.usePrefix();
225
+ const classNames = cx__default["default"]({
226
+ [`${prefix}--page-header__tab-bar`]: true
227
+ }, className);
228
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
229
+ className: classNames,
230
+ ref: ref
231
+ }, other), _p3 || (_p3 = /*#__PURE__*/React__default["default"].createElement("p", null, "page header tab bar")), children);
232
+ });
233
+ PageHeaderTabBar.displayName = 'PageHeaderTabBar';
234
+
235
+ /**
236
+ * -------
237
+ * Exports
238
+ * -------
239
+ */
240
+ const Root = PageHeader;
241
+ Root.displayName = 'PageHeader.Root';
242
+ const BreadcrumbBar = PageHeaderBreadcrumbBar;
243
+ BreadcrumbBar.displayName = 'PageHeaderBreadcrumbBar';
244
+ const Content = PageHeaderContent;
245
+ Content.displayName = 'PageHeaderContent';
246
+ const HeroImage = PageHeaderHeroImage;
247
+ HeroImage.displayName = 'PageHeaderHeroImage';
248
+ const TabBar = PageHeaderTabBar;
249
+ TabBar.displayName = 'PageHeaderTabBar';
250
+
251
+ exports.BreadcrumbBar = BreadcrumbBar;
252
+ exports.Content = Content;
253
+ exports.HeroImage = HeroImage;
254
+ exports.PageHeader = PageHeader;
255
+ exports.PageHeaderBreadcrumbBar = PageHeaderBreadcrumbBar;
256
+ exports.PageHeaderContent = PageHeaderContent;
257
+ exports.PageHeaderHeroImage = PageHeaderHeroImage;
258
+ exports.PageHeaderTabBar = PageHeaderTabBar;
259
+ exports.Root = Root;
260
+ exports.TabBar = TabBar;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025
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
+ export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderTabBar, PageHeaderHeroImage, Root, BreadcrumbBar, Content, TabBar, HeroImage, } from './PageHeader';
8
+ export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderTabBarProps, PageHeaderHeroImageProps, } from './PageHeader';
@@ -0,0 +1,25 @@
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
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var PageHeader = require('./PageHeader.js');
13
+
14
+
15
+
16
+ exports.BreadcrumbBar = PageHeader.BreadcrumbBar;
17
+ exports.Content = PageHeader.Content;
18
+ exports.HeroImage = PageHeader.HeroImage;
19
+ exports.PageHeader = PageHeader.PageHeader;
20
+ exports.PageHeaderBreadcrumbBar = PageHeader.PageHeaderBreadcrumbBar;
21
+ exports.PageHeaderContent = PageHeader.PageHeaderContent;
22
+ exports.PageHeaderHeroImage = PageHeader.PageHeaderHeroImage;
23
+ exports.PageHeaderTabBar = PageHeader.PageHeaderTabBar;
24
+ exports.Root = PageHeader.Root;
25
+ exports.TabBar = PageHeader.TabBar;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2024
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
+ */
1
7
  import ControlledPasswordInput from '../TextInput/ControlledPasswordInput';
2
8
  import PasswordInput from '../TextInput/PasswordInput';
3
9
  export { ControlledPasswordInput, PasswordInput };
@@ -274,7 +274,7 @@ const Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popov
274
274
 
275
275
  // Note: this displayName is temporarily set so that Storybook ArgTable
276
276
  // correctly displays the name of this component
277
- if (process.env.NODE_ENV !== "production") {
277
+ if (process.env.NODE_ENV !== 'production') {
278
278
  Popover.displayName = 'Popover';
279
279
  }
280
280
  Popover.propTypes = {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2024
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
+ */
1
7
  export declare const LowerHandle: (props: any) => import("react/jsx-runtime").JSX.Element;
2
8
  export declare const LowerHandleFocus: (props: any) => import("react/jsx-runtime").JSX.Element;
3
9
  export declare const UpperHandle: (props: any) => import("react/jsx-runtime").JSX.Element;
@@ -21,7 +21,7 @@ var deprecate = require('../../prop-types/deprecate.js');
21
21
  var DefinitionTooltip = require('../Tooltip/DefinitionTooltip.js');
22
22
  require('../Tooltip/Tooltip.js');
23
23
  var isEllipsisActive = require('./isEllipsisActive.js');
24
- var react = require('@floating-ui/react');
24
+ var useMergedRefs = require('../../internal/useMergedRefs.js');
25
25
  var Text = require('../Text/Text.js');
26
26
 
27
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -72,7 +72,7 @@ const Tag = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwardRef)
72
72
  } = _ref;
73
73
  const prefix = usePrefix.usePrefix();
74
74
  const tagRef = React.useRef();
75
- const ref = react.useMergeRefs([forwardRef, tagRef]);
75
+ const ref = useMergedRefs.useMergedRefs([forwardRef, tagRef]);
76
76
  const tagId = id || `tag-${useId.useId()}`;
77
77
  const [isEllipsisApplied, setIsEllipsisApplied] = React.useState(false);
78
78
  React.useLayoutEffect(() => {
@@ -30,7 +30,7 @@ const createTextComponent = (element, displayName) => {
30
30
  as: element
31
31
  }, props));
32
32
  };
33
- if (process.env.NODE_ENV !== "production") {
33
+ if (process.env.NODE_ENV !== 'production') {
34
34
  TextWrapper.displayName = displayName;
35
35
  }
36
36
  return TextWrapper;
@@ -1,10 +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
- import React, { ReactNode } from 'react';
7
+ import React, { type ReactNode } from 'react';
8
8
  export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaElement> {
9
9
  /**
10
10
  * Provide a custom className that is applied directly to the underlying
@@ -115,5 +115,5 @@ export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaEle
115
115
  */
116
116
  counterMode?: 'character' | 'word';
117
117
  }
118
- declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<unknown>>;
118
+ declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
119
119
  export default TextArea;
@@ -32,7 +32,10 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
32
32
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
33
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
34
34
 
35
- const TextArea = /*#__PURE__*/React__default["default"].forwardRef((props, forwardRef) => {
35
+ // TODO: This type was added to prevent the formatter from changing the
36
+ // indentation of this entire function. Delete it in a future pull request.
37
+
38
+ const TextArea = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
36
39
  const {
37
40
  className,
38
41
  decorator,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2024
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
+ */
1
7
  import React from 'react';
2
8
  import { ReactAttr } from '../../types/common';
3
9
  export interface ControlledPasswordInputProps extends ReactAttr<HTMLInputElement> {
@@ -55,7 +55,7 @@ const ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRe
55
55
  } = _ref;
56
56
  const prefix = usePrefix.usePrefix();
57
57
  const controlledPasswordInstanceId = useId.useId();
58
- if (process.env.NODE_ENV !== "production") {
58
+ if (process.env.NODE_ENV !== 'production') {
59
59
  process.env.NODE_ENV !== "production" ? warning.warning(didWarnAboutDeprecation, '`<TextInput.ControlledPasswordInput>` has been deprecated in favor of `<TextInput.PasswordInput />` and will be removed in the next major release of `carbon-components-react`') : void 0;
60
60
  didWarnAboutDeprecation = true;
61
61
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2025
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
+ */
1
7
  import React, { InputHTMLAttributes, ReactNode } from 'react';
2
8
  type ExcludedAttributes = 'size';
3
9
  export interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, ExcludedAttributes> {