@primer/react 38.31.0-rc.55cc807a9 → 38.31.0-rc.bafdb665f

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
@@ -6,8 +6,12 @@
6
6
 
7
7
  - [#8057](https://github.com/primer/react/pull/8057) [`0b9c81e`](https://github.com/primer/react/commit/0b9c81e7e8fef1dfc98f3b86b5a375d4ec7fe204) Thanks [@francinelucca](https://github.com/francinelucca)! - ThemeProvider: Remove `primer_react_theme_provider_remove_ssr_handoff` feature flag.
8
8
 
9
+ - [#8105](https://github.com/primer/react/pull/8105) [`be2950f`](https://github.com/primer/react/commit/be2950fd1ac268dd4e79258ab2cfe9241dd9e1c6) Thanks [@joshblack](https://github.com/joshblack)! - React Compiler: Enable compiler output for Banner, ConfirmationDialog, PageLayout, Pagination, UnderlineNav, `useMergedRefs`, and `useScrollFlash`
10
+
9
11
  ### Patch Changes
10
12
 
13
+ - [#8066](https://github.com/primer/react/pull/8066) [`dd66aa2`](https://github.com/primer/react/commit/dd66aa27611f7ad56adb7429b50813d6af5a01d7) Thanks [@janmaarten-a11y](https://github.com/janmaarten-a11y)! - Fix invalid HTML nesting in `ActionList.Heading` by applying the visually-hidden styles directly to the heading element instead of wrapping it in a `span`.
14
+
11
15
  - [#8054](https://github.com/primer/react/pull/8054) [`1775f2e`](https://github.com/primer/react/commit/1775f2e8b968d59a1189456b14cff15e527937cb) Thanks [@joshblack](https://github.com/joshblack)! - AvatarStack: Improve rendering performance with React Compiler support
12
16
 
13
17
  - [#8053](https://github.com/primer/react/pull/8053) [`b2151ae`](https://github.com/primer/react/commit/b2151ae2d5719f09efb0b89731e52e4ca50e8bf1) Thanks [@joshblack](https://github.com/joshblack)! - Checkbox, CheckboxGroup, and RadioGroup: Improve rendering performance with React Compiler support
@@ -1,6 +1,6 @@
1
1
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
2
2
  import { invariant } from "../utils/invariant.js";
3
- import VisuallyHidden from "../_VisuallyHidden.js";
3
+ import _VisuallyHidden_module_css_default from "../_VisuallyHidden.module.css.js";
4
4
  import { ActionListContainerContext } from "./ActionListContainerContext.js";
5
5
  import Heading$1 from "../Heading/Heading.js";
6
6
  import { ListContext } from "./shared.js";
@@ -12,7 +12,7 @@ import React, { forwardRef } from "react";
12
12
  //#region src/ActionList/Heading.tsx
13
13
  const Heading = /*#__PURE__*/ forwardRef((t0, forwardedRef) => {
14
14
  var _props$id;
15
- const $ = c(21);
15
+ const $ = c(19);
16
16
  let as;
17
17
  let children;
18
18
  let className;
@@ -41,48 +41,38 @@ const Heading = /*#__PURE__*/ forwardRef((t0, forwardedRef) => {
41
41
  const { headingId, variant: listVariant } = React.useContext(ListContext);
42
42
  const { container } = React.useContext(ActionListContainerContext);
43
43
  !(container !== "ActionMenu") && invariant(false, "ActionList.Heading shouldn't be used within an ActionMenu container. Menus are labelled by the menu button's name.");
44
- const t2 = !visuallyHidden;
45
- const t3 = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : headingId;
46
- let t4;
47
- if ($[7] !== className) {
48
- t4 = clsx(className, Heading_module_css_default.ActionListHeader);
44
+ const t2 = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : headingId;
45
+ let t3;
46
+ if ($[7] !== className || $[8] !== visuallyHidden) {
47
+ t3 = clsx(className, Heading_module_css_default.ActionListHeader, { [_VisuallyHidden_module_css_default.InternalVisuallyHidden]: visuallyHidden });
49
48
  $[7] = className;
50
- $[8] = t4;
51
- } else t4 = $[8];
52
- let t5;
53
- if ($[9] !== as || $[10] !== children || $[11] !== listVariant || $[12] !== mergedRef || $[13] !== props || $[14] !== size || $[15] !== t3 || $[16] !== t4) {
54
- t5 = /*#__PURE__*/ jsx(Heading$1, {
49
+ $[8] = visuallyHidden;
50
+ $[9] = t3;
51
+ } else t3 = $[9];
52
+ let t4;
53
+ if ($[10] !== as || $[11] !== children || $[12] !== listVariant || $[13] !== mergedRef || $[14] !== props || $[15] !== size || $[16] !== t2 || $[17] !== t3) {
54
+ t4 = /*#__PURE__*/ jsx(Heading$1, {
55
55
  as,
56
56
  variant: size,
57
57
  ref: mergedRef,
58
- id: t3,
59
- className: t4,
58
+ id: t2,
59
+ className: t3,
60
60
  "data-component": "ActionList.Heading",
61
61
  "data-list-variant": listVariant,
62
62
  ...props,
63
63
  children
64
64
  });
65
- $[9] = as;
66
- $[10] = children;
67
- $[11] = listVariant;
68
- $[12] = mergedRef;
69
- $[13] = props;
70
- $[14] = size;
71
- $[15] = t3;
72
- $[16] = t4;
73
- $[17] = t5;
74
- } else t5 = $[17];
75
- let t6;
76
- if ($[18] !== t2 || $[19] !== t5) {
77
- t6 = /*#__PURE__*/ jsx(VisuallyHidden, {
78
- isVisible: t2,
79
- children: t5
80
- });
81
- $[18] = t2;
82
- $[19] = t5;
83
- $[20] = t6;
84
- } else t6 = $[20];
85
- return t6;
65
+ $[10] = as;
66
+ $[11] = children;
67
+ $[12] = listVariant;
68
+ $[13] = mergedRef;
69
+ $[14] = props;
70
+ $[15] = size;
71
+ $[16] = t2;
72
+ $[17] = t3;
73
+ $[18] = t4;
74
+ } else t4 = $[18];
75
+ return t4;
86
76
  });
87
77
  Heading.displayName = "ActionList.Heading";
88
78
  Heading.__SLOT__ = Symbol("ActionList.Heading");
@@ -3,8 +3,9 @@ import { AutocompleteContext, AutocompleteDeferredInputContext, AutocompleteInpu
3
3
  import AutocompleteInput from "./AutocompleteInput.js";
4
4
  import AutocompleteMenu from "./AutocompleteMenu.js";
5
5
  import AutocompleteOverlay from "./AutocompleteOverlay.js";
6
+ import { c } from "react-compiler-runtime";
6
7
  import { jsx } from "react/jsx-runtime";
7
- import { useCallback, useDeferredValue, useMemo, useReducer, useRef } from "react";
8
+ import { useDeferredValue, useReducer, useRef } from "react";
8
9
  //#region src/Autocomplete/Autocomplete.tsx
9
10
  const initialState = {
10
11
  inputValue: "",
@@ -39,88 +40,144 @@ const reducer = (state, action) => {
39
40
  default: return state;
40
41
  }
41
42
  };
42
- const Autocomplete = ({ children, id: idProp }) => {
43
+ const Autocomplete = (t0) => {
44
+ const $ = c(24);
45
+ const { children, id: idProp } = t0;
43
46
  const activeDescendantRef = useRef(null);
44
47
  const scrollContainerRef = useRef(null);
45
48
  const inputRef = useRef(null);
46
49
  const [state, dispatch] = useReducer(reducer, initialState);
47
50
  const { inputValue, showMenu, autocompleteSuggestion, isMenuDirectlyActivated, selectedItemLength } = state;
48
- const setInputValue = useCallback((value) => {
49
- dispatch({
50
- type: "inputValue",
51
- payload: value
52
- });
53
- }, []);
54
- const setShowMenu = useCallback((value) => {
55
- dispatch({
56
- type: "showMenu",
57
- payload: value
58
- });
59
- }, []);
60
- const setAutocompleteSuggestion = useCallback((value) => {
61
- dispatch({
62
- type: "autocompleteSuggestion",
63
- payload: value
64
- });
65
- }, []);
66
- const setIsMenuDirectlyActivated = useCallback((value) => {
67
- dispatch({
68
- type: "isMenuDirectlyActivated",
69
- payload: value
70
- });
71
- }, []);
72
- const setSelectedItemLength = useCallback((value) => {
73
- dispatch({
74
- type: "selectedItemLength",
75
- payload: value
76
- });
77
- }, []);
51
+ let t1;
52
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
53
+ t1 = (value) => {
54
+ dispatch({
55
+ type: "inputValue",
56
+ payload: value
57
+ });
58
+ };
59
+ $[0] = t1;
60
+ } else t1 = $[0];
61
+ const setInputValue = t1;
62
+ let t2;
63
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
64
+ t2 = (value_0) => {
65
+ dispatch({
66
+ type: "showMenu",
67
+ payload: value_0
68
+ });
69
+ };
70
+ $[1] = t2;
71
+ } else t2 = $[1];
72
+ const setShowMenu = t2;
73
+ let t3;
74
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
75
+ t3 = (value_1) => {
76
+ dispatch({
77
+ type: "autocompleteSuggestion",
78
+ payload: value_1
79
+ });
80
+ };
81
+ $[2] = t3;
82
+ } else t3 = $[2];
83
+ const setAutocompleteSuggestion = t3;
84
+ let t4;
85
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
86
+ t4 = (value_2) => {
87
+ dispatch({
88
+ type: "isMenuDirectlyActivated",
89
+ payload: value_2
90
+ });
91
+ };
92
+ $[3] = t4;
93
+ } else t4 = $[3];
94
+ const setIsMenuDirectlyActivated = t4;
95
+ let t5;
96
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
97
+ t5 = (value_3) => {
98
+ dispatch({
99
+ type: "selectedItemLength",
100
+ payload: value_3
101
+ });
102
+ };
103
+ $[4] = t5;
104
+ } else t5 = $[4];
105
+ const setSelectedItemLength = t5;
78
106
  const id = useId$1(idProp);
79
- const autocompleteContextValue = useMemo(() => ({
80
- activeDescendantRef,
81
- id,
82
- inputRef,
83
- scrollContainerRef,
84
- selectedItemLength,
85
- setAutocompleteSuggestion,
86
- setInputValue,
87
- setIsMenuDirectlyActivated,
88
- setShowMenu,
89
- setSelectedItemLength,
90
- showMenu
91
- }), [
92
- id,
93
- selectedItemLength,
94
- setAutocompleteSuggestion,
95
- setInputValue,
96
- setIsMenuDirectlyActivated,
97
- setShowMenu,
98
- setSelectedItemLength,
99
- showMenu
100
- ]);
101
- const autocompleteInputContextValue = useMemo(() => ({
102
- autocompleteSuggestion,
103
- inputValue,
104
- isMenuDirectlyActivated
105
- }), [
106
- autocompleteSuggestion,
107
- inputValue,
108
- isMenuDirectlyActivated
109
- ]);
107
+ let t6;
108
+ if ($[5] !== id || $[6] !== selectedItemLength || $[7] !== showMenu) {
109
+ t6 = {
110
+ activeDescendantRef,
111
+ id,
112
+ inputRef,
113
+ scrollContainerRef,
114
+ selectedItemLength,
115
+ setAutocompleteSuggestion,
116
+ setInputValue,
117
+ setIsMenuDirectlyActivated,
118
+ setShowMenu,
119
+ setSelectedItemLength,
120
+ showMenu
121
+ };
122
+ $[5] = id;
123
+ $[6] = selectedItemLength;
124
+ $[7] = showMenu;
125
+ $[8] = t6;
126
+ } else t6 = $[8];
127
+ const autocompleteContextValue = t6;
128
+ let t7;
129
+ if ($[9] !== autocompleteSuggestion || $[10] !== inputValue || $[11] !== isMenuDirectlyActivated) {
130
+ t7 = {
131
+ autocompleteSuggestion,
132
+ inputValue,
133
+ isMenuDirectlyActivated
134
+ };
135
+ $[9] = autocompleteSuggestion;
136
+ $[10] = inputValue;
137
+ $[11] = isMenuDirectlyActivated;
138
+ $[12] = t7;
139
+ } else t7 = $[12];
140
+ const autocompleteInputContextValue = t7;
110
141
  const deferredInputValue = useDeferredValue(inputValue);
111
- const autocompleteDeferredInputContextValue = useMemo(() => ({ deferredInputValue }), [deferredInputValue]);
112
- return /*#__PURE__*/ jsx(AutocompleteContext.Provider, {
113
- value: autocompleteContextValue,
114
- children: /*#__PURE__*/ jsx(AutocompleteInputContext.Provider, {
142
+ let t8;
143
+ if ($[13] !== deferredInputValue) {
144
+ t8 = { deferredInputValue };
145
+ $[13] = deferredInputValue;
146
+ $[14] = t8;
147
+ } else t8 = $[14];
148
+ const autocompleteDeferredInputContextValue = t8;
149
+ let t9;
150
+ if ($[15] !== autocompleteDeferredInputContextValue || $[16] !== children) {
151
+ t9 = /*#__PURE__*/ jsx(AutocompleteDeferredInputContext.Provider, {
152
+ value: autocompleteDeferredInputContextValue,
153
+ children
154
+ });
155
+ $[15] = autocompleteDeferredInputContextValue;
156
+ $[16] = children;
157
+ $[17] = t9;
158
+ } else t9 = $[17];
159
+ let t10;
160
+ if ($[18] !== autocompleteInputContextValue || $[19] !== t9) {
161
+ t10 = /*#__PURE__*/ jsx(AutocompleteInputContext.Provider, {
115
162
  value: autocompleteInputContextValue,
116
- children: /*#__PURE__*/ jsx(AutocompleteDeferredInputContext.Provider, {
117
- value: autocompleteDeferredInputContextValue,
118
- children
119
- })
120
- })
121
- });
163
+ children: t9
164
+ });
165
+ $[18] = autocompleteInputContextValue;
166
+ $[19] = t9;
167
+ $[20] = t10;
168
+ } else t10 = $[20];
169
+ let t11;
170
+ if ($[21] !== autocompleteContextValue || $[22] !== t10) {
171
+ t11 = /*#__PURE__*/ jsx(AutocompleteContext.Provider, {
172
+ value: autocompleteContextValue,
173
+ children: t10
174
+ });
175
+ $[21] = autocompleteContextValue;
176
+ $[22] = t10;
177
+ $[23] = t11;
178
+ } else t11 = $[23];
179
+ return t11;
122
180
  };
123
- Autocomplete.displayName = "Autocomplete";
124
181
  var Autocomplete_default = Object.assign(Autocomplete, {
125
182
  __SLOT__: Symbol("Autocomplete"),
126
183
  Context: AutocompleteContext,