@primer/react 38.30.0-rc.dc0369509 → 38.30.0

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 (67) hide show
  1. package/CHANGELOG.md +12 -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/NavList/NavList-b50d982b.css +2 -0
  9. package/dist/NavList/NavList-b50d982b.css.map +1 -0
  10. package/dist/NavList/NavList.d.ts +13 -4
  11. package/dist/NavList/NavList.d.ts.map +1 -1
  12. package/dist/NavList/NavList.js +238 -70
  13. package/dist/NavList/NavList.module.css.js +2 -2
  14. package/dist/SelectPanel/SelectPanel.d.ts +2 -2
  15. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -1
  16. package/dist/SelectPanel/SelectPanel.js +4 -1
  17. package/dist/UnderlineNav/UnderlineNav-47547980.css +2 -0
  18. package/dist/UnderlineNav/UnderlineNav-47547980.css.map +1 -0
  19. package/dist/UnderlineNav/UnderlineNav.d.ts +1 -2
  20. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -1
  21. package/dist/UnderlineNav/UnderlineNav.js +91 -331
  22. package/dist/UnderlineNav/UnderlineNav.module.css.js +2 -2
  23. package/dist/UnderlineNav/UnderlineNavContext.d.ts +1 -11
  24. package/dist/UnderlineNav/UnderlineNavContext.d.ts.map +1 -1
  25. package/dist/UnderlineNav/UnderlineNavContext.js +1 -4
  26. package/dist/UnderlineNav/UnderlineNavItem-402cd41c.css +2 -0
  27. package/dist/UnderlineNav/UnderlineNavItem-402cd41c.css.map +1 -0
  28. package/dist/UnderlineNav/UnderlineNavItem.d.ts +1 -44
  29. package/dist/UnderlineNav/UnderlineNavItem.d.ts.map +1 -1
  30. package/dist/UnderlineNav/UnderlineNavItem.js +33 -38
  31. package/dist/UnderlineNav/UnderlineNavItem.module.css.js +1 -1
  32. package/dist/UnderlineNav/UnderlineNavItemsRegistry.d.ts +51 -0
  33. package/dist/UnderlineNav/UnderlineNavItemsRegistry.d.ts.map +1 -0
  34. package/dist/UnderlineNav/UnderlineNavItemsRegistry.js +8 -0
  35. package/dist/UnderlineNav/index.d.ts +1 -1
  36. package/dist/UnderlineNav/index.d.ts.map +1 -1
  37. package/dist/UnderlineNav/utils.d.ts +2 -0
  38. package/dist/UnderlineNav/utils.d.ts.map +1 -1
  39. package/dist/UnderlineNav/utils.js +2 -1
  40. package/dist/experimental/UnderlinePanels/UnderlinePanels-162f9aed.css +2 -0
  41. package/dist/experimental/UnderlinePanels/UnderlinePanels-162f9aed.css.map +1 -0
  42. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +1 -1
  43. package/dist/experimental/UnderlinePanels/UnderlinePanels.js +8 -11
  44. package/dist/experimental/UnderlinePanels/UnderlinePanels.module.css.js +1 -1
  45. package/dist/internal/components/UnderlineTabbedInterface-1745a3d6.css +2 -0
  46. package/dist/internal/components/UnderlineTabbedInterface-1745a3d6.css.map +1 -0
  47. package/dist/internal/components/UnderlineTabbedInterface.d.ts +0 -1
  48. package/dist/internal/components/UnderlineTabbedInterface.d.ts.map +1 -1
  49. package/dist/internal/components/UnderlineTabbedInterface.js +66 -60
  50. package/dist/internal/components/UnderlineTabbedInterface.module.css.js +1 -1
  51. package/generated/components.json +72 -5
  52. package/package.json +1 -1
  53. package/dist/NavList/NavList-5dc067e3.css +0 -2
  54. package/dist/NavList/NavList-5dc067e3.css.map +0 -1
  55. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css +0 -2
  56. package/dist/UnderlineNav/UnderlineNav-4344d9b0.css.map +0 -1
  57. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css +0 -2
  58. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css.map +0 -1
  59. package/dist/UnderlineNav/styles.d.ts +0 -16
  60. package/dist/UnderlineNav/styles.d.ts.map +0 -1
  61. package/dist/UnderlineNav/styles.js +0 -19
  62. package/dist/UnderlineNav/types.d.ts +0 -10
  63. package/dist/UnderlineNav/types.d.ts.map +0 -1
  64. package/dist/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -2
  65. package/dist/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -1
  66. package/dist/internal/components/UnderlineTabbedInterface-4197ee28.css +0 -2
  67. package/dist/internal/components/UnderlineTabbedInterface-4197ee28.css.map +0 -1
@@ -1,46 +1,39 @@
1
- import React, { forwardRef, useRef, useContext } from 'react';
1
+ import React, { forwardRef, useRef, useContext, useSyncExternalStore, useCallback } from 'react';
2
2
  import { UnderlineNavContext } from './UnderlineNavContext.js';
3
- import useIsomorphicLayoutEffect from '../utils/useIsomorphicLayoutEffect.js';
4
3
  import { UnderlineItem } from '../internal/components/UnderlineTabbedInterface.js';
5
4
  import classes from './UnderlineNavItem.module.css.js';
5
+ import { UnderlineNavItemsRegistry } from './UnderlineNavItemsRegistry.js';
6
6
  import { jsx } from 'react/jsx-runtime';
7
7
 
8
- const UnderlineNavItem = /*#__PURE__*/forwardRef(({
9
- as: Component = 'a',
10
- href = '#',
11
- children,
12
- counter,
13
- onSelect,
14
- 'aria-current': ariaCurrent,
15
- icon: Icon,
16
- leadingVisual,
17
- ...props
18
- }, forwardedRef) => {
19
- const backupRef = useRef(null);
20
- const ref = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : backupRef;
8
+ const UnderlineNavItem = /*#__PURE__*/forwardRef((allProps, forwardedRef) => {
21
9
  const {
22
- setChildrenWidth,
23
- setNoIconChildrenWidth,
24
- loadingCounters,
25
- iconsVisible
10
+ as: Component = 'a',
11
+ href = '#',
12
+ children,
13
+ counter,
14
+ onSelect,
15
+ 'aria-current': ariaCurrent,
16
+ icon: Icon,
17
+ leadingVisual,
18
+ ...props
19
+ } = allProps;
20
+ const ref = useRef(null);
21
+ const {
22
+ loadingCounters
26
23
  } = useContext(UnderlineNavContext);
27
- useIsomorphicLayoutEffect(() => {
28
- if (ref.current) {
29
- const domRect = ref.current.getBoundingClientRect();
30
- const icon = Array.from(ref.current.children).find(child => child.getAttribute('data-component') === 'icon');
31
- const content = Array.from(ref.current.children).find(child => child.getAttribute('data-component') === 'text');
32
- const text = content.textContent;
33
- const iconWidthWithMargin = icon ? icon.getBoundingClientRect().width + Number(getComputedStyle(icon).marginRight.slice(0, -2)) + Number(getComputedStyle(icon).marginLeft.slice(0, -2)) : 0;
34
- setChildrenWidth({
35
- text,
36
- width: domRect.width
37
- });
38
- setNoIconChildrenWidth({
39
- text,
40
- width: domRect.width - iconWidthWithMargin
41
- });
42
- }
43
- }, [ref, setChildrenWidth, setNoIconChildrenWidth]);
24
+ const isOverflowing = useSyncExternalStore(useCallback(onChange => {
25
+ const observer = new IntersectionObserver(() => onChange(), {
26
+ threshold: 1
27
+ });
28
+ if (ref.current) observer.observe(ref.current);
29
+ return () => observer.disconnect();
30
+ }, [ref]),
31
+ // Note: the IntersectionObserver is just being used as a trigger to re-check
32
+ // `offsetTop > 0`; this is fast and simpler than checking visibility from
33
+ // the observed entry. When an item wraps, it will move to the next row which
34
+ // increases its `offsetTop`
35
+ () => ref.current ? ref.current.offsetTop > 0 : false, () => false);
36
+ UnderlineNavItemsRegistry.useRegisterDescendant(isOverflowing ? allProps : null);
44
37
  const keyDownHandler = React.useCallback(event => {
45
38
  if ((event.key === ' ' || event.key === 'Enter') && !event.defaultPrevented && typeof onSelect === 'function') {
46
39
  onSelect(event);
@@ -53,8 +46,10 @@ const UnderlineNavItem = /*#__PURE__*/forwardRef(({
53
46
  }, [onSelect]);
54
47
  return /*#__PURE__*/jsx("li", {
55
48
  className: classes.UnderlineNavItem,
49
+ ref: ref,
50
+ "aria-hidden": isOverflowing ? true : allProps['aria-hidden'],
56
51
  children: /*#__PURE__*/jsx(UnderlineItem, {
57
- ref: ref,
52
+ ref: forwardedRef,
58
53
  as: Component,
59
54
  href: href,
60
55
  "aria-current": ariaCurrent,
@@ -63,8 +58,8 @@ const UnderlineNavItem = /*#__PURE__*/forwardRef(({
63
58
  counter: counter,
64
59
  icon: leadingVisual !== null && leadingVisual !== void 0 ? leadingVisual : Icon,
65
60
  loadingCounters: loadingCounters,
66
- iconsVisible: iconsVisible,
67
61
  ...props,
62
+ tabIndex: isOverflowing ? -1 : allProps.tabIndex,
68
63
  children: children
69
64
  })
70
65
  });
@@ -1,4 +1,4 @@
1
- import './UnderlineNavItem-b65e8fd3.css';
1
+ import './UnderlineNavItem-402cd41c.css';
2
2
 
3
3
  var classes = {"UnderlineNavItem":"prc-UnderlineNav-UnderlineNavItem-syRjR"};
4
4
 
@@ -0,0 +1,51 @@
1
+ import type { IconProps } from '@primer/octicons-react';
2
+ type LinkProps = {
3
+ download?: string;
4
+ href?: string;
5
+ hrefLang?: string;
6
+ media?: string;
7
+ ping?: string;
8
+ rel?: string;
9
+ target?: string;
10
+ type?: string;
11
+ referrerPolicy?: React.AnchorHTMLAttributes<HTMLAnchorElement>['referrerPolicy'];
12
+ };
13
+ export type UnderlineNavItemProps = {
14
+ /**
15
+ * Primary content for an UnderlineNav
16
+ */
17
+ children?: React.ReactNode;
18
+ /**
19
+ * Callback that will trigger both on click selection and keyboard selection.
20
+ */
21
+ onSelect?: (event: React.MouseEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLAnchorElement>) => void;
22
+ /**
23
+ * Is `UnderlineNav.Item` current page?
24
+ */
25
+ 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false' | boolean;
26
+ /**
27
+ * Icon before the text
28
+ * @deprecated Use the `leadingVisual` prop instead
29
+ */
30
+ icon?: React.FunctionComponent<IconProps> | React.ReactElement<any>;
31
+ /**
32
+ * Render a visual before the text
33
+ */
34
+ leadingVisual?: React.ReactElement;
35
+ /**
36
+ * Renders `UnderlineNav.Item` as given component i.e. react-router's Link
37
+ **/
38
+ as?: React.ElementType | 'a';
39
+ /**
40
+ * Counter
41
+ */
42
+ counter?: number | string;
43
+ } & LinkProps;
44
+ /** Registry of currently-overflowing underline items. If an item is not overflowing, its value will be `null`. */
45
+ export declare const UnderlineNavItemsRegistry: {
46
+ Provider: ({ children, setRegistry }: import("../utils/descendant-registry").ProviderProps<UnderlineNavItemProps | null>) => import("react").JSX.Element;
47
+ useRegistryState: () => [ReadonlyMap<string, UnderlineNavItemProps | null> | undefined, import("react").Dispatch<import("react").SetStateAction<ReadonlyMap<string, UnderlineNavItemProps | null> | undefined>>];
48
+ useRegisterDescendant: (value: UnderlineNavItemProps | null) => string;
49
+ };
50
+ export {};
51
+ //# sourceMappingURL=UnderlineNavItemsRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnderlineNavItemsRegistry.d.ts","sourceRoot":"","sources":["../../src/UnderlineNav/UnderlineNavItemsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAIrD,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAA;CACjF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;IAExG;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;IAE5F;;;OAGG;IAEH,IAAI,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAEnE;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAElC;;QAEI;IACJ,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,GAAG,CAAA;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,GAAG,SAAS,CAAA;AAEb,kHAAkH;AAClH,eAAO,MAAM,yBAAyB;;;;CAA2D,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { createDescendantRegistry } from '../utils/descendant-registry.js';
2
+
3
+ // adopted from React.AnchorHTMLAttributes
4
+
5
+ /** Registry of currently-overflowing underline items. If an item is not overflowing, its value will be `null`. */
6
+ const UnderlineNavItemsRegistry = createDescendantRegistry();
7
+
8
+ export { UnderlineNavItemsRegistry };
@@ -1,5 +1,5 @@
1
1
  import type { UnderlineNavProps } from './UnderlineNav';
2
- import type { UnderlineNavItemProps } from './UnderlineNavItem';
2
+ import type { UnderlineNavItemProps } from './UnderlineNavItemsRegistry';
3
3
  declare const UnderlineNav: import("react").ForwardRefExoticComponent<UnderlineNavProps & import("react").RefAttributes<unknown>> & {
4
4
  Item: import("../utils/polymorphic").ForwardRefComponent<"a", UnderlineNavItemProps>;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/UnderlineNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAA;AAG7D,QAAA,MAAM,YAAY;;CAEhB,CAAA;AAEF,OAAO,EAAC,YAAY,EAAC,CAAA;AACrB,YAAY,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/UnderlineNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAA;AAGtE,QAAA,MAAM,YAAY;;CAEhB,CAAA;AAEF,OAAO,EAAC,YAAY,EAAC,CAAA;AACrB,YAAY,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,CAAA"}
@@ -1,3 +1,5 @@
1
1
  import React from 'react';
2
+ import type { UnderlineNavItemProps } from './UnderlineNavItemsRegistry';
2
3
  export declare const getValidChildren: (children: React.ReactNode) => React.ReactElement<any>[];
4
+ export declare const isCurrent: (props: UnderlineNavItemProps) => boolean;
3
5
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/UnderlineNav/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,GAAI,UAAU,KAAK,CAAC,SAAS,KAEgC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAChH,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/UnderlineNav/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAA;AAEtE,eAAO,MAAM,gBAAgB,GAAI,UAAU,KAAK,CAAC,SAAS,KAEgC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAChH,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,qBAAqB,YACuD,CAAA"}
@@ -4,5 +4,6 @@ const getValidChildren = children => {
4
4
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
5
  return React.Children.toArray(children).filter(child => /*#__PURE__*/React.isValidElement(child));
6
6
  };
7
+ const isCurrent = props => props['aria-current'] !== undefined && props['aria-current'] !== false && props['aria-current'] !== 'false';
7
8
 
8
- export { getValidChildren };
9
+ export { getValidChildren, isCurrent };
@@ -0,0 +1,2 @@
1
+ .prc-UnderlinePanels-StyledUnderlineWrapper-aiLna{overflow-x:auto;overflow-y:hidden;width:100%;-webkit-overflow-scrolling:auto}
2
+ /*# sourceMappingURL=UnderlinePanels-162f9aed.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/experimental/UnderlinePanels/UnderlinePanels.module.css.js"],"names":[],"mappings":"AAAA,kDAEE,eAAgB,CAChB,iBAAkB,CAFlB,UAAW,CAGX,+BACF","file":"UnderlinePanels-162f9aed.css","sourcesContent":[".StyledUnderlineWrapper {\n width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: auto;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UnderlinePanels.d.ts","sourceRoot":"","sources":["../../../src/experimental/UnderlinePanels/UnderlinePanels.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAQZ,KAAK,EAAE,EACP,KAAK,iBAAiB,EAGvB,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAerD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IACjD;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC3D;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;IACxG;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;CACrB,CAAC,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;;;;;AA8M7D,wBAA2D"}
1
+ {"version":3,"file":"UnderlinePanels.d.ts","sourceRoot":"","sources":["../../../src/experimental/UnderlinePanels/UnderlinePanels.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAQZ,KAAK,EAAE,EACP,KAAK,iBAAiB,EAGvB,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAerD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IACjD;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC3D;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;IACxG;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;CACrB,CAAC,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;;;;;AA6M7D,wBAA2D"}
@@ -138,7 +138,7 @@ const UnderlinePanels = ({
138
138
  };
139
139
  UnderlinePanels.displayName = "UnderlinePanels";
140
140
  const TabImpl = t0 => {
141
- const $ = c(16);
141
+ const $ = c(15);
142
142
  let ariaSelected;
143
143
  let onSelect;
144
144
  let props;
@@ -158,7 +158,6 @@ const TabImpl = t0 => {
158
158
  props = $[3];
159
159
  }
160
160
  const {
161
- iconsVisible,
162
161
  loadingCounters
163
162
  } = useContext(UnderlinePanelsContext);
164
163
  let t1;
@@ -189,7 +188,7 @@ const TabImpl = t0 => {
189
188
  const keyDownHandler = t2;
190
189
  const t3 = ariaSelected ? 0 : -1;
191
190
  let t4;
192
- if ($[8] !== ariaSelected || $[9] !== clickHandler || $[10] !== iconsVisible || $[11] !== keyDownHandler || $[12] !== loadingCounters || $[13] !== props || $[14] !== t3) {
191
+ if ($[8] !== ariaSelected || $[9] !== clickHandler || $[10] !== keyDownHandler || $[11] !== loadingCounters || $[12] !== props || $[13] !== t3) {
193
192
  t4 = /*#__PURE__*/jsx(UnderlineItem, {
194
193
  as: "button",
195
194
  role: "tab",
@@ -198,20 +197,18 @@ const TabImpl = t0 => {
198
197
  type: "button",
199
198
  onClick: clickHandler,
200
199
  onKeyDown: keyDownHandler,
201
- iconsVisible: iconsVisible,
202
200
  loadingCounters: loadingCounters,
203
201
  ...props
204
202
  });
205
203
  $[8] = ariaSelected;
206
204
  $[9] = clickHandler;
207
- $[10] = iconsVisible;
208
- $[11] = keyDownHandler;
209
- $[12] = loadingCounters;
210
- $[13] = props;
211
- $[14] = t3;
212
- $[15] = t4;
205
+ $[10] = keyDownHandler;
206
+ $[11] = loadingCounters;
207
+ $[12] = props;
208
+ $[13] = t3;
209
+ $[14] = t4;
213
210
  } else {
214
- t4 = $[15];
211
+ t4 = $[14];
215
212
  }
216
213
  return t4;
217
214
  };
@@ -1,4 +1,4 @@
1
- import './UnderlinePanels-e4b325b9.css';
1
+ import './UnderlinePanels-162f9aed.css';
2
2
 
3
3
  var classes = {"StyledUnderlineWrapper":"prc-UnderlinePanels-StyledUnderlineWrapper-aiLna"};
4
4
 
@@ -0,0 +1,2 @@
1
+ .prc-components-UnderlineWrapper-eT-Yj{align-items:flex-start;box-shadow:inset 0 -1px var(--borderColor-muted,#d1d9e0b3);display:flex;justify-content:flex-start;min-height:var(--control-xlarge-size,3rem);padding-top:var(--base-size-8,.5rem);padding-inline:var(--stack-padding-normal,1rem)}.prc-components-UnderlineWrapper-eT-Yj[data-variant=flush]{padding-inline:unset}.prc-components-UnderlineWrapper-eT-Yj[data-hide-icons=true] [data-component=icon]{display:none}.prc-components-UnderlineWrapper-eT-Yj[data-overflow-mode=wrap]{max-height:var(--control-xlarge-size,3rem);overflow:hidden}.prc-components-UnderlineWrapper-eT-Yj[data-overflow-mode=wrap] .prc-components-UnderlineItemList-xKlKC{flex-wrap:wrap;overflow:hidden}.prc-components-UnderlineItemList-xKlKC{display:flex;gap:var(--stack-gap-condensed,.5rem);list-style:none;margin:0;padding:0;white-space:nowrap}.prc-components-UnderlineItem-7fP-n,.prc-components-UnderlineItemList-xKlKC{align-items:center;position:relative}.prc-components-UnderlineItem-7fP-n{appearance:none;background-color:transparent;border:0;border-radius:var(--borderRadius-medium,.375rem);color:var(--fgColor-default,#1f2328);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-body-size-medium,.875rem);height:32px;line-height:var(--text-body-lineHeight-medium,1.4285);margin-bottom:var(--base-size-8,.5rem);max-width:100%;padding-block:var(--base-size-6,.375rem);padding-inline:var(--base-size-8,.5rem);text-align:center;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.prc-components-UnderlineItem-7fP-n:hover{background-color:var(--bgColor-neutral-muted,#818b981f);-webkit-text-decoration:none;text-decoration:none;transition:background-color .12s ease-out}}.prc-components-UnderlineItem-7fP-n:focus{box-shadow:inset 0 0 0 2px var(--fgColor-accent,#0969da);outline:2px solid transparent}.prc-components-UnderlineItem-7fP-n:focus:not(:focus-visible){box-shadow:none}.prc-components-UnderlineItem-7fP-n:focus-visible{box-shadow:inset 0 0 0 2px var(--fgColor-accent,#0969da);outline:2px solid transparent}.prc-components-UnderlineItem-7fP-n [data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden;white-space:nowrap}.prc-components-UnderlineItem-7fP-n [data-component=icon]{align-items:center;color:var(--fgColor-muted,#59636e);display:inline-flex;margin-inline-end:var(--base-size-8,.5rem)}.prc-components-UnderlineItem-7fP-n [data-component=text]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prc-components-UnderlineItem-7fP-n [data-component=counter]{align-items:center;display:flex;margin-inline-start:var(--base-size-8,.5rem)}.prc-components-UnderlineItem-7fP-n:after{background-color:transparent;content:"";height:2px;inset:auto 0 0;margin-bottom:calc(var(--base-size-8,.5rem)*-1);pointer-events:none;position:absolute}.prc-components-UnderlineItem-7fP-n[aria-current]:not([aria-current=false]) [data-component=text],.prc-components-UnderlineItem-7fP-n[aria-selected=true] [data-component=text]{font-weight:var(--base-text-weight-semibold,600)}.prc-components-UnderlineItem-7fP-n[aria-current]:not([aria-current=false]):after,.prc-components-UnderlineItem-7fP-n[aria-selected=true]:after{background-color:var(--underlineNav-borderColor-active,var(--color-primer-border-active,#fd8c73))}@media (forced-colors:active){.prc-components-UnderlineItem-7fP-n[aria-current]:not([aria-current=false]):after,.prc-components-UnderlineItem-7fP-n[aria-selected=true]:after{background-color:LinkText}}.prc-components-LoadingCounter-dBuLy{animation:prc-components-loadingCounterKeyFrames-8tMlf 1.2s ease-in-out infinite alternate;background-color:var(--bgColor-neutral-muted,#818b981f);border-color:var(--borderColor-default,#d1d9e0);border-radius:20px;display:inline-block;height:1rem;width:1.5rem}@keyframes prc-components-loadingCounterKeyFrames-8tMlf{0%{opacity:1}to{opacity:.2}}
2
+ /*# sourceMappingURL=UnderlineTabbedInterface-1745a3d6.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/components/UnderlineTabbedInterface.module.css.js"],"names":[],"mappings":"AAAA,uCAME,sBAAuB,CAOvB,0DAAiD,CAZjD,YAAa,CAIb,0BAA2B,CAI3B,0CAAsC,CAPtC,oCAA+B,CAE/B,+CA8BF,CAnBE,2DAEE,oBACF,CAEA,mFACE,YACF,CAEA,gEAGE,0CAAsC,CADtC,eAOF,CAJE,wGACE,cAAe,CACf,eACF,CAIJ,wCAEE,YAAa,CAMb,oCAA+B,CAF/B,eAAgB,CAFhB,QAAS,CADT,SAAU,CAEV,kBAIF,CAEA,4EAJE,kBAAmB,CANnB,iBAyCF,CA/BA,oCAmBE,eAAgB,CARhB,4BAA6B,CAC7B,QAAS,CACT,gDAAyC,CANzC,oCAA6B,CAG7B,cAAe,CAPf,mBAAoB,CACpB,YAAa,CACb,8CAAuC,CAWvC,WAAY,CAVZ,qDAAuD,CASvD,sCAAiC,CADjC,cAAe,CAOf,wCAAiC,CADjC,uCAAkC,CAZlC,iBAAkB,CAClB,4BAAqB,CAArB,oBAsBF,CAPE,qBACE,0CAEE,uDAA8C,CAD9C,4BAAqB,CAArB,oBAAqB,CAErB,yCACF,CACF,CAGF,0CAGE,wDAAiD,CAFjD,6BAQF,CAHE,8DACE,eACF,CAGF,kDAGE,wDAAiD,CAFjD,6BAGF,CAGA,0DAME,0BAA2B,CAL3B,aAAc,CAEd,gDAA6C,CAD7C,QAAS,CAGT,iBAAkB,CADlB,kBAGF,CAEA,0DAGE,kBAAmB,CADnB,kCAA2B,CAD3B,mBAAoB,CAGpB,0CACF,CAGA,0DACE,eAAgB,CAChB,sBAAuB,CACvB,kBACF,CAEA,6DAGE,kBAAmB,CADnB,YAAa,CADb,4CAGF,CAEA,0CAOE,4BAA6B,CAD7B,UAAW,CAFX,UAAW,CAFX,cAAe,CACf,+CAA4C,CAE5C,mBAAoB,CAJpB,iBAOF,CAEA,gLAEE,gDACF,CAEA,gJAGE,iGAMF,CAJE,8BALF,gJAOI,yBAEJ,CADE,CAGF,qCASE,0FAAsE,CAJtE,uDAA8C,CAC9C,+CAAwC,CAExC,kBAAmB,CAPnB,oBAAqB,CAErB,WAAY,CADZ,YAQF,CAEA,wDACE,GACE,SACF,CAEA,GACE,UACF,CACF","file":"UnderlineTabbedInterface-1745a3d6.css","sourcesContent":[".UnderlineWrapper {\n display: flex;\n padding-top: var(--base-size-8);\n /* stylelint-disable-next-line primer/spacing */\n padding-inline: var(--stack-padding-normal);\n justify-content: flex-start;\n align-items: flex-start;\n\n /* make space for the underline */\n min-height: var(--control-xlarge-size);\n\n /* using a box-shadow instead of a border to accommodate 'overflow-y: hidden' on UnderlinePanels */\n /* stylelint-disable-next-line primer/box-shadow */\n box-shadow: inset 0 -1px var(--borderColor-muted);\n\n &[data-variant='flush'] {\n /* stylelint-disable-next-line primer/spacing */\n padding-inline: unset;\n }\n\n &[data-hide-icons='true'] [data-component='icon'] {\n display: none;\n }\n\n &[data-overflow-mode='wrap'] {\n /* Wrap items onto hidden next lines */\n overflow: hidden;\n max-height: var(--control-xlarge-size);\n\n .UnderlineItemList {\n flex-wrap: wrap;\n overflow: hidden;\n }\n }\n}\n\n.UnderlineItemList {\n position: relative;\n display: flex;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n list-style: none;\n align-items: center;\n gap: var(--stack-gap-condensed);\n}\n\n.UnderlineItem {\n /* underline tab specific styles */\n position: relative;\n display: inline-flex;\n font: inherit;\n font-size: var(--text-body-size-medium);\n line-height: var(--text-body-lineHeight-medium, 1.4285);\n color: var(--fgColor-default);\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: var(--borderRadius-medium);\n max-width: 100%;\n margin-bottom: var(--base-size-8);\n height: 32px;\n\n /* button resets */\n appearance: none;\n padding-inline: var(--base-size-8);\n padding-block: var(--base-size-6);\n align-items: center;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: none;\n background-color: var(--bgColor-neutral-muted);\n transition: background-color 0.12s ease-out;\n }\n }\n}\n\n.UnderlineItem:focus {\n outline: 2px solid transparent;\n /* stylelint-disable-next-line primer/box-shadow */\n box-shadow: inset 0 0 0 2px var(--fgColor-accent);\n\n /* where focus-visible is supported, remove the focus box-shadow */\n &:not(:focus-visible) {\n box-shadow: none;\n }\n}\n\n.UnderlineItem:focus-visible {\n outline: 2px solid transparent;\n /* stylelint-disable-next-line primer/box-shadow */\n box-shadow: inset 0 0 0 2px var(--fgColor-accent);\n}\n\n/* renders a visibly hidden \"copy\" of the label in bold, reserving box space for when label becomes bold on selected */\n.UnderlineItem [data-content]::before {\n display: block;\n height: 0;\n font-weight: var(--base-text-weight-semibold);\n white-space: nowrap;\n visibility: hidden;\n content: attr(data-content);\n}\n\n.UnderlineItem [data-component='icon'] {\n display: inline-flex;\n color: var(--fgColor-muted);\n align-items: center;\n margin-inline-end: var(--base-size-8);\n}\n\n/* Truncate items if necessary (should only ever apply to the last item after everything else overflows) */\n.UnderlineItem [data-component='text'] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.UnderlineItem [data-component='counter'] {\n margin-inline-start: var(--base-size-8);\n display: flex;\n align-items: center;\n}\n\n.UnderlineItem::after {\n position: absolute;\n inset: auto 0 0;\n margin-bottom: calc(-1 * var(--base-size-8));\n height: 2px;\n pointer-events: none;\n content: '';\n background-color: transparent;\n}\n\n.UnderlineItem[aria-current]:not([aria-current='false']) [data-component='text'],\n.UnderlineItem[aria-selected='true'] [data-component='text'] {\n font-weight: var(--base-text-weight-semibold);\n}\n\n.UnderlineItem[aria-current]:not([aria-current='false'])::after,\n.UnderlineItem[aria-selected='true']::after {\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--underlineNav-borderColor-active, var(--color-primer-border-active, #fd8c73));\n\n @media (forced-colors: active) {\n /* Support for Window Force Color Mode https://learn.microsoft.com/en-us/fluent-ui/web-components/design-system/high-contrast */\n background-color: LinkText;\n }\n}\n\n.LoadingCounter {\n display: inline-block;\n width: 1.5rem;\n height: 1rem;\n /* 16px */\n background-color: var(--bgColor-neutral-muted);\n border-color: var(--borderColor-default);\n /* stylelint-disable-next-line primer/borders */\n border-radius: 20px;\n animation: loadingCounterKeyFrames 1.2s ease-in-out infinite alternate;\n}\n\n@keyframes loadingCounterKeyFrames {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0.2;\n }\n}\n"]}
@@ -15,7 +15,6 @@ export declare const LoadingCounter: () => React.JSX.Element;
15
15
  export type UnderlineItemProps<As extends React.ElementType> = {
16
16
  as?: As | 'a' | 'button';
17
17
  className?: string;
18
- iconsVisible?: boolean;
19
18
  loadingCounters?: boolean;
20
19
  counter?: number | string;
21
20
  icon?: FC<IconProps> | React.ReactElement<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"UnderlineTabbedInterface.d.ts","sourceRoot":"","sources":["../../../src/internal/components/UnderlineTabbedInterface.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAgC,KAAK,EAAE,EAA0B,KAAK,WAAW,EAAC,MAAM,OAAO,CAAA;AAEtG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAErD,OAAO,KAAK,EAAC,mBAAmB,IAAI,8BAA8B,EAAC,MAAM,yBAAyB,CAAA;AAMlG,eAAO,MAAM,GAAG,IAAI,CAAA;AAgBpB,KAAK,qBAAqB,CAAC,EAAE,SAAS,KAAK,CAAC,WAAW,IAAI;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAWvB,8BAA8B,CAAC,WAAW,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAA;AAErF,eAAO,MAAM,iBAAiB,EAMxB,8BAA8B,CAAC,IAAI,CAAC,CAAA;AAE1C,eAAO,MAAM,cAAc,yBAE1B,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,KAAK,CAAC,WAAW,IAAI;IAC7D,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEzB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;CACzB,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG,EAAE,SAAS,QAAQ,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;AAE9F,eAAO,MAAM,aAAa,EAwBpB,8BAA8B,CAAC,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"UnderlineTabbedInterface.d.ts","sourceRoot":"","sources":["../../../src/internal/components/UnderlineTabbedInterface.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAgC,KAAK,EAAE,EAAE,KAAK,WAAW,EAAC,MAAM,OAAO,CAAA;AAE9E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAA;AAErD,OAAO,KAAK,EAAC,mBAAmB,IAAI,8BAA8B,EAAC,MAAM,yBAAyB,CAAA;AAMlG,eAAO,MAAM,GAAG,IAAI,CAAA;AAgBpB,KAAK,qBAAqB,CAAC,EAAE,SAAS,KAAK,CAAC,WAAW,IAAI;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAYvB,8BAA8B,CAAC,WAAW,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAA;AAErF,eAAO,MAAM,iBAAiB,EAMxB,8BAA8B,CAAC,IAAI,CAAC,CAAA;AAE1C,eAAO,MAAM,cAAc,yBAE1B,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,KAAK,CAAC,WAAW,IAAI;IAC7D,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEzB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;CACzB,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG,EAAE,SAAS,QAAQ,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;AAE9F,eAAO,MAAM,aAAa,EAwBpB,8BAA8B,CAAC,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAA"}
@@ -6,8 +6,6 @@ import { clsx } from 'clsx';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
  import CounterLabel from '../../CounterLabel/CounterLabel.js';
8
8
 
9
- const GAP = 8;
10
-
11
9
  // Helper to extract direct text content from children for the data-content attribute.
12
10
  // This is used by CSS to reserve space for bold text (preventing layout shift).
13
11
  // Only extracts strings/numbers, not text from nested React elements (e.g., Popovers).
@@ -75,37 +73,50 @@ const UnderlineWrapper = /*#__PURE__*/forwardRef((props, ref) => {
75
73
  return t3;
76
74
  });
77
75
  const UnderlineItemList = /*#__PURE__*/forwardRef((t0, forwardedRef) => {
78
- const $ = c(7);
76
+ const $ = c(11);
79
77
  let children;
78
+ let className;
80
79
  let rest;
81
80
  if ($[0] !== t0) {
82
81
  ({
83
82
  children,
83
+ className,
84
84
  ...rest
85
85
  } = t0);
86
86
  $[0] = t0;
87
87
  $[1] = children;
88
- $[2] = rest;
88
+ $[2] = className;
89
+ $[3] = rest;
89
90
  } else {
90
91
  children = $[1];
91
- rest = $[2];
92
+ className = $[2];
93
+ rest = $[3];
92
94
  }
93
95
  let t1;
94
- if ($[3] !== children || $[4] !== forwardedRef || $[5] !== rest) {
95
- t1 = /*#__PURE__*/jsx("ul", {
96
- className: classes.UnderlineItemList,
96
+ if ($[4] !== className) {
97
+ t1 = clsx(className, classes.UnderlineItemList);
98
+ $[4] = className;
99
+ $[5] = t1;
100
+ } else {
101
+ t1 = $[5];
102
+ }
103
+ let t2;
104
+ if ($[6] !== children || $[7] !== forwardedRef || $[8] !== rest || $[9] !== t1) {
105
+ t2 = /*#__PURE__*/jsx("ul", {
106
+ className: t1,
97
107
  ref: forwardedRef,
98
108
  ...rest,
99
109
  children: children
100
110
  });
101
- $[3] = children;
102
- $[4] = forwardedRef;
103
- $[5] = rest;
104
- $[6] = t1;
111
+ $[6] = children;
112
+ $[7] = forwardedRef;
113
+ $[8] = rest;
114
+ $[9] = t1;
115
+ $[10] = t2;
105
116
  } else {
106
- t1 = $[6];
117
+ t2 = $[10];
107
118
  }
108
- return t1;
119
+ return t2;
109
120
  });
110
121
  const LoadingCounter = () => {
111
122
  const $ = c(1);
@@ -121,12 +132,11 @@ const LoadingCounter = () => {
121
132
  return t0;
122
133
  };
123
134
  const UnderlineItem = /*#__PURE__*/React.forwardRef((props, ref) => {
124
- const $ = c(30);
135
+ const $ = c(28);
125
136
  let Icon;
126
137
  let children;
127
138
  let className;
128
139
  let counter;
129
- let iconsVisible;
130
140
  let loadingCounters;
131
141
  let rest;
132
142
  let t0;
@@ -136,7 +146,6 @@ const UnderlineItem = /*#__PURE__*/React.forwardRef((props, ref) => {
136
146
  children,
137
147
  counter,
138
148
  icon: Icon,
139
- iconsVisible,
140
149
  loadingCounters,
141
150
  className,
142
151
  ...rest
@@ -146,65 +155,62 @@ const UnderlineItem = /*#__PURE__*/React.forwardRef((props, ref) => {
146
155
  $[2] = children;
147
156
  $[3] = className;
148
157
  $[4] = counter;
149
- $[5] = iconsVisible;
150
- $[6] = loadingCounters;
151
- $[7] = rest;
152
- $[8] = t0;
158
+ $[5] = loadingCounters;
159
+ $[6] = rest;
160
+ $[7] = t0;
153
161
  } else {
154
162
  Icon = $[1];
155
163
  children = $[2];
156
164
  className = $[3];
157
165
  counter = $[4];
158
- iconsVisible = $[5];
159
- loadingCounters = $[6];
160
- rest = $[7];
161
- t0 = $[8];
166
+ loadingCounters = $[5];
167
+ rest = $[6];
168
+ t0 = $[7];
162
169
  }
163
170
  const Component = t0 === undefined ? "a" : t0;
164
171
  let t1;
165
- if ($[9] !== children) {
172
+ if ($[8] !== children) {
166
173
  t1 = getTextContent(children);
167
- $[9] = children;
168
- $[10] = t1;
174
+ $[8] = children;
175
+ $[9] = t1;
169
176
  } else {
170
- t1 = $[10];
177
+ t1 = $[9];
171
178
  }
172
179
  const textContent = t1;
173
180
  let t2;
174
- if ($[11] !== className) {
181
+ if ($[10] !== className) {
175
182
  t2 = clsx(classes.UnderlineItem, className);
176
- $[11] = className;
177
- $[12] = t2;
183
+ $[10] = className;
184
+ $[11] = t2;
178
185
  } else {
179
- t2 = $[12];
186
+ t2 = $[11];
180
187
  }
181
188
  let t3;
182
- if ($[13] !== Icon || $[14] !== iconsVisible) {
183
- t3 = iconsVisible && Icon && /*#__PURE__*/jsx("span", {
189
+ if ($[12] !== Icon) {
190
+ t3 = Icon && /*#__PURE__*/jsx("span", {
184
191
  "data-component": "icon",
185
192
  children: isElement(Icon) ? Icon : /*#__PURE__*/jsx(Icon, {})
186
193
  });
187
- $[13] = Icon;
188
- $[14] = iconsVisible;
189
- $[15] = t3;
194
+ $[12] = Icon;
195
+ $[13] = t3;
190
196
  } else {
191
- t3 = $[15];
197
+ t3 = $[13];
192
198
  }
193
199
  let t4;
194
- if ($[16] !== children || $[17] !== textContent) {
200
+ if ($[14] !== children || $[15] !== textContent) {
195
201
  t4 = children && /*#__PURE__*/jsx("span", {
196
202
  "data-component": "text",
197
203
  "data-content": textContent || undefined,
198
204
  children: children
199
205
  });
200
- $[16] = children;
201
- $[17] = textContent;
202
- $[18] = t4;
206
+ $[14] = children;
207
+ $[15] = textContent;
208
+ $[16] = t4;
203
209
  } else {
204
- t4 = $[18];
210
+ t4 = $[16];
205
211
  }
206
212
  let t5;
207
- if ($[19] !== counter || $[20] !== loadingCounters) {
213
+ if ($[17] !== counter || $[18] !== loadingCounters) {
208
214
  t5 = counter !== undefined ? loadingCounters ? /*#__PURE__*/jsx("span", {
209
215
  "data-component": "counter",
210
216
  children: /*#__PURE__*/jsx(LoadingCounter, {})
@@ -214,32 +220,32 @@ const UnderlineItem = /*#__PURE__*/React.forwardRef((props, ref) => {
214
220
  children: counter
215
221
  })
216
222
  }) : null;
217
- $[19] = counter;
218
- $[20] = loadingCounters;
219
- $[21] = t5;
223
+ $[17] = counter;
224
+ $[18] = loadingCounters;
225
+ $[19] = t5;
220
226
  } else {
221
- t5 = $[21];
227
+ t5 = $[19];
222
228
  }
223
229
  let t6;
224
- if ($[22] !== Component || $[23] !== ref || $[24] !== rest || $[25] !== t2 || $[26] !== t3 || $[27] !== t4 || $[28] !== t5) {
230
+ if ($[20] !== Component || $[21] !== ref || $[22] !== rest || $[23] !== t2 || $[24] !== t3 || $[25] !== t4 || $[26] !== t5) {
225
231
  t6 = /*#__PURE__*/jsxs(Component, {
226
232
  ...rest,
227
233
  ref: ref,
228
234
  className: t2,
229
235
  children: [t3, t4, t5]
230
236
  });
231
- $[22] = Component;
232
- $[23] = ref;
233
- $[24] = rest;
234
- $[25] = t2;
235
- $[26] = t3;
236
- $[27] = t4;
237
- $[28] = t5;
238
- $[29] = t6;
237
+ $[20] = Component;
238
+ $[21] = ref;
239
+ $[22] = rest;
240
+ $[23] = t2;
241
+ $[24] = t3;
242
+ $[25] = t4;
243
+ $[26] = t5;
244
+ $[27] = t6;
239
245
  } else {
240
- t6 = $[29];
246
+ t6 = $[27];
241
247
  }
242
248
  return t6;
243
249
  });
244
250
 
245
- export { GAP, LoadingCounter, UnderlineItem, UnderlineItemList, UnderlineWrapper };
251
+ export { LoadingCounter, UnderlineItem, UnderlineItemList, UnderlineWrapper };
@@ -1,4 +1,4 @@
1
- import './UnderlineTabbedInterface-4197ee28.css';
1
+ import './UnderlineTabbedInterface-1745a3d6.css';
2
2
 
3
3
  var classes = {"UnderlineWrapper":"prc-components-UnderlineWrapper-eT-Yj","UnderlineItemList":"prc-components-UnderlineItemList-xKlKC","UnderlineItem":"prc-components-UnderlineItem-7fP-n","LoadingCounter":"prc-components-LoadingCounter-dBuLy","loadingCounterKeyFrames":"prc-components-loadingCounterKeyFrames-8tMlf"};
4
4