Style React fast with 100% parity on React Native, an optional UI kit, and optimizing compiler.
467 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/ui/popper/src/Popper.tsx | 219 | function getSideAndAlignFromPlacement(placement: Placement) { |
| LOW | code/ui/toast/types/createNativeToast.native.d.ts | 4 | export declare function requestNotificationPermission(): Promise<null>; |
| LOW | code/ui/toast/types/createNativeToast.d.ts | 8 | export declare function requestNotificationPermission(): Promise<NotificationPermission | null>; |
| LOW | code/ui/toast/src/createNativeToast.native.tsx | 31 | export async function requestNotificationPermission(): Promise<null> { |
| LOW | code/ui/toast/src/createNativeToast.tsx | 37 | export async function requestNotificationPermission(): Promise<NotificationPermission | null> { |
| LOW | code/ui/linear-gradient/src/linear-gradient.tsx | 117 | function getLinearGradientBackgroundImage( |
| LOW | code/ui/slider/src/Slider.tsx | 160 | function useOnDebouncedWindowResize(callback: Function, amt = 200) { |
| LOW | …/ui/context-menu/types/createNonNativeContextMenu.d.ts | 45 | export declare function createNonNativeContextMenu(params: CreateBaseMenuProps): { |
| LOW | code/ui/context-menu/src/createNonNativeContextMenu.tsx | 93 | export function createNonNativeContextMenu(params: CreateBaseMenuProps) { |
| LOW | code/ui/popover/src/Popover.tsx | 613 | function RepropagateParentContexts({ |
| LOW | code/ui/dismissable/types/Dismissable.d.ts | 29 | export declare function useDismissableLayersAbove(ref: React.RefObject<HTMLElement | null>): number; |
| LOW | code/ui/dismissable/types/Dismissable.native.d.ts | 7 | export declare function useDismissableLayersAbove(_ref: React.RefObject<HTMLElement | null>): number; |
| LOW | code/ui/dismissable/src/Dismissable.tsx | 123 | export function useDismissableLayersAbove(ref: React.RefObject<HTMLElement | null>) { |
| LOW | code/ui/dismissable/src/Dismissable.tsx | 390 | function handleAndDispatchPointerDownOutsideEvent() { |
| LOW | code/ui/dismissable/src/Dismissable.tsx | 390 | function handleAndDispatchPointerDownOutsideEvent() { |
| LOW | code/ui/dismissable/src/Dismissable.tsx | 488 | function handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>( |
| LOW | code/ui/dismissable/src/Dismissable.native.tsx | 25 | export function useDismissableLayersAbove( |
| LOW | code/ui/radio-headless/types/useRadioGroup.d.ts | 94 | export declare function useRadioGroupItemIndicator(params: UseRadioGroupItemIndicatorParams): { |
| LOW | code/ui/radio-headless/src/useRadioGroup.tsx | 250 | export function useRadioGroupItemIndicator(params: UseRadioGroupItemIndicatorParams) { |
| LOW | code/ui/sheet/types/keyboardAvoidance.d.ts | 1 | export declare function getKeyboardOccludedHeight({ frameSize, isKeyboardVisible, keyboardHeight, screenSize, sheetY, }: |
| LOW | …/ui/sheet/types/useSheetScrollViewGestures.native.d.ts | 14 | export declare function useSheetScrollViewGestures({ scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled |
| LOW | code/ui/sheet/types/useKeyboardControllerSheet.d.ts | 17 | export declare function useKeyboardControllerSheet(options: KeyboardControllerSheetOptions): KeyboardControllerSheetResu |
| LOW | …/ui/sheet/types/useKeyboardControllerSheet.native.d.ts | 12 | export declare function useKeyboardControllerSheet(options: KeyboardControllerSheetOptions): KeyboardControllerSheetResu |
| LOW | code/ui/sheet/types/useSheetScrollViewGestures.d.ts | 10 | export declare function useSheetScrollViewGestures({ scrollRef, scrollBridge, hasScrollableContent, }: UseSheetScrollVie |
| LOW | code/ui/sheet/types/webViewport.d.ts | 24 | export declare function getStableLayoutViewportHeight(): number; |
| LOW | code/ui/sheet/src/keyboardAvoidance.ts | 1 | export function getKeyboardOccludedHeight({ |
| LOW | code/ui/sheet/src/useSheetScrollViewGestures.native.ts | 29 | export function useSheetScrollViewGestures({ |
| LOW | code/ui/sheet/src/useKeyboardControllerSheet.native.ts | 31 | export function useKeyboardControllerSheet( |
| LOW | code/ui/sheet/src/useSheetScrollViewGestures.ts | 24 | export function useSheetScrollViewGestures({ |
| LOW | code/ui/sheet/src/SheetImplementationCustom.tsx | 79 | function SheetImplementationCustom(props, forwardedRef) { |
| LOW | code/ui/sheet/src/webViewport.ts | 35 | export function getStableLayoutViewportHeight(): number { |
| LOW | code/ui/sheet/src/useKeyboardControllerSheet.ts | 29 | export function useKeyboardControllerSheet( |
| LOW | code/core/theme-builder/src/createThemes.ts | 502 | function coerceSimplePaletteToSchemePalette(def: Palette) { |
| LOW | code/core/core-test/buttonDisabledHooks.native.test.tsx | 73 | function resetGestureHandlerFreeze() { |
| LOW | …de/core/core-test/gestureHandlerFreeze.native.test.tsx | 13 | function resetGestureHandlerFreeze() { |
| LOW | code/core/core/types/createOptimizedView.native.d.ts | 14 | export declare function getAccessibilityRoleFromRole(role: any): "alert" | "button" | "checkbox" | "combobox" | "grid" | |
| LOW | code/core/core/src/index.tsx | 46 | function freezeGestureHandlerEnabledMode() { |
| LOW | code/core/core/src/createOptimizedView.native.tsx | 146 | export function getAccessibilityRoleFromRole(role) { |
| LOW | code/core/native/types/keyboardControllerState.d.ts | 3 | export declare function isKeyboardControllerEnabled(): boolean; |
| LOW | code/core/native/types/keyboardControllerState.d.ts | 4 | export declare function getKeyboardControllerState(): KeyboardControllerState; |
| LOW | code/core/native/types/keyboardControllerState.d.ts | 5 | export declare function setKeyboardControllerState(updates: Partial<KeyboardControllerState>): void; |
| LOW | code/core/native/types/gestureState.d.ts | 2 | export declare function canChangeGestureHandlerEnabled(nextEnabled: boolean, source: string): boolean; |
| LOW | code/core/native/types/gestureState.d.ts | 26 | export declare function claimExternalPressOwnership(debugName?: string | null): ExternalPressOwnershipToken; |
| LOW | code/core/native/types/gestureState.d.ts | 27 | export declare function releaseExternalPressOwnership(token: ExternalPressOwnershipToken | null | undefined, debugName?: |
| LOW | code/core/native/src/keyboardControllerState.ts | 17 | export function isKeyboardControllerEnabled(): boolean { |
| LOW | code/core/native/src/keyboardControllerState.ts | 21 | export function getKeyboardControllerState(): KeyboardControllerState { |
| LOW | code/core/native/src/keyboardControllerState.ts | 25 | export function setKeyboardControllerState( |
| LOW | code/core/native/src/gestureState.ts | 20 | function getGestureEnabledFreezeState(): GestureEnabledFreezeState { |
| LOW | code/core/native/src/gestureState.ts | 36 | function warnGestureEnabledMutationIgnored(source: string) { |
| LOW | code/core/native/src/gestureState.ts | 52 | export function canChangeGestureHandlerEnabled( |
| LOW | code/core/native/src/gestureState.ts | 167 | export function claimExternalPressOwnership( |
| LOW | code/core/native/src/gestureState.ts | 184 | export function releaseExternalPressOwnership( |
| LOW | …de/core/web/types/hooks/doesRootSchemeMatchSystem.d.ts | 1 | export declare function doesRootSchemeMatchSystem(): boolean; |
| LOW | …/web/types/hooks/doesRootSchemeMatchSystem.native.d.ts | 1 | export declare function doesRootSchemeMatchSystem(): boolean; |
| LOW | code/core/web/types/helpers/createDesignSystem.d.ts | 6 | declare function getFontPropertyDeclarations(fontParsed: any, tokenKey?: string): string[]; |
| LOW | code/core/web/types/helpers/pseudoTransitions.d.ts | 24 | export declare function resolveEffectivePseudoTransition(prev: PseudoState | undefined, next: TamaguiComponentState, pse |
| LOW | code/core/web/types/helpers/propMapper.d.ts | 4 | export declare function getFontFamilyFromNameOrVariable(input: any, conf: TamaguiInternalConfig): string | undefined; |
| LOW | code/core/web/types/helpers/isActivePlatform.d.ts | 14 | export declare function getPlatformSpecificityBump(mediaKeyShort: string): number; |
| LOW | …core/web/types/helpers/normalizeValueWithProperty.d.ts | 5 | export declare function normalizeValueWithProperty(value: any, property?: string): any; |
| LOW | code/core/web/src/createTamagui.ts | 39 | function shouldTokenCategoryHaveUnits(category: string): boolean { |
| 189 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/ui/popper/src/Popper.tsx | 701 | // ref callback: call refs.setFloating directly (no startTransition) so floating-ui's |
| LOW | code/ui/input/types/InputNativeProps.d.ts | 341 | //# sourceMappingURL=InputNativeProps.d.ts.map |
| LOW | code/ui/input/types/v1/TextArea.d.ts | 41 | //# sourceMappingURL=TextArea.d.ts.map |
| LOW | code/ui/toast/types/types.d.ts | 61 | //# sourceMappingURL=types.d.ts.map |
| LOW | code/ui/slider/src/Slider.tsx | 741 | // // Bubble value change to parents (e.g form change event) |
| LOW | code/ui/popover/src/useFloatingContext.tsx | 21 | // reference when the cursor enters a new trigger — but useEffect hasn't |
| LOW | code/ui/switch/types/createSwitch.d.ts | 141 | //# sourceMappingURL=createSwitch.d.ts.map |
| LOW | code/ui/select/src/BubbleSelect.tsx | 41 | * won't work otherwise. |
| LOW | …/ui/sheet/types/useSheetScrollViewGestures.native.d.ts | 21 | //# sourceMappingURL=useSheetScrollViewGestures.native.d.ts.map |
| LOW | code/ui/sheet/src/SheetImplementationCustom.tsx | 181 | if (open && frameSize) { |
| LOW | code/ui/sheet/src/SheetImplementationCustom.tsx | 221 | screenSize > 0 |
| LOW | code/ui/sheet/src/SheetImplementationCustom.tsx | 281 | }, |
| LOW | code/ui/sheet/src/SheetImplementationCustom.tsx | 841 | pauseKeyboardHandler, |
| LOW | code/ui/sheet/src/types.tsx | 121 | isScrollablePositionLocked?: boolean |
| LOW | code/ui/sheet/src/helpers.tsx | 21 | |
| LOW | code/core/theme-builder/types/createThemes.d.ts | 141 | //# sourceMappingURL=createThemes.d.ts.map |
| LOW | code/core/theme-builder/src/ThemeBuilder.ts | 481 | // .addMasks({ |
| LOW | code/core/theme-builder/src/ThemeBuilder.ts | 501 | // }, |
| LOW | code/core/core-test/styledContextTokens.web.test.tsx | 161 | // Pseudo style context override tests can be added when needed with proper |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 461 | |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 481 | // let y: any[] = [] |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 501 | // timed( |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 521 | // } |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 541 | // } |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 561 | // CustomText, |
| LOW | code/core/core-test/getSplitStyles.web.test.tsx | 581 | // getSplitStylesStack( |
| LOW | code/core/core-test/View.web.test.tsx | 41 | // expect(renderCount.current).toBe(1) |
| LOW | code/core/core-test/View.web.test.tsx | 61 | // expect(renderCount.current).toBe(1) |
| LOW | code/core/core-test/getStylesAtomic.web.test.tsx | 141 | } |
| LOW | code/core/core-test/getStylesAtomic.web.test.tsx | 161 | // console.log('end0', end0) |
| LOW | code/core/core-test/getStylesAtomic.web.test.tsx | 181 | // } |
| LOW | code/core/core/src/index.tsx | 221 | }, |
| LOW | code/core/core/src/index.tsx | 241 | // variants: { |
| LOW | code/core/core/src/index.tsx | 261 | |
| LOW | code/core/core/src/index.tsx | 281 | // name: 'Input', |
| LOW | code/core/core/src/index.tsx | 301 | // }, |
| LOW | code/core/core/src/index.tsx | 321 | // borderWidth: 2, |
| LOW | code/core/core/src/index.tsx | 341 | // { |
| LOW | code/core/core/src/index.tsx | 361 | // }, |
| LOW | code/core/native/src/gestureState.ts | 301 | flags.pressInTimer = setTimeout(() => { |
| LOW | code/core/config-base/types/index.d.ts | 1 | //# sourceMappingURL=index.d.ts.map |
| LOW | code/core/config/types/animationsMotion.d.ts | 121 | //# sourceMappingURL=animationsMotion.d.ts.map |
| LOW | code/core/web/types/hooks/useProps.d.ts | 41 | //# sourceMappingURL=useProps.d.ts.map |
| LOW | code/core/web/src/styled.tsx | 421 | |
| LOW | code/core/web/src/styled.tsx | 441 | // pointerEvents: 'none', |
| LOW | code/core/web/src/styled.tsx | 461 | // name: 'SizableText', |
| LOW | code/core/web/src/styled.tsx | 481 | // userSelect: 'auto', |
| LOW | code/core/web/src/styled.tsx | 501 | // }) |
| LOW | code/core/web/src/styled.tsx | 521 | // }) |
| LOW | code/core/web/src/styled.tsx | 541 | |
| LOW | code/core/web/src/types.tsx | 2501 | |
| LOW | code/core/web/src/eventHandling.native.ts | 101 | // inputs don't use gesture handler |
| LOW | code/core/web/src/eventHandling.native.ts | 281 | // does not conflict with RNGH because the responder path goes through |
| LOW | code/core/web/src/helpers/getSplitStyles.tsx | 121 | return key.replace('$group-', '$group-true-') |
| LOW | code/core/web/src/helpers/getSplitStyles.tsx | 521 | |
| LOW | code/core/web/src/helpers/getSplitStyles.tsx | 1181 | } |
| LOW | code/core/web/src/helpers/getSplitStyles.tsx | 1801 | ) |
| LOW | code/core/theme-base/types/index.d.ts | 1 | //# sourceMappingURL=index.d.ts.map |
| LOW | code/core/animations-motion/src/createAnimations.tsx | 561 | // animate(node, ...) that cancels the previous one — the DOM |
| LOW | code/core/cli/types/index.d.ts | 1 | #!/usr/bin/env node |
| 109 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 52 | const baseColors = theme.theme.palettes.base.anchors.map((c) => |
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 55 | const accentColors = theme.theme.palettes.accent.anchors.map((c) => |
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 59 | const baseColorsLight = theme.theme.palettes.base.anchors.map((c) => |
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 62 | const accentColorsLight = theme.theme.palettes.accent.anchors.map((c) => |
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 65 | const baseColorsDark = theme.theme.palettes.base.anchors.map((c) => |
| CRITICAL | code/tamagui.dev/app/api/theme/open-graph+api.tsx | 68 | const accentColorsDark = theme.theme.palettes.accent.anchors.map((c) => |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/tamagui.dev/features/mdx/codeExamples.tsx | 83 | <Heading size={props.big ? 'large' : 'small'}>Lorem ipsum.</Heading> |
| LOW | code/tamagui.dev/features/mdx/codeExamples.tsx | 114 | Lorem ipsum. |
| LOW | code/tamagui.dev/features/mdx/codeExamples.tsx | 180 | Lorem ipsum. |
| LOW | code/tamagui.dev/features/mdx/codeExamples.tsx | 203 | Lorem ipsum. |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 34 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 34 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 47 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 47 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 60 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | …tamagui.dev/features/studio/theme/preview/AllTasks.tsx | 60 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Illum amet |
| LOW | code/kitchen-sink/src/Sandbox.tsx | 17 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a |
| LOW | code/kitchen-sink/src/Sandbox.tsx | 17 | 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a |
| LOW | code/kitchen-sink/src/usecases/RemoveScrollCase.tsx | 25 | Filler paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | code/kitchen-sink/src/usecases/RemoveScrollCase.tsx | 25 | Filler paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 27 | Scroll down to find the sheet buttons. Lorem ipsum dolor sit amet, consectetur |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 27 | Scroll down to find the sheet buttons. Lorem ipsum dolor sit amet, consectetur |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 39 | Body content paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 39 | Body content paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 152 | ScrollView paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur |
| LOW | code/kitchen-sink/src/usecases/SheetScrollLockCase.tsx | 152 | ScrollView paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur |
| LOW | …e/kitchen-sink/src/usecases/SheetSnapPointsFitCase.tsx | 402 | <Paragraph>Row {i + 1} — Lorem ipsum dolor sit amet.</Paragraph> |
| LOW | …e/kitchen-sink/src/usecases/SheetSnapPointsFitCase.tsx | 402 | <Paragraph>Row {i + 1} — Lorem ipsum dolor sit amet.</Paragraph> |
| LOW | code/kitchen-sink/src/usecases/OverlayStyled.tsx | 38 | <MyAlert.Description>Lorem ipsum dolor sit amet</MyAlert.Description> |
| LOW | code/kitchen-sink/src/usecases/OverlayStyled.tsx | 38 | <MyAlert.Description>Lorem ipsum dolor sit amet</MyAlert.Description> |
| LOW | code/kitchen-sink/src/usecases/OverlayStyled.tsx | 58 | <MyAlert.Description>Lorem ipsum dolor sit amet</MyAlert.Description> |
| LOW | code/kitchen-sink/src/usecases/OverlayStyled.tsx | 58 | <MyAlert.Description>Lorem ipsum dolor sit amet</MyAlert.Description> |
| LOW | code/kitchen-sink/src/usecases/Example.tsx | 8 | {/* <Heading size={props.big ? 'large' : 'small'}>Lorem ipsum dolor.</Heading> */} |
| LOW | code/kitchen-sink/src/usecases/CodeExamplesInput.tsx | 6 | Lorem ipsum dolor. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/workflows/test-native.yml | 23 | # ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/test-native.yml | 25 | # ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/test-native.yml | 234 | # ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/test-native.yml | 236 | # ───────────────────────────────────────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | code/ui/sheet/src/useGestureHandlerPan.tsx | 199 | // This allows seamless handoffs between pan and scroll |
| MEDIUM | .github/workflows/test-native.yml | 606 | # More robust screen unlock and focus sequence |
| MEDIUM | .github/scripts/run-maestro-flows.sh | 4 | # fails. the previous harness re-ran the WHOLE suite on any failure and only |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/ui/create-menu/src/createBaseMenu.tsx | 569 | // For submenus, we need to check if the root menu is still open |
| LOW | code/packages/native-ci/src/runner.ts | 42 | // Step 1: Generate fingerprint |
| LOW | code/packages/native-ci/src/runner.ts | 51 | // Step 2: Check cache |
| LOW | code/packages/native-ci/src/runner.ts | 67 | // Step 3: Run build |
| LOW | code/packages/native-ci/src/runner.ts | 81 | // Step 4: Save cache |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | code/tamagui.dev/app/api/projects+api.ts | 97 | // Basic validation (loose as requested) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/kitchen-sink/run-detox.sh | 5 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/starters/remix/app/entry.server.tsx | 6 | export default function handleRequest( |