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

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 (98) hide show
  1. package/README.md +16 -11
  2. package/dist/ActionBar/ActionBar.js +308 -148
  3. package/dist/ActionList/Item.d.ts.map +1 -1
  4. package/dist/ActionList/List.d.ts.map +1 -1
  5. package/dist/ActionMenu/ActionMenu.js +1 -1
  6. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts +1 -0
  7. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts.map +1 -1
  8. package/dist/Autocomplete/AutocompleteInput.d.ts.map +1 -1
  9. package/dist/Autocomplete/AutocompleteInput.js +0 -1
  10. package/dist/Autocomplete/AutocompleteMenu.js +334 -124
  11. package/dist/Avatar/Avatar.js +31 -23
  12. package/dist/Banner/Banner.d.ts.map +1 -1
  13. package/dist/Banner/Banner.js +0 -1
  14. package/dist/BaseStyles.d.ts +2 -2
  15. package/dist/BaseStyles.d.ts.map +1 -1
  16. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  17. package/dist/Breadcrumbs/Breadcrumbs.js +1 -0
  18. package/dist/Button/ButtonBase.d.ts.map +1 -1
  19. package/dist/Button/ButtonBase.js +0 -1
  20. package/dist/Checkbox/Checkbox.d.ts.map +1 -1
  21. package/dist/DataTable/Pagination.js +296 -87
  22. package/dist/DataTable/Table.d.ts +13 -13
  23. package/dist/DataTable/Table.d.ts.map +1 -1
  24. package/dist/Dialog/Dialog.js +1 -1
  25. package/dist/FilteredActionList/FilteredActionList.d.ts +1 -0
  26. package/dist/FilteredActionList/FilteredActionList.d.ts.map +1 -1
  27. package/dist/FilteredActionList/FilteredActionListLoaders.d.ts +1 -0
  28. package/dist/FilteredActionList/FilteredActionListLoaders.d.ts.map +1 -1
  29. package/dist/FilteredActionList/useAnnouncements.d.ts.map +1 -1
  30. package/dist/FilteredActionList/useAnnouncements.js +1 -0
  31. package/dist/Heading/Heading.d.ts.map +1 -1
  32. package/dist/Heading/Heading.js +0 -1
  33. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -1
  34. package/dist/LabelGroup/LabelGroup.js +1 -0
  35. package/dist/Link/Link.d.ts.map +1 -1
  36. package/dist/Link/Link.js +0 -1
  37. package/dist/Portal/Portal.d.ts.map +1 -1
  38. package/dist/Portal/Portal.js +0 -1
  39. package/dist/SelectPanel/SelectPanel.d.ts +1 -1
  40. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  41. package/dist/SelectPanel/SelectPanel.js +0 -1
  42. package/dist/SkeletonAvatar/SkeletonAvatar.js +31 -23
  43. package/dist/ThemeProvider.d.ts.map +1 -1
  44. package/dist/ThemeProvider.js +1 -0
  45. package/dist/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  46. package/dist/Token/IssueLabelToken.js +280 -57
  47. package/dist/Token/_RemoveTokenButton.d.ts +1 -1
  48. package/dist/Token/_RemoveTokenButton.d.ts.map +1 -1
  49. package/dist/Token/_RemoveTokenButton.js +4 -3
  50. package/dist/TooltipV2/Tooltip.d.ts.map +1 -1
  51. package/dist/TooltipV2/Tooltip.js +28 -25
  52. package/dist/TreeView/TreeView.d.ts.map +1 -1
  53. package/dist/TreeView/TreeView.js +5 -1
  54. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  55. package/dist/UnderlineNav/UnderlineNav.js +0 -1
  56. package/dist/deprecated/ActionList/Divider.d.ts +1 -0
  57. package/dist/deprecated/ActionList/Divider.d.ts.map +1 -1
  58. package/dist/deprecated/ActionList/Group.d.ts +1 -0
  59. package/dist/deprecated/ActionList/Group.d.ts.map +1 -1
  60. package/dist/deprecated/ActionList/Header.d.ts +1 -0
  61. package/dist/deprecated/ActionList/Header.d.ts.map +1 -1
  62. package/dist/deprecated/ActionList/List.d.ts.map +1 -1
  63. package/dist/deprecated/ActionMenu.d.ts +2 -1
  64. package/dist/deprecated/ActionMenu.d.ts.map +1 -1
  65. package/dist/deprecated/utils/create-slots.d.ts.map +1 -1
  66. package/dist/experimental/SelectPanel2/SelectPanel.d.ts.map +1 -1
  67. package/dist/experimental/SelectPanel2/SelectPanel.js +4 -2
  68. package/dist/hooks/useAnchoredPosition.d.ts.map +1 -1
  69. package/dist/hooks/useAnchoredPosition.js +0 -1
  70. package/dist/hooks/useControllableState.d.ts.map +1 -1
  71. package/dist/hooks/useControllableState.js +2 -0
  72. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  73. package/dist/hooks/useFocusTrap.js +0 -1
  74. package/dist/hooks/useFocusZone.d.ts.map +1 -1
  75. package/dist/hooks/useFocusZone.js +0 -1
  76. package/dist/hooks/useIsMacOS.d.ts.map +1 -1
  77. package/dist/hooks/useIsMacOS.js +3 -1
  78. package/dist/hooks/useMedia.d.ts.map +1 -1
  79. package/dist/hooks/useMedia.js +12 -27
  80. package/dist/hooks/useMenuInitialFocus.d.ts.map +1 -1
  81. package/dist/hooks/useMenuInitialFocus.js +0 -1
  82. package/dist/hooks/useOnEscapePress.d.ts.map +1 -1
  83. package/dist/hooks/useOnEscapePress.js +0 -1
  84. package/dist/hooks/useRenderForcingRef.d.ts.map +1 -1
  85. package/dist/hooks/useRenderForcingRef.js +37 -7
  86. package/dist/hooks/useResizeObserver.d.ts.map +1 -1
  87. package/dist/hooks/useResizeObserver.js +0 -1
  88. package/dist/hooks/useSafeTimeout.d.ts.map +1 -1
  89. package/dist/hooks/useSafeTimeout.js +0 -1
  90. package/dist/hooks/useScrollFlash.d.ts.map +1 -1
  91. package/dist/internal/components/ValidationAnimationContainer.d.ts.map +1 -1
  92. package/dist/internal/hooks/useFocus.d.ts.map +1 -1
  93. package/dist/internal/hooks/useMergedRefs.d.ts.map +1 -1
  94. package/dist/internal/hooks/useMergedRefs.js +0 -1
  95. package/dist/utils/polymorphic.d.ts +1 -0
  96. package/dist/utils/polymorphic.d.ts.map +1 -1
  97. package/generated/components.json +2 -2
  98. package/package.json +3 -3
@@ -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
  }
@@ -5,6 +5,7 @@
5
5
  * @see https://github.com/radix-ui/primitives/blob/17ffcb7aaa42cbd36b3c210ba86d7d73d218e5be/packages/react/polymorphic/src/polymorphic.ts
6
6
  */
7
7
  import * as React from 'react';
8
+ import type { JSX } from 'react';
8
9
  import type { SlotMarker } from './types/Slots';
9
10
  type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/utils/polymorphic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAK7C,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAEtD;;GAEG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;AAEvE;;GAEG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAElF,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG;IAAC,EAAE,CAAC,EAAE,CAAC,CAAA;CAAC,CAAC,CACjG,CAAA;AAMD,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,EAAE,CAKb,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EACjE,UAAU;IACZ;;;;;;;OAOG;IACH,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAC,EAAE,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAA;KAAC,GACjC,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACrC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAC,EAAE,EAAE,EAAE,CAAA;KAAC,CAAC,GAC7B,EAAE,SAAS,MAAM,GAAG,CAAC,iBAAiB,GACpC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAC,EAAE,EAAE,EAAE,CAAA;KAAC,CAAC,GACrD,KAAK,GACZ,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CAC7B;AAED,YAAY,EAAC,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAC,CAAA"}
1
+ {"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/utils/polymorphic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAK7C,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAEtD;;GAEG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;AAEvE;;GAEG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAElF,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG;IAAC,EAAE,CAAC,EAAE,CAAC,CAAA;CAAC,CAAC,CACjG,CAAA;AAMD,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,EAAE,CAKb,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EACjE,UAAU;IACZ;;;;;;;OAOG;IACH,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAC,EAAE,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAA;KAAC,GACjC,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACrC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAC,EAAE,EAAE,EAAE,CAAA;KAAC,CAAC,GAC7B,EAAE,SAAS,MAAM,GAAG,CAAC,iBAAiB,GACpC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAC,EAAE,EAAE,EAAE,CAAA;KAAC,CAAC,GACrD,KAAK,GACZ,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CAC7B;AAED,YAAY,EAAC,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAC,CAAA"}
@@ -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.cf10aea36",
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",