@primer/react 38.1.0-rc.b5ef6a423 → 38.1.0-rc.c5ea35a01

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.

Potentially problematic release.


This version of @primer/react might be problematic. Click here for more details.

Files changed (74) hide show
  1. package/README.md +16 -11
  2. package/dist/ActionBar/ActionBar.js +308 -148
  3. package/dist/ActionMenu/ActionMenu.js +1 -1
  4. package/dist/Autocomplete/AutocompleteInput.d.ts.map +1 -1
  5. package/dist/Autocomplete/AutocompleteInput.js +0 -1
  6. package/dist/Autocomplete/AutocompleteMenu.js +334 -124
  7. package/dist/Avatar/Avatar.js +31 -23
  8. package/dist/Banner/Banner.d.ts.map +1 -1
  9. package/dist/Banner/Banner.js +0 -1
  10. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  11. package/dist/Breadcrumbs/Breadcrumbs.js +1 -0
  12. package/dist/Button/ButtonBase.d.ts.map +1 -1
  13. package/dist/Button/ButtonBase.js +0 -1
  14. package/dist/Checkbox/Checkbox.d.ts.map +1 -1
  15. package/dist/DataTable/Pagination.js +296 -87
  16. package/dist/Dialog/Dialog.js +1 -1
  17. package/dist/FilteredActionList/useAnnouncements.d.ts.map +1 -1
  18. package/dist/FilteredActionList/useAnnouncements.js +1 -0
  19. package/dist/Heading/Heading.d.ts.map +1 -1
  20. package/dist/Heading/Heading.js +0 -1
  21. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -1
  22. package/dist/LabelGroup/LabelGroup.js +1 -0
  23. package/dist/Link/Link.d.ts.map +1 -1
  24. package/dist/Link/Link.js +0 -1
  25. package/dist/Portal/Portal.d.ts.map +1 -1
  26. package/dist/Portal/Portal.js +0 -1
  27. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  28. package/dist/SelectPanel/SelectPanel.js +0 -1
  29. package/dist/SkeletonAvatar/SkeletonAvatar.js +31 -23
  30. package/dist/ThemeProvider.d.ts.map +1 -1
  31. package/dist/ThemeProvider.js +1 -0
  32. package/dist/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  33. package/dist/Token/IssueLabelToken.js +280 -57
  34. package/dist/Token/_RemoveTokenButton.d.ts +1 -1
  35. package/dist/Token/_RemoveTokenButton.d.ts.map +1 -1
  36. package/dist/Token/_RemoveTokenButton.js +4 -3
  37. package/dist/TooltipV2/Tooltip.d.ts.map +1 -1
  38. package/dist/TooltipV2/Tooltip.js +28 -25
  39. package/dist/TreeView/TreeView.d.ts.map +1 -1
  40. package/dist/TreeView/TreeView.js +5 -1
  41. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  42. package/dist/UnderlineNav/UnderlineNav.js +0 -1
  43. package/dist/deprecated/utils/create-slots.d.ts.map +1 -1
  44. package/dist/experimental/SelectPanel2/SelectPanel.d.ts.map +1 -1
  45. package/dist/experimental/SelectPanel2/SelectPanel.js +4 -2
  46. package/dist/hooks/useAnchoredPosition.d.ts.map +1 -1
  47. package/dist/hooks/useAnchoredPosition.js +0 -1
  48. package/dist/hooks/useControllableState.d.ts.map +1 -1
  49. package/dist/hooks/useControllableState.js +2 -0
  50. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  51. package/dist/hooks/useFocusTrap.js +0 -1
  52. package/dist/hooks/useFocusZone.d.ts.map +1 -1
  53. package/dist/hooks/useFocusZone.js +0 -1
  54. package/dist/hooks/useIsMacOS.d.ts.map +1 -1
  55. package/dist/hooks/useIsMacOS.js +3 -1
  56. package/dist/hooks/useMedia.d.ts.map +1 -1
  57. package/dist/hooks/useMedia.js +12 -27
  58. package/dist/hooks/useMenuInitialFocus.d.ts.map +1 -1
  59. package/dist/hooks/useMenuInitialFocus.js +0 -1
  60. package/dist/hooks/useOnEscapePress.d.ts.map +1 -1
  61. package/dist/hooks/useOnEscapePress.js +0 -1
  62. package/dist/hooks/useRenderForcingRef.d.ts.map +1 -1
  63. package/dist/hooks/useRenderForcingRef.js +37 -7
  64. package/dist/hooks/useResizeObserver.d.ts.map +1 -1
  65. package/dist/hooks/useResizeObserver.js +0 -1
  66. package/dist/hooks/useSafeTimeout.d.ts.map +1 -1
  67. package/dist/hooks/useSafeTimeout.js +0 -1
  68. package/dist/hooks/useScrollFlash.d.ts.map +1 -1
  69. package/dist/internal/components/ValidationAnimationContainer.d.ts.map +1 -1
  70. package/dist/internal/hooks/useFocus.d.ts.map +1 -1
  71. package/dist/internal/hooks/useMergedRefs.d.ts.map +1 -1
  72. package/dist/internal/hooks/useMergedRefs.js +0 -1
  73. package/generated/components.json +2 -2
  74. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"useAnchoredPosition.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnchoredPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAKvE,MAAM,WAAW,4BAA6B,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC7E,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAA;CAClE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,4BAA4B,EACvC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IACD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACrC,CA8EA"}
1
+ {"version":3,"file":"useAnchoredPosition.d.ts","sourceRoot":"","sources":["../../src/hooks/useAnchoredPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAKvE,MAAM,WAAW,4BAA6B,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC7E,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAA;CAClE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,4BAA4B,EACvC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IACD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;CACrC,CA6EA"}
@@ -67,7 +67,6 @@ function useAnchoredPosition(settings, dependencies = []) {
67
67
  }
68
68
  setPrevHeight((_floatingElementRef$c5 = floatingElementRef.current) === null || _floatingElementRef$c5 === void 0 ? void 0 : _floatingElementRef$c5.clientHeight);
69
69
  },
70
- // eslint-disable-next-line react-compiler/react-compiler
71
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
71
  [floatingElementRef, anchorElementRef, ...dependencies]);
73
72
  useIsomorphicLayoutEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,wBAAwB,CAAC,CAAC,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;SAGK;IACL,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAe,EACf,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAmE5E"}
1
+ {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,wBAAwB,CAAC,CAAC,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;SAGK;IACL,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAA;IACT;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,IAAe,EACf,YAAY,EACZ,KAAK,EACL,QAAQ,GACT,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAoE5E"}
@@ -51,6 +51,8 @@ function useControllableState({
51
51
  process.env.NODE_ENV !== "production" ? warning(true, 'A component is changing a controlled %s component to be uncontrolled. ' + 'This is likely caused by the value changing to an undefined value ' + 'from a defined one. Decide between using a controlled or ' + 'uncontrolled value for the lifetime of the component. ' + 'More info: https://reactjs.org/link/controlled-components', name) : void 0;
52
52
  }
53
53
  }, [name, value]);
54
+
55
+ // eslint-disable-next-line react-hooks/refs
54
56
  if (controlled.current === true) {
55
57
  return [value, setState];
56
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CA4C7F"}
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CA2C7F"}
@@ -45,7 +45,6 @@ function useFocusTrap(settings, dependencies = []) {
45
45
  }
46
46
  }
47
47
  },
48
- // eslint-disable-next-line react-compiler/react-compiler
49
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
50
49
  [containerRef, initialFocusRef, disabled, ...dependencies]);
51
50
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusZone.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusZone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,YAAY,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC/F;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,GAAE,qBAA0B,EACpC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CAqCxG"}
1
+ {"version":3,"file":"useFocusZone.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusZone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,YAAY,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IAC/F;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,GAAE,qBAA0B,EACpC,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC;IAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;CAAC,CAoCxG"}
@@ -29,7 +29,6 @@ function useFocusZone(settings = {}, dependencies = []) {
29
29
  }
30
30
  }
31
31
  },
32
- // eslint-disable-next-line react-compiler/react-compiler
33
32
  // eslint-disable-next-line react-hooks/exhaustive-deps
34
33
  [disabled, ...dependencies]);
35
34
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMacOS.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMacOS.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,UAAU,YAMzB"}
1
+ {"version":3,"file":"useIsMacOS.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMacOS.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,UAAU,YASzB"}
@@ -14,7 +14,9 @@ function useIsMacOS() {
14
14
  let t0;
15
15
  let t1;
16
16
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17
- t0 = () => setIsMacOS(isMacOS());
17
+ t0 = () => {
18
+ setIsMacOS(isMacOS());
19
+ };
18
20
  t1 = [];
19
21
  $[0] = t0;
20
22
  $[1] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAI3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,WAoExE;AAED,KAAK,kBAAkB,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACnC,CAAA;AAOD,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,EAAC,QAAQ,EAAE,QAA0B,EAAC,EAAE,eAAe,qBAGjF"}
1
+ {"version":3,"file":"useMedia.d.ts","sourceRoot":"","sources":["../../src/hooks/useMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAI3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,WAmExE;AAED,KAAK,kBAAkB,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACnC,CAAA;AAOD,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,EAAC,QAAQ,EAAE,QAA0B,EAAC,EAAE,eAAe,qBAGjF"}
@@ -3,7 +3,7 @@ import React, { useContext, createContext, useEffect } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
 
5
5
  function useMedia(mediaQueryString, defaultState) {
6
- const $ = c(12);
6
+ const $ = c(8);
7
7
  const features = useContext(MatchMediaContext);
8
8
  let t0;
9
9
  if ($[0] !== defaultState || $[1] !== features || $[2] !== mediaQueryString) {
@@ -23,28 +23,13 @@ function useMedia(mediaQueryString, defaultState) {
23
23
  t0 = $[3];
24
24
  }
25
25
  const [matches, setMatches] = React.useState(t0);
26
+ if (features[mediaQueryString] !== undefined && matches !== features[mediaQueryString]) {
27
+ setMatches(features[mediaQueryString]);
28
+ }
26
29
  let t1;
27
30
  let t2;
28
31
  if ($[4] !== features || $[5] !== mediaQueryString) {
29
32
  t1 = () => {
30
- if (features[mediaQueryString] !== undefined) {
31
- setMatches(features[mediaQueryString]);
32
- }
33
- };
34
- t2 = [features, mediaQueryString];
35
- $[4] = features;
36
- $[5] = mediaQueryString;
37
- $[6] = t1;
38
- $[7] = t2;
39
- } else {
40
- t1 = $[6];
41
- t2 = $[7];
42
- }
43
- useEffect(t1, t2);
44
- let t3;
45
- let t4;
46
- if ($[8] !== features || $[9] !== mediaQueryString) {
47
- t3 = () => {
48
33
  if (features[mediaQueryString] !== undefined) {
49
34
  return;
50
35
  }
@@ -66,16 +51,16 @@ function useMedia(mediaQueryString, defaultState) {
66
51
  }
67
52
  };
68
53
  };
69
- t4 = [features, mediaQueryString];
70
- $[8] = features;
71
- $[9] = mediaQueryString;
72
- $[10] = t3;
73
- $[11] = t4;
54
+ t2 = [features, mediaQueryString];
55
+ $[4] = features;
56
+ $[5] = mediaQueryString;
57
+ $[6] = t1;
58
+ $[7] = t2;
74
59
  } else {
75
- t3 = $[10];
76
- t4 = $[11];
60
+ t1 = $[6];
61
+ t2 = $[7];
77
62
  }
78
- useEffect(t3, t4);
63
+ useEffect(t1, t2);
79
64
  return matches;
80
65
  }
81
66
  // Used to keep track of overrides to specific media query features, this should
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuInitialFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuInitialFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3C,YAAY,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,SAuEzC,CAAA"}
1
+ {"version":3,"file":"useMenuInitialFocus.d.ts","sourceRoot":"","sources":["../../src/hooks/useMenuInitialFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,eAAe,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3C,YAAY,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,SAsEzC,CAAA"}
@@ -58,7 +58,6 @@ const useMenuInitialFocus = (open, containerRef, anchorRef) => {
58
58
  },
59
59
  // we don't want containerRef in dependencies
60
60
  // because re-renders to containerRef while it's open should not fire initialMenuFocus
61
- // eslint-disable-next-line react-compiler/react-compiler
62
61
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
62
  [open, openingGesture, anchorRef]);
64
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useOnEscapePress.d.ts","sourceRoot":"","sources":["../../src/hooks/useOnEscapePress.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,EACpC,uBAAsB,KAAK,CAAC,cAA2B,KACtD,IA0BF,CAAA"}
1
+ {"version":3,"file":"useOnEscapePress.d.ts","sourceRoot":"","sources":["../../src/hooks/useOnEscapePress.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,EACpC,uBAAsB,KAAK,CAAC,cAA2B,KACtD,IAyBF,CAAA"}
@@ -46,7 +46,6 @@ let handlerId = 0;
46
46
  * memoized. See `React.useCallback` for more info on memoization.
47
47
  */
48
48
  const useOnEscapePress = (onEscape, callbackDependencies = [onEscape]) => {
49
- // eslint-disable-next-line react-compiler/react-compiler
50
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
50
  const escapeCallback = useCallback(onEscape, callbackDependencies);
52
51
  const handler = useCallback(event => {
@@ -1 +1 @@
1
- {"version":3,"file":"useRenderForcingRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRenderForcingRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAC,MAAM,OAAO,CAAA;AAGtD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,uCAMzC,IAAI,GAAG,IAAI,WAOvB"}
1
+ {"version":3,"file":"useRenderForcingRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRenderForcingRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAC,MAAM,OAAO,CAAA;AAGtD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,uCAKzC,IAAI,GAAG,IAAI,WAYvB"}
@@ -1,4 +1,5 @@
1
- import { useState, useRef, useCallback } from 'react';
1
+ import { c } from 'react-compiler-runtime';
2
+ import { useState, useRef, useEffect } from 'react';
2
3
 
3
4
  /**
4
5
  * There are certain situations where a ref might be set after the current render cycle for a
@@ -7,14 +8,43 @@ import { useState, useRef, useCallback } from 'react';
7
8
  * @type TRef The type of the RefObject which should be created.
8
9
  */
9
10
  function useRenderForcingRef(value) {
11
+ const $ = c(5);
10
12
  const [refCurrent, setRefCurrent] = useState(value || null);
11
13
  const ref = useRef(null);
12
- ref.current = refCurrent;
13
- const setRef = useCallback(newRef => {
14
- ref.current = newRef;
15
- setRefCurrent(newRef);
16
- }, [ref]);
17
- return [ref, setRef];
14
+ let t0;
15
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
+ t0 = newRef => {
17
+ ref.current = newRef;
18
+ setRefCurrent(newRef);
19
+ };
20
+ $[0] = t0;
21
+ } else {
22
+ t0 = $[0];
23
+ }
24
+ const setRef = t0;
25
+ let t1;
26
+ let t2;
27
+ if ($[1] !== refCurrent) {
28
+ t1 = () => {
29
+ ref.current = refCurrent;
30
+ };
31
+ t2 = [refCurrent];
32
+ $[1] = refCurrent;
33
+ $[2] = t1;
34
+ $[3] = t2;
35
+ } else {
36
+ t1 = $[2];
37
+ t2 = $[3];
38
+ }
39
+ useEffect(t1, t2);
40
+ let t3;
41
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
42
+ t3 = [ref, setRef];
43
+ $[4] = t3;
44
+ } else {
45
+ t3 = $[4];
46
+ }
47
+ return t3;
18
48
  }
19
49
 
20
50
  export { useRenderForcingRef };
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AAKpC,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;AAE7E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,eAAe,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,SAAS,GAAE,OAAO,EAAO,QAiD1B"}
1
+ {"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AAKpC,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;AAE7E,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,eAAe,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,SAAS,GAAE,OAAO,EAAO,QAgD1B"}
@@ -39,7 +39,6 @@ function useResizeObserver(callback, target, depsArray = []) {
39
39
  };
40
40
  }
41
41
 
42
- // eslint-disable-next-line react-compiler/react-compiler
43
42
  // eslint-disable-next-line react-hooks/exhaustive-deps
44
43
  }, [target === null || target === void 0 ? void 0 : target.current, ...depsArray]);
45
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSafeTimeout.d.ts","sourceRoot":"","sources":["../../src/hooks/useSafeTimeout.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAA;AACzF,KAAK,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,IAAI;IAAC,cAAc,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,YAAY,CAAA;CAAC,CA4BrG"}
1
+ {"version":3,"file":"useSafeTimeout.d.ts","sourceRoot":"","sources":["../../src/hooks/useSafeTimeout.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAA;AACzF,KAAK,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,IAAI;IAAC,cAAc,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,YAAY,CAAA;CAAC,CA2BrG"}
@@ -18,7 +18,6 @@ function useSafeTimeout() {
18
18
  }, []);
19
19
  useEffect(() => {
20
20
  return () => {
21
- // eslint-disable-next-line react-compiler/react-compiler
22
21
  // eslint-disable-next-line react-hooks/exhaustive-deps
23
22
  for (const id of timers.current) {
24
23
  clearTimeout(id);
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollFlash.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollFlash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAgBtF"}
1
+ {"version":3,"file":"useScrollFlash.d.ts","sourceRoot":"","sources":["../../src/hooks/useScrollFlash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,QAetF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationAnimationContainer.d.ts","sourceRoot":"","sources":["../../../src/internal/components/ValidationAnimationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,UAAU,KAAM,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AACD,QAAA,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAkB1E,CAAA;AAED,eAAe,4BAA4B,CAAA"}
1
+ {"version":3,"file":"ValidationAnimationContainer.d.ts","sourceRoot":"","sources":["../../../src/internal/components/ValidationAnimationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,UAAU,KAAM,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AACD,QAAA,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAmB1E,CAAA;AAED,eAAe,4BAA4B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFocus.d.ts","sourceRoot":"","sources":["../../../src/internal/hooks/useFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAA;AAEzD,wBAAgB,QAAQ,0GAkBvB"}
1
+ {"version":3,"file":"useFocus.d.ts","sourceRoot":"","sources":["../../../src/internal/hooks/useFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAA;AAEzD,wBAAgB,QAAQ,0GAmBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMergedRefs.d.ts","sourceRoot":"","sources":["../../../src/internal/hooks/useMergedRefs.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACvF,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAYtB"}
1
+ {"version":3,"file":"useMergedRefs.d.ts","sourceRoot":"","sources":["../../../src/internal/hooks/useMergedRefs.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACvF,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAWtB"}
@@ -9,7 +9,6 @@ function useMergedRefs(...refs) {
9
9
  ref.current = instance;
10
10
  }
11
11
  }
12
- // eslint-disable-next-line react-compiler/react-compiler
13
12
  // eslint-disable-next-line react-hooks/exhaustive-deps
14
13
  }, refs);
15
14
  }
@@ -227,7 +227,7 @@
227
227
  },
228
228
  {
229
229
  "id": "components-actionlist-features--child-with-side-effects",
230
- "code": "() => {\n const user = users[0]\n const [selected, setSelected] = React.useState(true)\n const SideEffectDescription = () => {\n // eslint-disable-next-line react-compiler/react-compiler\n const [seconds, setSeconds] = React.useState(0)\n\n // eslint-disable-next-line react-compiler/react-compiler\n React.useEffect(() => {\n const fn = () => setSeconds((s) => s + 1)\n const interval = window.setInterval(fn, 1000)\n return () => window.clearInterval(interval)\n }, [])\n return <>{seconds} seconds passed</>\n }\n return (\n <ActionList\n selectionVariant=\"multiple\"\n role=\"listbox\"\n aria-label=\"Assignees\"\n >\n <ActionList.Item\n selected={selected}\n onSelect={() => setSelected(!selected)}\n role=\"option\"\n >\n <ActionList.LeadingVisual>\n <Avatar src={`https://avatars.githubusercontent.com/${user.login}`} />\n </ActionList.LeadingVisual>\n {user.login}\n <ActionList.Description>\n <SideEffectDescription />\n </ActionList.Description>\n </ActionList.Item>\n </ActionList>\n )\n}"
230
+ "code": "() => {\n const user = users[0]\n const [selected, setSelected] = React.useState(true)\n const SideEffectDescription = () => {\n const [seconds, setSeconds] = React.useState(0)\n React.useEffect(() => {\n const fn = () => setSeconds((s) => s + 1)\n const interval = window.setInterval(fn, 1000)\n return () => window.clearInterval(interval)\n }, [])\n return <>{seconds} seconds passed</>\n }\n return (\n <ActionList\n selectionVariant=\"multiple\"\n role=\"listbox\"\n aria-label=\"Assignees\"\n >\n <ActionList.Item\n selected={selected}\n onSelect={() => setSelected(!selected)}\n role=\"option\"\n >\n <ActionList.LeadingVisual>\n <Avatar src={`https://avatars.githubusercontent.com/${user.login}`} />\n </ActionList.LeadingVisual>\n {user.login}\n <ActionList.Description>\n <SideEffectDescription />\n </ActionList.Description>\n </ActionList.Item>\n </ActionList>\n )\n}"
231
231
  },
232
232
  {
233
233
  "id": "components-actionlist-features--inside-overlay",
@@ -988,7 +988,7 @@
988
988
  },
989
989
  {
990
990
  "id": "components-autocomplete-features--in-a-dialog",
991
- "code": "() => {\n const outerContainerRef = useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = useState(false)\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current, 'outerContainer')\n setMounted(true)\n }\n }, [isDialogOpen])\n return (\n <>\n <Button onClick={() => setIsDialogOpen(true)}>Show dialog</Button>\n <Dialog\n aria-label=\"Dialog with autocomplete\"\n id=\"dialog-with-autocomplete\"\n isOpen={isDialogOpen}\n onDismiss={() => setIsDialogOpen(false)}\n >\n <div ref={outerContainerRef}>\n <form className={classes.FormPadding}>\n {mounted ? (\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input data-testid=\"autocompleteInput\" />\n <Autocomplete.Overlay portalContainerName=\"outerContainer\">\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n ) : null}\n </form>\n </div>\n </Dialog>\n <p>\n The Autocomplete.Overlay is portalled to a div inside the Dialog to\n ensure it appears above the dialog in the stacking context.\n </p>\n </>\n )\n}"
991
+ "code": "() => {\n const outerContainerRef = useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = useState(false)\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current, 'outerContainer')\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setMounted(true)\n }\n }, [isDialogOpen])\n return (\n <>\n <Button onClick={() => setIsDialogOpen(true)}>Show dialog</Button>\n <Dialog\n aria-label=\"Dialog with autocomplete\"\n id=\"dialog-with-autocomplete\"\n isOpen={isDialogOpen}\n onDismiss={() => setIsDialogOpen(false)}\n >\n <div ref={outerContainerRef}>\n <form className={classes.FormPadding}>\n {mounted ? (\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input data-testid=\"autocompleteInput\" />\n <Autocomplete.Overlay portalContainerName=\"outerContainer\">\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n ) : null}\n </form>\n </div>\n </Dialog>\n <p>\n The Autocomplete.Overlay is portalled to a div inside the Dialog to\n ensure it appears above the dialog in the stacking context.\n </p>\n </>\n )\n}"
992
992
  }
993
993
  ],
994
994
  "importPath": "@primer/react",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@primer/react",
3
3
  "type": "module",
4
- "version": "38.1.0-rc.b5ef6a423",
4
+ "version": "38.1.0-rc.c5ea35a01",
5
5
  "description": "An implementation of GitHub's Primer Design System using React",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -90,7 +90,7 @@
90
90
  "hsluv": "1.0.1",
91
91
  "lodash.isempty": "^4.4.0",
92
92
  "lodash.isobject": "^3.0.2",
93
- "react-compiler-runtime": "^19.1.0-rc.2",
93
+ "react-compiler-runtime": "^1.0.0",
94
94
  "react-intersection-observer": "^9.16.0"
95
95
  },
96
96
  "devDependencies": {
@@ -141,7 +141,7 @@
141
141
  "babel-plugin-dev-expression": "0.2.3",
142
142
  "babel-plugin-macros": "3.1.0",
143
143
  "babel-plugin-open-source": "1.3.4",
144
- "babel-plugin-react-compiler": "^19.1.0-rc.3",
144
+ "babel-plugin-react-compiler": "^1.0.0",
145
145
  "babel-plugin-transform-replace-expressions": "0.2.0",
146
146
  "babel-polyfill": "6.26.0",
147
147
  "chalk": "^5.4.1",