@carbon/react 1.97.0 → 1.99.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 (83) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1002 -967
  2. package/es/components/ButtonSet/ButtonSet.d.ts +5 -0
  3. package/es/components/ButtonSet/ButtonSet.js +68 -4
  4. package/es/components/CodeSnippet/CodeSnippet.d.ts +1 -1
  5. package/es/components/Copy/Copy.d.ts +1 -1
  6. package/es/components/CopyButton/CopyButton.d.ts +1 -1
  7. package/es/components/DataTable/DataTable.d.ts +2 -1
  8. package/es/components/DataTable/TableContainer.d.ts +10 -2
  9. package/es/components/DataTable/TableContainer.js +15 -3
  10. package/es/components/DataTable/state/sorting.d.ts +2 -4
  11. package/es/components/DatePicker/DatePicker.d.ts +3 -2
  12. package/es/components/DatePicker/DatePicker.js +18 -135
  13. package/es/components/DatePicker/DatePickerLocales.d.ts +12 -0
  14. package/es/components/DatePicker/DatePickerLocales.js +135 -0
  15. package/es/components/DatePickerInput/DatePickerInput.js +50 -28
  16. package/es/components/Dropdown/Dropdown.js +13 -1
  17. package/es/components/FileUploader/FileUploader.d.ts +23 -8
  18. package/es/components/FileUploader/FileUploader.js +53 -33
  19. package/es/components/FileUploader/FileUploaderButton.js +2 -2
  20. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +13 -2
  21. package/es/components/FileUploader/FileUploaderDropContainer.js +15 -6
  22. package/es/components/FileUploader/FileUploaderItem.js +9 -6
  23. package/es/components/Link/Link.js +1 -1
  24. package/es/components/Menu/index.d.ts +4 -3
  25. package/es/components/MultiSelect/FilterableMultiSelect.js +1 -0
  26. package/es/components/MultiSelect/MultiSelect.js +1 -0
  27. package/es/components/NumberInput/NumberInput.d.ts +6 -2
  28. package/es/components/NumberInput/NumberInput.js +17 -5
  29. package/es/components/Pagination/Pagination.js +5 -5
  30. package/es/components/Popover/index.d.ts +1 -1
  31. package/es/components/Popover/index.js +27 -13
  32. package/es/components/Select/Select.js +27 -33
  33. package/es/components/Tabs/Tabs.js +1 -1
  34. package/es/components/TextArea/TextArea.js +14 -4
  35. package/es/components/TextInput/PasswordInput.js +3 -2
  36. package/es/components/Toggletip/index.d.ts +1 -0
  37. package/es/components/Toggletip/index.js +1 -1
  38. package/es/components/Tooltip/index.d.ts +3 -2
  39. package/es/internal/FloatingMenu.js +6 -5
  40. package/es/internal/OptimizedResize.js +4 -5
  41. package/es/tools/events.d.ts +1 -1
  42. package/lib/components/ButtonSet/ButtonSet.d.ts +5 -0
  43. package/lib/components/ButtonSet/ButtonSet.js +67 -3
  44. package/lib/components/CodeSnippet/CodeSnippet.d.ts +1 -1
  45. package/lib/components/Copy/Copy.d.ts +1 -1
  46. package/lib/components/CopyButton/CopyButton.d.ts +1 -1
  47. package/lib/components/DataTable/DataTable.d.ts +2 -1
  48. package/lib/components/DataTable/TableContainer.d.ts +10 -2
  49. package/lib/components/DataTable/TableContainer.js +15 -3
  50. package/lib/components/DataTable/state/sorting.d.ts +2 -4
  51. package/lib/components/DatePicker/DatePicker.d.ts +3 -2
  52. package/lib/components/DatePicker/DatePicker.js +18 -135
  53. package/lib/components/DatePicker/DatePickerLocales.d.ts +12 -0
  54. package/lib/components/DatePicker/DatePickerLocales.js +137 -0
  55. package/lib/components/DatePickerInput/DatePickerInput.js +49 -27
  56. package/lib/components/Dropdown/Dropdown.js +13 -1
  57. package/lib/components/FileUploader/FileUploader.d.ts +23 -8
  58. package/lib/components/FileUploader/FileUploader.js +53 -33
  59. package/lib/components/FileUploader/FileUploaderButton.js +2 -2
  60. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +13 -2
  61. package/lib/components/FileUploader/FileUploaderDropContainer.js +15 -6
  62. package/lib/components/FileUploader/FileUploaderItem.js +9 -6
  63. package/lib/components/Link/Link.js +1 -1
  64. package/lib/components/Menu/index.d.ts +4 -3
  65. package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -0
  66. package/lib/components/MultiSelect/MultiSelect.js +1 -0
  67. package/lib/components/NumberInput/NumberInput.d.ts +6 -2
  68. package/lib/components/NumberInput/NumberInput.js +17 -5
  69. package/lib/components/Pagination/Pagination.js +5 -5
  70. package/lib/components/Popover/index.d.ts +1 -1
  71. package/lib/components/Popover/index.js +27 -13
  72. package/lib/components/Select/Select.js +27 -33
  73. package/lib/components/Tabs/Tabs.js +1 -1
  74. package/lib/components/TextArea/TextArea.js +14 -4
  75. package/lib/components/TextInput/PasswordInput.js +3 -2
  76. package/lib/components/Toggletip/index.d.ts +1 -0
  77. package/lib/components/Toggletip/index.js +3 -0
  78. package/lib/components/Tooltip/index.d.ts +3 -2
  79. package/lib/internal/FloatingMenu.js +6 -5
  80. package/lib/internal/OptimizedResize.js +4 -5
  81. package/lib/tools/events.d.ts +1 -1
  82. package/package.json +21 -29
  83. package/telemetry.yml +3 -0
@@ -18,12 +18,12 @@ var deprecate = require('../../prop-types/deprecate.js');
18
18
  var usePrefix = require('../../internal/usePrefix.js');
19
19
  require('../FluidForm/FluidForm.js');
20
20
  var FormContext = require('../FluidForm/FormContext.js');
21
- var useId = require('../../internal/useId.js');
22
21
  var events = require('../../tools/events.js');
23
22
  var Text = require('../Text/Text.js');
24
23
  require('../Text/TextDirection.js');
25
24
  var index = require('../AILabel/index.js');
26
25
  var utils = require('../../internal/utils.js');
26
+ var useNormalizedInputProps = require('../../internal/useNormalizedInputProps.js');
27
27
 
28
28
  const Select = /*#__PURE__*/React.forwardRef(({
29
29
  className,
@@ -53,7 +53,6 @@ const Select = /*#__PURE__*/React.forwardRef(({
53
53
  isFluid
54
54
  } = React.useContext(FormContext.FormContext);
55
55
  const [isFocused, setIsFocused] = React.useState(false);
56
- const selectInstanceId = useId.useId();
57
56
  // Convert children to an array of valid elements once using type narrowing
58
57
  const validChildren = React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child));
59
58
 
@@ -65,55 +64,50 @@ const Select = /*#__PURE__*/React.forwardRef(({
65
64
  // otherwise, fallback to the first option's text
66
65
  const initialTitle = other?.title || selectedOption?.props?.text || validChildren[0]?.props?.text || '';
67
66
  const [title, setTitle] = React.useState(initialTitle);
67
+ const normalizedProps = useNormalizedInputProps.useNormalizedInputProps({
68
+ id,
69
+ disabled,
70
+ readOnly,
71
+ invalid,
72
+ invalidText,
73
+ warn,
74
+ warnText
75
+ });
68
76
  const selectClasses = cx({
69
77
  [`${prefix}--select`]: true,
70
78
  [`${prefix}--select--inline`]: inline,
71
79
  [`${prefix}--select--light`]: light,
72
- [`${prefix}--select--invalid`]: invalid,
73
- [`${prefix}--select--disabled`]: disabled,
80
+ [`${prefix}--select--invalid`]: normalizedProps.invalid,
81
+ [`${prefix}--select--disabled`]: normalizedProps.disabled,
74
82
  [`${prefix}--select--readonly`]: readOnly,
75
- [`${prefix}--select--warning`]: warn,
76
- [`${prefix}--select--fluid--invalid`]: isFluid && invalid,
83
+ [`${prefix}--select--warning`]: normalizedProps.warn,
84
+ [`${prefix}--select--fluid--invalid`]: isFluid && normalizedProps.invalid,
77
85
  [`${prefix}--select--fluid--focus`]: isFluid && isFocused,
78
86
  [`${prefix}--select--slug`]: slug,
79
87
  [`${prefix}--select--decorator`]: decorator
80
88
  });
81
89
  const labelClasses = cx(`${prefix}--label`, {
82
90
  [`${prefix}--visually-hidden`]: hideLabel,
83
- [`${prefix}--label--disabled`]: disabled
91
+ [`${prefix}--label--disabled`]: normalizedProps.disabled
84
92
  });
85
93
  const inputClasses = cx({
86
94
  [`${prefix}--select-input`]: true,
87
95
  [`${prefix}--select-input--${size}`]: size
88
96
  });
89
- const errorId = `${id}-error-msg`;
90
- const errorText = (() => {
91
- if (invalid) {
92
- return invalidText;
93
- }
94
- if (warn) {
95
- return warnText;
96
- }
97
- })();
98
- const error = invalid || warn ? /*#__PURE__*/React.createElement(Text.Text, {
99
- as: "div",
100
- className: `${prefix}--form-requirement`,
101
- id: errorId
102
- }, errorText) : null;
97
+ const error = normalizedProps.validation;
103
98
  const helperTextClasses = cx(`${prefix}--form__helper-text`, {
104
- [`${prefix}--form__helper-text--disabled`]: disabled
99
+ [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled
105
100
  });
106
- const helperId = !helperText ? undefined : `select-helper-text-${selectInstanceId}`;
107
101
  const helper = helperText ? /*#__PURE__*/React.createElement(Text.Text, {
108
102
  as: "div",
109
- id: helperId,
103
+ id: normalizedProps.helperId,
110
104
  className: helperTextClasses
111
105
  }, helperText) : null;
112
106
  const ariaProps = {};
113
- if (invalid) {
114
- ariaProps['aria-describedby'] = errorId;
107
+ if (normalizedProps.invalid) {
108
+ ariaProps['aria-describedby'] = normalizedProps.invalidId;
115
109
  } else if (!inline && !isFluid) {
116
- ariaProps['aria-describedby'] = helper ? helperId : undefined;
110
+ ariaProps['aria-describedby'] = helper ? normalizedProps.helperId : undefined;
117
111
  }
118
112
  const handleFocus = evt => {
119
113
  setIsFocused(evt.type === 'focus' ? true : false);
@@ -150,8 +144,8 @@ const Select = /*#__PURE__*/React.forwardRef(({
150
144
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("select", _rollupPluginBabelHelpers.extends({}, other, ariaProps, {
151
145
  id: id,
152
146
  className: inputClasses,
153
- disabled: disabled || undefined,
154
- "aria-invalid": invalid || undefined,
147
+ disabled: normalizedProps.disabled || undefined,
148
+ "aria-invalid": normalizedProps.invalid || undefined,
155
149
  "aria-readonly": readOnly || undefined,
156
150
  title: title,
157
151
  onChange: events.composeEventHandlers([onChange, handleChange])
@@ -159,9 +153,9 @@ const Select = /*#__PURE__*/React.forwardRef(({
159
153
  ref: ref
160
154
  }), children), /*#__PURE__*/React.createElement(iconsReact.ChevronDown, {
161
155
  className: `${prefix}--select__arrow`
162
- }), invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
156
+ }), normalizedProps.invalid && /*#__PURE__*/React.createElement(iconsReact.WarningFilled, {
163
157
  className: `${prefix}--select__invalid-icon`
164
- }), !invalid && warn && /*#__PURE__*/React.createElement(iconsReact.WarningAltFilled, {
158
+ }), !normalizedProps.invalid && normalizedProps.warn && /*#__PURE__*/React.createElement(iconsReact.WarningAltFilled, {
165
159
  className: `${prefix}--select__invalid-icon ${prefix}--select__invalid-icon--warning`
166
160
  }));
167
161
  })();
@@ -177,10 +171,10 @@ const Select = /*#__PURE__*/React.forwardRef(({
177
171
  className: `${prefix}--select-input--inline__wrapper`
178
172
  }, /*#__PURE__*/React.createElement("div", {
179
173
  className: `${prefix}--select-input__wrapper`,
180
- "data-invalid": invalid || null
174
+ "data-invalid": normalizedProps.invalid || null
181
175
  }, input), error), !inline && /*#__PURE__*/React.createElement("div", {
182
176
  className: `${prefix}--select-input__wrapper`,
183
- "data-invalid": invalid || null,
177
+ "data-invalid": normalizedProps.invalid || null,
184
178
  onFocus: handleFocus,
185
179
  onBlur: handleFocus
186
180
  }, input, slug ? normalizedDecorator : decorator ? /*#__PURE__*/React.createElement("div", {
@@ -888,7 +888,7 @@ const Tab = /*#__PURE__*/React.forwardRef(({
888
888
  })
889
889
  }, /*#__PURE__*/React.createElement("button", {
890
890
  type: "button",
891
- tabIndex: selectedIndex === index$1 && dismissable ? 0 : -1,
891
+ tabIndex: -1,
892
892
  "aria-disabled": disabled,
893
893
  "aria-hidden": selectedIndex === index$1 && dismissable ? 'false' : 'true',
894
894
  disabled: disabled,
@@ -206,8 +206,10 @@ const TextArea = frFn((props, forwardRef) => {
206
206
  }, labelText) : null;
207
207
  const counter = enableCounter && maxCount && (counterMode === 'character' || counterMode === 'word') ? /*#__PURE__*/React.createElement(Text.Text, {
208
208
  as: "div",
209
- className: counterClasses
209
+ className: counterClasses,
210
+ "aria-hidden": "true"
210
211
  }, `${textCount}/${maxCount}`) : null;
212
+ const counterDescriptionId = enableCounter && maxCount ? `${id}-counter-desc` : undefined;
211
213
  const helperId = !helperText ? undefined : `text-area-helper-text-${textAreaInstanceId}`;
212
214
  const helper = helperText ? /*#__PURE__*/React.createElement(Text.Text, {
213
215
  as: "div",
@@ -238,8 +240,13 @@ const TextArea = frFn((props, forwardRef) => {
238
240
  let ariaDescribedBy;
239
241
  if (invalid) {
240
242
  ariaDescribedBy = errorId;
241
- } else if (!invalid && !warn && !isFluid && helperText) {
242
- ariaDescribedBy = helperId;
243
+ } else if (warn && !isFluid) {
244
+ ariaDescribedBy = warnId;
245
+ } else {
246
+ const ids = [];
247
+ if (!isFluid && helperText && helperId) ids.push(helperId);
248
+ if (counterDescriptionId) ids.push(counterDescriptionId);
249
+ ariaDescribedBy = ids.length > 0 ? ids.join(' ') : undefined;
243
250
  }
244
251
  if (enableCounter) {
245
252
  // handle different counter mode
@@ -296,7 +303,10 @@ const TextArea = frFn((props, forwardRef) => {
296
303
  className: formItemClasses
297
304
  }, /*#__PURE__*/React.createElement("div", {
298
305
  className: `${prefix}--text-area__label-wrapper`
299
- }, label, counter), /*#__PURE__*/React.createElement("div", {
306
+ }, label, counter), enableCounter && maxCount && /*#__PURE__*/React.createElement("span", {
307
+ id: counterDescriptionId,
308
+ className: `${prefix}--visually-hidden`
309
+ }, counterMode === 'word' ? `Word limit ${maxCount}` : `Character limit ${maxCount}`), /*#__PURE__*/React.createElement("div", {
300
310
  ref: wrapperRef,
301
311
  className: textAreaWrapperClasses,
302
312
  "data-invalid": invalid || null
@@ -139,6 +139,7 @@ const PasswordInput = /*#__PURE__*/React.forwardRef(({
139
139
  [`${prefix}--tooltip--${tooltipPosition}`]: tooltipPosition,
140
140
  [`${prefix}--tooltip--align-${tooltipAlignment}`]: tooltipAlignment
141
141
  });
142
+ const tooltipClasses = cx(`${prefix}--toggle-password-tooltip`, `${prefix}--icon-tooltip`);
142
143
  let align = undefined;
143
144
  if (tooltipPosition === 'top' || tooltipPosition === 'bottom') {
144
145
  if (tooltipAlignment === 'center') {
@@ -176,12 +177,12 @@ const PasswordInput = /*#__PURE__*/React.forwardRef(({
176
177
  className: `${prefix}--text-input__divider`
177
178
  }), /*#__PURE__*/React.createElement(Tooltip.Tooltip, {
178
179
  align: align,
179
- className: `${prefix}--toggle-password-tooltip`,
180
+ className: tooltipClasses,
180
181
  label: passwordIsVisible ? hidePasswordLabel : showPasswordLabel
181
182
  }, /*#__PURE__*/React.createElement("button", {
182
183
  type: "button",
183
184
  className: passwordVisibilityToggleClasses,
184
- disabled: disabled || readOnly,
185
+ disabled: disabled,
185
186
  onClick: handleTogglePasswordVisibility
186
187
  }, passwordVisibilityIcon)));
187
188
  React.useEffect(() => {
@@ -111,3 +111,4 @@ export declare namespace ToggletipActions {
111
111
  className: PropTypes.Requireable<string>;
112
112
  };
113
113
  }
114
+ export default Toggletip;
@@ -7,6 +7,8 @@
7
7
 
8
8
  'use strict';
9
9
 
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
10
12
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
11
13
  var cx = require('classnames');
12
14
  var PropTypes = require('prop-types');
@@ -289,3 +291,4 @@ exports.ToggletipActions = ToggletipActions;
289
291
  exports.ToggletipButton = ToggletipButton;
290
292
  exports.ToggletipContent = ToggletipContent;
291
293
  exports.ToggletipLabel = ToggletipLabel;
294
+ exports.default = Toggletip;
@@ -4,6 +4,7 @@
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 { DefinitionTooltip } from './DefinitionTooltip';
7
+ import { DefinitionTooltip, type DefinitionTooltipProps } from './DefinitionTooltip';
8
8
  import { Tooltip, type TooltipProps } from './Tooltip';
9
- export { DefinitionTooltip, Tooltip, type TooltipProps };
9
+ export { DefinitionTooltip, Tooltip, type DefinitionTooltipProps, type TooltipProps, };
10
+ export default Tooltip;
@@ -10,7 +10,6 @@
10
10
  var React = require('react');
11
11
  var FeatureFlags = require('@carbon/feature-flags');
12
12
  var ReactDOM = require('react-dom');
13
- var window = require('window-or-global');
14
13
  var keys = require('./keyboard/keys.js');
15
14
  var match = require('./keyboard/match.js');
16
15
  var navigation = require('./keyboard/navigation.js');
@@ -130,14 +129,16 @@ const FloatingMenu = ({
130
129
  const menuSize = menuBody.getBoundingClientRect();
131
130
  const refPosition = triggerEl ? triggerEl.getBoundingClientRect() : undefined;
132
131
  const offsetValue = typeof menuOffset === 'function' ? menuOffset(menuBody, menuDirection, triggerEl, flipped) : menuOffset;
132
+ const scrollX = globalThis.scrollX ?? 0;
133
+ const scrollY = globalThis.scrollY ?? 0;
133
134
  if (updateOrientation) {
134
135
  updateOrientation({
135
136
  menuSize,
136
137
  refPosition,
137
138
  direction: menuDirection,
138
139
  offset: offsetValue,
139
- scrollX: window.pageXOffset,
140
- scrollY: window.pageYOffset,
140
+ scrollX,
141
+ scrollY,
141
142
  container: {
142
143
  rect: target().getBoundingClientRect(),
143
144
  position: getComputedStyle(target()).position
@@ -157,8 +158,8 @@ const FloatingMenu = ({
157
158
  },
158
159
  offset: offsetValue,
159
160
  direction: menuDirection,
160
- scrollX: window.pageXOffset,
161
- scrollY: window.pageYOffset,
161
+ scrollX,
162
+ scrollY,
162
163
  container: {
163
164
  rect: target().getBoundingClientRect(),
164
165
  position: getComputedStyle(target()).position
@@ -7,9 +7,8 @@
7
7
 
8
8
  'use strict';
9
9
 
10
- var window = require('window-or-global');
11
-
12
- // mdn resize function
10
+ // Use `globalThis` for universal access to global object (browser, workers, Node).
11
+ const win = globalThis;
13
12
 
14
13
  /**
15
14
  * A callback function to be executed on `resize`.
@@ -27,7 +26,7 @@ const OptimizedResize = (() => {
27
26
  const handleResize = () => {
28
27
  if (!running) {
29
28
  running = true;
30
- window.requestAnimationFrame(runCallbacks);
29
+ win.requestAnimationFrame(runCallbacks);
31
30
  }
32
31
  };
33
32
  const addCallback = callback => {
@@ -40,7 +39,7 @@ const OptimizedResize = (() => {
40
39
  /** Adds a callback function to be executed on window `resize`. */
41
40
  add: callback => {
42
41
  if (!callbacks.length) {
43
- window.addEventListener('resize', handleResize);
42
+ win.addEventListener('resize', handleResize);
44
43
  }
45
44
  addCallback(callback);
46
45
  return {
@@ -14,4 +14,4 @@ import type { SyntheticEvent } from 'react';
14
14
  * @param handlers - An array of event handler functions.
15
15
  * @returns A composite event handler.
16
16
  */
17
- export declare const composeEventHandlers: <E extends SyntheticEvent = SyntheticEvent>(handlers: (((event: E, ...args: any[]) => void) | undefined)[]) => (event: E, ...args: any[]) => void;
17
+ export declare const composeEventHandlers: <E extends SyntheticEvent = SyntheticEvent<Element, Event>>(handlers: (((event: E, ...args: any[]) => void) | undefined)[]) => (event: E, ...args: any[]) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/react",
3
3
  "description": "React components for the Carbon Design System",
4
- "version": "1.97.0",
4
+ "version": "1.99.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -53,10 +53,10 @@
53
53
  "dependencies": {
54
54
  "@babel/runtime": "^7.27.3",
55
55
  "@carbon/feature-flags": ">=0.32.0",
56
- "@carbon/icons-react": "^11.71.0",
57
- "@carbon/layout": "^11.44.0",
58
- "@carbon/styles": "^1.96.0",
59
- "@carbon/utilities": "^0.13.0",
56
+ "@carbon/icons-react": "^11.73.0-rc.0",
57
+ "@carbon/layout": "^11.46.0-rc.0",
58
+ "@carbon/styles": "^1.98.0-rc.0",
59
+ "@carbon/utilities": "^0.14.0",
60
60
  "@floating-ui/react": "^0.27.4",
61
61
  "@ibm/telemetry-js": "^1.5.0",
62
62
  "classnames": "2.5.1",
@@ -67,8 +67,7 @@
67
67
  "invariant": "^2.2.3",
68
68
  "prop-types": "^15.8.1",
69
69
  "react-fast-compare": "^3.2.2",
70
- "tabbable": "^6.2.0",
71
- "window-or-global": "^1.0.1"
70
+ "tabbable": "^6.2.0"
72
71
  },
73
72
  "devDependencies": {
74
73
  "@babel/core": "^7.27.3",
@@ -79,39 +78,34 @@
79
78
  "@babel/preset-env": "^7.27.2",
80
79
  "@babel/preset-react": "^7.27.1",
81
80
  "@babel/preset-typescript": "^7.27.1",
82
- "@carbon/test-utils": "^10.38.0",
83
- "@carbon/themes": "^11.64.0",
81
+ "@carbon/test-utils": "^10.39.0-rc.0",
82
+ "@carbon/themes": "^11.66.0-rc.0",
84
83
  "@figma/code-connect": "^1.3.5",
85
84
  "@rollup/plugin-babel": "^6.0.0",
86
85
  "@rollup/plugin-commonjs": "^28.0.3",
87
86
  "@rollup/plugin-node-resolve": "^16.0.1",
88
87
  "@rollup/plugin-typescript": "^12.1.4",
89
88
  "@stackblitz/sdk": "^1.11.0",
90
- "@storybook/addon-docs": "^9.0.5",
91
- "@storybook/addon-links": "^9.0.5",
92
- "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
93
- "@storybook/react-webpack5": "^9.0.5",
89
+ "@storybook/addon-a11y": "^9.1.8",
90
+ "@storybook/addon-docs": "^9.1.8",
91
+ "@storybook/addon-links": "^9.1.8",
92
+ "@storybook/builder-vite": "^9.1.8",
93
+ "@storybook/react-vite": "^9.1.8",
94
94
  "@types/react-is": "^19.0.0",
95
95
  "@types/use-sync-external-store": "^1",
96
- "autoprefixer": "^10.4.0",
97
- "babel-loader": "^10.0.0",
96
+ "@vitejs/plugin-react": "^5.0.0",
98
97
  "babel-plugin-dev-expression": "^0.2.3",
99
98
  "babel-preset-carbon": "^0.8.0",
100
99
  "browserify-zlib": "^0.2.0",
101
100
  "browserslist-config-carbon": "^11.2.0",
102
101
  "clipboardy": "^4.0.0",
103
- "css-loader": "^7.0.0",
104
102
  "enquirer": "^2.3.6",
105
103
  "fast-glob": "^3.3.3",
106
104
  "fs-extra": "^11.0.0",
107
- "html-webpack-plugin": "^5.5.0",
108
- "mini-css-extract-plugin": "^2.4.5",
109
- "postcss": "^8.5.6",
110
- "postcss-loader": "^8.1.1",
111
105
  "process": "^0.11.10",
112
106
  "prop-types": "^15.8.1",
113
- "react": "^19.0.0",
114
- "react-dom": "^19.0.0",
107
+ "react": "^19.2.3",
108
+ "react-dom": "^19.2.3",
115
109
  "react-is": "^16.13.1 || ^17.0.2 || ^18.3.1 || ^19.0.0",
116
110
  "remark-gfm": "^4.0.0",
117
111
  "rimraf": "^6.0.1",
@@ -119,14 +113,12 @@
119
113
  "rollup-plugin-preserve-directives": "^0.4.0",
120
114
  "rollup-plugin-strip-banner": "^3.0.0",
121
115
  "sass": "^1.93.2",
122
- "sass-loader": "^16.0.0",
123
- "storybook": "^9.0.5",
116
+ "storybook": "^9.1.8",
117
+ "storybook-addon-accessibility-checker": ">=9.2.0-rc.3",
124
118
  "stream-browserify": "^3.0.0",
125
- "style-loader": "^4.0.0",
126
- "typescript-config-carbon": "^0.8.0",
119
+ "typescript-config-carbon": "^0.9.0",
127
120
  "use-sync-external-store": "^1.5.0",
128
- "webpack": "^5.65.0",
129
- "webpack-dev-server": "^5.0.0"
121
+ "vite": "^7.1.2"
130
122
  },
131
123
  "sideEffects": [
132
124
  "es/index.js",
@@ -139,5 +131,5 @@
139
131
  "**/*.scss",
140
132
  "**/*.css"
141
133
  ],
142
- "gitHead": "4a42de3036ca693bf2c6477e917824982fafd7af"
134
+ "gitHead": "8263c72357fc43c00e66c9030698f759ef7977ce"
143
135
  }
package/telemetry.yml CHANGED
@@ -138,6 +138,7 @@ collect:
138
138
  - lowContrast
139
139
  - max
140
140
  - maxCount
141
+ - maxFileSize
141
142
  - menuAlignment
142
143
  - menuOffset
143
144
  - menuOffsetFlip
@@ -271,6 +272,7 @@ collect:
271
272
  # AspectRatio
272
273
  - ratio
273
274
  # ButtonSet
275
+ - fluid
274
276
  - stacked
275
277
  # ChatButton
276
278
  - isQuickAction
@@ -463,6 +465,7 @@ collect:
463
465
  - notificationType
464
466
  # NumberInput
465
467
  - hideSteppers
468
+ - onStepperBlur
466
469
  - stepStartValue
467
470
  - validate
468
471
  # OrderedList