@primer/react 38.30.0-rc.dc0369509 → 38.30.1-rc.2d1806208

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 (71) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/ActionBar/ActionBar.d.ts +24 -1
  3. package/dist/ActionBar/ActionBar.d.ts.map +1 -1
  4. package/dist/ActionBar/ActionBar.js +96 -4
  5. package/dist/ActionBar/index.d.ts +21 -1
  6. package/dist/ActionBar/index.d.ts.map +1 -1
  7. package/dist/ActionBar/index.js +2 -1
  8. package/dist/Heading/Heading.js +69 -19
  9. package/dist/Link/Link.js +81 -25
  10. package/dist/NavList/NavList-b50d982b.css +2 -0
  11. package/dist/NavList/NavList-b50d982b.css.map +1 -0
  12. package/dist/NavList/NavList.d.ts +13 -4
  13. package/dist/NavList/NavList.d.ts.map +1 -1
  14. package/dist/NavList/NavList.js +238 -70
  15. package/dist/NavList/NavList.module.css.js +2 -2
  16. package/dist/Pagehead/Pagehead.js +45 -11
  17. package/dist/SelectPanel/SelectPanel.d.ts +2 -2
  18. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  19. package/dist/SelectPanel/SelectPanel.js +4 -1
  20. package/dist/SideNav.js +112 -41
  21. package/dist/UnderlineNav/UnderlineNav-47547980.css +2 -0
  22. package/dist/UnderlineNav/UnderlineNav-47547980.css.map +1 -0
  23. package/dist/UnderlineNav/UnderlineNav.d.ts +1 -2
  24. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  25. package/dist/UnderlineNav/UnderlineNav.js +91 -331
  26. package/dist/UnderlineNav/UnderlineNav.module.css.js +2 -2
  27. package/dist/UnderlineNav/UnderlineNavContext.d.ts +1 -11
  28. package/dist/UnderlineNav/UnderlineNavContext.d.ts.map +1 -1
  29. package/dist/UnderlineNav/UnderlineNavContext.js +1 -4
  30. package/dist/UnderlineNav/UnderlineNavItem-402cd41c.css +2 -0
  31. package/dist/UnderlineNav/UnderlineNavItem-402cd41c.css.map +1 -0
  32. package/dist/UnderlineNav/UnderlineNavItem.d.ts +1 -44
  33. package/dist/UnderlineNav/UnderlineNavItem.d.ts.map +1 -1
  34. package/dist/UnderlineNav/UnderlineNavItem.js +33 -38
  35. package/dist/UnderlineNav/UnderlineNavItem.module.css.js +1 -1
  36. package/dist/UnderlineNav/UnderlineNavItemsRegistry.d.ts +51 -0
  37. package/dist/UnderlineNav/UnderlineNavItemsRegistry.d.ts.map +1 -0
  38. package/dist/UnderlineNav/UnderlineNavItemsRegistry.js +8 -0
  39. package/dist/UnderlineNav/index.d.ts +1 -1
  40. package/dist/UnderlineNav/index.d.ts.map +1 -1
  41. package/dist/UnderlineNav/utils.d.ts +2 -0
  42. package/dist/UnderlineNav/utils.d.ts.map +1 -1
  43. package/dist/UnderlineNav/utils.js +2 -1
  44. package/dist/experimental/UnderlinePanels/UnderlinePanels-162f9aed.css +2 -0
  45. package/dist/experimental/UnderlinePanels/UnderlinePanels-162f9aed.css.map +1 -0
  46. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +1 -1
  47. package/dist/experimental/UnderlinePanels/UnderlinePanels.js +8 -11
  48. package/dist/experimental/UnderlinePanels/UnderlinePanels.module.css.js +1 -1
  49. package/dist/internal/components/UnderlineTabbedInterface-1745a3d6.css +2 -0
  50. package/dist/internal/components/UnderlineTabbedInterface-1745a3d6.css.map +1 -0
  51. package/dist/internal/components/UnderlineTabbedInterface.d.ts +0 -1
  52. package/dist/internal/components/UnderlineTabbedInterface.d.ts.map +1 -1
  53. package/dist/internal/components/UnderlineTabbedInterface.js +66 -60
  54. package/dist/internal/components/UnderlineTabbedInterface.module.css.js +1 -1
  55. package/generated/components.json +72 -5
  56. package/package.json +1 -1
  57. package/dist/NavList/NavList-5dc067e3.css +0 -2
  58. package/dist/NavList/NavList-5dc067e3.css.map +0 -1
  59. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css +0 -2
  60. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css.map +0 -1
  61. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css +0 -2
  62. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css.map +0 -1
  63. package/dist/UnderlineNav/styles.d.ts +0 -16
  64. package/dist/UnderlineNav/styles.d.ts.map +0 -1
  65. package/dist/UnderlineNav/styles.js +0 -19
  66. package/dist/UnderlineNav/types.d.ts +0 -10
  67. package/dist/UnderlineNav/types.d.ts.map +0 -1
  68. package/dist/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -2
  69. package/dist/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -1
  70. package/dist/internal/components/UnderlineTabbedInterface-4197ee28.css +0 -2
  71. package/dist/internal/components/UnderlineTabbedInterface-4197ee28.css.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,9 +1,23 @@
1
1
  # @primer/react
2
2
 
3
+ ## 38.30.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#8052](https://github.com/primer/react/pull/8052) [`a1b24cf`](https://github.com/primer/react/commit/a1b24cf3411566641aeb846e62069dc26505da6b) Thanks [@joshblack](https://github.com/joshblack)! - Heading, Link, Pagehead, Portal, and SideNav: Improve rendering performance with React Compiler support
8
+
3
9
  ## 38.30.0
4
10
 
5
11
  ### Minor Changes
6
12
 
13
+ - [#8048](https://github.com/primer/react/pull/8048) [`0add561`](https://github.com/primer/react/commit/0add5615720d17d69c77b014786c5e17e4337bb0) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - ActionBar: Add `ActionBar.Button` for rendering text buttons that overflow into the menu, alongside the existing `ActionBar.IconButton`
14
+
15
+ - [#8031](https://github.com/primer/react/pull/8031) [`cb79351`](https://github.com/primer/react/commit/cb79351f29b9a1aea7bacf890eca97a5c9d97590) Thanks [@janmaarten-a11y](https://github.com/janmaarten-a11y)! - Add a `NavList.Heading` slot that names the navigation region. It renders an `h2`
16
+ by default (configurable to `h3` via `as`), supports a `visuallyHidden` variant,
17
+ labels the `nav` landmark via `aria-labelledby`, and makes `NavList.Group`
18
+ headings default to one level deeper (`h3`, or `h4` under an `h3` heading) for a
19
+ correct heading hierarchy.
20
+
7
21
  - [#7991](https://github.com/primer/react/pull/7991) [`b906268`](https://github.com/primer/react/commit/b906268b7ebe8d684d8b5e9b1c4e9b528a5dd67a) Thanks [@llastflowers](https://github.com/llastflowers)! - Add data-component attributes and associated tests for:
8
22
 
9
23
  Radio
@@ -18,6 +32,10 @@
18
32
  SkeletonText
19
33
  Spinner
20
34
 
35
+ - [#8026](https://github.com/primer/react/pull/8026) [`73a45df`](https://github.com/primer/react/commit/73a45dfe11c3a297e4f2f8317caa4a535a70ce80) Thanks [@TylerJDev](https://github.com/TylerJDev)! - SelectPanel: Add `cssAnchorPositioningSettings` prop to customize CSS anchor positioning behavior
36
+
37
+ - [#7506](https://github.com/primer/react/pull/7506) [`e58907c`](https://github.com/primer/react/commit/e58907c5559f5ef8133a1d98a05e2e4a6c1ca6cb) Thanks [@iansan5653](https://github.com/iansan5653)! - Refactors `UnderlineNav` overflow handling to use CSS-based overflow detection instead of JavaScript width measurements, eliminating layout shift (CLS) issues and improving performance. The overflow menu is now implemented with `ActionMenu`, and item registration uses a descendant registry instead of the `React.Children` API. Consumer-facing changes: items can now be wrapped in fragments or wrapper components; the current item may appear in the overflow menu when the viewport is narrow; and the overflow menu button is right-aligned.
38
+
21
39
  ### Patch Changes
22
40
 
23
41
  - [#8021](https://github.com/primer/react/pull/8021) [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd) Thanks [@mattcosta7](https://github.com/mattcosta7)! - Announce, AriaStatus, AriaAlert: Avoid an extra React render on every content change (e.g. per keystroke when tied to an input)
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type ActionListItemProps } from '../ActionList';
3
- import type { IconButtonProps } from '../Button';
3
+ import type { ButtonProps, IconButtonProps } from '../Button';
4
4
  type Size = 'small' | 'medium' | 'large';
5
5
  type A11yProps = {
6
6
  /** When provided, a label is added to the action bar */
@@ -38,6 +38,9 @@ export type ActionBarProps = {
38
38
  export type ActionBarIconButtonProps = {
39
39
  disabled?: boolean;
40
40
  } & IconButtonProps;
41
+ export type ActionBarButtonProps = {
42
+ disabled?: boolean;
43
+ } & ButtonProps;
41
44
  export type ActionBarMenuItemProps = ({
42
45
  /**
43
46
  * Type of menu item to be rendered in the menu (action | group).
@@ -91,6 +94,26 @@ export type ActionBarMenuProps = {
91
94
  } & IconButtonProps;
92
95
  export declare const ActionBar: React.FC<React.PropsWithChildren<ActionBarProps>>;
93
96
  export declare const ActionBarIconButton: React.ForwardRefExoticComponent<ActionBarIconButtonProps & React.RefAttributes<unknown>>;
97
+ export declare const ActionBarButton: React.ForwardRefExoticComponent<{
98
+ disabled?: boolean;
99
+ } & {
100
+ alignContent?: import("../Button/types").AlignContent;
101
+ icon?: React.FunctionComponent<import("@primer/octicons-react").IconProps> | React.ElementType | React.ReactElement<any> | null;
102
+ leadingVisual?: React.ElementType | React.ReactElement<any> | null;
103
+ trailingVisual?: React.ElementType | React.ReactElement<any> | null;
104
+ trailingAction?: React.ElementType | null;
105
+ children?: React.ReactNode;
106
+ count?: number | string;
107
+ } & {
108
+ variant?: import("../Button/types").VariantType;
109
+ size?: import("../Button/types").Size;
110
+ disabled?: boolean;
111
+ block?: boolean;
112
+ loading?: boolean;
113
+ loadingAnnouncement?: string;
114
+ inactive?: boolean;
115
+ labelWrap?: boolean;
116
+ } & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<unknown>>;
94
117
  export declare const ActionBarGroup: React.ForwardRefExoticComponent<{
95
118
  children?: React.ReactNode | undefined;
96
119
  } & React.RefAttributes<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBar.d.ts","sourceRoot":"","sources":["../../src/ActionBar/ActionBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActionBar.d.ts","sourceRoot":"","sources":["../../src/ActionBar/ActionBar.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import React, { forwardRef, useRef, useState, useMemo, useCallback, useContext,
3
3
  import { KebabHorizontalIcon } from '@primer/octicons-react';
4
4
  import { ActionList } from '../ActionList/index.js';
5
5
  import { IconButton } from '../Button/IconButton.js';
6
+ import { ButtonComponent } from '../Button/Button.js';
6
7
  import { useFocusZone } from '../hooks/useFocusZone.js';
7
8
  import styles from './ActionBar.module.css.js';
8
9
  import { clsx } from 'clsx';
@@ -359,6 +360,97 @@ const ActionBarIconButton = /*#__PURE__*/forwardRef(({
359
360
  "data-overflowing": dataOverflowingAttr
360
361
  });
361
362
  });
363
+ const ActionBarButton = /*#__PURE__*/forwardRef((t0, forwardedRef) => {
364
+ const $ = c(19);
365
+ let disabled;
366
+ let onClick;
367
+ let props;
368
+ if ($[0] !== t0) {
369
+ ({
370
+ disabled,
371
+ onClick,
372
+ ...props
373
+ } = t0);
374
+ $[0] = t0;
375
+ $[1] = disabled;
376
+ $[2] = onClick;
377
+ $[3] = props;
378
+ } else {
379
+ disabled = $[1];
380
+ onClick = $[2];
381
+ props = $[3];
382
+ }
383
+ const ref = useRef(null);
384
+ const mergedRef = useMergedRefs(forwardedRef, ref);
385
+ const {
386
+ size
387
+ } = React.useContext(ActionBarContext);
388
+ const {
389
+ children,
390
+ leadingVisual
391
+ } = props;
392
+ const t1 = typeof leadingVisual === "function" ? leadingVisual : undefined;
393
+ const t2 = !!disabled;
394
+ const t3 = onClick;
395
+ let t4;
396
+ if ($[4] !== children || $[5] !== t1 || $[6] !== t2 || $[7] !== t3) {
397
+ t4 = {
398
+ type: "action",
399
+ label: children,
400
+ icon: t1,
401
+ disabled: t2,
402
+ onClick: t3
403
+ };
404
+ $[4] = children;
405
+ $[5] = t1;
406
+ $[6] = t2;
407
+ $[7] = t3;
408
+ $[8] = t4;
409
+ } else {
410
+ t4 = $[8];
411
+ }
412
+ const {
413
+ dataOverflowingAttr
414
+ } = useActionBarItem(ref, t4);
415
+ let t5;
416
+ if ($[9] !== disabled || $[10] !== onClick) {
417
+ t5 = event => {
418
+ var _onClick;
419
+ if (disabled) {
420
+ return;
421
+ }
422
+ (_onClick = onClick) === null || _onClick === void 0 ? void 0 : _onClick(event);
423
+ };
424
+ $[9] = disabled;
425
+ $[10] = onClick;
426
+ $[11] = t5;
427
+ } else {
428
+ t5 = $[11];
429
+ }
430
+ const clickHandler = t5;
431
+ let t6;
432
+ if ($[12] !== clickHandler || $[13] !== dataOverflowingAttr || $[14] !== disabled || $[15] !== mergedRef || $[16] !== props || $[17] !== size) {
433
+ t6 = /*#__PURE__*/jsx(ButtonComponent, {
434
+ "aria-disabled": disabled,
435
+ ref: mergedRef,
436
+ size: size,
437
+ onClick: clickHandler,
438
+ ...props,
439
+ variant: "invisible",
440
+ "data-overflowing": dataOverflowingAttr
441
+ });
442
+ $[12] = clickHandler;
443
+ $[13] = dataOverflowingAttr;
444
+ $[14] = disabled;
445
+ $[15] = mergedRef;
446
+ $[16] = props;
447
+ $[17] = size;
448
+ $[18] = t6;
449
+ } else {
450
+ t6 = $[18];
451
+ }
452
+ return t6;
453
+ });
362
454
  const ActionBarGroupContext = /*#__PURE__*/React.createContext(null);
363
455
  const ActionBarGroup = /*#__PURE__*/forwardRef((t0, forwardedRef) => {
364
456
  const $ = c(10);
@@ -611,10 +703,10 @@ function _temp4(t0) {
611
703
  typeof onClick === "function" && onClick(event);
612
704
  },
613
705
  disabled: disabled,
614
- children: [/*#__PURE__*/jsx(ActionList.LeadingVisual, {
706
+ children: [Icon ? /*#__PURE__*/jsx(ActionList.LeadingVisual, {
615
707
  children: /*#__PURE__*/jsx(Icon, {})
616
- }), label]
617
- }, label);
708
+ }) : null, label]
709
+ }, id);
618
710
  }
619
711
  if (menuItem.type === "menu") {
620
712
  const menuItems = menuItem.items;
@@ -645,4 +737,4 @@ function _temp7(item, index) {
645
737
  return renderMenuItem(item, index);
646
738
  }
647
739
 
648
- export { ActionBar, ActionBarGroup, ActionBarIconButton, ActionBarMenu, VerticalDivider };
740
+ export { ActionBar, ActionBarButton, ActionBarGroup, ActionBarIconButton, ActionBarMenu, VerticalDivider };
@@ -1,6 +1,26 @@
1
- export type { ActionBarProps, ActionBarMenuProps, ActionBarMenuItemProps } from './ActionBar';
1
+ export type { ActionBarProps, ActionBarButtonProps, ActionBarMenuProps, ActionBarMenuItemProps } from './ActionBar';
2
2
  declare const ActionBar: import("react").FC<import("react").PropsWithChildren<import("./ActionBar").ActionBarProps>> & {
3
3
  IconButton: import("react").ForwardRefExoticComponent<import("./ActionBar").ActionBarIconButtonProps & import("react").RefAttributes<unknown>>;
4
+ Button: import("react").ForwardRefExoticComponent<{
5
+ disabled?: boolean;
6
+ } & {
7
+ alignContent?: import("../Button/types").AlignContent;
8
+ icon?: React.FunctionComponent<import("@primer/octicons-react").IconProps> | React.ElementType | React.ReactElement<any> | null;
9
+ leadingVisual?: React.ElementType | React.ReactElement<any> | null;
10
+ trailingVisual?: React.ElementType | React.ReactElement<any> | null;
11
+ trailingAction?: React.ElementType | null;
12
+ children?: React.ReactNode;
13
+ count?: number | string;
14
+ } & {
15
+ variant?: import("../Button/types").VariantType;
16
+ size?: import("../Button/types").Size;
17
+ disabled?: boolean;
18
+ block?: boolean;
19
+ loading?: boolean;
20
+ loadingAnnouncement?: string;
21
+ inactive?: boolean;
22
+ labelWrap?: boolean;
23
+ } & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<unknown>>;
4
24
  Divider: () => import("react").JSX.Element;
5
25
  Group: import("react").ForwardRefExoticComponent<{
6
26
  children?: import("react").ReactNode | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ActionBar/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAC,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAE3F,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAKb,CAAA;AAEF,eAAe,SAAS,CAAA;AACxB,OAAO,EAAC,SAAS,EAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ActionBar/index.ts"],"names":[],"mappings":"AAQA,YAAY,EAAC,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAEjH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMb,CAAA;AAEF,eAAe,SAAS,CAAA;AACxB,OAAO,EAAC,SAAS,EAAC,CAAA"}
@@ -1,7 +1,8 @@
1
- import { ActionBar as ActionBar$1, ActionBarMenu, ActionBarGroup, VerticalDivider, ActionBarIconButton } from './ActionBar.js';
1
+ import { ActionBar as ActionBar$1, ActionBarMenu, ActionBarGroup, VerticalDivider, ActionBarButton, ActionBarIconButton } from './ActionBar.js';
2
2
 
3
3
  const ActionBar = Object.assign(ActionBar$1, {
4
4
  IconButton: ActionBarIconButton,
5
+ Button: ActionBarButton,
5
6
  Divider: VerticalDivider,
6
7
  Group: ActionBarGroup,
7
8
  Menu: ActionBarMenu
@@ -1,3 +1,4 @@
1
+ import { c } from 'react-compiler-runtime';
1
2
  import { clsx } from 'clsx';
2
3
  import React, { forwardRef } from 'react';
3
4
  import { useDevOnlyEffect } from '../internal/hooks/useDevOnlyEffect.js';
@@ -5,27 +6,76 @@ import classes from './Heading.module.css.js';
5
6
  import { jsx } from 'react/jsx-runtime';
6
7
  import { useMergedRefs } from '../hooks/useMergedRefs.js';
7
8
 
8
- const Heading = /*#__PURE__*/forwardRef(({
9
- as: Component = 'h2',
10
- className,
11
- variant,
12
- ...props
13
- }, forwardedRef) => {
9
+ const Heading = /*#__PURE__*/forwardRef((t0, forwardedRef) => {
10
+ const $ = c(15);
11
+ let className;
12
+ let props;
13
+ let t1;
14
+ let variant;
15
+ if ($[0] !== t0) {
16
+ ({
17
+ as: t1,
18
+ className,
19
+ variant,
20
+ ...props
21
+ } = t0);
22
+ $[0] = t0;
23
+ $[1] = className;
24
+ $[2] = props;
25
+ $[3] = t1;
26
+ $[4] = variant;
27
+ } else {
28
+ className = $[1];
29
+ props = $[2];
30
+ t1 = $[3];
31
+ variant = $[4];
32
+ }
33
+ const Component = t1 === undefined ? "h2" : t1;
14
34
  const innerRef = React.useRef(null);
15
35
  const mergedRef = useMergedRefs(forwardedRef, innerRef);
16
- useDevOnlyEffect(() => {
17
- if (innerRef.current && !(innerRef.current instanceof HTMLHeadingElement)) {
18
- // eslint-disable-next-line no-console
19
- console.warn('This Heading component should be an instanceof of h1-h6');
20
- }
21
- }, [innerRef]);
22
- return /*#__PURE__*/jsx(Component, {
23
- className: clsx(className, classes.Heading),
24
- "data-variant": variant,
25
- "data-component": "Heading",
26
- ...props,
27
- ref: mergedRef
28
- });
36
+ let t2;
37
+ let t3;
38
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
39
+ t2 = () => {
40
+ if (innerRef.current && !(innerRef.current instanceof HTMLHeadingElement)) {
41
+ console.warn("This Heading component should be an instanceof of h1-h6");
42
+ }
43
+ };
44
+ t3 = [innerRef];
45
+ $[5] = t2;
46
+ $[6] = t3;
47
+ } else {
48
+ t2 = $[5];
49
+ t3 = $[6];
50
+ }
51
+ useDevOnlyEffect(t2, t3);
52
+ let t4;
53
+ if ($[7] !== className) {
54
+ t4 = clsx(className, classes.Heading);
55
+ $[7] = className;
56
+ $[8] = t4;
57
+ } else {
58
+ t4 = $[8];
59
+ }
60
+ let t5;
61
+ if ($[9] !== Component || $[10] !== mergedRef || $[11] !== props || $[12] !== t4 || $[13] !== variant) {
62
+ t5 = /*#__PURE__*/jsx(Component, {
63
+ className: t4,
64
+ "data-variant": variant,
65
+ "data-component": "Heading",
66
+ ...props,
67
+ ref: mergedRef
68
+ });
69
+ $[9] = Component;
70
+ $[10] = mergedRef;
71
+ $[11] = props;
72
+ $[12] = t4;
73
+ $[13] = variant;
74
+ $[14] = t5;
75
+ } else {
76
+ t5 = $[14];
77
+ }
78
+ return t5;
29
79
  });
30
80
  Heading.displayName = 'Heading';
31
81
 
package/dist/Link/Link.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { c } from 'react-compiler-runtime';
1
2
  import { clsx } from 'clsx';
2
3
  import React from 'react';
3
4
  import { useDevOnlyEffect } from '../internal/hooks/useDevOnlyEffect.js';
@@ -7,34 +8,89 @@ import { jsx } from 'react/jsx-runtime';
7
8
  import { useMergedRefs } from '../hooks/useMergedRefs.js';
8
9
 
9
10
  const UnwrappedLink = (props, ref) => {
10
- const {
11
- as: Component = 'a',
12
- className,
13
- inline,
14
- muted,
15
- hoverColor,
16
- ...restProps
17
- } = props;
11
+ const $ = c(19);
12
+ let className;
13
+ let hoverColor;
14
+ let inline;
15
+ let muted;
16
+ let restProps;
17
+ let t0;
18
+ if ($[0] !== props) {
19
+ ({
20
+ as: t0,
21
+ className,
22
+ inline,
23
+ muted,
24
+ hoverColor,
25
+ ...restProps
26
+ } = props);
27
+ $[0] = props;
28
+ $[1] = className;
29
+ $[2] = hoverColor;
30
+ $[3] = inline;
31
+ $[4] = muted;
32
+ $[5] = restProps;
33
+ $[6] = t0;
34
+ } else {
35
+ className = $[1];
36
+ hoverColor = $[2];
37
+ inline = $[3];
38
+ muted = $[4];
39
+ restProps = $[5];
40
+ t0 = $[6];
41
+ }
42
+ const Component = t0 === undefined ? "a" : t0;
18
43
  const innerRef = React.useRef(null);
19
44
  const mergedRef = useMergedRefs(ref, innerRef);
20
- useDevOnlyEffect(() => {
21
- if (innerRef.current && !(innerRef.current instanceof HTMLButtonElement) && !(innerRef.current instanceof HTMLAnchorElement)) {
22
- // eslint-disable-next-line no-console
23
- console.error('Error: Found `Link` component that renders an inaccessible element', innerRef.current, 'Please ensure `Link` always renders as <a> or <button>');
24
- }
25
- }, [innerRef]);
26
- return /*#__PURE__*/jsx(Component, {
27
- className: clsx(className, classes.Link),
28
- "data-component": "Link",
29
- "data-muted": muted,
30
- "data-inline": inline,
31
- "data-hover-color": hoverColor,
32
- ...restProps,
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- ref: mergedRef
35
- });
45
+ let t1;
46
+ let t2;
47
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
48
+ t1 = () => {
49
+ if (innerRef.current && !(innerRef.current instanceof HTMLButtonElement) && !(innerRef.current instanceof HTMLAnchorElement)) {
50
+ console.error("Error: Found `Link` component that renders an inaccessible element", innerRef.current, "Please ensure `Link` always renders as <a> or <button>");
51
+ }
52
+ };
53
+ t2 = [innerRef];
54
+ $[7] = t1;
55
+ $[8] = t2;
56
+ } else {
57
+ t1 = $[7];
58
+ t2 = $[8];
59
+ }
60
+ useDevOnlyEffect(t1, t2);
61
+ let t3;
62
+ if ($[9] !== className) {
63
+ t3 = clsx(className, classes.Link);
64
+ $[9] = className;
65
+ $[10] = t3;
66
+ } else {
67
+ t3 = $[10];
68
+ }
69
+ const t4 = mergedRef;
70
+ let t5;
71
+ if ($[11] !== Component || $[12] !== hoverColor || $[13] !== inline || $[14] !== muted || $[15] !== restProps || $[16] !== t3 || $[17] !== t4) {
72
+ t5 = /*#__PURE__*/jsx(Component, {
73
+ className: t3,
74
+ "data-component": "Link",
75
+ "data-muted": muted,
76
+ "data-inline": inline,
77
+ "data-hover-color": hoverColor,
78
+ ...restProps,
79
+ ref: t4
80
+ });
81
+ $[11] = Component;
82
+ $[12] = hoverColor;
83
+ $[13] = inline;
84
+ $[14] = muted;
85
+ $[15] = restProps;
86
+ $[16] = t3;
87
+ $[17] = t4;
88
+ $[18] = t5;
89
+ } else {
90
+ t5 = $[18];
91
+ }
92
+ return t5;
36
93
  };
37
- UnwrappedLink.displayName = "UnwrappedLink";
38
94
  const LinkComponent = fixedForwardRef(UnwrappedLink);
39
95
  const Link = Object.assign(LinkComponent, {
40
96
  displayName: 'Link'
@@ -0,0 +1,2 @@
1
+ .prc-NavList-Heading--JQMj{margin-block-end:var(--base-size-8,.5rem);margin-inline-start:calc(var(--control-medium-paddingInline-condensed,.5rem) + var(--base-size-8,.5rem))}.prc-NavList-GroupHeading-mN50z>a{color:var(--fgColor-default,#1f2328);text-decoration:inherit}.prc-NavList-GroupHeading-mN50z>a:hover{-webkit-text-decoration:underline;text-decoration:underline}
2
+ /*# sourceMappingURL=NavList-b50d982b.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/NavList/NavList.module.css.js"],"names":[],"mappings":"AAAA,2BACE,yCAAoC,CAEpC,wGACF,CAEA,kCACE,oCAA6B,CAC7B,uBACF,CAEA,wCACE,iCAA0B,CAA1B,yBACF","file":"NavList-b50d982b.css","sourcesContent":[".Heading {\n margin-block-end: var(--base-size-8);\n /* stylelint-disable-next-line primer/spacing */\n margin-inline-start: calc(var(--control-medium-paddingInline-condensed) + var(--base-size-8));\n}\n\n.GroupHeading > a {\n color: var(--fgColor-default);\n text-decoration: inherit;\n}\n\n.GroupHeading > a:hover {\n text-decoration: underline;\n}\n"]}
@@ -3,9 +3,17 @@ import type { ForwardRefComponent as PolymorphicForwardRefComponent } from '../u
3
3
  import React from 'react';
4
4
  import type { ActionListTrailingActionProps, ActionListDividerProps, ActionListLeadingVisualProps, ActionListTrailingVisualProps, ActionListGroupHeadingProps } from '../ActionList';
5
5
  import { type PolymorphicProps } from '../utils/modern-polymorphic';
6
+ import type { FCWithSlotMarker } from '../utils/types/Slots';
7
+ type NavListHeadingLevels = 'h2' | 'h3';
6
8
  export type NavListProps = {
7
9
  children: React.ReactNode;
8
10
  } & React.ComponentProps<'nav'>;
11
+ export type NavListHeadingProps = {
12
+ /** Semantic heading level for the NavList. Also sets the default level for child group headings, which render one level deeper. */
13
+ as?: NavListHeadingLevels;
14
+ /** Visually hide the heading while keeping it available to assistive technology. */
15
+ visuallyHidden?: boolean;
16
+ } & React.ComponentPropsWithoutRef<'h2'>;
9
17
  export type NavListItemProps<As extends React.ElementType = React.ElementType> = PolymorphicProps<As, 'a', {
10
18
  children: React.ReactNode;
11
19
  defaultOpen?: boolean;
@@ -40,7 +48,8 @@ export type NavListGroupExpandProps = {
40
48
  export declare const GroupExpand: React.ForwardRefExoticComponent<NavListGroupExpandProps & React.RefAttributes<HTMLButtonElement>>;
41
49
  export type NavListGroupHeadingProps = ActionListGroupHeadingProps;
42
50
  export declare const NavList: React.ForwardRefExoticComponent<Omit<NavListProps, "ref"> & React.RefAttributes<HTMLElement>> & {
43
- Description: import("..").FCWithSlotMarker<React.PropsWithChildren<import("..").ActionListDescriptionProps>>;
51
+ Description: FCWithSlotMarker<React.PropsWithChildren<import("..").ActionListDescriptionProps>>;
52
+ Heading: FCWithSlotMarker<NavListHeadingProps>;
44
53
  Item: (<As extends React.ElementType = "a">(props: import("../utils/modern-polymorphic").DistributiveOmit<React.ComponentPropsWithRef<React.ElementType extends As ? "a" : As> & {
45
54
  children: React.ReactNode;
46
55
  defaultOpen?: boolean;
@@ -53,10 +62,10 @@ export declare const NavList: React.ForwardRefExoticComponent<Omit<NavListProps,
53
62
  displayName: string;
54
63
  };
55
64
  SubNav: PolymorphicForwardRefComponent<"ul", NavListSubNavProps>;
56
- LeadingVisual: import("..").FCWithSlotMarker<React.PropsWithChildren<import("../ActionList/Visuals").VisualProps>>;
57
- TrailingVisual: import("..").FCWithSlotMarker<React.PropsWithChildren<import("../ActionList/Visuals").VisualProps>>;
65
+ LeadingVisual: FCWithSlotMarker<React.PropsWithChildren<import("../ActionList/Visuals").VisualProps>>;
66
+ TrailingVisual: FCWithSlotMarker<React.PropsWithChildren<import("../ActionList/Visuals").VisualProps>>;
58
67
  TrailingAction: PolymorphicForwardRefComponent<"a" | "button", ActionListTrailingActionProps>;
59
- Divider: import("..").FCWithSlotMarker<React.PropsWithChildren<ActionListDividerProps>>;
68
+ Divider: FCWithSlotMarker<React.PropsWithChildren<ActionListDividerProps>>;
60
69
  Group: React.FC<NavListGroupProps>;
61
70
  GroupExpand: React.ForwardRefExoticComponent<NavListGroupExpandProps & React.RefAttributes<HTMLButtonElement>>;
62
71
  GroupHeading: React.FC<ActionListGroupHeadingProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"NavList.d.ts","sourceRoot":"","sources":["../../src/NavList/NavList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,IAAI,EAAC,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAC,mBAAmB,IAAI,8BAA8B,EAAC,MAAM,sBAAsB,CAAA;AAC/F,OAAO,KAAuB,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,eAAe,CAAA;AAUtB,OAAO,EAAkB,KAAK,gBAAgB,EAAC,MAAM,6BAA6B,CAAA;AAKlF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AAqB/B,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,gBAAgB,CAC/F,EAAE,EACF,GAAG,EACH;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CACF,CAAA;AAkJD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAwCD,MAAM,MAAM,yBAAyB,GAAG,4BAA4B,CAAA;AASpE,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,CAAA;AAStE,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAQxD,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,CAAA;AAStE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG;IACpE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAqBD,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,cAAc,CAAC,EAAE,6BAA6B,CAAA;IAC9C,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,KAAK,CAAC,SAAS,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,WAAW,mGAgFvB,CAAA;AAKD,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,CAAA;AAqBlE,eAAO,MAAM,OAAO;;YA7WjB,EAAE,SAAS,KAAK,CAAC,WAAW;kBATjB,KAAK,CAAC,SAAS;sBACX,OAAO;eACd,MAAM;yBACI,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO;uBAC7E,MAAM;;;;;;;;;;;;;;CA6XvB,CAAA"}
1
+ {"version":3,"file":"NavList.d.ts","sourceRoot":"","sources":["../../src/NavList/NavList.tsx"],"names":[],"mappings":"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"}