@carbon/react 1.115.0-rc.0 → 1.115.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 (76) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1019 -984
  2. package/es/components/Accordion/AccordionItem.d.ts +5 -0
  3. package/es/components/Accordion/AccordionItem.js +0 -6
  4. package/es/components/ComboBox/ComboBox.js +2 -2
  5. package/es/components/ComposedModal/ComposedModal.js +2 -2
  6. package/es/components/ContentSwitcher/ContentSwitcher.js +2 -2
  7. package/es/components/DatePicker/DatePicker.js +2 -2
  8. package/es/components/FileUploader/FileUploader.js +1 -1
  9. package/es/components/FileUploader/FileUploaderButton.js +2 -2
  10. package/es/components/FileUploader/FileUploaderDropContainer.js +2 -2
  11. package/es/components/FileUploader/FileUploaderItem.js +2 -2
  12. package/es/components/Loading/Loading.js +82 -2
  13. package/es/components/Menu/Menu.js +2 -2
  14. package/es/components/Menu/MenuItem.js +2 -2
  15. package/es/components/Modal/Modal.js +3 -3
  16. package/es/components/MultiSelect/FilterableMultiSelect.js +2 -2
  17. package/es/components/MultiSelect/MultiSelect.js +2 -2
  18. package/es/components/Notification/Notification.js +2 -2
  19. package/es/components/NumberInput/NumberInput.js +2 -2
  20. package/es/components/OverflowMenu/OverflowMenu.js +2 -2
  21. package/es/components/OverflowMenuItem/OverflowMenuItem.js +1 -1
  22. package/es/components/Pagination/Pagination.d.ts +1 -1
  23. package/es/components/Pagination/Pagination.js +52 -53
  24. package/es/components/Popover/index.js +1 -1
  25. package/es/components/RadioTile/RadioTile.js +2 -2
  26. package/es/components/Search/Search.js +2 -2
  27. package/es/components/Slider/Slider.js +2 -2
  28. package/es/components/Tabs/Tabs.js +2 -2
  29. package/es/components/Tile/Tile.js +2 -2
  30. package/es/components/Toggletip/index.js +2 -2
  31. package/es/components/Tooltip/DefinitionTooltip.js +2 -2
  32. package/es/components/Tooltip/Tooltip.js +2 -2
  33. package/es/components/TreeView/TreeNode.js +2 -2
  34. package/es/components/TreeView/TreeView.js +1 -1
  35. package/es/components/UIShell/HeaderContainer.js +1 -1
  36. package/es/components/UIShell/HeaderMenu.js +2 -2
  37. package/es/components/UIShell/HeaderPanel.js +2 -2
  38. package/es/components/UIShell/SideNav.js +2 -2
  39. package/lib/components/Accordion/AccordionItem.d.ts +5 -0
  40. package/lib/components/Accordion/AccordionItem.js +0 -6
  41. package/lib/components/ComboBox/ComboBox.js +2 -2
  42. package/lib/components/ComposedModal/ComposedModal.js +2 -2
  43. package/lib/components/ContentSwitcher/ContentSwitcher.js +2 -2
  44. package/lib/components/DatePicker/DatePicker.js +2 -2
  45. package/lib/components/FileUploader/FileUploader.js +1 -1
  46. package/lib/components/FileUploader/FileUploaderButton.js +2 -2
  47. package/lib/components/FileUploader/FileUploaderDropContainer.js +2 -2
  48. package/lib/components/FileUploader/FileUploaderItem.js +2 -2
  49. package/lib/components/Loading/Loading.js +81 -1
  50. package/lib/components/Menu/Menu.js +2 -2
  51. package/lib/components/Menu/MenuItem.js +2 -2
  52. package/lib/components/Modal/Modal.js +3 -3
  53. package/lib/components/MultiSelect/FilterableMultiSelect.js +2 -2
  54. package/lib/components/MultiSelect/MultiSelect.js +2 -2
  55. package/lib/components/Notification/Notification.js +2 -2
  56. package/lib/components/NumberInput/NumberInput.js +2 -2
  57. package/lib/components/OverflowMenu/OverflowMenu.js +2 -2
  58. package/lib/components/OverflowMenuItem/OverflowMenuItem.js +1 -1
  59. package/lib/components/Pagination/Pagination.d.ts +1 -1
  60. package/lib/components/Pagination/Pagination.js +52 -53
  61. package/lib/components/Popover/index.js +1 -1
  62. package/lib/components/RadioTile/RadioTile.js +2 -2
  63. package/lib/components/Search/Search.js +2 -2
  64. package/lib/components/Slider/Slider.js +2 -2
  65. package/lib/components/Tabs/Tabs.js +2 -2
  66. package/lib/components/Tile/Tile.js +2 -2
  67. package/lib/components/Toggletip/index.js +2 -2
  68. package/lib/components/Tooltip/DefinitionTooltip.js +2 -2
  69. package/lib/components/Tooltip/Tooltip.js +2 -2
  70. package/lib/components/TreeView/TreeNode.js +2 -2
  71. package/lib/components/TreeView/TreeView.js +1 -1
  72. package/lib/components/UIShell/HeaderContainer.js +1 -1
  73. package/lib/components/UIShell/HeaderMenu.js +2 -2
  74. package/lib/components/UIShell/HeaderPanel.js +2 -2
  75. package/lib/components/UIShell/SideNav.js +2 -2
  76. package/package.json +11 -11
@@ -7,10 +7,10 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { Text } from "../Text/Text.js";
10
- import { ArrowDown, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUp as ArrowUp$1, Enter } from "../../internal/keyboard/keys.js";
11
- import { matches } from "../../internal/keyboard/match.js";
12
10
  import { useId } from "../../internal/useId.js";
13
11
  import { deprecate } from "../../prop-types/deprecate.js";
12
+ import { ArrowDown, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUp as ArrowUp$1, Enter } from "../../internal/keyboard/keys.js";
13
+ import { matches } from "../../internal/keyboard/match.js";
14
14
  import { Tooltip } from "../Tooltip/Tooltip.js";
15
15
  import { useNormalizedInputProps } from "../../internal/useNormalizedInputProps.js";
16
16
  import { clamp } from "../../internal/clamp.js";
@@ -7,14 +7,14 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { Text } from "../Text/Text.js";
10
- import { ArrowDown, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUp as ArrowUp$1, Delete, End, Home } from "../../internal/keyboard/keys.js";
11
- import { match, matches } from "../../internal/keyboard/match.js";
12
10
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
13
11
  import { useId } from "../../internal/useId.js";
14
12
  import { deprecate } from "../../prop-types/deprecate.js";
15
13
  import { isComponentElement } from "../../internal/utils.js";
16
14
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
17
15
  import { useEvent } from "../../internal/useEvent.js";
16
+ import { ArrowDown, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUp as ArrowUp$1, Delete, End, Home } from "../../internal/keyboard/keys.js";
17
+ import { match, matches } from "../../internal/keyboard/match.js";
18
18
  import { Tooltip } from "../Tooltip/Tooltip.js";
19
19
  import { BadgeIndicator } from "../BadgeIndicator/index.js";
20
20
  import { useControllableState } from "../../internal/useControllableState.js";
@@ -7,14 +7,14 @@
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
9
  import { Text } from "../Text/Text.js";
10
- import { Enter, Space } from "../../internal/keyboard/keys.js";
11
- import { matches } from "../../internal/keyboard/match.js";
12
10
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
13
11
  import { useId } from "../../internal/useId.js";
14
12
  import { deprecate } from "../../prop-types/deprecate.js";
15
13
  import Link_default from "../Link/index.js";
16
14
  import { isComponentElement } from "../../internal/utils.js";
17
15
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
16
+ import { Enter, Space } from "../../internal/keyboard/keys.js";
17
+ import { matches } from "../../internal/keyboard/match.js";
18
18
  import { useFeatureFlag } from "../FeatureFlags/index.js";
19
19
  import { getInteractiveContent, getRoleContent } from "../../internal/useNoInteractiveChildren.js";
20
20
  import { AILabel } from "../AILabel/index.js";
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import { Escape } from "../../internal/keyboard/keys.js";
10
- import { match } from "../../internal/keyboard/match.js";
11
9
  import { useId } from "../../internal/useId.js";
12
10
  import { useWindowEvent } from "../../internal/useEvent.js";
11
+ import { Escape } from "../../internal/keyboard/keys.js";
12
+ import { match } from "../../internal/keyboard/match.js";
13
13
  import { Popover, PopoverContent } from "../Popover/index.js";
14
14
  import React, { forwardRef, useContext, useEffect, useRef, useState } from "react";
15
15
  import cx from "classnames";
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
10
- import { match } from "../../internal/keyboard/match.js";
11
9
  import { useFallbackId } from "../../internal/useId.js";
12
10
  import { deprecate } from "../../prop-types/deprecate.js";
11
+ import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
12
+ import { match } from "../../internal/keyboard/match.js";
13
13
  import { Popover, PopoverContent } from "../Popover/index.js";
14
14
  import { useState } from "react";
15
15
  import cx from "classnames";
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
10
- import { match } from "../../internal/keyboard/match.js";
11
9
  import useIsomorphicEffect from "../../internal/useIsomorphicEffect.js";
12
10
  import { useId } from "../../internal/useId.js";
11
+ import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
12
+ import { match } from "../../internal/keyboard/match.js";
13
13
  import { Popover, PopoverContent } from "../Popover/index.js";
14
14
  import { useDelayedState } from "../../internal/useDelayedState.js";
15
15
  import { useNoInteractiveChildren } from "../../internal/useNoInteractiveChildren.js";
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import { ArrowLeft, ArrowRight as ArrowRight$1, Enter, Space } from "../../internal/keyboard/keys.js";
10
- import { match, matches } from "../../internal/keyboard/match.js";
11
9
  import { useId } from "../../internal/useId.js";
12
10
  import { deprecate } from "../../prop-types/deprecate.js";
11
+ import { ArrowLeft, ArrowRight as ArrowRight$1, Enter, Space } from "../../internal/keyboard/keys.js";
12
+ import { match, matches } from "../../internal/keyboard/match.js";
13
13
  import { useFeatureFlag } from "../FeatureFlags/index.js";
14
14
  import { IconButton } from "../IconButton/index.js";
15
15
  import { useControllableState } from "../../internal/useControllableState.js";
@@ -6,9 +6,9 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
+ import { useId } from "../../internal/useId.js";
9
10
  import { ArrowDown, ArrowUp, End, Home } from "../../internal/keyboard/keys.js";
10
11
  import { match, matches } from "../../internal/keyboard/match.js";
11
- import { useId } from "../../internal/useId.js";
12
12
  import { useFeatureFlag } from "../FeatureFlags/index.js";
13
13
  import { useControllableState } from "../../internal/useControllableState.js";
14
14
  import { DepthContext, TreeContext } from "./TreeContext.js";
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { useWindowEvent } from "../../internal/useEvent.js";
8
9
  import { Escape } from "../../internal/keyboard/keys.js";
9
10
  import { match } from "../../internal/keyboard/match.js";
10
- import { useWindowEvent } from "../../internal/useEvent.js";
11
11
  import { useCallback, useState } from "react";
12
12
  import PropTypes from "prop-types";
13
13
  import { jsx } from "react/jsx-runtime";
@@ -6,11 +6,11 @@
6
6
  */
7
7
 
8
8
  import { PrefixContext } from "../../internal/usePrefix.js";
9
- import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
10
- import { matches } from "../../internal/keyboard/match.js";
11
9
  import { deprecate } from "../../prop-types/deprecate.js";
12
10
  import { isComponentElement } from "../../internal/utils.js";
13
11
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
12
+ import { Enter, Escape, Space } from "../../internal/keyboard/keys.js";
13
+ import { matches } from "../../internal/keyboard/match.js";
14
14
  import { composeEventHandlers } from "../../tools/events.js";
15
15
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
16
16
  import HeaderMenuItem from "./HeaderMenuItem.js";
@@ -7,11 +7,11 @@
7
7
 
8
8
  import { noopFn } from "../../internal/noopFn.js";
9
9
  import { usePrefix } from "../../internal/usePrefix.js";
10
- import { Escape } from "../../internal/keyboard/keys.js";
11
- import { match } from "../../internal/keyboard/match.js";
12
10
  import { isComponentElement } from "../../internal/utils.js";
13
11
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
14
12
  import { useWindowEvent } from "../../internal/useEvent.js";
13
+ import { Escape } from "../../internal/keyboard/keys.js";
14
+ import { match } from "../../internal/keyboard/match.js";
15
15
  import Switcher from "./Switcher.js";
16
16
  import React, { useRef, useState } from "react";
17
17
  import cx from "classnames";
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import { usePrefix } from "../../internal/usePrefix.js";
9
- import { Escape, Tab } from "../../internal/keyboard/keys.js";
10
- import { match } from "../../internal/keyboard/match.js";
11
9
  import { useMergedRefs } from "../../internal/useMergedRefs.js";
12
10
  import { useWindowEvent } from "../../internal/useEvent.js";
11
+ import { Escape, Tab } from "../../internal/keyboard/keys.js";
12
+ import { match } from "../../internal/keyboard/match.js";
13
13
  import { useDelayedState } from "../../internal/useDelayedState.js";
14
14
  import { useMatchMedia } from "../../internal/useMatchMedia.js";
15
15
  import { AriaLabelPropType } from "../../prop-types/AriaPropTypes.js";
@@ -61,6 +61,11 @@ export interface AccordionToggleProps {
61
61
  className?: string;
62
62
  disabled?: boolean;
63
63
  onClick?: MouseEventHandler<HTMLButtonElement>;
64
+ /**
65
+ * @deprecated `AccordionItem` no longer passes an `onKeyDown` handler to
66
+ * the toggle. This prop is kept only so custom `renderToggle`
67
+ * implementations that reference it don't hit a breaking type change.
68
+ */
64
69
  onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void;
65
70
  type?: 'button';
66
71
  }
@@ -9,8 +9,6 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_AccordionProvider = require("./AccordionProvider.js");
11
11
  const require_Text = require("../Text/Text.js");
12
- const require_keys = require("../../internal/keyboard/keys.js");
13
- const require_match = require("../../internal/keyboard/match.js");
14
12
  const require_useId = require("../../internal/useId.js");
15
13
  const require_deprecate = require("../../prop-types/deprecate.js");
16
14
  let react = require("react");
@@ -64,9 +62,6 @@ function AccordionItem({ children, className: customClassName = "", open = false
64
62
  event
65
63
  });
66
64
  }
67
- function onKeyDown(event) {
68
- if (isOpen && require_match.match(event, require_keys.Escape)) setIsOpen(false);
69
- }
70
65
  function onAnimationEnd(event) {
71
66
  if (handleAnimationEnd) handleAnimationEnd(event);
72
67
  }
@@ -80,7 +75,6 @@ function AccordionItem({ children, className: customClassName = "", open = false
80
75
  "aria-label": ariaLabel,
81
76
  className: `${prefix}--accordion__heading`,
82
77
  onClick,
83
- onKeyDown,
84
78
  type: "button",
85
79
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_carbon_icons_react.ChevronRight, { className: `${prefix}--accordion__arrow` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
86
80
  as: "div",
@@ -8,13 +8,13 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_Text = require("../Text/Text.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
15
13
  const require_defaultItemToString = require("../../internal/defaultItemToString.js");
16
14
  const require_isItemDisabled = require("../../internal/isItemDisabled.js");
17
15
  const require_utils = require("../../internal/utils.js");
16
+ const require_keys = require("../../internal/keyboard/keys.js");
17
+ const require_match = require("../../internal/keyboard/match.js");
18
18
  const require_index = require("../FeatureFlags/index.js");
19
19
  const require_index$1 = require("../AILabel/index.js");
20
20
  const require_mergeRefs = require("../../tools/mergeRefs.js");
@@ -8,11 +8,11 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_warning = require("../../internal/warning.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
15
13
  const require_utils = require("../../internal/utils.js");
14
+ const require_keys = require("../../internal/keyboard/keys.js");
15
+ const require_match = require("../../internal/keyboard/match.js");
16
16
  const require_index = require("../FeatureFlags/index.js");
17
17
  const require_index$1 = require("../AILabel/index.js");
18
18
  const require_mergeRefs = require("../../tools/mergeRefs.js");
@@ -7,11 +7,11 @@
7
7
 
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
+ const require_deprecate = require("../../prop-types/deprecate.js");
11
+ const require_utils = require("../../internal/utils.js");
10
12
  const require_keys = require("../../internal/keyboard/keys.js");
11
13
  const require_match = require("../../internal/keyboard/match.js");
12
14
  const require_navigation = require("../../internal/keyboard/navigation.js");
13
- const require_deprecate = require("../../prop-types/deprecate.js");
14
- const require_utils = require("../../internal/utils.js");
15
15
  const require_index = require("../Layout/index.js");
16
16
  const require_Switch = require("../Switch/Switch.js");
17
17
  const require_IconSwitch = require("../Switch/IconSwitch.js");
@@ -7,10 +7,10 @@
7
7
 
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
- const require_keys = require("../../internal/keyboard/keys.js");
11
- const require_match = require("../../internal/keyboard/match.js");
12
10
  const require_deprecate = require("../../prop-types/deprecate.js");
13
11
  const require_utils = require("../../internal/utils.js");
12
+ const require_keys = require("../../internal/keyboard/keys.js");
13
+ const require_match = require("../../internal/keyboard/match.js");
14
14
  const require_index = require("../DatePickerInput/index.js");
15
15
  const require_appendToPlugin = require("./plugins/appendToPlugin.js");
16
16
  const require_fixEventsPlugin = require("./plugins/fixEventsPlugin.js");
@@ -8,9 +8,9 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_Text = require("../Text/Text.js");
11
+ const require_useId = require("../../internal/useId.js");
11
12
  const require_keys = require("../../internal/keyboard/keys.js");
12
13
  const require_match = require("../../internal/keyboard/match.js");
13
- const require_useId = require("../../internal/useId.js");
14
14
  const require_index = require("../FeatureFlags/index.js");
15
15
  const require_Button = require("../Button/Button.js");
16
16
  const require_Filename = require("./Filename.js");
@@ -8,10 +8,10 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
13
+ const require_keys = require("../../internal/keyboard/keys.js");
14
+ const require_match = require("../../internal/keyboard/match.js");
15
15
  const require_Button = require("../Button/Button.js");
16
16
  let react = require("react");
17
17
  react = require_runtime.__toESM(react);
@@ -8,10 +8,10 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
13
+ const require_keys = require("../../internal/keyboard/keys.js");
14
+ const require_match = require("../../internal/keyboard/match.js");
15
15
  const require_events = require("../../tools/events.js");
16
16
  let react = require("react");
17
17
  react = require_runtime.__toESM(react);
@@ -9,10 +9,10 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
11
  const require_Text = require("../Text/Text.js");
12
- const require_keys = require("../../internal/keyboard/keys.js");
13
- const require_match = require("../../internal/keyboard/match.js");
14
12
  const require_useIsomorphicEffect = require("../../internal/useIsomorphicEffect.js");
15
13
  const require_useId = require("../../internal/useId.js");
14
+ const require_keys = require("../../internal/keyboard/keys.js");
15
+ const require_match = require("../../internal/keyboard/match.js");
16
16
  const require_Tooltip = require("../Tooltip/Tooltip.js");
17
17
  const require_Filename = require("./Filename.js");
18
18
  let react = require("react");
@@ -8,6 +8,8 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_deprecate = require("../../prop-types/deprecate.js");
11
+ const require_keys = require("../../internal/keyboard/keys.js");
12
+ const require_match = require("../../internal/keyboard/match.js");
11
13
  let react = require("react");
12
14
  react = require_runtime.__toESM(react);
13
15
  let classnames = require("classnames");
@@ -22,8 +24,78 @@ let react_jsx_runtime = require("react/jsx-runtime");
22
24
  * This source code is licensed under the Apache-2.0 license found in the
23
25
  * LICENSE file in the root directory of this source tree.
24
26
  */
27
+ const isModalDialog = (element) => {
28
+ if (element.matches("[aria-modal=\"true\"]")) return true;
29
+ if (!(element instanceof HTMLDialogElement) || !element.open) return false;
30
+ try {
31
+ return element.matches(":modal");
32
+ } catch {
33
+ return true;
34
+ }
35
+ };
36
+ const isLayeredOnTop = (target, overlay) => {
37
+ if (!(target instanceof Element)) return false;
38
+ for (let element = target; element; element = element.parentElement) if (isModalDialog(element)) return !element.contains(overlay);
39
+ return false;
40
+ };
41
+ const focusWithBorrowedTabIndex = (element) => {
42
+ const hadTabIndex = element.hasAttribute("tabindex");
43
+ if (!hadTabIndex) element.setAttribute("tabindex", "-1");
44
+ element.focus();
45
+ if (hadTabIndex) return;
46
+ if (document.activeElement === element) element.addEventListener("blur", () => element.removeAttribute("tabindex"), { once: true });
47
+ else element.removeAttribute("tabindex");
48
+ };
49
+ const restoreFocus = (overlay, previouslyFocused) => {
50
+ const activeElement = document.activeElement;
51
+ if (!(!activeElement || activeElement === document.body || overlay.contains(activeElement)) || !previouslyFocused?.isConnected) return;
52
+ previouslyFocused.focus();
53
+ if (document.activeElement === previouslyFocused) return;
54
+ const fallback = previouslyFocused.parentElement;
55
+ if (!fallback || fallback === document.body || fallback === document.documentElement) return;
56
+ focusWithBorrowedTabIndex(fallback);
57
+ };
58
+ const useFocusTrap = (overlayRef, active) => {
59
+ (0, react.useEffect)(() => {
60
+ const overlay = overlayRef.current;
61
+ if (!active || !overlay) return;
62
+ const previouslyFocused = document.activeElement instanceof HTMLElement ? document.activeElement : null;
63
+ if (!isLayeredOnTop(previouslyFocused, overlay)) overlay.focus();
64
+ let reclaiming = false;
65
+ const reclaimFocus = () => {
66
+ if (reclaiming) return;
67
+ reclaiming = true;
68
+ try {
69
+ overlay.focus();
70
+ } finally {
71
+ reclaiming = false;
72
+ }
73
+ };
74
+ const handleFocusIn = (event) => {
75
+ const { target } = event;
76
+ if (!(target instanceof Node) || overlay.contains(target)) return;
77
+ if (isLayeredOnTop(target, overlay)) return;
78
+ reclaimFocus();
79
+ };
80
+ const handleKeyDown = (event) => {
81
+ if (!require_match.match(event, require_keys.Tab)) return;
82
+ if (isLayeredOnTop(event.target, overlay)) return;
83
+ event.preventDefault();
84
+ reclaimFocus();
85
+ };
86
+ document.addEventListener("focusin", handleFocusIn, true);
87
+ document.addEventListener("keydown", handleKeyDown, true);
88
+ return () => {
89
+ document.removeEventListener("focusin", handleFocusIn, true);
90
+ document.removeEventListener("keydown", handleKeyDown, true);
91
+ restoreFocus(overlay, previouslyFocused);
92
+ };
93
+ }, [overlayRef, active]);
94
+ };
25
95
  function Loading({ active = true, className: customClassName, withOverlay = true, small = false, description = "loading", ...rest }) {
26
96
  const prefix = require_usePrefix.usePrefix();
97
+ const overlayRef = (0, react.useRef)(null);
98
+ useFocusTrap(overlayRef, withOverlay && active);
27
99
  const loadingClassName = (0, classnames.default)(customClassName, {
28
100
  [`${prefix}--loading`]: true,
29
101
  [`${prefix}--loading--small`]: small,
@@ -62,7 +134,15 @@ function Loading({ active = true, className: customClassName, withOverlay = true
62
134
  });
63
135
  return withOverlay ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
64
136
  className: overlayClassName,
65
- children: loading
137
+ role: "presentation",
138
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
139
+ ref: overlayRef,
140
+ role: active ? "dialog" : void 0,
141
+ "aria-modal": active ? "true" : void 0,
142
+ "aria-label": active ? description : void 0,
143
+ tabIndex: active ? -1 : void 0,
144
+ children: loading
145
+ })
66
146
  }) : loading;
67
147
  }
68
148
  Loading.propTypes = {
@@ -7,10 +7,10 @@
7
7
 
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
- const require_keys = require("../../internal/keyboard/keys.js");
11
- const require_match = require("../../internal/keyboard/match.js");
12
10
  const require_deprecate = require("../../prop-types/deprecate.js");
13
11
  const require_useMergedRefs = require("../../internal/useMergedRefs.js");
12
+ const require_keys = require("../../internal/keyboard/keys.js");
13
+ const require_match = require("../../internal/keyboard/match.js");
14
14
  const require_MenuContext = require("./MenuContext.js");
15
15
  const require_useLayoutDirection = require("../LayoutDirection/useLayoutDirection.js");
16
16
  const require_environment = require("../../internal/environment.js");
@@ -8,11 +8,11 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_Text = require("../Text/Text.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_defaultItemToString = require("../../internal/defaultItemToString.js");
15
13
  const require_useMergedRefs = require("../../internal/useMergedRefs.js");
14
+ const require_keys = require("../../internal/keyboard/keys.js");
15
+ const require_match = require("../../internal/keyboard/match.js");
16
16
  const require_MenuContext = require("./MenuContext.js");
17
17
  const require_useLayoutDirection = require("../LayoutDirection/useLayoutDirection.js");
18
18
  const require_Menu = require("./Menu.js");
@@ -10,13 +10,13 @@ const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_warning = require("../../internal/warning.js");
11
11
  const require_usePrefix = require("../../internal/usePrefix.js");
12
12
  const require_Text = require("../Text/Text.js");
13
- const require_keys = require("../../internal/keyboard/keys.js");
14
- const require_match = require("../../internal/keyboard/match.js");
15
- const require_navigation = require("../../internal/keyboard/navigation.js");
16
13
  const require_useId = require("../../internal/useId.js");
17
14
  const require_deprecate = require("../../prop-types/deprecate.js");
18
15
  const require_utils = require("../../internal/utils.js");
19
16
  const require_useMergedRefs = require("../../internal/useMergedRefs.js");
17
+ const require_keys = require("../../internal/keyboard/keys.js");
18
+ const require_match = require("../../internal/keyboard/match.js");
19
+ const require_navigation = require("../../internal/keyboard/navigation.js");
20
20
  const require_index = require("../FeatureFlags/index.js");
21
21
  const require_index$1 = require("../IconButton/index.js");
22
22
  const require_index$2 = require("../Button/index.js");
@@ -7,14 +7,14 @@
7
7
 
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
- const require_keys = require("../../internal/keyboard/keys.js");
11
- const require_match = require("../../internal/keyboard/match.js");
12
10
  const require_useIsomorphicEffect = require("../../internal/useIsomorphicEffect.js");
13
11
  const require_useId = require("../../internal/useId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
15
13
  const require_defaultItemToString = require("../../internal/defaultItemToString.js");
16
14
  const require_isItemDisabled = require("../../internal/isItemDisabled.js");
17
15
  const require_utils = require("../../internal/utils.js");
16
+ const require_keys = require("../../internal/keyboard/keys.js");
17
+ const require_match = require("../../internal/keyboard/match.js");
18
18
  const require_index = require("../AILabel/index.js");
19
19
  const require_mergeRefs = require("../../tools/mergeRefs.js");
20
20
  const require_hasHelperText = require("../../internal/hasHelperText.js");
@@ -8,14 +8,14 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_useIsomorphicEffect = require("../../internal/useIsomorphicEffect.js");
14
12
  const require_useId = require("../../internal/useId.js");
15
13
  const require_deprecate = require("../../prop-types/deprecate.js");
16
14
  const require_defaultItemToString = require("../../internal/defaultItemToString.js");
17
15
  const require_isItemDisabled = require("../../internal/isItemDisabled.js");
18
16
  const require_utils = require("../../internal/utils.js");
17
+ const require_keys = require("../../internal/keyboard/keys.js");
18
+ const require_match = require("../../internal/keyboard/match.js");
19
19
  const require_index = require("../FeatureFlags/index.js");
20
20
  const require_index$1 = require("../AILabel/index.js");
21
21
  const require_mergeRefs = require("../../tools/mergeRefs.js");
@@ -10,12 +10,12 @@ const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_warning = require("../../internal/warning.js");
11
11
  const require_usePrefix = require("../../internal/usePrefix.js");
12
12
  const require_Text = require("../Text/Text.js");
13
- const require_keys = require("../../internal/keyboard/keys.js");
14
- const require_match = require("../../internal/keyboard/match.js");
15
13
  const require_useIsomorphicEffect = require("../../internal/useIsomorphicEffect.js");
16
14
  const require_useId = require("../../internal/useId.js");
17
15
  const require_deprecate = require("../../prop-types/deprecate.js");
18
16
  const require_deprecateValuesWithin = require("../../prop-types/deprecateValuesWithin.js");
17
+ const require_keys = require("../../internal/keyboard/keys.js");
18
+ const require_match = require("../../internal/keyboard/match.js");
19
19
  const require_index = require("../FeatureFlags/index.js");
20
20
  const require_useNoInteractiveChildren = require("../../internal/useNoInteractiveChildren.js");
21
21
  const require_index$1 = require("../Button/index.js");
@@ -8,11 +8,11 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_usePrefix = require("../../internal/usePrefix.js");
10
10
  const require_Text = require("../Text/Text.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_deprecate = require("../../prop-types/deprecate.js");
14
12
  const require_utils = require("../../internal/utils.js");
15
13
  const require_useMergedRefs = require("../../internal/useMergedRefs.js");
14
+ const require_keys = require("../../internal/keyboard/keys.js");
15
+ const require_match = require("../../internal/keyboard/match.js");
16
16
  const require_index = require("../AILabel/index.js");
17
17
  const require_useControllableState = require("../../internal/useControllableState.js");
18
18
  const require_useNormalizedInputProps = require("../../internal/useNormalizedInputProps.js");
@@ -8,11 +8,11 @@
8
8
  const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_noopFn = require("../../internal/noopFn.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
- const require_keys = require("../../internal/keyboard/keys.js");
12
- const require_match = require("../../internal/keyboard/match.js");
13
11
  const require_setupGetInstanceId = require("../../tools/setupGetInstanceId.js");
14
12
  const require_deprecate = require("../../prop-types/deprecate.js");
15
13
  const require_deprecateValuesWithin = require("../../prop-types/deprecateValuesWithin.js");
14
+ const require_keys = require("../../internal/keyboard/keys.js");
15
+ const require_match = require("../../internal/keyboard/match.js");
16
16
  const require_mapPopoverAlign = require("../../tools/mapPopoverAlign.js");
17
17
  const require_index = require("../IconButton/index.js");
18
18
  const require_mergeRefs = require("../../tools/mergeRefs.js");
@@ -9,9 +9,9 @@ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
9
9
  const require_warning = require("../../internal/warning.js");
10
10
  const require_usePrefix = require("../../internal/usePrefix.js");
11
11
  const require_Text = require("../Text/Text.js");
12
+ const require_useId = require("../../internal/useId.js");
12
13
  const require_keys = require("../../internal/keyboard/keys.js");
13
14
  const require_match = require("../../internal/keyboard/match.js");
14
- const require_useId = require("../../internal/useId.js");
15
15
  let react = require("react");
16
16
  react = require_runtime.__toESM(react);
17
17
  let classnames = require("classnames");
@@ -108,7 +108,7 @@ export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLDivElemen
108
108
  /**
109
109
  * The choices for `pageSize`.
110
110
  */
111
- pageSizes: number[] | PaginationPageSize[];
111
+ pageSizes?: Array<number | PaginationPageSize>;
112
112
  /**
113
113
  * The translatable text showing the current page.
114
114
  */