@instructure/ui-number-input 11.7.5-snapshot-50 → 11.7.6-snapshot-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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [11.7.5-snapshot-50](https://github.com/instructure/instructure-ui/compare/v11.7.4...v11.7.5-snapshot-50) (2026-08-25)
6
+ ## [11.7.6-snapshot-0](https://github.com/instructure/instructure-ui/compare/v11.7.5...v11.7.6-snapshot-0) (2026-08-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **many:** generate deterministic ids with React useId ([83aa25a](https://github.com/instructure/instructure-ui/commit/83aa25aebd41720fd09beac025dbf961e1f413c2))
12
+
13
+
14
+
15
+
16
+
17
+ ## [11.7.5](https://github.com/instructure/instructure-ui/compare/v11.7.4...v11.7.5) (2026-08-25)
7
18
 
8
19
  **Note:** Version bump only for package @instructure/ui-number-input
9
20
 
@@ -22,7 +22,7 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import { useState, useRef, useCallback, useImperativeHandle, forwardRef, useEffect } from 'react';
25
+ import { useState, useRef, useCallback, useImperativeHandle, forwardRef } from 'react';
26
26
  import keycode from 'keycode';
27
27
  import { FormField } from '@instructure/ui-form-field/latest';
28
28
  import { ChevronUpInstUIIcon, ChevronDownInstUIIcon } from '@instructure/ui-icons';
@@ -71,12 +71,8 @@ const NumberInput = /*#__PURE__*/forwardRef((props, ref) => {
71
71
  const containerRef = useRef(null);
72
72
  const inputRef = useRef(null);
73
73
 
74
- // Deterministic ID generation
75
- const [deterministicId, setDeterministicId] = useState();
76
- const getId = useDeterministicId('NumberInput');
77
- useEffect(() => {
78
- setDeterministicId(getId());
79
- }, []); // Empty deps array - only run once on mount
74
+ // SSR-safe deterministic ID generation (stable across server/client render)
75
+ const deterministicId = useDeterministicId('NumberInput')();
80
76
  const id = idProp || deterministicId;
81
77
 
82
78
  // Computed values
@@ -82,12 +82,8 @@ const NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)((p
82
82
  const containerRef = (0, _react.useRef)(null);
83
83
  const inputRef = (0, _react.useRef)(null);
84
84
 
85
- // Deterministic ID generation
86
- const [deterministicId, setDeterministicId] = (0, _react.useState)();
87
- const getId = (0, _useDeterministicId.useDeterministicId)('NumberInput');
88
- (0, _react.useEffect)(() => {
89
- setDeterministicId(getId());
90
- }, []); // Empty deps array - only run once on mount
85
+ // SSR-safe deterministic ID generation (stable across server/client render)
86
+ const deterministicId = (0, _useDeterministicId.useDeterministicId)('NumberInput')();
91
87
  const id = idProp || deterministicId;
92
88
 
93
89
  // Computed values
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-number-input",
3
- "version": "11.7.5-snapshot-50",
3
+ "version": "11.7.6-snapshot-0",
4
4
  "description": "A UI component library made by Instructure Inc.",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -16,23 +16,23 @@
16
16
  "dependencies": {
17
17
  "@babel/runtime": "^7.29.7",
18
18
  "keycode": "^2",
19
- "@instructure/emotion": "11.7.5-snapshot-50",
20
- "@instructure/ui-a11y-utils": "11.7.5-snapshot-50",
21
- "@instructure/ui-form-field": "11.7.5-snapshot-50",
22
- "@instructure/ui-react-utils": "11.7.5-snapshot-50",
23
- "@instructure/ui-icons": "11.7.5-snapshot-50",
24
- "@instructure/ui-themes": "11.7.5-snapshot-50",
25
- "@instructure/ui-utils": "11.7.5-snapshot-50",
26
- "@instructure/shared-types": "11.7.5-snapshot-50",
27
- "@instructure/uid": "11.7.5-snapshot-50"
19
+ "@instructure/shared-types": "11.7.6-snapshot-0",
20
+ "@instructure/emotion": "11.7.6-snapshot-0",
21
+ "@instructure/ui-form-field": "11.7.6-snapshot-0",
22
+ "@instructure/ui-icons": "11.7.6-snapshot-0",
23
+ "@instructure/ui-a11y-utils": "11.7.6-snapshot-0",
24
+ "@instructure/ui-themes": "11.7.6-snapshot-0",
25
+ "@instructure/ui-react-utils": "11.7.6-snapshot-0",
26
+ "@instructure/ui-utils": "11.7.6-snapshot-0",
27
+ "@instructure/uid": "11.7.6-snapshot-0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@testing-library/jest-dom": "^6.9.1",
31
31
  "@testing-library/react": "16.3.2",
32
32
  "@testing-library/user-event": "^14.6.1",
33
33
  "vitest": "^4.1.9",
34
- "@instructure/ui-scripts": "11.7.5-snapshot-50",
35
- "@instructure/ui-babel-preset": "11.7.5-snapshot-50"
34
+ "@instructure/ui-babel-preset": "11.7.6-snapshot-0",
35
+ "@instructure/ui-scripts": "11.7.6-snapshot-0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": ">=18 <=19"
@@ -28,7 +28,6 @@ import {
28
28
  useCallback,
29
29
  useImperativeHandle,
30
30
  forwardRef,
31
- useEffect,
32
31
  type RefObject
33
32
  } from 'react'
34
33
  import keycode from 'keycode'
@@ -103,12 +102,8 @@ const NumberInput = forwardRef<NumberInputHandle, NumberInputProps>(
103
102
  const containerRef = useRef<Element | null>(null)
104
103
  const inputRef = useRef<HTMLInputElement | null>(null)
105
104
 
106
- // Deterministic ID generation
107
- const [deterministicId, setDeterministicId] = useState<string | undefined>()
108
- const getId = useDeterministicId('NumberInput')
109
- useEffect(() => {
110
- setDeterministicId(getId())
111
- }, []) // Empty deps array - only run once on mount
105
+ // SSR-safe deterministic ID generation (stable across server/client render)
106
+ const deterministicId = useDeterministicId('NumberInput')()
112
107
  const id = idProp || deterministicId
113
108
 
114
109
  // Computed values