@carbon/react 1.77.0 → 1.78.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 (144) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1038 -916
  2. package/es/components/Accordion/AccordionItem.js +1 -1
  3. package/es/components/BadgeIndicator/index.d.ts +23 -0
  4. package/es/components/BadgeIndicator/index.js +45 -0
  5. package/es/components/Breadcrumb/Breadcrumb.d.ts +5 -0
  6. package/es/components/Breadcrumb/Breadcrumb.js +8 -2
  7. package/es/components/Button/Button.d.ts +9 -0
  8. package/es/components/Button/Button.js +13 -0
  9. package/es/components/ComboBox/ComboBox.js +19 -15
  10. package/es/components/ComboButton/index.js +0 -1
  11. package/es/components/ContextMenu/useContextMenu.d.ts +0 -1
  12. package/es/components/ContextMenu/useContextMenu.js +1 -2
  13. package/es/components/Dropdown/Dropdown.d.ts +1 -1
  14. package/es/components/Dropdown/Dropdown.js +3 -2
  15. package/es/components/FileUploader/FileUploader.js +1 -1
  16. package/es/components/FileUploader/FileUploaderItem.js +1 -1
  17. package/es/components/IconButton/index.d.ts +7 -1
  18. package/es/components/IconButton/index.js +18 -2
  19. package/es/components/IconIndicator/index.d.ts +1 -1
  20. package/es/components/InlineLoading/InlineLoading.js +2 -5
  21. package/es/components/Menu/Menu.d.ts +1 -0
  22. package/es/components/Menu/Menu.js +5 -7
  23. package/es/components/Menu/MenuContext.d.ts +4 -4
  24. package/es/components/Menu/MenuContext.js +6 -1
  25. package/es/components/Menu/MenuItem.d.ts +1 -1
  26. package/es/components/Menu/MenuItem.js +15 -23
  27. package/es/components/MenuButton/index.js +14 -2
  28. package/es/components/Modal/Modal.d.ts +3 -3
  29. package/es/components/Modal/Modal.js +9 -3
  30. package/es/components/Modal/next/index.d.ts +1 -5
  31. package/es/components/MultiSelect/MultiSelect.js +3 -2
  32. package/es/components/MultiSelect/MultiSelectPropTypes.d.ts +5 -2
  33. package/es/components/MultiSelect/tools/sorting.js +8 -7
  34. package/es/components/Notification/Notification.js +5 -6
  35. package/es/components/NumberInput/NumberInput.js +12 -12
  36. package/es/components/OverflowMenu/OverflowMenu.d.ts +8 -20
  37. package/es/components/OverflowMenu/OverflowMenu.js +7 -9
  38. package/es/components/OverflowMenuItem/OverflowMenuItem.js +1 -1
  39. package/es/components/ProgressIndicator/ProgressIndicator.js +1 -1
  40. package/es/components/RadioTile/RadioTile.js +1 -1
  41. package/es/components/Select/Select.js +11 -2
  42. package/es/components/ShapeIndicator/index.d.ts +29 -0
  43. package/es/components/ShapeIndicator/index.js +92 -0
  44. package/es/components/Tabs/Tabs.d.ts +6 -4
  45. package/es/components/Tabs/Tabs.js +27 -8
  46. package/es/components/Tag/OperationalTag.d.ts +1 -36
  47. package/es/components/Tag/OperationalTag.js +7 -5
  48. package/es/components/Text/Text.d.ts +11 -9
  49. package/es/components/Text/Text.js +6 -6
  50. package/es/components/Text/TextDirection.d.ts +7 -9
  51. package/es/components/Text/TextDirection.js +5 -2
  52. package/es/components/Text/TextDirectionContext.d.ts +14 -0
  53. package/es/components/Text/TextDirectionContext.js +6 -2
  54. package/es/components/Text/createTextComponent.d.ts +5 -5
  55. package/es/components/Text/createTextComponent.js +5 -4
  56. package/es/components/Text/index.d.ts +6 -7
  57. package/es/components/Text/index.js +3 -2
  58. package/es/components/Tile/Tile.d.ts +6 -0
  59. package/es/components/Tile/Tile.js +5 -9
  60. package/es/components/Toggletip/index.d.ts +3 -2
  61. package/es/components/Tooltip/DefinitionTooltip.d.ts +4 -0
  62. package/es/components/Tooltip/DefinitionTooltip.js +7 -1
  63. package/es/components/Tooltip/Tooltip.d.ts +5 -66
  64. package/es/components/Tooltip/Tooltip.js +26 -26
  65. package/es/components/UIShell/HeaderGlobalAction.d.ts +9 -0
  66. package/es/components/UIShell/HeaderGlobalAction.js +16 -1
  67. package/es/index.d.ts +4 -1
  68. package/es/index.js +2 -1
  69. package/es/internal/FloatingMenu.d.ts +83 -0
  70. package/es/internal/FloatingMenu.js +216 -408
  71. package/es/internal/wrapFocus.js +1 -1
  72. package/lib/components/Accordion/AccordionItem.js +1 -1
  73. package/lib/components/BadgeIndicator/index.d.ts +23 -0
  74. package/lib/components/BadgeIndicator/index.js +56 -0
  75. package/lib/components/Breadcrumb/Breadcrumb.d.ts +5 -0
  76. package/lib/components/Breadcrumb/Breadcrumb.js +8 -2
  77. package/lib/components/Button/Button.d.ts +9 -0
  78. package/lib/components/Button/Button.js +13 -0
  79. package/lib/components/ComboBox/ComboBox.js +19 -15
  80. package/lib/components/ComboButton/index.js +0 -1
  81. package/lib/components/ContextMenu/useContextMenu.d.ts +0 -1
  82. package/lib/components/ContextMenu/useContextMenu.js +1 -2
  83. package/lib/components/Dropdown/Dropdown.d.ts +1 -1
  84. package/lib/components/Dropdown/Dropdown.js +2 -1
  85. package/lib/components/FileUploader/FileUploader.js +1 -1
  86. package/lib/components/FileUploader/FileUploaderItem.js +1 -1
  87. package/lib/components/IconButton/index.d.ts +7 -1
  88. package/lib/components/IconButton/index.js +18 -2
  89. package/lib/components/IconIndicator/index.d.ts +1 -1
  90. package/lib/components/InlineLoading/InlineLoading.js +2 -5
  91. package/lib/components/Menu/Menu.d.ts +1 -0
  92. package/lib/components/Menu/Menu.js +5 -7
  93. package/lib/components/Menu/MenuContext.d.ts +4 -4
  94. package/lib/components/Menu/MenuContext.js +6 -1
  95. package/lib/components/Menu/MenuItem.d.ts +1 -1
  96. package/lib/components/Menu/MenuItem.js +14 -22
  97. package/lib/components/MenuButton/index.js +14 -2
  98. package/lib/components/Modal/Modal.d.ts +3 -3
  99. package/lib/components/Modal/Modal.js +9 -3
  100. package/lib/components/Modal/next/index.d.ts +1 -5
  101. package/lib/components/MultiSelect/MultiSelect.js +2 -1
  102. package/lib/components/MultiSelect/MultiSelectPropTypes.d.ts +5 -2
  103. package/lib/components/MultiSelect/tools/sorting.js +8 -7
  104. package/lib/components/Notification/Notification.js +5 -6
  105. package/lib/components/NumberInput/NumberInput.js +12 -12
  106. package/lib/components/OverflowMenu/OverflowMenu.d.ts +8 -20
  107. package/lib/components/OverflowMenu/OverflowMenu.js +7 -9
  108. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +1 -1
  109. package/lib/components/ProgressIndicator/ProgressIndicator.js +1 -1
  110. package/lib/components/RadioTile/RadioTile.js +1 -1
  111. package/lib/components/Select/Select.js +11 -2
  112. package/lib/components/ShapeIndicator/index.d.ts +29 -0
  113. package/lib/components/ShapeIndicator/index.js +104 -0
  114. package/lib/components/Tabs/Tabs.d.ts +6 -4
  115. package/lib/components/Tabs/Tabs.js +42 -23
  116. package/lib/components/Tag/OperationalTag.d.ts +1 -36
  117. package/lib/components/Tag/OperationalTag.js +6 -4
  118. package/lib/components/Text/Text.d.ts +11 -9
  119. package/lib/components/Text/Text.js +5 -5
  120. package/lib/components/Text/TextDirection.d.ts +7 -9
  121. package/lib/components/Text/TextDirection.js +5 -2
  122. package/lib/components/Text/TextDirectionContext.d.ts +14 -0
  123. package/lib/components/Text/TextDirectionContext.js +6 -2
  124. package/lib/components/Text/createTextComponent.d.ts +5 -5
  125. package/lib/components/Text/createTextComponent.js +5 -4
  126. package/lib/components/Text/index.d.ts +6 -7
  127. package/lib/components/Text/index.js +4 -3
  128. package/lib/components/Tile/Tile.d.ts +6 -0
  129. package/lib/components/Tile/Tile.js +5 -9
  130. package/lib/components/Toggletip/index.d.ts +3 -2
  131. package/lib/components/Tooltip/DefinitionTooltip.d.ts +4 -0
  132. package/lib/components/Tooltip/DefinitionTooltip.js +7 -1
  133. package/lib/components/Tooltip/Tooltip.d.ts +5 -66
  134. package/lib/components/Tooltip/Tooltip.js +26 -26
  135. package/lib/components/UIShell/HeaderGlobalAction.d.ts +9 -0
  136. package/lib/components/UIShell/HeaderGlobalAction.js +16 -1
  137. package/lib/index.d.ts +4 -1
  138. package/lib/index.js +42 -40
  139. package/lib/internal/FloatingMenu.d.ts +83 -0
  140. package/lib/internal/FloatingMenu.js +216 -409
  141. package/lib/internal/wrapFocus.js +1 -1
  142. package/package.json +5 -5
  143. package/scss/components/badge-indicator/_badge-indicator.scss +9 -0
  144. package/scss/components/badge-indicator/_index.scss +9 -0
@@ -1,18 +1,17 @@
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 { TextDirection, TextDirectionProps, GetTextDirection, TextDir } from './TextDirection';
8
- import { Text, TextBaseProps, TextProps } from './Text';
9
- export { TextDirection, Text };
10
- export type { TextBaseProps, TextProps, TextDirectionProps, GetTextDirection, TextDir, };
7
+ export * from './Text';
8
+ export * from './TextDirection';
9
+ export * from './TextDirectionContext';
11
10
  export declare const Label: {
12
- (props: TextProps<React.ElementType>): import("react/jsx-runtime").JSX.Element;
11
+ (props: import("./Text").TextProps<import("react").ElementType>): import("react/jsx-runtime").JSX.Element;
13
12
  displayName: string;
14
13
  };
15
14
  export declare const Legend: {
16
- (props: TextProps<React.ElementType>): import("react/jsx-runtime").JSX.Element;
15
+ (props: import("./Text").TextProps<import("react").ElementType>): import("react/jsx-runtime").JSX.Element;
17
16
  displayName: string;
18
17
  };
@@ -9,13 +9,14 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
- var TextDirection = require('./TextDirection.js');
13
- var Text = require('./Text.js');
14
12
  var createTextComponent = require('./createTextComponent.js');
13
+ var Text = require('./Text.js');
14
+ var TextDirection = require('./TextDirection.js');
15
+ require('react');
15
16
 
16
17
  createTextComponent.createTextComponent('label', 'Label');
17
18
  const Legend = createTextComponent.createTextComponent('legend', 'Legend');
18
19
 
19
- exports.TextDirection = TextDirection.TextDirection;
20
20
  exports.Text = Text.Text;
21
+ exports.TextDirection = TextDirection.TextDirection;
21
22
  exports.Legend = Legend;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2019, 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, { type ReactNode, type MouseEvent, type KeyboardEvent, type HTMLAttributes, type ChangeEvent, type ComponentType } from 'react';
2
8
  export interface TileProps extends HTMLAttributes<HTMLDivElement> {
3
9
  children?: ReactNode;
@@ -24,8 +24,8 @@ var useMergedRefs = require('../../internal/useMergedRefs.js');
24
24
  var index = require('../FeatureFlags/index.js');
25
25
  var useId = require('../../internal/useId.js');
26
26
  require('../Text/index.js');
27
- var Text = require('../Text/Text.js');
28
27
  var match = require('../../internal/keyboard/match.js');
28
+ var Text = require('../Text/Text.js');
29
29
  var keys = require('../../internal/keyboard/keys.js');
30
30
 
31
31
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -249,9 +249,7 @@ const SelectableTile = /*#__PURE__*/React__default["default"].forwardRef(functio
249
249
  [`${prefix}--tile--decorator`]: decorator,
250
250
  [`${prefix}--tile--decorator-rounded`]: decorator && hasRoundedCorners
251
251
  }, className);
252
-
253
- // TODO: rename to handleClick when handleClick prop is deprecated
254
- function handleOnClick(evt) {
252
+ function handleClick(evt) {
255
253
  evt.preventDefault();
256
254
  evt?.persist?.();
257
255
  if (normalizedDecorator && decoratorRef.current && decoratorRef.current.contains(evt.target)) {
@@ -261,9 +259,7 @@ const SelectableTile = /*#__PURE__*/React__default["default"].forwardRef(functio
261
259
  clickHandler(evt);
262
260
  onChange(evt, isSelected, id);
263
261
  }
264
-
265
- // TODO: rename to handleKeyDown when handleKeyDown prop is deprecated
266
- function handleOnKeyDown(evt) {
262
+ function handleKeyDown(evt) {
267
263
  evt?.persist?.();
268
264
  if (match.matches(evt, [keys.Enter, keys.Space])) {
269
265
  evt.preventDefault();
@@ -295,10 +291,10 @@ const SelectableTile = /*#__PURE__*/React__default["default"].forwardRef(functio
295
291
  // eslint-disable-next-line jsx-a11y/interactive-supports-focus
296
292
  React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
297
293
  className: classes,
298
- onClick: !disabled ? handleOnClick : undefined,
294
+ onClick: !disabled ? handleClick : undefined,
299
295
  role: "checkbox",
300
296
  "aria-checked": isSelected,
301
- onKeyDown: !disabled ? handleOnKeyDown : undefined
297
+ onKeyDown: !disabled ? handleKeyDown : undefined
302
298
  // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
303
299
  ,
304
300
  tabIndex: !disabled ? tabIndex : undefined,
@@ -8,6 +8,7 @@ import PropTypes from 'prop-types';
8
8
  import React, { type ElementType, type ReactNode } from 'react';
9
9
  import { type PopoverAlignment } from '../Popover';
10
10
  import { PolymorphicProps } from '../../types/common';
11
+ import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
11
12
  type ToggletipLabelProps<E extends ElementType> = {
12
13
  as?: E;
13
14
  children?: ReactNode;
@@ -35,15 +36,15 @@ export declare namespace ToggletipLabel {
35
36
  className: PropTypes.Requireable<string>;
36
37
  };
37
38
  }
38
- export interface ToggletipProps<E extends ElementType> {
39
+ export interface ToggletipBaseProps {
39
40
  align?: PopoverAlignment;
40
41
  alignmentAxisOffset?: number;
41
- as?: E;
42
42
  autoAlign?: boolean;
43
43
  className?: string;
44
44
  children?: ReactNode;
45
45
  defaultOpen?: boolean;
46
46
  }
47
+ export type ToggletipProps<T extends ElementType> = PolymorphicComponentPropWithRef<T, ToggletipBaseProps>;
47
48
  /**
48
49
  * Used as a container for the button and content of a toggletip. This component
49
50
  * is responsible for coordinating between interactions with the button and the
@@ -11,6 +11,10 @@ export interface DefinitionTooltipProps extends Omit<React.ButtonHTMLAttributes<
11
11
  * Specify how the trigger should align with the tooltip
12
12
  */
13
13
  align?: PopoverAlignment;
14
+ /**
15
+ * Will auto-align Definition Tooltip. This prop is currently experimental and is subject to future changes.
16
+ */
17
+ autoAlign?: boolean;
14
18
  /**
15
19
  * The `children` prop will be used as the value that is being defined
16
20
  */
@@ -28,7 +28,8 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
28
 
29
29
  const DefinitionTooltip = _ref => {
30
30
  let {
31
- align = 'bottom-start',
31
+ align = 'bottom',
32
+ autoAlign,
32
33
  className,
33
34
  children,
34
35
  definition,
@@ -51,6 +52,7 @@ const DefinitionTooltip = _ref => {
51
52
  return /*#__PURE__*/React__default["default"].createElement(index.Popover, {
52
53
  align: align,
53
54
  className: className,
55
+ autoAlign: autoAlign,
54
56
  dropShadow: false,
55
57
  highContrast: true,
56
58
  onMouseLeave: () => {
@@ -108,6 +110,10 @@ DefinitionTooltip.propTypes = {
108
110
 
109
111
  // new values to match floating-ui
110
112
  'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-end', 'left-start', 'right-end', 'right-start']),
113
+ /**
114
+ * Will auto-align the popover. This prop is currently experimental and is subject to future changes.
115
+ */
116
+ autoAlign: PropTypes__default["default"].bool,
111
117
  /**
112
118
  * The `children` prop will be used as the value that is being defined
113
119
  */
@@ -4,10 +4,9 @@
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 PropTypes from 'prop-types';
8
7
  import React from 'react';
9
- import { PopoverAlignment } from '../Popover';
10
- import { type PolymorphicProps } from '../../types/common';
8
+ import { Popover, PopoverAlignment } from '../Popover';
9
+ import { PolymorphicComponentPropWithRef } from '../../internal/PolymorphicProps';
11
10
  interface TooltipBaseProps {
12
11
  /**
13
12
  * Specify how the trigger should align with the tooltip
@@ -67,67 +66,7 @@ interface TooltipBaseProps {
67
66
  */
68
67
  leaveDelayMs?: number;
69
68
  }
70
- export type TooltipProps<T extends React.ElementType> = PolymorphicProps<T, TooltipBaseProps>;
71
- declare function Tooltip<T extends React.ElementType>({ align, className: customClassName, children, label, description, enterDelayMs, leaveDelayMs, defaultOpen, closeOnActivation, dropShadow, highContrast, ...rest }: TooltipProps<T>): import("react/jsx-runtime").JSX.Element;
72
- declare namespace Tooltip {
73
- var propTypes: {
74
- /**
75
- * Specify how the trigger should align with the tooltip
76
- */
77
- align: PropTypes.Requireable<string>;
78
- /**
79
- * Pass in the child to which the tooltip will be applied
80
- */
81
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
82
- /**
83
- * Specify an optional className to be applied to the container node
84
- */
85
- className: PropTypes.Requireable<string>;
86
- /**
87
- * Determines wether the tooltip should close when inner content is activated (click, Enter or Space)
88
- */
89
- closeOnActivation: PropTypes.Requireable<boolean>;
90
- /**
91
- * Specify whether the tooltip should be open when it first renders
92
- */
93
- defaultOpen: PropTypes.Requireable<boolean>;
94
- /**
95
- * Provide the description to be rendered inside of the Tooltip. The
96
- * description will use `aria-describedby` and will describe the child node
97
- * in addition to the text rendered inside of the child. This means that if you
98
- * have text in the child node, that it will be announced alongside the
99
- * description to the screen reader.
100
- *
101
- * Note: if label and description are both provided, label will be used and
102
- * description will not be used
103
- */
104
- description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
105
- /**
106
- * Specify whether a drop shadow should be rendered
107
- */
108
- dropShadow: PropTypes.Requireable<boolean>;
109
- /**
110
- * Specify the duration in milliseconds to delay before displaying the tooltip
111
- */
112
- enterDelayMs: PropTypes.Requireable<number>;
113
- /**
114
- * Render the component using the high-contrast theme
115
- */
116
- highContrast: PropTypes.Requireable<boolean>;
117
- /**
118
- * Provide the label to be rendered inside of the Tooltip. The label will use
119
- * `aria-labelledby` and will fully describe the child node that is provided.
120
- * This means that if you have text in the child node, that it will not be
121
- * announced to the screen reader.
122
- *
123
- * Note: if label and description are both provided, description will not be
124
- * used
125
- */
126
- label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
- /**
128
- * Specify the duration in milliseconds to delay before hiding the tooltip
129
- */
130
- leaveDelayMs: PropTypes.Requireable<number>;
131
- };
132
- }
69
+ export type TooltipProps<T extends React.ElementType> = PolymorphicComponentPropWithRef<T, TooltipBaseProps>;
70
+ type TooltipComponent = <T extends React.ElementType = typeof Popover>(props: TooltipProps<T>) => React.ReactElement | any;
71
+ declare const Tooltip: TooltipComponent;
133
72
  export { Tooltip };
@@ -32,8 +32,9 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
32
32
  * Event types that trigger a "drag" to stop.
33
33
  */
34
34
  const DRAG_STOP_EVENT_TYPES = new Set(['mouseup', 'touchend', 'touchcancel']);
35
- function Tooltip(_ref) {
35
+ const Tooltip = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
36
36
  let {
37
+ as,
37
38
  align = 'top',
38
39
  className: customClassName,
39
40
  children,
@@ -160,31 +161,30 @@ function Tooltip(_ref) {
160
161
  });
161
162
  };
162
163
  }, [isDragging, onDragStop]);
163
- return (
164
- /*#__PURE__*/
165
- // @ts-ignore-error Popover throws a TS error everytime is imported
166
- React__default["default"].createElement(index.Popover, _rollupPluginBabelHelpers["extends"]({}, rest, {
167
- align: align,
168
- className: cx__default["default"](`${prefix}--tooltip`, customClassName),
169
- dropShadow: dropShadow,
170
- highContrast: highContrast,
171
- onKeyDown: onKeyDown,
172
- onMouseLeave: onMouseLeave,
173
- open: open
174
- }), /*#__PURE__*/React__default["default"].createElement("div", {
175
- className: `${prefix}--tooltip-trigger__wrapper`
176
- }, child !== undefined ? /*#__PURE__*/React__default["default"].cloneElement(child, {
177
- ...triggerProps,
178
- ...getChildEventHandlers(child.props)
179
- }) : null), /*#__PURE__*/React__default["default"].createElement(index.PopoverContent, {
180
- "aria-hidden": open ? 'false' : 'true',
181
- className: `${prefix}--tooltip-content`,
182
- id: id,
183
- onMouseEnter: onMouseEnter,
184
- role: "tooltip"
185
- }, label || description))
186
- );
187
- }
164
+ return /*#__PURE__*/React__default["default"].createElement(index.Popover, _rollupPluginBabelHelpers["extends"]({
165
+ as: as,
166
+ ref: ref
167
+ }, rest, {
168
+ align: align,
169
+ className: cx__default["default"](`${prefix}--tooltip`, customClassName),
170
+ dropShadow: dropShadow,
171
+ highContrast: highContrast,
172
+ onKeyDown: onKeyDown,
173
+ onMouseLeave: onMouseLeave,
174
+ open: open
175
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
176
+ className: `${prefix}--tooltip-trigger__wrapper`
177
+ }, child !== undefined ? /*#__PURE__*/React__default["default"].cloneElement(child, {
178
+ ...triggerProps,
179
+ ...getChildEventHandlers(child.props)
180
+ }) : null), /*#__PURE__*/React__default["default"].createElement(index.PopoverContent, {
181
+ "aria-hidden": open ? 'false' : 'true',
182
+ className: `${prefix}--tooltip-content`,
183
+ id: id,
184
+ onMouseEnter: onMouseEnter,
185
+ role: "tooltip"
186
+ }, label || description));
187
+ });
188
188
  Tooltip.propTypes = {
189
189
  /**
190
190
  * Specify how the trigger should align with the tooltip
@@ -37,6 +37,15 @@ export interface HeaderGlobalActionProps {
37
37
  * Can be one of: start, center, or end.
38
38
  */
39
39
  tooltipAlignment?: 'start' | 'center' | 'end';
40
+ /**
41
+ * Enable drop shadow for tooltips for icon-only buttons.
42
+ */
43
+ tooltipDropShadow?: boolean;
44
+ /**
45
+ * Render the tooltip using the high-contrast theme
46
+ * Default is true
47
+ */
48
+ tooltipHighContrast?: boolean;
40
49
  }
41
50
  /**
42
51
  * HeaderGlobalAction is used as a part of the `HeaderGlobalBar`. It is
@@ -39,6 +39,8 @@ const HeaderGlobalAction = /*#__PURE__*/React__default["default"].forwardRef(fun
39
39
  children,
40
40
  className: customClassName,
41
41
  onClick,
42
+ tooltipHighContrast = true,
43
+ tooltipDropShadow,
42
44
  isActive,
43
45
  tooltipAlignment,
44
46
  ...rest
@@ -58,9 +60,13 @@ const HeaderGlobalAction = /*#__PURE__*/React__default["default"].forwardRef(fun
58
60
  onClick: onClick,
59
61
  type: "button",
60
62
  hasIconOnly: true,
63
+ size: "lg",
64
+ kind: "ghost",
61
65
  iconDescription: ariaLabel,
62
66
  tooltipPosition: "bottom",
63
67
  tooltipAlignment: tooltipAlignment,
68
+ tooltipDropShadow: tooltipDropShadow,
69
+ tooltipHighContrast: tooltipHighContrast,
64
70
  ref: ref
65
71
  }), children);
66
72
  });
@@ -91,7 +97,16 @@ HeaderGlobalAction.propTypes = {
91
97
  * Specify the alignment of the tooltip to the icon-only button.
92
98
  * Can be one of: start, center, or end.
93
99
  */
94
- tooltipAlignment: PropTypes__default["default"].oneOf(['start', 'center', 'end'])
100
+ tooltipAlignment: PropTypes__default["default"].oneOf(['start', 'center', 'end']),
101
+ /**
102
+ * Enable drop shadow for tooltips for icon-only buttons.
103
+ */
104
+ tooltipDropShadow: PropTypes__default["default"].bool,
105
+ /**
106
+ * Render the tooltip using the high-contrast theme
107
+ * Default is true
108
+ */
109
+ tooltipHighContrast: PropTypes__default["default"].bool
95
110
  };
96
111
  HeaderGlobalAction.displayName = 'HeaderGlobalAction';
97
112
 
package/lib/index.d.ts CHANGED
@@ -117,6 +117,8 @@ export { PageSelector as unstable_PageSelector, Pagination as unstable_Paginatio
117
117
  export * from './components/Popover';
118
118
  export * from './components/ProgressBar';
119
119
  export { AILabel, AILabelContent, AILabelActions } from './components/AILabel';
120
+ export { IconIndicator as unstable__IconIndicator } from './components/IconIndicator';
121
+ export { ShapeIndicator as unstable__ShapeIndicator } from './components/ShapeIndicator';
120
122
  export { AILabel as unstable__Slug, AILabelContent as unstable__SlugContent, AILabelActions as unstable__SlugActions, } from './components/AILabel';
121
123
  export { ChatButton as unstable__ChatButton, ChatButtonSkeleton as unstable__ChatButtonSkeleton, } from './components/ChatButton';
122
124
  export { AISkeletonText, AISkeletonIcon, AISkeletonPlaceholder, } from './components/AISkeleton';
@@ -224,6 +226,7 @@ export type { RowProps } from './components/Grid/Row';
224
226
  export type { SectionProps } from './components/Heading/index';
225
227
  export type { IconSkeletonProps } from './components/Icon/Icon.Skeleton';
226
228
  export type { IconButtonProps } from './components/IconButton/index';
229
+ export type { IconIndicatorProps } from './components/IconIndicator/index';
227
230
  export type { IdPrefixProps } from './components/IdPrefix/index';
228
231
  export type { InlineCheckboxProps } from './components/InlineCheckbox';
229
232
  export type { InlineLoadingProps } from './components/InlineLoading/InlineLoading';
@@ -282,6 +285,7 @@ export type { SelectProps } from './components/Select/Select';
282
285
  export type { SelectSkeletonProps } from './components/Select/Select.Skeleton';
283
286
  export type { SelectItemProps } from './components/SelectItem/SelectItem';
284
287
  export type { SelectItemGroupProps } from './components/SelectItemGroup/SelectItemGroup';
288
+ export type { ShapeIndicatorProps } from './components/ShapeIndicator/index';
285
289
  export type { SkeletonIconProps } from './components/SkeletonIcon/SkeletonIcon';
286
290
  export type { SkeletonPlaceholderProps } from './components/SkeletonPlaceholder/SkeletonPlaceholder';
287
291
  export type { SkeletonTextProps } from './components/SkeletonText/SkeletonText';
@@ -367,4 +371,3 @@ export type { BaseSwitcherProps } from './components/UIShell/Switcher';
367
371
  export type { SwitcherDividerProps } from './components/UIShell/SwitcherDivider';
368
372
  export type { SwitcherItemProps } from './components/UIShell/SwitcherItem';
369
373
  export type { UnorderedListProps } from './components/UnorderedList/UnorderedList';
370
- export { IconIndicator as unstable__IconIndicator } from './components/IconIndicator';
package/lib/index.js CHANGED
@@ -23,16 +23,16 @@ var ButtonSet = require('./components/ButtonSet/ButtonSet.js');
23
23
  var Checkbox = require('./components/Checkbox/Checkbox.js');
24
24
  var Checkbox_Skeleton = require('./components/Checkbox/Checkbox.Skeleton.js');
25
25
  var CheckboxGroup = require('./components/CheckboxGroup/CheckboxGroup.js');
26
- var index$5 = require('./components/ClassPrefix/index.js');
26
+ var index$6 = require('./components/ClassPrefix/index.js');
27
27
  var CodeSnippet = require('./components/CodeSnippet/CodeSnippet.js');
28
28
  var CodeSnippet_Skeleton = require('./components/CodeSnippet/CodeSnippet.Skeleton.js');
29
29
  var ComboBox = require('./components/ComboBox/ComboBox.js');
30
- var index$6 = require('./components/ComboButton/index.js');
30
+ var index$7 = require('./components/ComboButton/index.js');
31
31
  var ComposedModal = require('./components/ComposedModal/ComposedModal.js');
32
32
  var ModalHeader = require('./components/ComposedModal/ModalHeader.js');
33
33
  var ModalFooter = require('./components/ComposedModal/ModalFooter.js');
34
34
  require('./components/ContainedList/index.js');
35
- var index$7 = require('./components/ContentSwitcher/index.js');
35
+ var index$8 = require('./components/ContentSwitcher/index.js');
36
36
  var useContextMenu = require('./components/ContextMenu/useContextMenu.js');
37
37
  var Copy = require('./components/Copy/Copy.js');
38
38
  var CopyButton = require('./components/CopyButton/CopyButton.js');
@@ -66,14 +66,14 @@ var Column = require('./components/Grid/Column.js');
66
66
  var ColumnHang = require('./components/Grid/ColumnHang.js');
67
67
  var GridContext = require('./components/Grid/GridContext.js');
68
68
  var Icon_Skeleton = require('./components/Icon/Icon.Skeleton.js');
69
- var index$8 = require('./components/IdPrefix/index.js');
69
+ var index$9 = require('./components/IdPrefix/index.js');
70
70
  var InlineLoading = require('./components/InlineLoading/InlineLoading.js');
71
71
  var Link = require('./components/Link/Link.js');
72
72
  var ListItem = require('./components/ListItem/ListItem.js');
73
73
  var Loading = require('./components/Loading/Loading.js');
74
74
  var Menu = require('./components/Menu/Menu.js');
75
75
  var MenuItem = require('./components/Menu/MenuItem.js');
76
- var index$9 = require('./components/MenuButton/index.js');
76
+ var index$a = require('./components/MenuButton/index.js');
77
77
  var Modal = require('./components/Modal/Modal.js');
78
78
  var ModalWrapper = require('./components/ModalWrapper/ModalWrapper.js');
79
79
  require('./components/MultiSelect/index.js');
@@ -81,7 +81,7 @@ var Notification = require('./components/Notification/Notification.js');
81
81
  var NumberInput_Skeleton = require('./components/NumberInput/NumberInput.Skeleton.js');
82
82
  var NumberInput = require('./components/NumberInput/NumberInput.js');
83
83
  var OrderedList = require('./components/OrderedList/OrderedList.js');
84
- var index$a = require('./components/OverflowMenu/index.js');
84
+ var index$b = require('./components/OverflowMenu/index.js');
85
85
  var OverflowMenuItem = require('./components/OverflowMenuItem/OverflowMenuItem.js');
86
86
  var Pagination$1 = require('./components/Pagination/Pagination.js');
87
87
  var Pagination_Skeleton = require('./components/Pagination/Pagination.Skeleton.js');
@@ -105,7 +105,7 @@ var SelectItemGroup = require('./components/SelectItemGroup/SelectItemGroup.js')
105
105
  var SkeletonIcon = require('./components/SkeletonIcon/SkeletonIcon.js');
106
106
  var SkeletonPlaceholder = require('./components/SkeletonPlaceholder/SkeletonPlaceholder.js');
107
107
  var SkeletonText = require('./components/SkeletonText/SkeletonText.js');
108
- var index$b = require('./components/Slider/index.js');
108
+ var index$c = require('./components/Slider/index.js');
109
109
  var HStack = require('./components/Stack/HStack.js');
110
110
  var VStack = require('./components/Stack/VStack.js');
111
111
  var Stack = require('./components/Stack/Stack.js');
@@ -131,7 +131,7 @@ var TimePickerSelect = require('./components/TimePickerSelect/TimePickerSelect.j
131
131
  var Toggle = require('./components/Toggle/Toggle.js');
132
132
  var Toggle_Skeleton = require('./components/Toggle/Toggle.Skeleton.js');
133
133
  var ToggleSmall_Skeleton = require('./components/ToggleSmall/ToggleSmall.Skeleton.js');
134
- var index$c = require('./components/Toggletip/index.js');
134
+ var index$d = require('./components/Toggletip/index.js');
135
135
  var TreeNode = require('./components/TreeView/TreeNode.js');
136
136
  var TreeView = require('./components/TreeView/TreeView.js');
137
137
  var Content = require('./components/UIShell/Content.js');
@@ -186,14 +186,16 @@ var FluidTextInput_Skeleton = require('./components/FluidTextInput/FluidTextInpu
186
186
  var FluidTimePicker = require('./components/FluidTimePicker/FluidTimePicker.js');
187
187
  var FluidTimePicker_Skeleton = require('./components/FluidTimePicker/FluidTimePicker.Skeleton.js');
188
188
  var FluidTimePickerSelect = require('./components/FluidTimePickerSelect/FluidTimePickerSelect.js');
189
- var index$d = require('./components/Heading/index.js');
190
- var index$e = require('./components/IconButton/index.js');
191
- var index$f = require('./components/Layer/index.js');
189
+ var index$e = require('./components/Heading/index.js');
190
+ var index$f = require('./components/IconButton/index.js');
191
+ var index$g = require('./components/Layer/index.js');
192
192
  var index$1 = require('./components/Layout/index.js');
193
193
  var index$2 = require('./components/OverflowMenuV2/index.js');
194
- var index$g = require('./components/Popover/index.js');
194
+ var index$h = require('./components/Popover/index.js');
195
195
  var ProgressBar = require('./components/ProgressBar/ProgressBar.js');
196
196
  var index$3 = require('./components/AILabel/index.js');
197
+ var index$4 = require('./components/IconIndicator/index.js');
198
+ var index$5 = require('./components/ShapeIndicator/index.js');
197
199
  var ChatButton = require('./components/ChatButton/ChatButton.js');
198
200
  var ChatButton_Skeleton = require('./components/ChatButton/ChatButton.Skeleton.js');
199
201
  var AISkeletonPlaceholder = require('./components/AISkeleton/AISkeletonPlaceholder.js');
@@ -202,10 +204,9 @@ var AISkeletonText = require('./components/AISkeleton/AISkeletonText.js');
202
204
  var DefinitionTooltip = require('./components/Tooltip/DefinitionTooltip.js');
203
205
  var Tooltip = require('./components/Tooltip/Tooltip.js');
204
206
  require('./components/Text/index.js');
205
- var index$h = require('./components/Theme/index.js');
207
+ var index$i = require('./components/Theme/index.js');
206
208
  var usePrefix = require('./internal/usePrefix.js');
207
209
  var useIdPrefix = require('./internal/useIdPrefix.js');
208
- var index$4 = require('./components/IconIndicator/index.js');
209
210
  var PageSelector = require('./components/Pagination/experimental/PageSelector.js');
210
211
  var Pagination = require('./components/Pagination/experimental/Pagination.js');
211
212
  var ContainedListItem = require('./components/ContainedList/ContainedListItem/ContainedListItem.js');
@@ -262,16 +263,16 @@ exports.ButtonSet = ButtonSet["default"];
262
263
  exports.Checkbox = Checkbox["default"];
263
264
  exports.CheckboxSkeleton = Checkbox_Skeleton["default"];
264
265
  exports.CheckboxGroup = CheckboxGroup["default"];
265
- exports.ClassPrefix = index$5.ClassPrefix;
266
+ exports.ClassPrefix = index$6.ClassPrefix;
266
267
  exports.CodeSnippet = CodeSnippet["default"];
267
268
  exports.CodeSnippetSkeleton = CodeSnippet_Skeleton["default"];
268
269
  exports.ComboBox = ComboBox["default"];
269
- exports.ComboButton = index$6.ComboButton;
270
+ exports.ComboButton = index$7.ComboButton;
270
271
  exports.ComposedModal = ComposedModal["default"];
271
272
  exports.ModalBody = ComposedModal.ModalBody;
272
273
  exports.ModalHeader = ModalHeader.ModalHeader;
273
274
  exports.ModalFooter = ModalFooter.ModalFooter;
274
- exports.ContentSwitcher = index$7["default"];
275
+ exports.ContentSwitcher = index$8["default"];
275
276
  exports.useContextMenu = useContextMenu["default"];
276
277
  exports.Copy = Copy["default"];
277
278
  exports.CopyButton = CopyButton["default"];
@@ -304,7 +305,7 @@ exports.Column = Column["default"];
304
305
  exports.ColumnHang = ColumnHang.ColumnHang;
305
306
  exports.GridSettings = GridContext.GridSettings;
306
307
  exports.IconSkeleton = Icon_Skeleton["default"];
307
- exports.IdPrefix = index$8.IdPrefix;
308
+ exports.IdPrefix = index$9.IdPrefix;
308
309
  exports.InlineLoading = InlineLoading["default"];
309
310
  exports.Link = Link["default"];
310
311
  exports.ListItem = ListItem["default"];
@@ -315,7 +316,7 @@ exports.MenuItemDivider = MenuItem.MenuItemDivider;
315
316
  exports.MenuItemGroup = MenuItem.MenuItemGroup;
316
317
  exports.MenuItemRadioGroup = MenuItem.MenuItemRadioGroup;
317
318
  exports.MenuItemSelectable = MenuItem.MenuItemSelectable;
318
- exports.MenuButton = index$9.MenuButton;
319
+ exports.MenuButton = index$a.MenuButton;
319
320
  exports.Modal = Modal["default"];
320
321
  exports.ModalWrapper = ModalWrapper["default"];
321
322
  exports.ActionableNotification = Notification.ActionableNotification;
@@ -328,7 +329,7 @@ exports.ToastNotification = Notification.ToastNotification;
328
329
  exports.NumberInputSkeleton = NumberInput_Skeleton["default"];
329
330
  exports.NumberInput = NumberInput.NumberInput;
330
331
  exports.OrderedList = OrderedList["default"];
331
- exports.OverflowMenu = index$a["default"];
332
+ exports.OverflowMenu = index$b["default"];
332
333
  exports.OverflowMenuItem = OverflowMenuItem["default"];
333
334
  exports.Pagination = Pagination$1["default"];
334
335
  exports.PaginationSkeleton = Pagination_Skeleton["default"];
@@ -353,7 +354,7 @@ exports.SelectItemGroup = SelectItemGroup["default"];
353
354
  exports.SkeletonIcon = SkeletonIcon["default"];
354
355
  exports.SkeletonPlaceholder = SkeletonPlaceholder["default"];
355
356
  exports.SkeletonText = SkeletonText["default"];
356
- exports.Slider = index$b["default"];
357
+ exports.Slider = index$c["default"];
357
358
  exports.HStack = HStack.HStack;
358
359
  exports.VStack = VStack.VStack;
359
360
  exports.Stack = Stack.Stack;
@@ -395,11 +396,11 @@ exports.TimePickerSelect = TimePickerSelect["default"];
395
396
  exports.Toggle = Toggle.Toggle;
396
397
  exports.ToggleSkeleton = Toggle_Skeleton["default"];
397
398
  exports.ToggleSmallSkeleton = ToggleSmall_Skeleton["default"];
398
- exports.Toggletip = index$c.Toggletip;
399
- exports.ToggletipActions = index$c.ToggletipActions;
400
- exports.ToggletipButton = index$c.ToggletipButton;
401
- exports.ToggletipContent = index$c.ToggletipContent;
402
- exports.ToggletipLabel = index$c.ToggletipLabel;
399
+ exports.Toggletip = index$d.Toggletip;
400
+ exports.ToggletipActions = index$d.ToggletipActions;
401
+ exports.ToggletipButton = index$d.ToggletipButton;
402
+ exports.ToggletipContent = index$d.ToggletipContent;
403
+ exports.ToggletipLabel = index$d.ToggletipLabel;
403
404
  exports.TreeNode = TreeNode["default"];
404
405
  exports.TreeView = TreeView["default"];
405
406
  exports.Content = Content["default"];
@@ -455,16 +456,16 @@ exports.unstable__FluidTextInputSkeleton = FluidTextInput_Skeleton["default"];
455
456
  exports.unstable__FluidTimePicker = FluidTimePicker["default"];
456
457
  exports.unstable__FluidTimePickerSkeleton = FluidTimePicker_Skeleton["default"];
457
458
  exports.unstable__FluidTimePickerSelect = FluidTimePickerSelect["default"];
458
- exports.Heading = index$d.Heading;
459
- exports.Section = index$d.Section;
460
- exports.IconButton = index$e.IconButton;
461
- exports.IconButtonKinds = index$e.IconButtonKinds;
462
- exports.Layer = index$f.Layer;
463
- exports.useLayer = index$f.useLayer;
459
+ exports.Heading = index$e.Heading;
460
+ exports.Section = index$e.Section;
461
+ exports.IconButton = index$f.IconButton;
462
+ exports.IconButtonKinds = index$f.IconButtonKinds;
463
+ exports.Layer = index$g.Layer;
464
+ exports.useLayer = index$g.useLayer;
464
465
  exports.unstable_Layout = index$1.Layout;
465
466
  exports.unstable_OverflowMenuV2 = index$2.OverflowMenuV2;
466
- exports.Popover = index$g.Popover;
467
- exports.PopoverContent = index$g.PopoverContent;
467
+ exports.Popover = index$h.Popover;
468
+ exports.PopoverContent = index$h.PopoverContent;
468
469
  exports.ProgressBar = ProgressBar["default"];
469
470
  exports.AILabel = index$3.AILabel;
470
471
  exports.AILabelActions = index$3.AILabelActions;
@@ -472,6 +473,8 @@ exports.AILabelContent = index$3.AILabelContent;
472
473
  exports.unstable__Slug = index$3.AILabel;
473
474
  exports.unstable__SlugActions = index$3.AILabelActions;
474
475
  exports.unstable__SlugContent = index$3.AILabelContent;
476
+ exports.unstable__IconIndicator = index$4.IconIndicator;
477
+ exports.unstable__ShapeIndicator = index$5.ShapeIndicator;
475
478
  exports.unstable__ChatButton = ChatButton["default"];
476
479
  exports.unstable__ChatButtonSkeleton = ChatButton_Skeleton["default"];
477
480
  exports.AISkeletonPlaceholder = AISkeletonPlaceholder["default"];
@@ -482,15 +485,14 @@ exports.AISkeletonText = AISkeletonText["default"];
482
485
  exports.unstable__AiSkeletonText = AISkeletonText["default"];
483
486
  exports.DefinitionTooltip = DefinitionTooltip.DefinitionTooltip;
484
487
  exports.Tooltip = Tooltip.Tooltip;
485
- exports.GlobalTheme = index$h.GlobalTheme;
486
- exports.Theme = index$h.Theme;
487
- exports.ThemeContext = index$h.ThemeContext;
488
- exports.usePrefersDarkScheme = index$h.usePrefersDarkScheme;
489
- exports.useTheme = index$h.useTheme;
488
+ exports.GlobalTheme = index$i.GlobalTheme;
489
+ exports.Theme = index$i.Theme;
490
+ exports.ThemeContext = index$i.ThemeContext;
491
+ exports.usePrefersDarkScheme = index$i.usePrefersDarkScheme;
492
+ exports.useTheme = index$i.useTheme;
490
493
  exports.PrefixContext = usePrefix.PrefixContext;
491
494
  exports.usePrefix = usePrefix.usePrefix;
492
495
  exports.useIdPrefix = useIdPrefix.useIdPrefix;
493
- exports.unstable__IconIndicator = index$4.IconIndicator;
494
496
  exports.unstable_PageSelector = PageSelector["default"];
495
497
  exports.unstable_Pagination = Pagination["default"];
496
498
  exports.ContainedListItem = ContainedListItem["default"];