Change Log

0.71.2

Patch Changes

  • #3908 8d3863d Thanks @rafa-hover! - Fix Sheet close button position regression introduced by the MC-8813 a11y modal trap. The close button was rendering below the header on top of body content, and offset inward from the sheet's outer edge. Padding now lives on the inner a11y trap (which is the close button's positioning context) instead of the outer Frame, restoring the close button to the reserved space at the top-right of the sheet.

    Also strengthens Sheet accessibility:

    • Wires onAccessibilityEscape so VoiceOver users can dismiss via the two-finger Z gesture.
    • Moves accessibility focus into the sheet (to the close button) when it opens, so screen-reader users hear that it appeared and can dismiss immediately.
    • Reorders the close button JSX to be the first child of the modal region, matching its visual top-right position in screen-reader traversal.
    • Hides the overlay from accessibility (accessibilityElementsHidden + importantForAccessibility="no-hide-descendants").
    • Honors the system "Reduce Motion" setting -- disables the open/close animations when enabled.
    • Stabilizes header spacing: the close-button-sized top reservation is now unconditional, so the header sits at the same vertical position whether isClosable is true or false.
    • isClosable={false} now omits the close button from the rendered tree entirely instead of opacity-hiding it, so it can't be reached by screen readers or remain partially visible.
  • #3886 b58dd16 Thanks @ALacker! - Remove old theme from all tokens - the default for all tokens is now the Bauhaus token set

  • Updated dependencies [b58dd16]:

    • @hoverinc/tokens-color@9.0.0
    • @hoverinc/blueprint-theme@3.33.1
    • @hoverinc/icons@2.6.1

0.71.1

Patch Changes

  • #3905 2e92771 Thanks @rafa-hover! - Fix two Sheet regressions introduced by the Tamagui 1.144.x bump:

    • Set moveOnKeyboardChange to true so Sheets with text inputs are pushed above the on-screen keyboard. Tamagui's new default is false, which silently broke keyboard avoidance on every consumer Sheet.
    • Pass snapPoints={['fit']} explicitly when size="auto" instead of leaving it undefined. Tamagui's fallback for undefined is [80] percent regardless of snapPointsMode, which caused auto-sized Sheets to render at 80% screen height on first open (especially when content included a ScrollView or an input).

0.71.0

Minor Changes

0.70.0

Minor Changes

  • #3898 326033c Thanks @rafa-hover! - Curated batch of low-hanging-fruit accessibility improvements across six components. Mostly additive — consumers do not need to change call sites.

    • Toast now renders as an accessible alert with a live region. error and warning toasts announce assertively; all other types announce politely.
    • Progress now exposes accessibilityRole="progressbar" plus accessibilityValue (min/max/now/text). Two new optional props: accessibilityLabel?: string (default "Progress") and accessibilityValueText?: string for overriding the default percent announcement (e.g., "Step 3 of 10").
    • Radio now sets native accessibilityLabel alongside aria-label. String children populate the label automatically; ReactNode children can be labelled via the new accessibilityLabel prop. ReactNode children without an override no longer produce an "[object Object]" accessible name.
    • FieldPassword show/hide toggle now announces "Show password" / "Hide password" and tracks visibility via accessibilityState.checked.
    • IconButton now exposes native accessibilityLabel (mirroring label) and accessibilityState (disabled / busy) alongside its existing aria-* props.
    • Checkbox now exposes native accessibilityLabel, accessibilityRole="checkbox", and accessibilityState (checked / disabled / required). Indeterminate checkboxes announce checked: "mixed". New optional accessibilityLabel?: string prop fully overrides the announcement; when omitted, the rendered label gains a , required suffix while isRequired is true.
  • #3898 326033c Thanks @rafa-hover! - Sheet accessibility hardening. String header values now render as a focusable node with accessibilityRole="header" and an accessible name (resolves MC-8824). The close button now exposes accessible, accessibilityRole="button", and a configurable accessibilityLabel (new optional closeAccessibilityLabel prop, default "Close sheet"). Sheet content is marked as a modal accessibility region via accessibilityViewIsModal, aria-modal, and importantForAccessibility="yes" so screen readers stop traversing into siblings behind the sheet on iOS (related: MC-8833). ReactNode header values pass through unchanged so consumers can supply their own accessible heading without double-wrapping.

0.69.0

Minor Changes

  • #3883 9f3f004 Thanks @rafa-hover! - Bump Tamagui to 1.130.8 and rebuild affected RN overlays around the new runtime.

    • Bump all @tamagui/* dependencies from 1.125.26 to 1.130.8.
    • Patch @tamagui/portal@1.130.8 so Sheet, Toast, and other portal-anchored surfaces render correctly on RN (replaces the dropped inset: 0 shorthand with explicit top/left/right/bottom: 0).
    • Replace Tamagui Popover/Menu (regressed at 1.130) with RN-native overlays built on Modal + Pressable + View.measureInWindow(). The shared trigger/surface primitives live in helpers/overlay.
    • Remove Popover entirely. The only consumer (pro-app Launchpad/InfoBox) now uses Sheet with a header, body, and primary action.
    • Fix Sheet horizontal padding being silently dropped on the inner frame.
    • Fix Sheet visual rendering when isClosable={false}: the close icon now mounts unconditionally and is hidden via opacity + pointer-events so layout stays consistent across closable and non-closable variants.
    • Restore inner border radii on Select's sheet content surface after the Sheet frame refactor moved the corners off the outer frame.
    • Bump @shopify/flash-list from ^1.8.2 to ^2.2.0 to align with pro-app.

0.68.0

Minor Changes

  • #3859 205ef0d Thanks @rafa-hover! - Adjust Ghost Button variant to match latest Figma spec. Ghost now uses standard size-driven heights (40px Small, 48px Medium) and padding like the other variants, instead of the previous inline/link-style auto height with tight vertical padding. Ghost Selected renders a 2px solid Interactive/Primary border with a fully round borderRadius (was $small). Pressed and Default label colors continue to resolve correctly via existing theme keys ($colorPress for press, $color for default and selected), so no theme changes were needed.

0.67.2

Patch Changes

  • #3849 8126d08 Thanks @rafa-hover! - Fix Button Primary disabled fill to match the latest Figma spec: neutral75 (#EFEFEE) instead of interactiveDisabled (#D2D2D2), with the border collapsed against the bg (no visible border). Secondary disabled already matches Figma (neutral75 fill with the 2% gray border carried over from its default state).

0.67.1

Patch Changes

  • #3844 5fb7591 Thanks @rafa-hover! - Fix Secondary Button rendering as white in consumers stuck on @hoverinc/tokens-color@8.5.x (which lacks the neutral75 token introduced in 8.6.0). Bumps required @hoverinc/blueprint-theme to ^3.32.0 and @hoverinc/tokens-color to ^8.6.0 so installs pull in the version of the tokens package that actually exports neutral75.

0.67.0

Minor Changes

  • #3840 87e7fc9 Thanks @rafa-hover! - Align Button Secondary variant with latest Figma spec: neutral75 background, 1px subtle gray border in default state, 2px darker gray border in pressed state. Adds new theme keys secondaryBackground, secondaryBorderColor, and secondaryBorderColorPress.

0.66.0

Minor Changes

  • #3801 d53c74a Thanks @rafa-hover! - Fix three Select bugs that compound on the new architecture (Fabric):

    1. The trigger now uses Pressable from react-native instead of react-native-gesture-handler. RNGH attaches its native tap gesture during the initial mount of a GestureHandlerRootView subtree; on Fabric, inserts into an already-mounted subtree could silently lose that attachment, leaving the trigger unresponsive.
    2. The trigger now opens on onPress instead of onPressOut, so it no longer fires when the user presses, drags off the trigger, and releases. Both the default trigger's inner Field and the custom-trigger child are wrapped with pointerEvents="none" so the outer Pressable reliably receives the press, even when the custom trigger is itself a touchable component (e.g., Button).
    3. The menu is now presented via React Native's Modal instead of Sheet (which uses a Tamagui portal). Tamagui portals exhibit the same late-attach failure as RNGH on Fabric: a Select mounted as a new child of an already-mounted PortalProvider tree — for example, mid-navigation.setParams re-render — could open in state but never present visually. RN Modal is presented with presentationStyle="overFullScreen", transparent, and a dim scrim, mounts cleanly in that late-attach scenario, and preserves the host screen's status-bar style.

    Breaking change: the size prop has been removed. The menu is always presented full-screen now that it is a native Modal rather than a Sheet. The previous size='full' was the default; size='auto' is no longer supported. Consumers passing size should remove it.

    Other behavior changes worth noting:

    • Select no longer requires an ancestor <PortalProvider>. Existing setups continue to work; the wrapper is now optional for Select consumers.
    • Tap-on-scrim and Android hardware back close the menu, matching the previous Sheet behavior. The previous Sheet's drag-down dismiss is no longer available (the menu was already non-draggable in Select's usage of Sheet, so this is observably equivalent).

0.65.0

Minor Changes

  • #3817 0f9b9f1 Thanks @rafa-hover! - Fix Button size variants to match Bauhaus Figma spec: Small renders at 40px (was 48px), Medium at 48px (was 64px). Visual change for any consumer using <Button size="small" | "medium">. Ghost variant is unaffected — it remains an inline/link-style element.

0.64.2

Patch Changes

  • #3769 7619b87 Thanks @dkiselbach! - Fix Button and IconButton to honor the variant: primary default when no variant prop is passed. Previously, omitting variant could cause the icon color (IconButton) and the isSelected border styles (Button, IconButton) to miss the Primary default. No change for callers that pass variant explicitly.

0.64.1

Patch Changes

0.64.0

Minor Changes

  • #3745 c6840be Thanks @rafa-hover! - feat(react-native): add isSelected prop to Button and IconButton for selected/toggle state styling

0.63.3

Patch Changes

0.63.2

Patch Changes

  • #3729 d2fa2f5 Thanks @rafa-hover! - Fix IconButton sizing to match Figma specs. Removed deprecated large size, set small to $350 (40px) and medium to $400 (48px), and fixed icon size to always render at IconSizes.Small (16px).

0.63.1

Patch Changes

  • #3725 c8b5ea7 Thanks @rafa-hover! - Fix IconButton sizing to align with Button sizes. Removed deprecated large size, shifted small to $400 and medium to $500 to match Button heights.

0.63.0

Minor Changes

  • #3710 7cacd9a Thanks @rafa-hover! - Update Button secondary variant styles to match latest Figma specs: neutral gray fill background, transparent border, semi-transparent press border, and dimmed press text color

Patch Changes

  • #3713 7b33958 Thanks @rafa-hover! - Remove deprecated large Button size and fix height collapse when no size prop is passed

0.62.1

Patch Changes

  • #3705 64e2719 Thanks @rafa-hover! - Fix Android portal visibility issue by patching @tamagui/portal to use explicit positioning instead of CSS inset shorthand

0.62.0

Minor Changes

  • #3691 8b6c444 Thanks @rafa-hover! - Add "medium" Button size and make it the default. Deprecate "large" size — use "medium" instead. Fix Button not forwarding aria-disabled for accessibility and testability.

0.61.0

Minor Changes

  • #3663 1429cbc Thanks @dkiselbach! - Update FieldSearch to match web SearchInput design: static search icon, placeholder text instead of floating label, IconButton ghost clear button, pill shape. Support accessibilityLabel prop to override label for accessibility.

0.60.1

Patch Changes

  • #3683 95eaa76 Thanks @rafa-hover! - Fix workspace: protocol references leaking into published package

  • Updated dependencies [02811b2]:

    • @hoverinc/icons@2.2.0

0.60.0

Minor Changes

  • #3670 fd99dd3 Thanks @rafa-hover! - Bump tamagui from 1.125.26 to 1.144.4, add re-exports for Token, RadiusTokens, useEvent, useControllableState

  • #3647 caaab58 Thanks @rafa-hover! - Update styles for glass variant in Button and IconButton

0.59.0

Minor Changes

0.58.1

Patch Changes

  • Updated dependencies [ab804d0]:
    • @hoverinc/icons@2.1.0

0.58.0

Minor Changes

  • #3556 e159639 Thanks @ALacker! - Create a shared avatar color selection hashing function and use it in both react-web and react-native

Patch Changes

  • Updated dependencies [a1fcc1f, e159639]:
    • @hoverinc/blueprint-theme@3.31.0

0.57.1

Patch Changes

  • Updated dependencies [795170a]:
    • @hoverinc/icons@2.0.0

0.57.0

Minor Changes

0.56.0

Minor Changes

0.55.1

Patch Changes

  • Updated dependencies [44ec9eb8c]:
    • @hoverinc/icons@1.8.0

0.55.0

Minor Changes

0.54.1

Patch Changes

  • Updated dependencies [adec04ff8]:
    • @hoverinc/icons@1.7.0

0.54.0

Minor Changes

Patch Changes

  • Updated dependencies [93eea81db]:
    • @hoverinc/blueprint-theme@3.30.0

0.53.3

Patch Changes

0.53.2

Patch Changes

  • Updated dependencies [be8748f3b]:
    • @hoverinc/icons@1.6.0

0.53.1

Patch Changes

0.53.0

Minor Changes

0.52.0

Minor Changes

  • #3358 479faf6ab Thanks @fhuyghe! - Add hideLabel prop to Field component

    • Added hideLabel?: boolean prop to Field component
    • When hideLabel={true}, the floating animated label is hidden
    • Display placholder only when hideLabel={true}
    • Added Storybook example demonstrating the hidden label functionality
    • Maintains accessibility by keeping accessibilityLabel even when label is hidden

0.51.0

Minor Changes

Patch Changes

0.50.0

Minor Changes

0.49.0

Minor Changes

0.48.0

Minor Changes

  • #3359 98ea911d0 Thanks @rafa-hover! - Add virtual scrolling support to Grid component

    • Add shouldUseVirtualList prop to enable FlashList-based virtual scrolling
    • Add flashListProps prop to proxy FlashList configuration options
    • Include @shopify/flash-list as a dependency
    • Update documentation with virtual scrolling examples and API reference

Patch Changes

  • Updated dependencies [cf7371d10]:
    • @hoverinc/tokens-color@8.5.0
    • @hoverinc/blueprint-theme@3.29.2
    • @hoverinc/icons@1.5.1

0.47.0

Minor Changes

0.46.1

Patch Changes

  • Updated dependencies [0dd69f321]:
    • @hoverinc/icons@1.5.0

0.46.0

Minor Changes

0.45.0

Minor Changes

Patch Changes

  • Updated dependencies [781f452c4]:
    • @hoverinc/tokens-color@8.4.0
    • @hoverinc/blueprint-theme@3.29.1

0.44.2

Patch Changes

0.44.1

Patch Changes

  • Updated dependencies [93e3bbc5c]:
    • @hoverinc/icons@1.3.0

0.44.0

Minor Changes

0.43.0

Minor Changes

0.42.1

Patch Changes

  • Updated dependencies [43bf5984e, 059155de7]:
    • @hoverinc/blueprint-theme@3.29.0
    • @hoverinc/icons@1.2.0

0.42.0

Minor Changes

Patch Changes

  • Updated dependencies [5487779ea]:
    • @hoverinc/icons@1.1.0

0.41.0

Minor Changes

0.40.0

Minor Changes

0.39.2

Patch Changes

  • Updated dependencies [e7e6a9034, 84e712f8d]:
    • @hoverinc/icons@1.0.1
    • @hoverinc/blueprint-theme@3.27.0

0.39.1

Patch Changes

  • Updated dependencies [c44136624]:
    • @hoverinc/icons@1.0.0

0.39.0

Minor Changes

Patch Changes

0.38.0

Minor Changes

Patch Changes

0.37.0

Minor Changes

Patch Changes

  • Updated dependencies [2b9a6de2b]:
    • @hoverinc/icons@0.36.1

0.36.0

Minor Changes

Patch Changes

0.35.1

Patch Changes

0.35.0

Minor Changes

Patch Changes

0.34.0

Minor Changes

0.33.0

Minor Changes

0.32.0

Minor Changes

0.31.0

Minor Changes

0.30.0

Minor Changes

Patch Changes

0.29.3

Patch Changes

  • #3174 d521b8261 Thanks @jhines-hover! - Fix publishConfig for all packages

  • Updated dependencies [d521b8261]:

    • @hoverinc/blueprint-theme@3.26.2
    • @hoverinc/tokens-color@8.2.3
    • @hoverinc/icons@0.34.2

0.29.2

Patch Changes

  • #3172 869e50cde Thanks @jhines-hover! - Switches all packages from the npm registry namespace to the github registry namespace
  • Updated dependencies [869e50cde]:
    • @hoverinc/blueprint-theme@3.26.1
    • @hoverinc/tokens-color@8.2.2
    • @hoverinc/icons@0.34.1

0.29.1

Patch Changes

0.29.0

Minor Changes

0.28.0

Minor Changes

0.27.0

Minor Changes

0.26.0

Minor Changes

0.25.0

Minor Changes

0.24.0

Minor Changes

Patch Changes

0.23.1

Patch Changes

0.23.0

Minor Changes

0.22.0

Minor Changes

0.21.0

Minor Changes

  • #3099 f9c356967 Thanks @rafa-hover! - - Add isFullWidth support to both Checkbox and Toggle
    • Refactor Checkbox so it doesn’t need to use Tamagui’s UI anymore
    • Add boolean props prefixed to is in a backwards compatible manner to both Checkbox and Toggle
    • Export ToggleProps
    • Fix theme for Checkbox according to latest designs
    • Fix theme for Toggle according to latest designs
    • Improve Checkbox stories
    • Add isIndeterminate prop/state to Checkbox

0.20.2

Patch Changes

  • #3081 308b0ed15 Thanks @knoxzin1! - fix(react-native): restrict maximum font scaling to 1.35

  • Updated dependencies []:

    • @hover/blueprint-theme@3.24.4

0.20.1

Patch Changes

0.20.0

Minor Changes

  • #3060 18f4fdb29 Thanks @ravyrafael! - - Add onClose prop to Sheet
    • Add test for onClose prop in Sheet
    • Improve Sheet stories
    • Add more specific typing to SheetProps (cc @fhuyghe)
    • Export SheetProps
    • Remove ignoreSafeAreaMargin prop from Sheet (unused, defaults to false)
    • Remove modal prop from Sheet (unused, defaults to true)
    • Expose Portal from Tamagui
    • Improve type definitions for Field
    • Improve type definitions for Sheet
    • Improve type definitions for Select

0.19.0

Minor Changes

0.18.1

Patch Changes

0.18.0

Minor Changes

0.17.0

Minor Changes

0.16.0

Minor Changes

Patch Changes

  • Updated dependencies [a09662096]:
    • @hover/icons@0.31.0

0.15.1

Patch Changes

0.15.0

Minor Changes

0.14.0

Minor Changes

Patch Changes

0.13.2

Patch Changes

0.13.1

Patch Changes

0.13.0

Minor Changes

Patch Changes

  • Updated dependencies [9f1d50fb6]:
    • @hover/icons@0.30.0

0.12.0

Minor Changes

Patch Changes

0.11.0

Minor Changes

0.10.0

Minor Changes

Patch Changes

0.9.0

Minor Changes

0.8.0

Minor Changes

0.7.0

Minor Changes

0.6.0

Minor Changes

0.5.1

Patch Changes

0.5.0

Minor Changes

Patch Changes

0.4.1

Patch Changes

0.4.0

Minor Changes

Patch Changes

0.3.0

Minor Changes

0.2.1

Patch Changes

0.2.0

Minor Changes

0.1.0

Minor Changes