Skip to content

Update dependency @primer/react to v38#1595

Closed
dashql-renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-primer
Closed

Update dependency @primer/react to v38#1595
dashql-renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-primer

Conversation

@dashql-renovate
Copy link
Copy Markdown
Contributor

@dashql-renovate dashql-renovate bot commented Mar 19, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@primer/react ^37.31.0^38.18.0 age confidence

Release Notes

primer/react (@​primer/react)

v38.18.0

Compare Source

Minor Changes
  • #​7700 91bf343 Thanks @​francinelucca! - ActionMenu: Graduate primer_react_action_menu_display_in_viewport_inside_dialog feature flag. ActionMenu now automatically uses displayInViewport when rendered inside a Dialog, without requiring the feature flag.

  • #​7699 1505d9b Thanks @​francinelucca! - SelectPanel: Add displayInViewport prop

  • #​7662 39c8cf3 Thanks @​HiroAgustin! - Timeline: Update clipSidebar prop to accept 'start', 'end', or 'both' in addition to boolean. Use 'start' to only clip the top, 'end' to only clip the bottom, or 'both'/true to clip both ends.

  • #​7686 6cd13c0 Thanks @​JelloBagel! - StateLabel: Add new type: archived

Patch Changes
  • #​7690 b492cc8 Thanks @​HiroAgustin! - fix(Button): Apply inline-flex display to loading wrapper for link variant buttons

  • #​7696 1acb7d3 Thanks @​francinelucca! - Fix item dividers not visible in SelectPanel and FilteredActionList when showItemDividers is enabled, caused by content-visibility: auto clipping the absolutely-positioned divider pseudo-elements.

  • #​7683 f05fcac Thanks @​liuliu-dev! - Dialog: dynamically switch footer button layout based on available height.

  • #​7676 35ca056 Thanks @​HiroAgustin! - Remove link underline effect on hover for both Link (inline) and Button with variant link (no visuals)

  • #​7631 0ecaf6f Thanks @​mattcosta7! - Add test to validate that the muted prop is not leaked as a bare DOM attribute on Link

v38.17.0

Compare Source

Minor Changes
  • #​7658 259fdff Thanks @​hussam-i-am! - fix(polymorphic): Improve prop passthrough for ActionList.LinkItem and Breadcrumbs.Item

  • #​7672 77735f9 Thanks @​iansan5653! - - New: Exposes new useMergedRefs hook that can merge two refs into a single combined ref

    • Deprecates useRefObjectAsForwardedRef; see doc comment for migration instructions
    • Deprecates useProvidedRefOrCreate; see doc comment for migration instructions
  • #​7623 42847d1 Thanks @​copilot-swe-agent! - IconButton: keybindingHint now accepts string[] in addition to string. Multiple hints are rendered joined with "or".

Patch Changes

v38.16.0

Compare Source

Minor Changes

v38.15.1

Compare Source

Patch Changes

v38.15.0

Compare Source

Minor Changes
Patch Changes

v38.14.0

Compare Source

Minor Changes
  • #​7531 0cfb938 Thanks @​hectahertz! - SelectPanel: Add built-in client-side list virtualization via a new virtualized prop. When enabled, only the visible items plus a small overscan buffer are rendered in the DOM, dramatically improving performance for large lists.
Patch Changes

v38.13.0

Compare Source

Minor Changes
Patch Changes

v38.12.0

Compare Source

Minor Changes
  • #​7348 3c160b2 Thanks @​mattcosta7! - Add currentWidth and onResizeEnd props to PageLayout.Pane for controlled resizable width

    The PageLayout.Pane component now supports controlled width:

    • onResizeEnd — callback fired when a resize operation ends (pointer release or keyboard key up). Replaces localStorage persistence. Requires currentWidth.
    • currentWidth — sets the current displayed width in pixels (number | undefined). Pass undefined when the persisted value hasn't loaded yet. Requires onResizeEnd.

    Both props must be provided together (enforced by TypeScript). resizable remains a plain boolean prop.

    These props are only meaningful when resizable={true} — without it, no drag handle renders so onResizeEnd never fires.

    New export:

    • defaultPaneWidth — Record of preset width values: {small: 256, medium: 296, large: 320}

    Example usage:

    import {PageLayout, defaultPaneWidth} from '@​primer/react'
    
    // Default behavior (unchanged) — localStorage persistence
    <PageLayout.Pane resizable />
    
    // Controlled width with custom persistence
    const [width, setWidth] = useState(defaultPaneWidth.medium)
    <PageLayout.Pane
      resizable
      currentWidth={width}
      onResizeEnd={(newWidth) => {
        setWidth(newWidth)
        myStorage.save('pane-width', newWidth)
      }}
    />
    
    // Async load — pass undefined until value is fetched
    <PageLayout.Pane
      resizable
      currentWidth={savedWidth ?? undefined}
      onResizeEnd={handleResizeEnd}
    />
Patch Changes

v38.11.0

Compare Source

Minor Changes
Patch Changes

v38.10.0

Compare Source

Minor Changes

v38.9.0

Compare Source

Permalink to Storybook

Minor Changes
  • #​7472 661d16f Thanks @​copilot-swe-agent! - StateLabel: Add alert status variants (alertOpened, alertFixed, alertClosed, alertDismissed) with corresponding shield icons for displaying security alert states
Patch Changes
  • #​7471 df4bd30 Thanks @​llastflowers! - Add breakpoint to shrink gutter around dialog on very small screen heights

  • #​7468 731fb71 Thanks @​jonrohan! - feat(ActionList): Optimizes CSS selector performance in ActionList by replacing expensive universal selectors (*) and broad :has() queries with targeted class selectors.

v38.8.0

Compare Source

Minor Changes
Patch Changes
  • #​7451 0fc4523 Thanks @​daantosaurus! - UnderlineNav.Item: Fix layout issues when children contain React elements by extracting only direct text content for the data-content attribute.

v38.7.1

Compare Source

Patch Changes

v38.7.0

Compare Source

Minor Changes
Patch Changes
  • #​7354 efbebdf Thanks @​llastflowers! - update SelectPanel Multi Select Modal story

  • #​7426 094be60 Thanks @​kelsey-myers! - Add focusPrependedElements prop to useFocusZone, FilteredActionList, and SelectPanel

  • #​7349 713d5a5 Thanks @​mattcosta7! - PageLayout: Optimize drag/resize performance with inline styles and new optimizations

    Refactored:

    • Use direct attribute selectors (.Pane[data-dragging='true']) instead of descendant selectors for CSS containment (O(1) vs O(n) selector matching)
    • Extract optimization utilities to paneUtils.ts
    • Apply drag handle visual feedback via inline styles and CSS variables

    Added:

    • content-visibility: auto during drag/resize to skip off-screen content rendering
    • rAF throttle for drag updates (one update per frame, latest position wins)
    • Containment during window resize (parity with drag)

    These changes improve style recalculation performance on large DOMs (100k+ nodes) by eliminating descendant selector traversal.

  • #​7337 de970d6 Thanks @​mattcosta7! - perf(Autocomplete): Split context to reduce unnecessary re-renders

    Split AutocompleteContext into separate contexts for static values, setters, and dynamic state.
    Components now subscribe only to the context slices they need, reducing re-renders.

  • #​7325 cc7e10e Thanks @​mattcosta7! - perf(BaseStyles): Remove expensive :has([data-color-mode]) selectors

    Remove :has([data-color-mode]) selectors that scanned the entire DOM on every style recalculation.
    Input color-scheme is already handled by global selectors in the codebase.

  • #​7329 501a41f Thanks @​mattcosta7! - perf(Dialog): Add feature flag for CSS :has() selector performance optimization

    • Add primer_react_css_has_selector_perf feature flag (default: false)
    • When flag is OFF: uses legacy body:has(.Dialog.DisableScroll) selector
    • When flag is ON: uses optimized direct body[data-dialog-scroll-disabled] data attribute with ref counting
    • Enables gradual rollout and easy rollback of performance optimization
  • #​7342 a8b42b2 Thanks @​mattcosta7! - perf(hasInteractiveNodes): Optimize with combined selector and early attribute checks

    • Use combined querySelectorAll selector instead of recursive traversal
    • Check attribute-based states (disabled, hidden, inert) before getComputedStyle
    • Only call getComputedStyle when CSS-based visibility check is needed

v38.6.2

Compare Source

Patch Changes
  • #​7334 ea4789f Thanks @​mattcosta7! - perf(TreeView): Cache tree items in typeahead for better INP

    • Add useTreeItemCache hook to cache DOM queries for tree items
    • Update useRovingTabIndex and useTypeahead to use cached items
    • Add documentation for acceptable :has() selector usage
  • #​7347 72c7a7f Thanks @​owenniblock! - Only shows the aria-describedby id for loading when the component is in the loading state

v38.6.1

Compare Source

Patch Changes

v38.6.0

Compare Source

Minor Changes
Patch Changes

v38.5.0

Compare Source

Minor Changes
  • #​7240 79a6df1 Thanks @​TylerJDev! - FilteredActionList: Adds new prop setInitialFocus which will prevent aria-activedescendant from being set until user action

  • #​7240 79a6df1 Thanks @​TylerJDev! - FilteredActionList: Add prop disableSelectOnHover which will disable the ability where hovering over an item sets it as the aria-activedescendant value

Patch Changes

v38.4.0

Compare Source

Minor Changes
Patch Changes

v38.3.0

Compare Source

Minor Changes
Patch Changes

v38.2.0

Compare Source

Minor Changes
Patch Changes

v38.1.0

Compare Source

Permalink to Storybook

Minor Changes
Patch Changes

v38.0.0

Compare Source

Permalink to Storybook

Major Changes

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@dashql-renovate dashql-renovate bot added dependencies Pull requests that update a dependency file javascript labels Mar 19, 2026
@ankoh
Copy link
Copy Markdown
Owner

ankoh commented Mar 19, 2026

@copilot fix this

ERROR: /home/runner/work/dashql/dashql/packages/dashql-app/BUILD.bazel:162:14: Vite packages/dashql-app/pages failed: (Exit 1): pages__js_binary failed: error executing Vite command (from target //packages/dashql-app:pages) bazel-out/k8-fastbuild-exec-ST-abcbbede557c/bin/packages/dashql-app/pages__js_binary_/pages__js_binary build --config vite.config.generated.ts --mode pages --outDir pages
vite v6.4.1 building for pages...
transforming...
✓ 2171 modules transformed.

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
✗ Build failed in 6.18s
error during build:
src/view/notebook/notebook_url_share_overlay.tsx (5:9): "Box" is not exported by "../../node_modules/.aspect_rules_js/@primer+react@38.16.0_1297579787/node_modules/@primer/react/dist/index.js", imported by "src/view/notebook/notebook_url_share_overlay.tsx".
file: /home/runner/.bazel/sandbox/processwrapper-sandbox/4421/execroot/_main/bazel-out/k8-fastbuild/bin/packages/dashql-app/src/view/notebook/notebook_url_share_overlay.tsx:5:9

3: import * as styles from './notebook_url_share_overlay.module.css';
4: 
5: import { Box } from '@primer/react';
            ^
6: import { CheckIcon, PaperclipIcon } from '@primer/octicons-react';

    at getRollupError (file:///home/runner/.bazel/sandbox/processwrapper-sandbox/4421/execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/rollup@4.59.0/node_modules/rollup/dist/es/shared/parseAst.js:402:41)
    at error (file:///home/runner/.bazel/sandbox/processwrapper-sandbox/4421/execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/rollup@4.59.0/node_modules/rollup/dist/es/shared/parseAst.js:398:42)
    at Module.error (file:///home/runner/.bazel/sandbox/processwrapper-sandbox/4421/execroot/_main/bazel-out/k8-fastbuild/bin/node_modules/.aspect_rules_js/rollup@4.59.0/node_modules/rollup/dist/es/shared/node-entry.js:17040:16)

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 19, 2026

@ankoh I've opened a new pull request, #1596, to work on those changes. Once the pull request is ready, I'll request review from you.

@dashql-renovate dashql-renovate bot force-pushed the renovate/major-primer branch 4 times, most recently from de6437e to 5927b59 Compare March 23, 2026 09:23
@dashql-renovate dashql-renovate bot force-pushed the renovate/major-primer branch 3 times, most recently from 866f9d3 to 36dd24b Compare March 29, 2026 13:25
@dashql-renovate dashql-renovate bot force-pushed the renovate/major-primer branch from 36dd24b to 4fac6a7 Compare April 2, 2026 21:12
@ankoh ankoh closed this Apr 7, 2026
@dashql-renovate dashql-renovate bot deleted the renovate/major-primer branch April 8, 2026 01:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants