@carbon/react 1.102.0-rc.0 → 1.103.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 (172) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +976 -976
  2. package/es/components/Breadcrumb/BreadcrumbItem.js +1 -1
  3. package/es/components/Button/Button.Skeleton.js +2 -1
  4. package/es/components/Button/Button.d.ts +4 -4
  5. package/es/components/Button/Button.js +4 -4
  6. package/es/components/Button/index.js +1 -1
  7. package/es/components/ButtonSet/ButtonSet.js +1 -1
  8. package/es/components/Checkbox/index.js +1 -1
  9. package/es/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  10. package/es/components/CheckboxGroup/CheckboxGroup.js +2 -2
  11. package/es/components/ComboBox/ComboBox.js +3 -4
  12. package/es/components/ComposedModal/ComposedModal.js +0 -3
  13. package/es/components/ComposedModal/ComposedModalPresence.d.ts +9 -1
  14. package/es/components/ComposedModal/ComposedModalPresence.js +14 -1
  15. package/es/components/ComposedModal/index.d.ts +1 -1
  16. package/es/components/ContainedList/index.js +1 -1
  17. package/es/components/ContentSwitcher/ContentSwitcher.js +3 -2
  18. package/es/components/DataTable/TableExpandRow.js +2 -2
  19. package/es/components/DataTable/TableHeader.js +1 -1
  20. package/es/components/DataTable/TableRow.js +1 -1
  21. package/es/components/DataTable/TableToolbarMenu.js +1 -1
  22. package/es/components/DataTable/tools/normalize.js +2 -1
  23. package/es/components/DatePicker/DatePicker.Skeleton.d.ts +8 -5
  24. package/es/components/DatePicker/DatePicker.Skeleton.js +2 -2
  25. package/es/components/DatePicker/DatePicker.js +3 -2
  26. package/es/components/DatePicker/index.js +1 -1
  27. package/es/components/DatePickerInput/DatePickerInput.js +1 -1
  28. package/es/components/Dialog/Dialog.js +1 -1
  29. package/es/components/Dropdown/Dropdown.js +1 -3
  30. package/es/components/Dropdown/index.js +1 -1
  31. package/es/components/ExpandableSearch/ExpandableSearch.js +1 -1
  32. package/es/components/FeatureFlags/index.d.ts +8 -18
  33. package/es/components/FeatureFlags/index.js +23 -103
  34. package/es/components/FileUploader/FileUploader.Skeleton.js +1 -1
  35. package/es/components/FileUploader/FileUploaderButton.d.ts +1 -1
  36. package/es/components/FileUploader/FileUploaderButton.js +3 -7
  37. package/es/components/Icon/Icon.Skeleton.js +1 -1
  38. package/es/components/IconIndicator/index.js +1 -1
  39. package/es/components/Menu/MenuItem.js +1 -1
  40. package/es/components/Modal/ModalPresence.d.ts +9 -1
  41. package/es/components/Modal/ModalPresence.js +14 -1
  42. package/es/components/Modal/index.d.ts +2 -2
  43. package/es/components/MultiSelect/MultiSelect.js +9 -10
  44. package/es/components/Notification/Notification.js +1 -1
  45. package/es/components/NumberInput/NumberInput.js +15 -13
  46. package/es/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  47. package/es/components/OverflowMenu/OverflowMenu.js +3 -5
  48. package/es/components/OverflowMenuV2/index.js +1 -1
  49. package/es/components/PageHeader/PageHeader.js +2 -23
  50. package/es/components/Pagination/Pagination.Skeleton.js +1 -1
  51. package/es/components/Pagination/Pagination.d.ts +4 -0
  52. package/es/components/Pagination/Pagination.js +6 -1
  53. package/es/components/Pagination/experimental/Pagination.js +12 -1
  54. package/es/components/Popover/index.js +1 -1
  55. package/es/components/ProgressIndicator/ProgressIndicator.js +3 -3
  56. package/es/components/RadioButton/RadioButton.Skeleton.js +1 -1
  57. package/es/components/Search/index.js +1 -1
  58. package/es/components/Select/index.js +1 -1
  59. package/es/components/ShapeIndicator/index.js +1 -1
  60. package/es/components/Slider/Slider.d.ts +1 -1
  61. package/es/components/Slider/Slider.js +230 -255
  62. package/es/components/Slider/SliderHandles.js +65 -53
  63. package/es/components/Switch/IconSwitch.js +1 -1
  64. package/es/components/Tabs/Tabs.js +2 -6
  65. package/es/components/Tag/Tag.Skeleton.js +1 -1
  66. package/es/components/TextArea/TextArea.js +1 -1
  67. package/es/components/TextArea/index.js +1 -1
  68. package/es/components/TextInput/index.js +1 -1
  69. package/es/components/Tile/Tile.js +1 -1
  70. package/es/components/TileGroup/TileGroup.d.ts +1 -1
  71. package/es/components/TileGroup/TileGroup.js +2 -1
  72. package/es/components/Toggle/Toggle.Skeleton.js +1 -1
  73. package/es/components/Toggletip/index.js +1 -1
  74. package/es/components/UIShell/HeaderMenu.js +1 -1
  75. package/es/components/UIShell/HeaderPanel.js +3 -2
  76. package/es/components/UIShell/SideNav.d.ts +1 -4
  77. package/es/components/UIShell/SideNav.js +10 -25
  78. package/es/components/UIShell/SideNavContext.d.ts +17 -0
  79. package/es/components/UIShell/SideNavContext.js +24 -0
  80. package/es/components/UIShell/SideNavItems.d.ts +1 -1
  81. package/es/components/UIShell/SideNavItems.js +12 -16
  82. package/es/components/UIShell/SideNavLink.js +8 -4
  83. package/es/components/UIShell/SideNavMenu.js +7 -5
  84. package/es/components/UIShell/Switcher.js +5 -4
  85. package/es/index.js +30 -30
  86. package/es/internal/useNoInteractiveChildren.js +25 -30
  87. package/es/internal/useOverflowItems.d.ts +1 -5
  88. package/es/internal/useOverflowItems.js +6 -27
  89. package/es/internal/usePresence.d.ts +1 -1
  90. package/es/internal/usePresence.js +14 -17
  91. package/lib/components/Button/Button.Skeleton.js +2 -1
  92. package/lib/components/Button/Button.d.ts +4 -4
  93. package/lib/components/Button/Button.js +4 -4
  94. package/lib/components/Button/index.js +1 -1
  95. package/lib/components/ButtonSet/ButtonSet.js +1 -1
  96. package/lib/components/Checkbox/index.js +1 -1
  97. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  98. package/lib/components/CheckboxGroup/CheckboxGroup.js +1 -1
  99. package/lib/components/ComboBox/ComboBox.js +3 -4
  100. package/lib/components/ComposedModal/ComposedModal.js +0 -3
  101. package/lib/components/ComposedModal/ComposedModalPresence.d.ts +9 -1
  102. package/lib/components/ComposedModal/ComposedModalPresence.js +14 -0
  103. package/lib/components/ComposedModal/index.d.ts +1 -1
  104. package/lib/components/ContainedList/index.js +0 -3
  105. package/lib/components/ContentSwitcher/ContentSwitcher.js +2 -1
  106. package/lib/components/DataTable/TableExpandRow.js +1 -1
  107. package/lib/components/DataTable/TableToolbarMenu.js +1 -1
  108. package/lib/components/DataTable/tools/normalize.js +2 -1
  109. package/lib/components/DatePicker/DatePicker.Skeleton.d.ts +8 -5
  110. package/lib/components/DatePicker/DatePicker.Skeleton.js +2 -2
  111. package/lib/components/DatePicker/DatePicker.js +3 -2
  112. package/lib/components/DatePicker/index.js +1 -1
  113. package/lib/components/Dropdown/Dropdown.js +1 -3
  114. package/lib/components/Dropdown/index.js +1 -1
  115. package/lib/components/FeatureFlags/index.d.ts +8 -18
  116. package/lib/components/FeatureFlags/index.js +21 -102
  117. package/lib/components/FileUploader/FileUploader.Skeleton.js +1 -1
  118. package/lib/components/FileUploader/FileUploaderButton.d.ts +1 -1
  119. package/lib/components/FileUploader/FileUploaderButton.js +2 -6
  120. package/lib/components/Icon/Icon.Skeleton.js +0 -3
  121. package/lib/components/IconIndicator/index.js +0 -3
  122. package/lib/components/Modal/ModalPresence.d.ts +9 -1
  123. package/lib/components/Modal/ModalPresence.js +14 -0
  124. package/lib/components/Modal/index.d.ts +2 -2
  125. package/lib/components/MultiSelect/MultiSelect.js +8 -9
  126. package/lib/components/NumberInput/NumberInput.js +14 -12
  127. package/lib/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  128. package/lib/components/OverflowMenu/OverflowMenu.js +2 -7
  129. package/lib/components/OverflowMenuV2/index.js +1 -1
  130. package/lib/components/PageHeader/PageHeader.js +2 -23
  131. package/lib/components/Pagination/Pagination.Skeleton.js +0 -3
  132. package/lib/components/Pagination/Pagination.d.ts +4 -0
  133. package/lib/components/Pagination/Pagination.js +6 -1
  134. package/lib/components/Pagination/experimental/Pagination.js +12 -1
  135. package/lib/components/ProgressIndicator/ProgressIndicator.js +3 -3
  136. package/lib/components/RadioButton/RadioButton.Skeleton.js +0 -3
  137. package/lib/components/Search/index.js +1 -1
  138. package/lib/components/Select/index.js +1 -1
  139. package/lib/components/ShapeIndicator/index.js +0 -3
  140. package/lib/components/Slider/Slider.d.ts +1 -1
  141. package/lib/components/Slider/Slider.js +229 -254
  142. package/lib/components/Slider/SliderHandles.js +64 -52
  143. package/lib/components/Tabs/Tabs.js +1 -5
  144. package/lib/components/Tag/Tag.Skeleton.js +0 -3
  145. package/lib/components/TextArea/index.js +1 -1
  146. package/lib/components/TextInput/index.js +1 -1
  147. package/lib/components/TileGroup/TileGroup.d.ts +1 -1
  148. package/lib/components/TileGroup/TileGroup.js +2 -1
  149. package/lib/components/Toggle/Toggle.Skeleton.js +0 -3
  150. package/lib/components/Toggletip/index.js +0 -3
  151. package/lib/components/UIShell/HeaderPanel.js +2 -1
  152. package/lib/components/UIShell/SideNav.d.ts +1 -4
  153. package/lib/components/UIShell/SideNav.js +8 -24
  154. package/lib/components/UIShell/SideNavContext.d.ts +17 -0
  155. package/lib/components/UIShell/SideNavContext.js +27 -0
  156. package/lib/components/UIShell/SideNavItems.d.ts +1 -1
  157. package/lib/components/UIShell/SideNavItems.js +11 -15
  158. package/lib/components/UIShell/SideNavLink.js +7 -3
  159. package/lib/components/UIShell/SideNavMenu.js +8 -6
  160. package/lib/components/UIShell/Switcher.js +4 -3
  161. package/lib/index.js +102 -100
  162. package/lib/internal/useNoInteractiveChildren.js +25 -30
  163. package/lib/internal/useOverflowItems.d.ts +1 -5
  164. package/lib/internal/useOverflowItems.js +6 -27
  165. package/lib/internal/usePresence.d.ts +1 -1
  166. package/lib/internal/usePresence.js +13 -16
  167. package/package.json +8 -8
  168. package/telemetry.yml +2 -1
  169. package/es/components/UIShell/_utils.d.ts +0 -7
  170. package/es/components/UIShell/_utils.js +0 -10
  171. package/lib/components/UIShell/_utils.d.ts +0 -7
  172. package/lib/components/UIShell/_utils.js +0 -12
@@ -12,58 +12,70 @@ var usePrefix = require('../../internal/usePrefix.js');
12
12
  var React = require('react');
13
13
 
14
14
  var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path0, _path1, _path10, _path11, _path12;
15
- const LowerHandle = props => /*#__PURE__*/React.createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
16
- xmlns: "http://www.w3.org/2000/svg",
17
- viewBox: "0 0 16 24",
18
- className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower`
19
- }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
20
- d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
21
- })), _path2 || (_path2 = /*#__PURE__*/React.createElement("path", {
22
- fill: "none",
23
- d: "M-4 0h24v24H-4z"
24
- }))));
25
- const LowerHandleFocus = props => /*#__PURE__*/React.createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
26
- xmlns: "http://www.w3.org/2000/svg",
27
- viewBox: "0 0 16 24",
28
- className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower ${prefix}--slider__thumb-icon--focus`
29
- }, props), _path3 || (_path3 = /*#__PURE__*/React.createElement("path", {
30
- d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
31
- })), _path4 || (_path4 = /*#__PURE__*/React.createElement("path", {
32
- fill: "none",
33
- d: "M-4 0h24v24H-4z"
34
- })), _path5 || (_path5 = /*#__PURE__*/React.createElement("path", {
35
- d: "M15.08 0H16v6.46h-.92z"
36
- })), _path6 || (_path6 = /*#__PURE__*/React.createElement("path", {
37
- d: "M0 0h.92v24H0zM15.08 0H16v24h-.92z"
38
- })), _path7 || (_path7 = /*#__PURE__*/React.createElement("path", {
39
- d: "M0 .92V0h16v.92zM0 24v-.92h16V24z"
40
- }))));
41
- const UpperHandle = props => /*#__PURE__*/React.createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
42
- xmlns: "http://www.w3.org/2000/svg",
43
- viewBox: "0 0 16 24",
44
- className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper`
45
- }, props), _path8 || (_path8 = /*#__PURE__*/React.createElement("path", {
46
- d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
47
- })), _path9 || (_path9 = /*#__PURE__*/React.createElement("path", {
48
- fill: "none",
49
- d: "M-4 0h24v24H-4z"
50
- }))));
51
- const UpperHandleFocus = props => /*#__PURE__*/React.createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
52
- xmlns: "http://www.w3.org/2000/svg",
53
- viewBox: "0 0 16 24",
54
- className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper ${prefix}--slider__thumb-icon--focus`
55
- }, props), _path0 || (_path0 = /*#__PURE__*/React.createElement("path", {
56
- d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
57
- })), _path1 || (_path1 = /*#__PURE__*/React.createElement("path", {
58
- fill: "none",
59
- d: "M-4 0h24v24H-4z"
60
- })), _path10 || (_path10 = /*#__PURE__*/React.createElement("path", {
61
- d: "M.92 24H0v-6.46h.92z"
62
- })), _path11 || (_path11 = /*#__PURE__*/React.createElement("path", {
63
- d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
64
- })), _path12 || (_path12 = /*#__PURE__*/React.createElement("path", {
65
- d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
66
- }))));
15
+ const LowerHandle = props => {
16
+ const prefix = usePrefix.usePrefix();
17
+ return /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ viewBox: "0 0 16 24",
20
+ className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower`
21
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
22
+ d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
23
+ })), _path2 || (_path2 = /*#__PURE__*/React.createElement("path", {
24
+ fill: "none",
25
+ d: "M-4 0h24v24H-4z"
26
+ })));
27
+ };
28
+ const LowerHandleFocus = props => {
29
+ const prefix = usePrefix.usePrefix();
30
+ return /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
31
+ xmlns: "http://www.w3.org/2000/svg",
32
+ viewBox: "0 0 16 24",
33
+ className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower ${prefix}--slider__thumb-icon--focus`
34
+ }, props), _path3 || (_path3 = /*#__PURE__*/React.createElement("path", {
35
+ d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
36
+ })), _path4 || (_path4 = /*#__PURE__*/React.createElement("path", {
37
+ fill: "none",
38
+ d: "M-4 0h24v24H-4z"
39
+ })), _path5 || (_path5 = /*#__PURE__*/React.createElement("path", {
40
+ d: "M15.08 0H16v6.46h-.92z"
41
+ })), _path6 || (_path6 = /*#__PURE__*/React.createElement("path", {
42
+ d: "M0 0h.92v24H0zM15.08 0H16v24h-.92z"
43
+ })), _path7 || (_path7 = /*#__PURE__*/React.createElement("path", {
44
+ d: "M0 .92V0h16v.92zM0 24v-.92h16V24z"
45
+ })));
46
+ };
47
+ const UpperHandle = props => {
48
+ const prefix = usePrefix.usePrefix();
49
+ return /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ viewBox: "0 0 16 24",
52
+ className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper`
53
+ }, props), _path8 || (_path8 = /*#__PURE__*/React.createElement("path", {
54
+ d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
55
+ })), _path9 || (_path9 = /*#__PURE__*/React.createElement("path", {
56
+ fill: "none",
57
+ d: "M-4 0h24v24H-4z"
58
+ })));
59
+ };
60
+ const UpperHandleFocus = props => {
61
+ const prefix = usePrefix.usePrefix();
62
+ return /*#__PURE__*/React.createElement("svg", _rollupPluginBabelHelpers.extends({
63
+ xmlns: "http://www.w3.org/2000/svg",
64
+ viewBox: "0 0 16 24",
65
+ className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper ${prefix}--slider__thumb-icon--focus`
66
+ }, props), _path0 || (_path0 = /*#__PURE__*/React.createElement("path", {
67
+ d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
68
+ })), _path1 || (_path1 = /*#__PURE__*/React.createElement("path", {
69
+ fill: "none",
70
+ d: "M-4 0h24v24H-4z"
71
+ })), _path10 || (_path10 = /*#__PURE__*/React.createElement("path", {
72
+ d: "M.92 24H0v-6.46h.92z"
73
+ })), _path11 || (_path11 = /*#__PURE__*/React.createElement("path", {
74
+ d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
75
+ })), _path12 || (_path12 = /*#__PURE__*/React.createElement("path", {
76
+ d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
77
+ })));
78
+ };
67
79
 
68
80
  exports.LowerHandle = LowerHandle;
69
81
  exports.LowerHandleFocus = LowerHandleFocus;
@@ -1040,11 +1040,7 @@ const IconTab = /*#__PURE__*/React.forwardRef(({
1040
1040
  const value = React.useMemo(() => ({
1041
1041
  badgeIndicator
1042
1042
  }), [badgeIndicator]);
1043
- const hasSize20 = /*#__PURE__*/React.isValidElement(children) &&
1044
- // TODO: The interface allows `size` to be a string. Should this case be
1045
- // handled here, or should the prop type be restricted to `number`
1046
- // instead?
1047
- children.props.size === 20;
1043
+ const hasSize20 = /*#__PURE__*/React.isValidElement(children) && (children.props.size === 20 || children.props.size === '20');
1048
1044
  const classNames = cx(`${prefix}--tabs__nav-item--icon-only`, customClassName, {
1049
1045
  [`${prefix}--tabs__nav-item--icon-only__20`]: hasSize20
1050
1046
  });
@@ -7,8 +7,6 @@
7
7
 
8
8
  'use strict';
9
9
 
10
- Object.defineProperty(exports, '__esModule', { value: true });
11
-
12
10
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
11
  var PropTypes = require('prop-types');
14
12
  var React = require('react');
@@ -43,4 +41,3 @@ TagSkeleton.propTypes = {
43
41
  };
44
42
 
45
43
  exports.TagSkeleton = TagSkeleton;
46
- exports.default = TagSkeleton;
@@ -16,4 +16,4 @@ var TextArea_Skeleton = require('./TextArea.Skeleton.js');
16
16
 
17
17
  exports.TextArea = TextArea.default;
18
18
  exports.default = TextArea.default;
19
- exports.TextAreaSkeleton = TextArea_Skeleton.default;
19
+ exports.TextAreaSkeleton = TextArea_Skeleton.TextAreaSkeleton;
@@ -16,4 +16,4 @@ var TextInput_Skeleton = require('./TextInput.Skeleton.js');
16
16
 
17
17
  exports.TextInput = TextInput.default;
18
18
  exports.default = TextInput.default;
19
- exports.TextInputSkeleton = TextInput_Skeleton.default;
19
+ exports.TextInputSkeleton = TextInput_Skeleton.TextInputSkeleton;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
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.
@@ -11,6 +11,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
11
11
  var PropTypes = require('prop-types');
12
12
  var React = require('react');
13
13
  var RadioTile = require('../RadioTile/RadioTile.js');
14
+ var utils = require('../../internal/utils.js');
14
15
  var usePrefix = require('../../internal/usePrefix.js');
15
16
  var noopFn = require('../../internal/noopFn.js');
16
17
 
@@ -44,7 +45,7 @@ const TileGroup = ({
44
45
  if (! /*#__PURE__*/React.isValidElement(child)) return child;
45
46
 
46
47
  // If a `RadioTile` is found, return it with necessary props,
47
- if (/*#__PURE__*/React.isValidElement(child) && child.type === RadioTile.default) {
48
+ if (utils.isComponentElement(child, RadioTile.default)) {
48
49
  const {
49
50
  value,
50
51
  ...otherProps
@@ -7,8 +7,6 @@
7
7
 
8
8
  'use strict';
9
9
 
10
- Object.defineProperty(exports, '__esModule', { value: true });
11
-
12
10
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
11
  var PropTypes = require('prop-types');
14
12
  var React = require('react');
@@ -35,4 +33,3 @@ ToggleSkeleton.propTypes = {
35
33
  };
36
34
 
37
35
  exports.ToggleSkeleton = ToggleSkeleton;
38
- exports.default = ToggleSkeleton;
@@ -7,8 +7,6 @@
7
7
 
8
8
  'use strict';
9
9
 
10
- Object.defineProperty(exports, '__esModule', { value: true });
11
-
12
10
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
11
  var cx = require('classnames');
14
12
  var PropTypes = require('prop-types');
@@ -292,4 +290,3 @@ exports.ToggletipActions = ToggletipActions;
292
290
  exports.ToggletipButton = ToggletipButton;
293
291
  exports.ToggletipContent = ToggletipContent;
294
292
  exports.ToggletipLabel = ToggletipLabel;
295
- exports.default = Toggletip;
@@ -13,6 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
13
13
  var cx = require('classnames');
14
14
  var PropTypes = require('prop-types');
15
15
  var React = require('react');
16
+ var utils = require('../../internal/utils.js');
16
17
  var usePrefix = require('../../internal/usePrefix.js');
17
18
  var keys = require('../../internal/keyboard/keys.js');
18
19
  var match = require('../../internal/keyboard/match.js');
@@ -68,7 +69,7 @@ const HeaderPanel = /*#__PURE__*/React.forwardRef(({
68
69
  } = event;
69
70
  if (!(target instanceof Element)) return;
70
71
  setLastClickedElement(target);
71
- const isChildASwitcher = /*#__PURE__*/React.isValidElement(children) && typeof children.type !== 'string' && children.type === Switcher.default;
72
+ const isChildASwitcher = utils.isComponentElement(children, Switcher.default);
72
73
  if (isChildASwitcher && !target.closest(`.${prefix}--header-panel--expanded`) && !target.closest(`.${prefix}--header__action`) && !headerPanelReference?.current?.classList.contains(`${prefix}--switcher`) && expanded) {
73
74
  setExpandedState(false);
74
75
  onHeaderPanelFocus();
@@ -20,9 +20,6 @@ export interface SideNavProps {
20
20
  onSideNavBlur?: () => void;
21
21
  enterDelayMs?: number;
22
22
  }
23
- interface SideNavContextData {
24
- isRail?: boolean | undefined;
25
- }
26
- export declare const SideNavContext: React.Context<SideNavContextData>;
27
23
  declare const SideNav: React.ForwardRefExoticComponent<Omit<SideNavProps & React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
28
24
  export default SideNav;
25
+ export { SideNavContext } from './SideNavContext';
@@ -14,20 +14,19 @@ var React = require('react');
14
14
  var cx = require('classnames');
15
15
  var PropTypes = require('prop-types');
16
16
  var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
17
- var _utils = require('./_utils.js');
18
17
  var usePrefix = require('../../internal/usePrefix.js');
19
18
  var keys = require('../../internal/keyboard/keys.js');
20
19
  var match = require('../../internal/keyboard/match.js');
21
20
  var useMergedRefs = require('../../internal/useMergedRefs.js');
22
21
  var useEvent = require('../../internal/useEvent.js');
23
22
  var useDelayedState = require('../../internal/useDelayedState.js');
23
+ var SideNavContext = require('./SideNavContext.js');
24
24
  var layout = require('@carbon/layout');
25
25
  var useMatchMedia = require('../../internal/useMatchMedia.js');
26
26
 
27
27
  // TODO: comment back in when footer is added for rails
28
28
  // import SideNavFooter from './SideNavFooter';
29
29
 
30
- const SideNavContext = /*#__PURE__*/React.createContext({});
31
30
  const frFn = React.forwardRef;
32
31
  const SideNav = frFn((props, ref) => {
33
32
  const {
@@ -94,23 +93,9 @@ const SideNav = frFn((props, ref) => {
94
93
  [`${prefix}--side-nav__overlay`]: true,
95
94
  [`${prefix}--side-nav__overlay-active`]: expanded || expandedViaHoverState
96
95
  });
97
- let childrenToRender = children;
98
96
 
99
- // Pass the expansion state as a prop, so children can update themselves to match
100
- childrenToRender = React.Children.map(children, child => {
101
- // if we are controlled, check for if we have hovered over or the expanded state, else just use the expanded state (uncontrolled)
102
- const currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded;
103
- if (/*#__PURE__*/React.isValidElement(child)) {
104
- const childJsxElement = child;
105
- // avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
106
- return /*#__PURE__*/React.cloneElement(childJsxElement, {
107
- ...(_utils.CARBON_SIDENAV_ITEMS.includes(childJsxElement.type?.displayName ?? childJsxElement.type?.name) ? {
108
- isSideNavExpanded: currentExpansionState
109
- } : {})
110
- });
111
- }
112
- return child;
113
- });
97
+ // In controlled mode, rail hover can temporarily expand SideNav.
98
+ const currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded;
114
99
  const eventHandlers = {};
115
100
  if (addFocusListeners) {
116
101
  eventHandlers.onFocus = event => {
@@ -171,10 +156,9 @@ const SideNav = frFn((props, ref) => {
171
156
  node.removeAttribute('inert');
172
157
  }
173
158
  }, [inertEnabled]);
174
- return /*#__PURE__*/React.createElement(SideNavContext.Provider, {
175
- value: {
176
- isRail
177
- }
159
+ return /*#__PURE__*/React.createElement(SideNavContext.SideNavContextProvider, {
160
+ isRail: isRail,
161
+ isSideNavExpanded: currentExpansionState
178
162
  }, isFixedNav ? null :
179
163
  /*#__PURE__*/
180
164
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -185,7 +169,7 @@ const SideNav = frFn((props, ref) => {
185
169
  tabIndex: -1,
186
170
  ref: navRef,
187
171
  className: `${prefix}--side-nav__navigation ${className}`
188
- }, accessibilityLabel, eventHandlers, other), childrenToRender));
172
+ }, accessibilityLabel, eventHandlers, other), children));
189
173
  });
190
174
  SideNav.displayName = 'SideNav';
191
175
  SideNav.propTypes = {
@@ -268,5 +252,5 @@ SideNav.propTypes = {
268
252
  // translateById: PropTypes.func,
269
253
  };
270
254
 
271
- exports.SideNavContext = SideNavContext;
255
+ exports.SideNavContext = SideNavContext.SideNavContext;
272
256
  exports.default = SideNav;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
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 ReactNode } from 'react';
8
+ interface SideNavContextData {
9
+ isRail?: boolean | undefined;
10
+ isSideNavExpanded?: boolean | undefined;
11
+ }
12
+ export declare const SideNavContext: React.Context<SideNavContextData>;
13
+ interface SideNavContextProviderProps extends SideNavContextData {
14
+ children: ReactNode;
15
+ }
16
+ export declare const SideNavContextProvider: ({ children, isRail, isSideNavExpanded, }: SideNavContextProviderProps) => import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -0,0 +1,27 @@
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
+ var React = require('react');
11
+
12
+ const SideNavContext = /*#__PURE__*/React.createContext({});
13
+ const SideNavContextProvider = ({
14
+ children,
15
+ isRail,
16
+ isSideNavExpanded
17
+ }) => {
18
+ return /*#__PURE__*/React.createElement(SideNavContext.Provider, {
19
+ value: {
20
+ isRail,
21
+ isSideNavExpanded
22
+ }
23
+ }, children);
24
+ };
25
+
26
+ exports.SideNavContext = SideNavContext;
27
+ exports.SideNavContextProvider = SideNavContextProvider;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2016, 2025
2
+ * Copyright IBM Corp. 2016, 2026
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.
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var cx = require('classnames');
13
13
  var PropTypes = require('prop-types');
14
14
  var React = require('react');
15
- var _utils = require('./_utils.js');
15
+ var SideNavContext = require('./SideNavContext.js');
16
16
  var usePrefix = require('../../internal/usePrefix.js');
17
17
 
18
18
  const SideNavItems = ({
@@ -21,22 +21,18 @@ const SideNavItems = ({
21
21
  isSideNavExpanded
22
22
  }) => {
23
23
  const prefix = usePrefix.usePrefix();
24
+ const {
25
+ isRail,
26
+ isSideNavExpanded: contextIsSideNavExpanded
27
+ } = React.useContext(SideNavContext.SideNavContext);
28
+ const currentIsSideNavExpanded = isSideNavExpanded ?? contextIsSideNavExpanded;
24
29
  const className = cx([`${prefix}--side-nav__items`], customClassName);
25
- const childrenWithExpandedState = React.Children.map(children, child => {
26
- if (/*#__PURE__*/React.isValidElement(child)) {
27
- // avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452
29
- const childDisplayName = child.type?.displayName;
30
- return /*#__PURE__*/React.cloneElement(child, {
31
- ...(_utils.CARBON_SIDENAV_ITEMS.includes(childDisplayName) ? {
32
- isSideNavExpanded
33
- } : {})
34
- });
35
- }
36
- });
37
- return /*#__PURE__*/React.createElement("ul", {
30
+ return /*#__PURE__*/React.createElement(SideNavContext.SideNavContextProvider, {
31
+ isRail: isRail,
32
+ isSideNavExpanded: currentIsSideNavExpanded
33
+ }, /*#__PURE__*/React.createElement("ul", {
38
34
  className: className
39
- }, childrenWithExpandedState);
35
+ }, children));
40
36
  };
41
37
  SideNavItems.displayName = 'SideNavItems';
42
38
  SideNavItems.propTypes = {
@@ -17,8 +17,8 @@ var Link = require('./Link.js');
17
17
  var SideNavIcon = require('./SideNavIcon.js');
18
18
  var SideNavItem = require('./SideNavItem.js');
19
19
  var SideNavLinkText = require('./SideNavLinkText.js');
20
+ var SideNavContext = require('./SideNavContext.js');
20
21
  var usePrefix = require('../../internal/usePrefix.js');
21
- var SideNav = require('./SideNav.js');
22
22
 
23
23
  // First define a non-generic base component to work with forwardRef
24
24
 
@@ -34,7 +34,11 @@ const SideNavLink = frFn((props, ref) => {
34
34
  tabIndex,
35
35
  ...rest
36
36
  } = props;
37
- const isRail = React.useContext(SideNav.SideNavContext);
37
+ const {
38
+ isRail,
39
+ isSideNavExpanded: contextIsSideNavExpanded
40
+ } = React.useContext(SideNavContext.SideNavContext);
41
+ const currentIsSideNavExpanded = isSideNavExpanded ?? contextIsSideNavExpanded;
38
42
  const prefix = usePrefix.usePrefix();
39
43
  const className = cx({
40
44
  [`${prefix}--side-nav__link`]: true,
@@ -46,7 +50,7 @@ const SideNavLink = frFn((props, ref) => {
46
50
  }, /*#__PURE__*/React.createElement(Link.default, _rollupPluginBabelHelpers.extends({}, rest, {
47
51
  className: className,
48
52
  ref: ref,
49
- tabIndex: tabIndex === undefined ? !isSideNavExpanded && !isRail ? -1 : 0 : tabIndex
53
+ tabIndex: tabIndex === undefined ? !currentIsSideNavExpanded && !isRail ? -1 : 0 : tabIndex
50
54
  }), IconElement && /*#__PURE__*/React.createElement(SideNavIcon.default, {
51
55
  small: true
52
56
  }, /*#__PURE__*/React.createElement(IconElement, null)), /*#__PURE__*/React.createElement(SideNavLinkText.default, null, children)));
@@ -17,7 +17,7 @@ var SideNavIcon = require('./SideNavIcon.js');
17
17
  var keys = require('../../internal/keyboard/keys.js');
18
18
  var match = require('../../internal/keyboard/match.js');
19
19
  var usePrefix = require('../../internal/usePrefix.js');
20
- var SideNav = require('./SideNav.js');
20
+ var SideNavContext = require('./SideNavContext.js');
21
21
 
22
22
  var _ChevronDown;
23
23
  const SideNavMenu = /*#__PURE__*/React.forwardRef(({
@@ -32,8 +32,10 @@ const SideNavMenu = /*#__PURE__*/React.forwardRef(({
32
32
  title
33
33
  }, ref) => {
34
34
  const {
35
- isRail
36
- } = React.useContext(SideNav.SideNavContext);
35
+ isRail,
36
+ isSideNavExpanded: contextIsSideNavExpanded
37
+ } = React.useContext(SideNavContext.SideNavContext);
38
+ const currentIsSideNavExpanded = isSideNavExpanded ?? contextIsSideNavExpanded;
37
39
  const prefix = usePrefix.usePrefix();
38
40
  const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
39
41
  const [prevExpanded, setPrevExpanded] = React.useState(defaultExpanded);
@@ -44,10 +46,10 @@ const SideNavMenu = /*#__PURE__*/React.forwardRef(({
44
46
  [`${prefix}--side-nav__item--large`]: large,
45
47
  [customClassName]: !!customClassName
46
48
  });
47
- if (!isSideNavExpanded && isExpanded && isRail) {
49
+ if (!currentIsSideNavExpanded && isExpanded && isRail) {
48
50
  setIsExpanded(false);
49
51
  setPrevExpanded(true);
50
- } else if (isSideNavExpanded && prevExpanded && isRail) {
52
+ } else if (currentIsSideNavExpanded && prevExpanded && isRail) {
51
53
  setIsExpanded(true);
52
54
  setPrevExpanded(false);
53
55
  }
@@ -69,7 +71,7 @@ const SideNavMenu = /*#__PURE__*/React.forwardRef(({
69
71
  },
70
72
  ref: ref,
71
73
  type: "button",
72
- tabIndex: tabIndex === undefined ? !isSideNavExpanded && !isRail ? -1 : 0 : tabIndex
74
+ tabIndex: tabIndex === undefined ? !currentIsSideNavExpanded && !isRail ? -1 : 0 : tabIndex
73
75
  }, IconElement && /*#__PURE__*/React.createElement(SideNavIcon.default, null, /*#__PURE__*/React.createElement(IconElement, null)), /*#__PURE__*/React.createElement("span", {
74
76
  className: `${prefix}--side-nav__submenu-title`
75
77
  }, title), /*#__PURE__*/React.createElement(SideNavIcon.default, {
@@ -14,6 +14,7 @@ var React = require('react');
14
14
  var cx = require('classnames');
15
15
  var usePrefix = require('../../internal/usePrefix.js');
16
16
  var useMergedRefs = require('../../internal/useMergedRefs.js');
17
+ var utils = require('../../internal/utils.js');
17
18
  var PropTypes = require('prop-types');
18
19
  var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
19
20
  var SwitcherItem = require('./SwitcherItem.js');
@@ -42,7 +43,7 @@ const Switcher = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
42
43
  direction
43
44
  }) => {
44
45
  const enabledIndices = React.Children.toArray(children).reduce((acc, child, i) => {
45
- if (/*#__PURE__*/React.isValidElement(child) && child.type === SwitcherItem.default && Object.keys(child.props).length) {
46
+ if (utils.isComponentElement(child, SwitcherItem.default) && Object.keys(child.props).length) {
46
47
  acc.push(i);
47
48
  }
48
49
  return acc;
@@ -70,7 +71,7 @@ const Switcher = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
70
71
  }
71
72
  };
72
73
  const childrenWithProps = React.Children.toArray(children).map((child, index) => {
73
- if (/*#__PURE__*/React.isValidElement(child) && child.type === SwitcherItem.default) {
74
+ if (utils.isComponentElement(child, SwitcherItem.default)) {
74
75
  return /*#__PURE__*/React.cloneElement(child, {
75
76
  handleSwitcherItemFocus,
76
77
  index,
@@ -78,7 +79,7 @@ const Switcher = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
78
79
  expanded
79
80
  });
80
81
  }
81
- if (/*#__PURE__*/React.isValidElement(child) && child.type === SwitcherDivider.default) {
82
+ if (utils.isComponentElement(child, SwitcherDivider.default)) {
82
83
  return /*#__PURE__*/React.cloneElement(child, {
83
84
  key: index
84
85
  });