@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.
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",