npm tamagui 2.0.0-rc.0
v2.0.0-rc.0

8 hours ago

Features

  • cross-platform backgroundImage with gradient and token support #3023 (natew)
  • studio: v5 theme export + show active promo in AI bar purchase modal (#3842) #3842 (Dave Mkpa-Eke)
  • build: add --swap-exports flag for publishing with src types #3023 (natew)
  • element: add @tamagui/element package with useWebRef, useNativeRef, getWebElement #3023 (natew)
  • element: add @tamagui/element package for platform-specific refs #3023 (natew)
  • text: add Strong, Em, and Span inline text components #3023 (natew)
  • popper: rename enableAnimationForPositionChange to animatePosition, add to Arrow #3023 (natew)
  • config: add progressive font weights to heading font #3023 (natew)
  • web: output auto-generated theme vars in CSS #3023 (natew)
  • cross-platform pointer events #3023 (natew)
  • config: adjust shadows for utility and add 7 and 8 shadows #3023 (natew)
  • site: add SSR-safe seasonal themes #3023 (natew)
  • logo: add color prop to TamaguiLogo #3023 (natew)
  • core: add textShadow CSS prop support #3023 (natew)
  • themes: add highlight colors and adjust subtle theme palette #3023 (natew)
  • logo: show season tint colors on LogoWords always #3023 (natew)
  • themes: adjust subtle palette lightness range #3023 (natew)
  • purchase: enhance product API to support V2 products and improve error handling #3023 (Quan Nguyen)
  • purchase: add support for V2 products and enhance subscription handling #3023 (Quan Nguyen)
  • purchase: implement V2 Pro subscription handling and adjust takeout pricing logic #3023 (Quan Nguyen)
  • purchase: implement V2 Pro subscription handling and adjust takeout pricing logic (Quan Nguyen)
  • purchase: display support tier pricing and discounts in StripePaymentModal #3023 (Quan Nguyen)
  • purchase: integrate usePaymentModal for enhanced payment handling in PurchaseModal #3023 (Quan Nguyen)
  • purchase: enhance V2 subscription flow with idempotency keys and 3DS authentication handling #3023 (Quan Nguyen)
  • purchase: improve V2 subscription creation and metadata handling for webhook processing #3023 (Quan Nguyen)
  • purchase: add support for support tier upgrades and refine V2 purchase handling #3023 (Quan Nguyen)
  • add unstyled support for any component to remove its component theme (natew)

Bug Fixes

  • icons: use usePropsAndStyle with noMedia for lite path #3023 (natew)
  • input type regression #3023 (natew)
  • add setup-expo-linear-gradient export to @tamagui/native #3023 (natew)
  • menu: safe polygon for left-side submenus and keyboard focusVisible #3023 (natew)
  • menu: arrow keys match submenu placement direction #3023 (natew)
  • avoid passing default styles down with asChild #3023 (natew)
  • test: tolerate spring overshoot in scenario 45 test #3023 (natew)
  • test: tolerate edge case where opacity equals threshold #3023 (natew)
  • output backgroundImage => experimental_backgroundImage on native #3023 (natew)
  • menu: improve type inference for Menu sub-components #3023 (natew)
  • menu: Menu.Trigger uses role=button instead of button element #3023 (natew)
  • asChild skips global config defaults (View/Text) too #3023 (natew)
  • menu: use focusStyle for unified item highlighting #3023 (natew)
  • scroll-view: add proper ref types with scroll methods #3023 (natew)
  • config: use TAMAGUI_TARGET env and default font weight 400 #3023 (natew)
  • types: add measure/focus/blur methods to TamaguiElement type #3023 (natew)
  • constants: make isClient true on React Native #3023 (natew)
  • input: use @tamagui/element for properly typed refs #3023 (natew)
  • tabs: use @tamagui/element for properly typed refs #3023 (natew)
  • types: add as any casts for ref type mismatches #3023 (natew)
  • types: add as any casts for pre-existing ref type issues #3023 (natew)
  • types: use TamaguiElement consistently for ref types #3023 (natew)
  • select: guard window access with typeof check for SSR #3023 (natew)
  • constants: rename isWindowDefined to isBrowser, fix SSR #3023 (natew)
  • CI test failures - TransitionEnterExit flakiness and Toast Maestro test #3023 (natew)
  • test: revert Toast Maestro test to v1 API (Show button) #3023 (natew)
  • theme: track keys in DynamicColorIOS optimization path #3023 (natew)
  • update shadow opacity test for color-mix, correct bundle size to 32% #3023 (natew)
  • update button theme in TakeoutMenuShowcase component #3023 (Quan Nguyen)
  • maestro: scroll to find AlertDialog in home screen #3023 (natew)
  • kitchen-sink: use scrollUntilVisible for AlertDialog Maestro test #3023 (natew)
  • safety if missing token #3023 (natew)
  • kitchen-sink: restore TestCasesSection for Detox navigation #3023 (natew)
  • menu: ArrowRight focuses submenu content when already open via hover #3023 (natew)
  • kitchen-sink: add index.ts for TypeScript type checking #3023 (natew)
  • core: text-inside-text font family inheritence logic #3023 (natew)
  • kitchen-sink: export PointerEventsCase for web tests #3023 (natew)
  • core: fix no-reredner animation paths not triggering mutliple dynamic children #3023 (natew)
  • tabs: revert to ResizeObserver for tab layout measurements #3023 (natew)
  • web: nested Text inherits font-family from parent via CSS #3023 (natew)
  • button: default to type="button" to prevent accidental form submissions #3023 (natew)
  • input: respect inputMode prop on native platforms #3023 (natew)
  • improve pro dialog look on mobile (#3846) #3846 (Dave Mkpa-Eke)
  • animations-reanimated: media query changes now update styles on web #3023 (natew)
  • animations-motion: reset stale animation refs on first render #3023 (natew)
  • animations-reanimated: add missing useAnimatedReaction and useDerivedValue imports #3023 (natew)
  • web: generate CSS classes for $theme-light/$theme-dark with motion driver #3023 (natew)
  • web: formatting fix, skip sandbox tests in CI #3023 (natew)
  • motion: fix hydration issue by combining cf54108 fix for hydration #3023 (natew)
  • motion: rename shadowed isHydrating variable to fix lint error #3023 (natew)
  • native-ci: improve detox test reliability #3023 (natew)
  • native-ci: remove automatic simulator cleanup (may interfere with active use) #3023 (natew)
  • detox: export PointerEventsCase from native index #3023 (natew)
  • build: skip writing unchanged files to avoid triggering HMR loops #3023 (natew)
  • remove stale @tamagui/cli workspace references #3023 (natew)
  • restore @tamagui/cli dep to tamagui.dev #3023 (natew)
  • typecheck errors in SeasonProvider and Header #3023 (natew)
  • ignore extra args in tamagui.dev build script #3023 (natew)
  • clean dist before build tests to ensure consistent state #3023 (natew)
  • header: header text in span #3023 (Quan Nguyen)
  • purchase: purchase button #3023 (Quan Nguyen)
  • fix outline / bg opacities losing their surface basline #3023 (natew)
  • lint #3023 (Quan Nguyen)
  • kitchen-sink: improve detox test runner reliability #3023 (natew)
  • port back in panresponder to rnw-lite #3023 (natew)
  • menu: thread theme through portal like Select does #3023 (natew)
  • kitchen-sink: fix MenuThemeCase type errors #3023 (natew)
  • kitchen-sink: update MenuTheme test to match theme name #3023 (natew)
  • lint #3023 (Quan Nguyen)
  • config: v5 media query specificity and tailwind-style naming (natew)
  • web: reset media style cache when config changes (natew)
  • animations-motion: fix AnimatePresence position jump on rapid switching (natew)

Documentation

  • document useWebRef, useNativeRef, getWebElement #3023 (natew)
  • add note about ref type fixes to next.md #3023 (natew)
  • text: add inline text elements demo and documentation #3023 (natew)
  • core: add useNativeRef and useNativeInputRef documentation #3023 (natew)
  • cli: add generate-css command documentation #3023 (natew)
  • themes: add inverse themes section with v5 palette swap pattern #3023 (natew)
  • themes: note inverse pattern is SSR-safe #3023 (natew)
  • add missing v2 documentation #3023 (natew)
  • compiler: document outputCSS prop and TAMAGUI_DID_OUTPUT_CSS #3023 (natew)
  • portal: add API reference with stackZIndex documentation #3023 (natew)
  • add avoidReRenders and transformOrigin documentation #3023 (natew)
  • popover: document onOpenChange via argument #3023 (natew)
  • note tailwind alignment for media query breakpoints #3023 (natew)
  • add textShadow docs, highlight colors, minor fixes #3023 (natew)
  • fix typos, broken links, and use gray notice theme #3023 (natew)
  • remove stub pages (faq, thinking-in-tamagui) #3023 (natew)

Code Refactoring

  • toggle-group: simplify toggle-group to only handle toggling #3023 (natew)
  • form: simplify scope prop pattern like Tooltip/Popper/Sheet #3023 (natew)
  • clean up header text warning #3023 (Quan Nguyen)
  • purchase: enhance layout and responsiveness #3023 (Quan Nguyen)

Performance Improvements

  • web: use CSS color-mix for shadow opacity instead of parsing colors #3023 (natew)
  • core: remove @tamagui/react-native-use-responder-events #3023 (natew)
  • web: make CSS generation tree-shakeable via TAMAGUI_DID_OUTPUT_CSS #3023 (natew)

Tests

  • menu: add tests for left-side submenu and keyboard focus #3023 (natew)
  • add ScrollView ref integration test #3023 (natew)
  • add toggle-group playwright tests #3023 (natew)
  • add ThemeChangeBasic detox test for theme switching #3023 (natew)
  • fix flaky webpack test with fixed window size for media queries #3023 (natew)
  • update webpack test snapshot for boxShadow hash #3023 (natew)
  • menu: add hover/keyboard interaction tests and fix test cases #3023 (natew)
  • static-tests: update snapshot for text font inheritance fix #3023 (natew)
  • kitchen-sink: add test for Text inside Paragraph font inheritance #3023 (natew)
  • static-tests: update snapshots for Text componentName and font inheritance #3023 (natew)
  • kitchen-sink: add FormButtonType test for button type attributes #3023 (natew)
  • kitchen-sink: update media query animation tests #3023 (natew)
  • add PopoverAnimatePosition test case #3023 (natew)
  • sandbox: add SSR playwright tests with port finder #3023 (natew)
  • sandbox: add motion hydration regression test #3023 (natew)
  • kitchen-sink: skip SheetKeyboardDrag test (WIP, sync issues with keyboard-controller) #3023 (natew)
  • kitchen-sink: add MenuThemeCase for portal theme inheritance #3023 (natew)
  • kitchen-sink: add v5 media query test component (natew)

Continuous Integration

  • add inputs to turbo test tasks for better caching #3023 (natew)
  • skip SafeArea tests (component not implemented) #3023 (natew)
  • skip flaky PressStyleNative and GroupPressNative tests #3023 (natew)
  • increase iOS Detox timeout to 60 minutes #3023 (natew)

Chores

Commits

Don't miss a new tamagui release

NewReleases is sending notifications on new releases.