@yahoo/uds-mobile 2.21.2 → 2.23.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.
- package/README.md +2 -0
- package/dist/bin/automated-config/dist/generated/generatedConfigs.mjs +3127 -452
- package/dist/bin/uds-mobile.mjs +7 -7
- package/dist/components/IconButton.cjs +24 -21
- package/dist/components/IconButton.js +25 -22
- package/dist/components/IconButton.js.map +1 -1
- package/dist/components/Select/Select.cjs +194 -0
- package/dist/components/Select/Select.d.cts +47 -0
- package/dist/components/Select/Select.d.cts.map +1 -0
- package/dist/components/Select/Select.d.ts +47 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +194 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/SelectContent.cjs +148 -0
- package/dist/components/Select/SelectContent.d.cts +31 -0
- package/dist/components/Select/SelectContent.d.cts.map +1 -0
- package/dist/components/Select/SelectContent.d.ts +31 -0
- package/dist/components/Select/SelectContent.d.ts.map +1 -0
- package/dist/components/Select/SelectContent.js +147 -0
- package/dist/components/Select/SelectContent.js.map +1 -0
- package/dist/components/Select/SelectItem.cjs +138 -0
- package/dist/components/Select/SelectItem.d.cts +24 -0
- package/dist/components/Select/SelectItem.d.cts.map +1 -0
- package/dist/components/Select/SelectItem.d.ts +24 -0
- package/dist/components/Select/SelectItem.d.ts.map +1 -0
- package/dist/components/Select/SelectItem.js +137 -0
- package/dist/components/Select/SelectItem.js.map +1 -0
- package/dist/components/Select/SelectTrigger.cjs +140 -0
- package/dist/components/Select/SelectTrigger.d.cts +13 -0
- package/dist/components/Select/SelectTrigger.d.cts.map +1 -0
- package/dist/components/Select/SelectTrigger.d.ts +13 -0
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
- package/dist/components/Select/SelectTrigger.js +139 -0
- package/dist/components/Select/SelectTrigger.js.map +1 -0
- package/dist/components/Select/index.cjs +8 -0
- package/dist/components/Select/index.d.cts +5 -0
- package/dist/components/Select/index.d.ts +5 -0
- package/dist/components/Select/index.js +5 -0
- package/dist/components/Select/selectContext.cjs +22 -0
- package/dist/components/Select/selectContext.d.cts +12 -0
- package/dist/components/Select/selectContext.d.cts.map +1 -0
- package/dist/components/Select/selectContext.d.ts +12 -0
- package/dist/components/Select/selectContext.d.ts.map +1 -0
- package/dist/components/Select/selectContext.js +19 -0
- package/dist/components/Select/selectContext.js.map +1 -0
- package/dist/components/Select/selectItemTheme.cjs +39 -0
- package/dist/components/Select/selectItemTheme.d.cts +19 -0
- package/dist/components/Select/selectItemTheme.d.cts.map +1 -0
- package/dist/components/Select/selectItemTheme.d.ts +19 -0
- package/dist/components/Select/selectItemTheme.d.ts.map +1 -0
- package/dist/components/Select/selectItemTheme.js +39 -0
- package/dist/components/Select/selectItemTheme.js.map +1 -0
- package/dist/components/Select/types.cjs +1 -0
- package/dist/components/Select/types.d.cts +43 -0
- package/dist/components/Select/types.d.cts.map +1 -0
- package/dist/components/Select/types.d.ts +43 -0
- package/dist/components/Select/types.d.ts.map +1 -0
- package/dist/components/Select/types.js +1 -0
- package/dist/components/Switch.cjs +34 -12
- package/dist/components/Switch.d.cts.map +1 -1
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/Switch.js +36 -14
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/UDSGestureProvider.cjs +4 -0
- package/dist/components/UDSGestureProvider.d.cts +3 -0
- package/dist/components/UDSGestureProvider.d.ts +3 -0
- package/dist/components/UDSGestureProvider.js +3 -0
- package/dist/components/UDSProvider.cjs +10 -5
- package/dist/components/UDSProvider.d.cts +15 -7
- package/dist/components/UDSProvider.d.cts.map +1 -1
- package/dist/components/UDSProvider.d.ts +15 -7
- package/dist/components/UDSProvider.d.ts.map +1 -1
- package/dist/components/UDSProvider.js +10 -6
- package/dist/components/UDSProvider.js.map +1 -1
- package/dist/components/internal/Overlay/OverlayPortal.js.map +1 -1
- package/dist/components/internal/Overlay/index.cjs +2 -0
- package/dist/components/internal/Overlay/index.d.cts +2 -1
- package/dist/components/internal/Overlay/index.d.ts +2 -1
- package/dist/components/internal/Overlay/index.js +2 -1
- package/dist/components/internal/Overlay/measureTrigger.cjs +35 -0
- package/dist/components/internal/Overlay/measureTrigger.d.cts +9 -0
- package/dist/components/internal/Overlay/measureTrigger.d.cts.map +1 -0
- package/dist/components/internal/Overlay/measureTrigger.d.ts +9 -0
- package/dist/components/internal/Overlay/measureTrigger.d.ts.map +1 -0
- package/dist/components/internal/Overlay/measureTrigger.js +36 -0
- package/dist/components/internal/Overlay/measureTrigger.js.map +1 -0
- package/dist/jest/mocks/styles.cjs +68 -10
- package/dist/jest/mocks/styles.d.cts +5 -2
- package/dist/jest/mocks/styles.d.cts.map +1 -1
- package/dist/jest/mocks/styles.d.ts +5 -2
- package/dist/jest/mocks/styles.d.ts.map +1 -1
- package/dist/jest/mocks/styles.js +66 -11
- package/dist/jest/mocks/styles.js.map +1 -1
- package/dist/jest/mocks/unistyles.cjs +16 -1
- package/dist/jest/mocks/unistyles.d.cts +56 -2
- package/dist/jest/mocks/unistyles.d.cts.map +1 -1
- package/dist/jest/mocks/unistyles.d.ts +56 -2
- package/dist/jest/mocks/unistyles.d.ts.map +1 -1
- package/dist/jest/mocks/unistyles.js +16 -1
- package/dist/jest/mocks/unistyles.js.map +1 -1
- package/dist/portal.cjs +1 -1
- package/dist/portal.js +1 -1
- package/dist/portal.js.map +1 -1
- package/dist/types/dist/index.d.cts +28 -1
- package/dist/types/dist/index.d.cts.map +1 -1
- package/dist/types/dist/index.d.ts +28 -1
- package/dist/types/dist/index.d.ts.map +1 -1
- package/generated/styles.cjs +125 -0
- package/generated/styles.d.ts +39 -0
- package/generated/styles.mjs +125 -0
- package/generated/unistyles.d.ts +108 -8
- package/package.json +21 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["StyleSheet"],"sources":["../../src/components/Switch.tsx"],"sourcesContent":["import type { SwitchSize, UniversalSwitchProps } from '@yahoo/uds-types';\nimport type { Ref } from 'react';\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport type { AccessibilityProps, StyleProp, View, ViewProps, ViewStyle } from 'react-native';\nimport { AccessibilityInfo, Pressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useDerivedValue, withTiming } from 'react-native-reanimated';\nimport { StyleSheet } from 'react-native-unistyles';\nimport { useAnimatedVariantColor } from 'react-native-unistyles/reanimated';\n\nimport { switchStyles } from '../../generated/styles';\nimport { FormLabel } from './FormLabel';\nimport type { IconSlotType } from './IconSlot';\nimport { IconSlot } from './IconSlot';\n\ninterface SwitchProps extends Omit<ViewProps, 'style'>, UniversalSwitchProps<IconSlotType> {\n /** Ref to the underlying View */\n ref?: Ref<View>;\n /** Callback when the switch value changes */\n onChange?: (value: boolean) => void;\n /** Whether the switch is disabled */\n disabled?: boolean;\n /** Whether the switch is required (shows asterisk with label) */\n required?: boolean;\n /** Accessibility hint describing what happens when activated */\n accessibilityHint?: AccessibilityProps['accessibilityHint'];\n}\n\nconst HANDLE_TRAVEL: Record<SwitchSize, number> = {\n md: 20,\n sm: 12,\n};\n\nconst ANIMATION_DURATION = 120;\n\n/**\n * **Switch component for toggling options**\n *\n * @description\n * A switch (also called a toggle) is a binary on/off input control.\n * It allows users to pick between two clearly opposite choices.\n *\n * @category Form\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { Switch } from '@yahoo/uds-mobile/Switch';\n *\n * <Switch label=\"Notifications\" />\n * <Switch isOn={enabled} onChange={setEnabled} label=\"Dark mode\" />\n * <Switch onIcon=\"Check\" offIcon=\"Cross\" label=\"Sync\" />\n * ```\n *\n * @usage\n * - Settings: For toggling preferences on/off\n * - Feature flags: For enabling/disabling features\n * - Immediate effect toggles (no submit button needed)\n *\n * @accessibility\n * - Sets `accessibilityRole=\"switch\"` automatically\n * - Announces on/off state to screen readers\n * - Respects system reduce motion preference\n * - Supports `reduceMotion` prop to disable animations\n *\n * @see {@link Checkbox} for forms with submit actions\n * @see {@link Radio} for single-select options\n */\nconst Switch = memo(function Switch({\n isOn: isOnProp,\n defaultIsOn = false,\n onChange,\n label,\n labelPosition = 'start',\n size = 'md',\n onIcon,\n offIcon,\n disabled = false,\n required,\n accessibilityHint,\n reduceMotion = false,\n ref,\n ...viewProps\n}: SwitchProps) {\n const isControlled = isOnProp !== undefined;\n const [internalIsOn, setInternalIsOn] = useState(defaultIsOn);\n const [prefersReducedMotion, setPrefersReducedMotion] = useState(false);\n const isOn = isControlled ? isOnProp : internalIsOn;\n\n // Check system reduced motion preference\n useEffect(() => {\n const checkReducedMotion = async () => {\n const isReduceMotionEnabled = await AccessibilityInfo.isReduceMotionEnabled();\n setPrefersReducedMotion(isReduceMotionEnabled);\n };\n checkReducedMotion();\n\n const subscription = AccessibilityInfo.addEventListener(\n 'reduceMotionChanged',\n setPrefersReducedMotion,\n );\n return () => subscription.remove();\n }, []);\n\n const shouldReduceMotion = reduceMotion || prefersReducedMotion;\n const animationDuration = shouldReduceMotion ? 0 : ANIMATION_DURATION;\n\n const progress = useDerivedValue(\n () => withTiming(isOn ? 1 : 0, { duration: animationDuration }),\n [isOn, animationDuration],\n );\n\n const travelDistance = HANDLE_TRAVEL[size];\n\n const handlePress = useCallback(() => {\n if (disabled) {\n return;\n }\n\n const newValue = !isOn;\n\n if (!isControlled) {\n setInternalIsOn(newValue);\n }\n\n onChange?.(newValue);\n }, [disabled, isOn, isControlled, onChange]);\n\n switchStyles.useVariants({\n size,\n variant: isOn ? 'on' : 'off',\n });\n\n // Get animated track color from design tokens (changes when variant changes)\n const trackBackgroundColor = useAnimatedVariantColor(switchStyles.switch, 'backgroundColor');\n\n const animatedTrackStyle = useAnimatedStyle(() => {\n 'worklet';\n return {\n backgroundColor: withTiming(trackBackgroundColor.value, { duration: animationDuration }),\n };\n });\n\n const animatedHandleStyle = useAnimatedStyle(() => {\n 'worklet';\n return {\n transform: [{ translateX: progress.value * travelDistance }],\n };\n });\n\n const rootStyle: StyleProp<ViewStyle> = useMemo(\n () => [switchStyles.root, switchStaticStyles.root({ disabled })],\n [switchStyles.root, disabled],\n );\n\n const trackStyle: StyleProp<ViewStyle> = useMemo(\n () => [switchStyles.switch, switchStaticStyles.track, animatedTrackStyle],\n [switchStyles.switch, animatedTrackStyle],\n );\n\n const handleStyle: StyleProp<ViewStyle> = useMemo(\n () => [switchStyles.handle, switchStaticStyles.handle, animatedHandleStyle],\n [switchStyles.handle, animatedHandleStyle],\n );\n\n const accessibilityLabel = typeof label === 'string' ? label : undefined;\n const resolvedAccessibilityHint = accessibilityHint ?? 'Double tap to toggle';\n\n const labelContent = label && (\n <FormLabel\n color=\"inherit\"\n variant=\"inherit\"\n label={label}\n required={required}\n showRequiredAsterisk={required}\n style={switchStyles.text}\n />\n );\n\n const a11yValue = useMemo(() => ({ text: isOn ? 'On' : 'Off' }), [isOn]);\n\n return (\n <Pressable\n ref={ref}\n onPress={handlePress}\n disabled={disabled}\n accessible\n accessibilityRole=\"switch\"\n accessibilityState={{ checked: isOn, disabled }}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint={resolvedAccessibilityHint}\n accessibilityValue={a11yValue}\n {...viewProps}\n style={rootStyle}\n >\n {labelPosition === 'start' && labelContent}\n\n <Animated.View style={trackStyle} importantForAccessibility=\"no-hide-descendants\">\n <Animated.View style={handleStyle}>\n {onIcon && isOn && (\n <Animated.View style={switchStaticStyles.iconContainer}>\n <IconSlot icon={onIcon} variant=\"fill\" style={switchStyles.handleIcon} />\n </Animated.View>\n )}\n {offIcon && !isOn && (\n <Animated.View style={switchStaticStyles.iconContainer}>\n <IconSlot icon={offIcon} variant=\"fill\" style={switchStyles.handleIcon} />\n </Animated.View>\n )}\n </Animated.View>\n </Animated.View>\n\n {labelPosition === 'end' && labelContent}\n </Pressable>\n );\n});\n\nSwitch.displayName = 'Switch';\n\nconst switchStaticStyles = StyleSheet.create((theme) => ({\n handle: {\n borderRadius: theme.borderRadius.full,\n alignItems: 'center',\n justifyContent: 'center',\n },\n iconContainer: {\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n },\n track: {\n justifyContent: 'center',\n borderRadius: theme.borderRadius.full,\n },\n root: ({ disabled }: { disabled: boolean }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'flex-start',\n opacity: disabled ? 0.5 : 1,\n }),\n}));\n\nexport { Switch, type SwitchProps };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["StyleSheet"],"sources":["../../src/components/Switch.tsx"],"sourcesContent":["import type { SwitchSize, UniversalSwitchProps } from '@yahoo/uds-types';\nimport type { Ref } from 'react';\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport type {\n AccessibilityProps,\n StyleProp,\n TextStyle,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { AccessibilityInfo, Platform, Pressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useDerivedValue, withTiming } from 'react-native-reanimated';\n// eslint-disable-next-line uds/no-use-unistyles -- switch variant layers need concrete web styles\nimport { StyleSheet, useUnistyles } from 'react-native-unistyles';\nimport { useAnimatedVariantColor } from 'react-native-unistyles/reanimated';\n\nimport { switchStyles } from '../../generated/styles';\nimport { FormLabel } from './FormLabel';\nimport type { IconSlotType } from './IconSlot';\nimport { IconSlot } from './IconSlot';\n\ninterface SwitchProps extends Omit<ViewProps, 'style'>, UniversalSwitchProps<IconSlotType> {\n /** Ref to the underlying View */\n ref?: Ref<View>;\n /** Callback when the switch value changes */\n onChange?: (value: boolean) => void;\n /** Whether the switch is disabled */\n disabled?: boolean;\n /** Whether the switch is required (shows asterisk with label) */\n required?: boolean;\n /** Accessibility hint describing what happens when activated */\n accessibilityHint?: AccessibilityProps['accessibilityHint'];\n}\n\nconst HANDLE_TRAVEL: Record<SwitchSize, number> = {\n md: 20,\n sm: 12,\n};\n\nconst ANIMATION_DURATION = 120;\n\n/**\n * **Switch component for toggling options**\n *\n * @description\n * A switch (also called a toggle) is a binary on/off input control.\n * It allows users to pick between two clearly opposite choices.\n *\n * @category Form\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { Switch } from '@yahoo/uds-mobile/Switch';\n *\n * <Switch label=\"Notifications\" />\n * <Switch isOn={enabled} onChange={setEnabled} label=\"Dark mode\" />\n * <Switch onIcon=\"Check\" offIcon=\"Cross\" label=\"Sync\" />\n * ```\n *\n * @usage\n * - Settings: For toggling preferences on/off\n * - Feature flags: For enabling/disabling features\n * - Immediate effect toggles (no submit button needed)\n *\n * @accessibility\n * - Sets `accessibilityRole=\"switch\"` automatically\n * - Announces on/off state to screen readers\n * - Respects system reduce motion preference\n * - Supports `reduceMotion` prop to disable animations\n *\n * @see {@link Checkbox} for forms with submit actions\n * @see {@link Radio} for single-select options\n */\nconst Switch = memo(function Switch({\n isOn: isOnProp,\n defaultIsOn = false,\n onChange,\n label,\n labelPosition = 'start',\n size = 'md',\n onIcon,\n offIcon,\n disabled = false,\n required,\n accessibilityHint,\n reduceMotion = false,\n ref,\n ...viewProps\n}: SwitchProps) {\n const isControlled = isOnProp !== undefined;\n const [internalIsOn, setInternalIsOn] = useState(defaultIsOn);\n const [prefersReducedMotion, setPrefersReducedMotion] = useState(false);\n const isOn = isControlled ? isOnProp : internalIsOn;\n const activeVariant = isOn ? 'on' : 'off';\n const { theme } = useUnistyles();\n\n // Check system reduced motion preference\n useEffect(() => {\n const checkReducedMotion = async () => {\n const isReduceMotionEnabled = await AccessibilityInfo.isReduceMotionEnabled();\n setPrefersReducedMotion(isReduceMotionEnabled);\n };\n checkReducedMotion();\n\n const subscription = AccessibilityInfo.addEventListener(\n 'reduceMotionChanged',\n setPrefersReducedMotion,\n );\n return () => subscription.remove();\n }, []);\n\n const shouldReduceMotion = reduceMotion || prefersReducedMotion;\n const animationDuration = shouldReduceMotion ? 0 : ANIMATION_DURATION;\n\n const progress = useDerivedValue(\n () => withTiming(isOn ? 1 : 0, { duration: animationDuration }),\n [isOn, animationDuration],\n );\n\n const travelDistance = HANDLE_TRAVEL[size];\n\n const handlePress = useCallback(() => {\n if (disabled) {\n return;\n }\n\n const newValue = !isOn;\n\n if (!isControlled) {\n setInternalIsOn(newValue);\n }\n\n onChange?.(newValue);\n }, [disabled, isOn, isControlled, onChange]);\n\n // On web, useVariants returns the resolved style object instead of mutating\n // switchStyles in place.\n const variantSwitchStyles = switchStyles.useVariants({\n size,\n variant: activeVariant,\n }) as unknown as typeof switchStyles | undefined;\n const resolvedSwitchStyles = variantSwitchStyles ?? switchStyles;\n\n const variantLayerStyles = useMemo(() => {\n const components = theme.components as unknown as Record<string, Record<string, unknown>>;\n const getLayerStyle = <TStyle,>(layer: string) =>\n components[`switch/variant/default/active/${activeVariant}/${layer}/rest`] as\n | TStyle\n | undefined;\n\n return {\n handle: getLayerStyle<ViewStyle>('handle'),\n handleIcon: getLayerStyle<TextStyle>('handleIcon'),\n switch: getLayerStyle<ViewStyle>('switch'),\n text: getLayerStyle<TextStyle>('rootText'),\n };\n }, [activeVariant, theme]);\n\n // Get animated track color from design tokens (changes when variant changes)\n const trackBackgroundColor = useAnimatedVariantColor(\n resolvedSwitchStyles.switch,\n 'backgroundColor',\n );\n\n const animatedTrackStyle = useAnimatedStyle(() => {\n 'worklet';\n return {\n backgroundColor: withTiming(trackBackgroundColor.value, { duration: animationDuration }),\n };\n });\n\n const animatedHandleStyle = useAnimatedStyle(() => {\n 'worklet';\n return {\n transform: [{ translateX: progress.value * travelDistance }],\n };\n });\n\n const rootStyle: StyleProp<ViewStyle> = useMemo(\n () => [resolvedSwitchStyles.root, switchStaticStyles.root({ disabled })],\n [resolvedSwitchStyles.root, disabled],\n );\n\n const trackStyle: StyleProp<ViewStyle> = useMemo(\n () => [\n resolvedSwitchStyles.switch,\n switchStaticStyles.track,\n variantLayerStyles.switch,\n // On web, the animated variant color hook currently resolves to Unistyles'\n // black fallback, so the concrete variant layer provides the track color.\n Platform.OS !== 'web' && animatedTrackStyle,\n ],\n [resolvedSwitchStyles.switch, variantLayerStyles.switch, animatedTrackStyle],\n );\n\n const handleStyle: StyleProp<ViewStyle> = useMemo(\n () => [\n resolvedSwitchStyles.handle,\n switchStaticStyles.handle,\n variantLayerStyles.handle,\n animatedHandleStyle,\n ],\n [resolvedSwitchStyles.handle, variantLayerStyles.handle, animatedHandleStyle],\n );\n\n const accessibilityLabel = typeof label === 'string' ? label : undefined;\n const resolvedAccessibilityHint = accessibilityHint ?? 'Double tap to toggle';\n\n const labelContent = label && (\n <FormLabel\n color=\"inherit\"\n variant=\"inherit\"\n label={label}\n required={required}\n showRequiredAsterisk={required}\n style={[resolvedSwitchStyles.text, variantLayerStyles.text]}\n />\n );\n\n const a11yValue = useMemo(() => ({ text: isOn ? 'On' : 'Off' }), [isOn]);\n\n return (\n <Pressable\n ref={ref}\n onPress={handlePress}\n disabled={disabled}\n accessible\n accessibilityRole=\"switch\"\n accessibilityState={{ checked: isOn, disabled }}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint={resolvedAccessibilityHint}\n accessibilityValue={a11yValue}\n {...viewProps}\n style={rootStyle}\n >\n {labelPosition === 'start' && labelContent}\n\n <Animated.View style={trackStyle} importantForAccessibility=\"no-hide-descendants\">\n <Animated.View style={handleStyle}>\n {onIcon && isOn && (\n <Animated.View style={switchStaticStyles.iconContainer}>\n <IconSlot\n icon={onIcon}\n variant=\"fill\"\n style={[resolvedSwitchStyles.handleIcon, variantLayerStyles.handleIcon]}\n />\n </Animated.View>\n )}\n {offIcon && !isOn && (\n <Animated.View style={switchStaticStyles.iconContainer}>\n <IconSlot\n icon={offIcon}\n variant=\"fill\"\n style={[resolvedSwitchStyles.handleIcon, variantLayerStyles.handleIcon]}\n />\n </Animated.View>\n )}\n </Animated.View>\n </Animated.View>\n\n {labelPosition === 'end' && labelContent}\n </Pressable>\n );\n});\n\nSwitch.displayName = 'Switch';\n\nconst switchStaticStyles = StyleSheet.create((theme) => ({\n handle: {\n borderRadius: theme.borderRadius.full,\n alignItems: 'center',\n justifyContent: 'center',\n },\n iconContainer: {\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n },\n track: {\n justifyContent: 'center',\n borderRadius: theme.borderRadius.full,\n },\n root: ({ disabled }: { disabled: boolean }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'flex-start',\n opacity: disabled ? 0.5 : 1,\n }),\n}));\n\nexport { Switch, type SwitchProps };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const require_components_UDSProvider = require("./UDSProvider.cjs");
|
|
4
|
+
exports.UDSGestureProvider = require_components_UDSProvider.UDSGestureProvider;
|
|
@@ -8,29 +8,34 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
8
8
|
let react_native_gesture_handler = require("react-native-gesture-handler");
|
|
9
9
|
//#region src/components/UDSProvider.tsx
|
|
10
10
|
/**
|
|
11
|
-
* Root provider for UDS Mobile.
|
|
11
|
+
* Root gesture and portal provider for UDS Mobile overlays.
|
|
12
12
|
*
|
|
13
13
|
* Place this at the top of your app layout:
|
|
14
14
|
*
|
|
15
15
|
* @example
|
|
16
16
|
* ```tsx
|
|
17
|
-
* import {
|
|
17
|
+
* import { UDSGestureProvider } from '@yahoo/uds-mobile/UDSGestureProvider';
|
|
18
18
|
*
|
|
19
19
|
* export default function RootLayout() {
|
|
20
20
|
* return (
|
|
21
|
-
* <
|
|
21
|
+
* <UDSGestureProvider>
|
|
22
22
|
* <Stack />
|
|
23
|
-
* </
|
|
23
|
+
* </UDSGestureProvider>
|
|
24
24
|
* );
|
|
25
25
|
* }
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
const
|
|
28
|
+
const UDSGestureProvider = (0, react.memo)(function UDSGestureProvider({ children }) {
|
|
29
29
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native_gesture_handler.GestureHandlerRootView, {
|
|
30
30
|
style: styles.root,
|
|
31
31
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_portal.PortalProvider, { children })
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Use {@link UDSGestureProvider} from `@yahoo/uds-mobile/UDSGestureProvider`.
|
|
36
|
+
*/
|
|
37
|
+
const UDSProvider = UDSGestureProvider;
|
|
34
38
|
const styles = react_native.StyleSheet.create({ root: { flex: 1 } });
|
|
35
39
|
//#endregion
|
|
40
|
+
exports.UDSGestureProvider = UDSGestureProvider;
|
|
36
41
|
exports.UDSProvider = UDSProvider;
|
|
@@ -3,28 +3,36 @@ import * as _$react from "react";
|
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/UDSProvider.d.ts
|
|
6
|
-
interface
|
|
6
|
+
interface UDSGestureProviderProps {
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Root provider for UDS Mobile.
|
|
10
|
+
* Root gesture and portal provider for UDS Mobile overlays.
|
|
11
11
|
*
|
|
12
12
|
* Place this at the top of your app layout:
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```tsx
|
|
16
|
-
* import {
|
|
16
|
+
* import { UDSGestureProvider } from '@yahoo/uds-mobile/UDSGestureProvider';
|
|
17
17
|
*
|
|
18
18
|
* export default function RootLayout() {
|
|
19
19
|
* return (
|
|
20
|
-
* <
|
|
20
|
+
* <UDSGestureProvider>
|
|
21
21
|
* <Stack />
|
|
22
|
-
* </
|
|
22
|
+
* </UDSGestureProvider>
|
|
23
23
|
* );
|
|
24
24
|
* }
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
declare const
|
|
27
|
+
declare const UDSGestureProvider: _$react.NamedExoticComponent<UDSGestureProviderProps>;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use {@link UDSGestureProvider} from `@yahoo/uds-mobile/UDSGestureProvider`.
|
|
30
|
+
*/
|
|
31
|
+
declare const UDSProvider: _$react.NamedExoticComponent<UDSGestureProviderProps>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use {@link UDSGestureProviderProps}.
|
|
34
|
+
*/
|
|
35
|
+
type UDSProviderProps = UDSGestureProviderProps;
|
|
28
36
|
//#endregion
|
|
29
|
-
export {
|
|
37
|
+
export { UDSGestureProvider, type UDSGestureProviderProps, UDSProvider, UDSProviderProps };
|
|
30
38
|
//# sourceMappingURL=UDSProvider.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UDSProvider.d.cts","names":[],"sources":["../../src/components/UDSProvider.tsx"],"mappings":";;;;;UAOU,
|
|
1
|
+
{"version":3,"file":"UDSProvider.d.cts","names":[],"sources":["../../src/components/UDSProvider.tsx"],"mappings":";;;;;UAOU,uBAAA;EACR,QAAA,EAAU,SAAA;AAAA;AAR2B;;;;;AAQlB;;;;;AAqBG;;;;;AAwBxB;;;AArDuC,cA6BjC,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,uBAAA;;;;cAWlB,WAAA,EAAW,OAAA,CAAA,oBAAA,CAAA,uBAAA;;;;KAaL,gBAAA,GAAmB,uBAAA"}
|
|
@@ -3,28 +3,36 @@ import * as _$react from "react";
|
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/UDSProvider.d.ts
|
|
6
|
-
interface
|
|
6
|
+
interface UDSGestureProviderProps {
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Root provider for UDS Mobile.
|
|
10
|
+
* Root gesture and portal provider for UDS Mobile overlays.
|
|
11
11
|
*
|
|
12
12
|
* Place this at the top of your app layout:
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```tsx
|
|
16
|
-
* import {
|
|
16
|
+
* import { UDSGestureProvider } from '@yahoo/uds-mobile/UDSGestureProvider';
|
|
17
17
|
*
|
|
18
18
|
* export default function RootLayout() {
|
|
19
19
|
* return (
|
|
20
|
-
* <
|
|
20
|
+
* <UDSGestureProvider>
|
|
21
21
|
* <Stack />
|
|
22
|
-
* </
|
|
22
|
+
* </UDSGestureProvider>
|
|
23
23
|
* );
|
|
24
24
|
* }
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
declare const
|
|
27
|
+
declare const UDSGestureProvider: _$react.NamedExoticComponent<UDSGestureProviderProps>;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use {@link UDSGestureProvider} from `@yahoo/uds-mobile/UDSGestureProvider`.
|
|
30
|
+
*/
|
|
31
|
+
declare const UDSProvider: _$react.NamedExoticComponent<UDSGestureProviderProps>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use {@link UDSGestureProviderProps}.
|
|
34
|
+
*/
|
|
35
|
+
type UDSProviderProps = UDSGestureProviderProps;
|
|
28
36
|
//#endregion
|
|
29
|
-
export {
|
|
37
|
+
export { UDSGestureProvider, type UDSGestureProviderProps, UDSProvider, UDSProviderProps };
|
|
30
38
|
//# sourceMappingURL=UDSProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UDSProvider.d.ts","names":[],"sources":["../../src/components/UDSProvider.tsx"],"mappings":";;;;;UAOU,
|
|
1
|
+
{"version":3,"file":"UDSProvider.d.ts","names":[],"sources":["../../src/components/UDSProvider.tsx"],"mappings":";;;;;UAOU,uBAAA;EACR,QAAA,EAAU,SAAA;AAAA;AAR2B;;;;;AAQlB;;;;;AAqBG;;;;;AAwBxB;;;AArDuC,cA6BjC,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,uBAAA;;;;cAWlB,WAAA,EAAW,OAAA,CAAA,oBAAA,CAAA,uBAAA;;;;KAaL,gBAAA,GAAmB,uBAAA"}
|
|
@@ -6,31 +6,35 @@ import { jsx } from "react/jsx-runtime";
|
|
|
6
6
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
7
7
|
//#region src/components/UDSProvider.tsx
|
|
8
8
|
/**
|
|
9
|
-
* Root provider for UDS Mobile.
|
|
9
|
+
* Root gesture and portal provider for UDS Mobile overlays.
|
|
10
10
|
*
|
|
11
11
|
* Place this at the top of your app layout:
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```tsx
|
|
15
|
-
* import {
|
|
15
|
+
* import { UDSGestureProvider } from '@yahoo/uds-mobile/UDSGestureProvider';
|
|
16
16
|
*
|
|
17
17
|
* export default function RootLayout() {
|
|
18
18
|
* return (
|
|
19
|
-
* <
|
|
19
|
+
* <UDSGestureProvider>
|
|
20
20
|
* <Stack />
|
|
21
|
-
* </
|
|
21
|
+
* </UDSGestureProvider>
|
|
22
22
|
* );
|
|
23
23
|
* }
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
const
|
|
26
|
+
const UDSGestureProvider = memo(function UDSGestureProvider({ children }) {
|
|
27
27
|
return /* @__PURE__ */ jsx(GestureHandlerRootView, {
|
|
28
28
|
style: styles.root,
|
|
29
29
|
children: /* @__PURE__ */ jsx(PortalProvider, { children })
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use {@link UDSGestureProvider} from `@yahoo/uds-mobile/UDSGestureProvider`.
|
|
34
|
+
*/
|
|
35
|
+
const UDSProvider = UDSGestureProvider;
|
|
32
36
|
const styles = StyleSheet.create({ root: { flex: 1 } });
|
|
33
37
|
//#endregion
|
|
34
|
-
export { UDSProvider };
|
|
38
|
+
export { UDSGestureProvider, UDSProvider };
|
|
35
39
|
|
|
36
40
|
//# sourceMappingURL=UDSProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UDSProvider.js","names":[],"sources":["../../src/components/UDSProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { memo } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\nimport { PortalProvider } from '../portal';\n\ninterface
|
|
1
|
+
{"version":3,"file":"UDSProvider.js","names":[],"sources":["../../src/components/UDSProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { memo } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\n\nimport { PortalProvider } from '../portal';\n\ninterface UDSGestureProviderProps {\n children: ReactNode;\n}\n\n/**\n * Root gesture and portal provider for UDS Mobile overlays.\n *\n * Place this at the top of your app layout:\n *\n * @example\n * ```tsx\n * import { UDSGestureProvider } from '@yahoo/uds-mobile/UDSGestureProvider';\n *\n * export default function RootLayout() {\n * return (\n * <UDSGestureProvider>\n * <Stack />\n * </UDSGestureProvider>\n * );\n * }\n * ```\n */\nconst UDSGestureProvider = memo(function UDSGestureProvider({ children }: UDSGestureProviderProps) {\n return (\n <GestureHandlerRootView style={styles.root}>\n <PortalProvider>{children}</PortalProvider>\n </GestureHandlerRootView>\n );\n});\n\n/**\n * @deprecated Use {@link UDSGestureProvider} from `@yahoo/uds-mobile/UDSGestureProvider`.\n */\nconst UDSProvider = UDSGestureProvider;\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n },\n});\n\nexport { UDSGestureProvider, UDSProvider };\nexport type { UDSGestureProviderProps };\n/**\n * @deprecated Use {@link UDSGestureProviderProps}.\n */\nexport type UDSProviderProps = UDSGestureProviderProps;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAM,qBAAqB,KAAK,SAAS,mBAAmB,EAAE,YAAqC;CACjG,OACE,oBAAC,wBAAD;EAAwB,OAAO,OAAO;YACpC,oBAAC,gBAAD,EAAiB,UAA0B,CAAA;EACpB,CAAA;EAE3B;;;;AAKF,MAAM,cAAc;AAEpB,MAAM,SAAS,WAAW,OAAO,EAC/B,MAAM,EACJ,MAAM,GACP,EACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayPortal.js","names":[],"sources":["../../../../src/components/internal/Overlay/OverlayPortal.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport { FullWindowOverlay } from 'react-native-screens';\n\nimport { Portal, usePortalContext } from '../../../portal';\nimport type { OverlayPortalProps } from './types';\n\n/**\n * Internal portal wrapper for mobile overlays.\n *\n * Uses `FullWindowOverlay` on iOS when requested, otherwise renders through the UDS portal host.\n */\nfunction OverlayPortal({ children, useFullWindowOverlay = true }: OverlayPortalProps) {\n // Always assert
|
|
1
|
+
{"version":3,"file":"OverlayPortal.js","names":[],"sources":["../../../../src/components/internal/Overlay/OverlayPortal.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport { FullWindowOverlay } from 'react-native-screens';\n\nimport { Portal, usePortalContext } from '../../../portal';\nimport type { OverlayPortalProps } from './types';\n\n/**\n * Internal portal wrapper for mobile overlays.\n *\n * Uses `FullWindowOverlay` on iOS when requested, otherwise renders through the UDS portal host.\n */\nfunction OverlayPortal({ children, useFullWindowOverlay = true }: OverlayPortalProps) {\n // Always assert UDSGestureProvider presence, even when iOS renders through FullWindowOverlay.\n usePortalContext();\n\n if (Platform.OS === 'ios' && useFullWindowOverlay) {\n return <FullWindowOverlay>{children}</FullWindowOverlay>;\n }\n\n return <Portal>{children}</Portal>;\n}\n\nexport { OverlayPortal };\n"],"mappings":";;;;;;;;;;;AAWA,SAAS,cAAc,EAAE,UAAU,uBAAuB,QAA4B;CAEpF,kBAAkB;CAElB,IAAI,SAAS,OAAO,SAAS,sBAC3B,OAAO,oBAAC,mBAAD,EAAoB,UAA6B,CAAA;CAG1D,OAAO,oBAAC,QAAD,EAAS,UAAkB,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const require_components_internal_Overlay_OverlayPortal = require("./OverlayPortal.cjs");
|
|
4
|
+
const require_components_internal_Overlay_measureTrigger = require("./measureTrigger.cjs");
|
|
4
5
|
const require_components_internal_Overlay_useAnchoredPosition = require("./useAnchoredPosition.cjs");
|
|
5
6
|
const require_components_internal_Overlay_useControllableState = require("./useControllableState.cjs");
|
|
6
7
|
const require_components_internal_Overlay_useOverlayDismiss = require("./useOverlayDismiss.cjs");
|
|
7
8
|
exports.OverlayPortal = require_components_internal_Overlay_OverlayPortal.OverlayPortal;
|
|
9
|
+
exports.measureTrigger = require_components_internal_Overlay_measureTrigger.measureTrigger;
|
|
8
10
|
exports.useAnchoredPosition = require_components_internal_Overlay_useAnchoredPosition.useAnchoredPosition;
|
|
9
11
|
exports.useControllableState = require_components_internal_Overlay_useControllableState.useControllableState;
|
|
10
12
|
exports.useOverlayDismiss = require_components_internal_Overlay_useOverlayDismiss.useOverlayDismiss;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { AnchoredAlign, AnchoredPlacement, AnchoredRect, AnchoredWidth, OverlayInsets, OverlayPortalProps, UseAnchoredPositionProps, UseAnchoredPositionResult, UseControllableStateProps, UseControllableStateResult, UseOverlayDismissProps } from "./types.cjs";
|
|
3
|
+
import { measureTrigger } from "./measureTrigger.cjs";
|
|
3
4
|
import { OverlayPortal } from "./OverlayPortal.cjs";
|
|
4
5
|
import { useAnchoredPosition } from "./useAnchoredPosition.cjs";
|
|
5
6
|
import { useControllableState } from "./useControllableState.cjs";
|
|
6
7
|
import { useOverlayDismiss } from "./useOverlayDismiss.cjs";
|
|
7
|
-
export { type AnchoredAlign, type AnchoredPlacement, type AnchoredRect, type AnchoredWidth, type OverlayInsets, OverlayPortal, type OverlayPortalProps, type UseAnchoredPositionProps, type UseAnchoredPositionResult, type UseControllableStateProps, type UseControllableStateResult, type UseOverlayDismissProps, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
8
|
+
export { type AnchoredAlign, type AnchoredPlacement, type AnchoredRect, type AnchoredWidth, type OverlayInsets, OverlayPortal, type OverlayPortalProps, type UseAnchoredPositionProps, type UseAnchoredPositionResult, type UseControllableStateProps, type UseControllableStateResult, type UseOverlayDismissProps, measureTrigger, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { AnchoredAlign, AnchoredPlacement, AnchoredRect, AnchoredWidth, OverlayInsets, OverlayPortalProps, UseAnchoredPositionProps, UseAnchoredPositionResult, UseControllableStateProps, UseControllableStateResult, UseOverlayDismissProps } from "./types.js";
|
|
3
|
+
import { measureTrigger } from "./measureTrigger.js";
|
|
3
4
|
import { OverlayPortal } from "./OverlayPortal.js";
|
|
4
5
|
import { useAnchoredPosition } from "./useAnchoredPosition.js";
|
|
5
6
|
import { useControllableState } from "./useControllableState.js";
|
|
6
7
|
import { useOverlayDismiss } from "./useOverlayDismiss.js";
|
|
7
|
-
export { type AnchoredAlign, type AnchoredPlacement, type AnchoredRect, type AnchoredWidth, type OverlayInsets, OverlayPortal, type OverlayPortalProps, type UseAnchoredPositionProps, type UseAnchoredPositionResult, type UseControllableStateProps, type UseControllableStateResult, type UseOverlayDismissProps, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
8
|
+
export { type AnchoredAlign, type AnchoredPlacement, type AnchoredRect, type AnchoredWidth, type OverlayInsets, OverlayPortal, type OverlayPortalProps, type UseAnchoredPositionProps, type UseAnchoredPositionResult, type UseControllableStateProps, type UseControllableStateResult, type UseOverlayDismissProps, measureTrigger, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
2
|
import { OverlayPortal } from "./OverlayPortal.js";
|
|
3
|
+
import { measureTrigger } from "./measureTrigger.js";
|
|
3
4
|
import { useAnchoredPosition } from "./useAnchoredPosition.js";
|
|
4
5
|
import { useControllableState } from "./useControllableState.js";
|
|
5
6
|
import { useOverlayDismiss } from "./useOverlayDismiss.js";
|
|
6
|
-
export { OverlayPortal, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
7
|
+
export { OverlayPortal, measureTrigger, useAnchoredPosition, useControllableState, useOverlayDismiss };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
//#region src/components/internal/Overlay/measureTrigger.ts
|
|
4
|
+
function measureInRoot(measurable, onMeasure) {
|
|
5
|
+
if (!measurable?.measure) return false;
|
|
6
|
+
measurable.measure((x, y, width, height, pageX, pageY) => {
|
|
7
|
+
onMeasure({
|
|
8
|
+
x: typeof pageX === "number" ? pageX : x,
|
|
9
|
+
y: typeof pageY === "number" ? pageY : y,
|
|
10
|
+
width,
|
|
11
|
+
height
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
function measureInWindow(measurable, onMeasure) {
|
|
17
|
+
if (!measurable?.measureInWindow) return false;
|
|
18
|
+
measurable.measureInWindow((x, y, width, height) => {
|
|
19
|
+
onMeasure({
|
|
20
|
+
x,
|
|
21
|
+
y,
|
|
22
|
+
width,
|
|
23
|
+
height
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function measureTrigger(node, fallbackRect, onMeasure) {
|
|
29
|
+
const measurable = node;
|
|
30
|
+
if (measureInRoot(measurable, onMeasure)) return;
|
|
31
|
+
if (measureInWindow(measurable, onMeasure)) return;
|
|
32
|
+
if (fallbackRect) onMeasure(fallbackRect);
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.measureTrigger = measureTrigger;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
import { AnchoredRect } from "./types.cjs";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
|
|
5
|
+
//#region src/components/internal/Overlay/measureTrigger.d.ts
|
|
6
|
+
declare function measureTrigger(node: View | null, fallbackRect: AnchoredRect | null, onMeasure: (rect: AnchoredRect) => void): void;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { measureTrigger };
|
|
9
|
+
//# sourceMappingURL=measureTrigger.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureTrigger.d.cts","names":[],"sources":["../../../../src/components/internal/Overlay/measureTrigger.ts"],"mappings":";;;;;iBAqDS,cAAA,CACP,IAAA,EAAM,IAAA,SACN,YAAA,EAAc,YAAA,SACd,SAAA,GAAY,IAAA,EAAM,YAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
import { AnchoredRect } from "./types.js";
|
|
3
|
+
import { View } from "react-native";
|
|
4
|
+
|
|
5
|
+
//#region src/components/internal/Overlay/measureTrigger.d.ts
|
|
6
|
+
declare function measureTrigger(node: View | null, fallbackRect: AnchoredRect | null, onMeasure: (rect: AnchoredRect) => void): void;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { measureTrigger };
|
|
9
|
+
//# sourceMappingURL=measureTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureTrigger.d.ts","names":[],"sources":["../../../../src/components/internal/Overlay/measureTrigger.ts"],"mappings":";;;;;iBAqDS,cAAA,CACP,IAAA,EAAM,IAAA,SACN,YAAA,EAAc,YAAA,SACd,SAAA,GAAY,IAAA,EAAM,YAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
+
//#region src/components/internal/Overlay/measureTrigger.ts
|
|
3
|
+
function measureInRoot(measurable, onMeasure) {
|
|
4
|
+
if (!measurable?.measure) return false;
|
|
5
|
+
measurable.measure((x, y, width, height, pageX, pageY) => {
|
|
6
|
+
onMeasure({
|
|
7
|
+
x: typeof pageX === "number" ? pageX : x,
|
|
8
|
+
y: typeof pageY === "number" ? pageY : y,
|
|
9
|
+
width,
|
|
10
|
+
height
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
function measureInWindow(measurable, onMeasure) {
|
|
16
|
+
if (!measurable?.measureInWindow) return false;
|
|
17
|
+
measurable.measureInWindow((x, y, width, height) => {
|
|
18
|
+
onMeasure({
|
|
19
|
+
x,
|
|
20
|
+
y,
|
|
21
|
+
width,
|
|
22
|
+
height
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function measureTrigger(node, fallbackRect, onMeasure) {
|
|
28
|
+
const measurable = node;
|
|
29
|
+
if (measureInRoot(measurable, onMeasure)) return;
|
|
30
|
+
if (measureInWindow(measurable, onMeasure)) return;
|
|
31
|
+
if (fallbackRect) onMeasure(fallbackRect);
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { measureTrigger };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=measureTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureTrigger.js","names":[],"sources":["../../../../src/components/internal/Overlay/measureTrigger.ts"],"sourcesContent":["import type { View } from 'react-native';\n\nimport type { AnchoredRect } from './types';\n\ntype MeasurableView = View & {\n measureInWindow?: (\n callback: (x: number, y: number, width: number, height: number) => void,\n ) => void;\n measure?: (\n callback: (\n x: number,\n y: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ) => void;\n};\n\nfunction measureInRoot(\n measurable: MeasurableView | null,\n onMeasure: (rect: AnchoredRect) => void,\n): boolean {\n if (!measurable?.measure) {\n return false;\n }\n\n measurable.measure((x, y, width, height, pageX, pageY) => {\n onMeasure({\n x: typeof pageX === 'number' ? pageX : x,\n y: typeof pageY === 'number' ? pageY : y,\n width,\n height,\n });\n });\n return true;\n}\n\nfunction measureInWindow(\n measurable: MeasurableView | null,\n onMeasure: (rect: AnchoredRect) => void,\n): boolean {\n if (!measurable?.measureInWindow) {\n return false;\n }\n\n measurable.measureInWindow((x, y, width, height) => {\n onMeasure({ x, y, width, height });\n });\n return true;\n}\n\nfunction measureTrigger(\n node: View | null,\n fallbackRect: AnchoredRect | null,\n onMeasure: (rect: AnchoredRect) => void,\n): void {\n const measurable = node as MeasurableView | null;\n\n if (measureInRoot(measurable, onMeasure)) {\n return;\n }\n\n if (measureInWindow(measurable, onMeasure)) {\n return;\n }\n\n if (fallbackRect) {\n onMeasure(fallbackRect);\n }\n}\n\nexport { measureTrigger };\n"],"mappings":";;AAoBA,SAAS,cACP,YACA,WACS;CACT,IAAI,CAAC,YAAY,SACf,OAAO;CAGT,WAAW,SAAS,GAAG,GAAG,OAAO,QAAQ,OAAO,UAAU;EACxD,UAAU;GACR,GAAG,OAAO,UAAU,WAAW,QAAQ;GACvC,GAAG,OAAO,UAAU,WAAW,QAAQ;GACvC;GACA;GACD,CAAC;GACF;CACF,OAAO;;AAGT,SAAS,gBACP,YACA,WACS;CACT,IAAI,CAAC,YAAY,iBACf,OAAO;CAGT,WAAW,iBAAiB,GAAG,GAAG,OAAO,WAAW;EAClD,UAAU;GAAE;GAAG;GAAG;GAAO;GAAQ,CAAC;GAClC;CACF,OAAO;;AAGT,SAAS,eACP,MACA,cACA,WACM;CACN,MAAM,aAAa;CAEnB,IAAI,cAAc,YAAY,UAAU,EACtC;CAGF,IAAI,gBAAgB,YAAY,UAAU,EACxC;CAGF,IAAI,cACF,UAAU,aAAa"}
|
|
@@ -17,6 +17,9 @@ var styles_exports = /* @__PURE__ */ require("../../_virtual/_rolldown/runtime.c
|
|
|
17
17
|
popoverStyles: () => popoverStyles,
|
|
18
18
|
radioStyles: () => radioStyles,
|
|
19
19
|
scrimStyles: () => scrimStyles,
|
|
20
|
+
selectContentStyles: () => selectContentStyles,
|
|
21
|
+
selectItemStyles: () => selectItemStyles,
|
|
22
|
+
selectStyles: () => selectStyles,
|
|
20
23
|
styles: () => styles,
|
|
21
24
|
switchStyles: () => switchStyles,
|
|
22
25
|
tabsStyles: () => tabsStyles,
|
|
@@ -52,12 +55,13 @@ const defaultFoundation = {
|
|
|
52
55
|
boxShadow: ""
|
|
53
56
|
};
|
|
54
57
|
function createStyleObject(baseStyles = {}) {
|
|
55
|
-
|
|
58
|
+
const useVariants = jest.fn();
|
|
59
|
+
const proxy = new Proxy({
|
|
56
60
|
...defaultFoundation,
|
|
57
61
|
...baseStyles,
|
|
58
|
-
useVariants
|
|
62
|
+
useVariants
|
|
59
63
|
}, { get(target, prop) {
|
|
60
|
-
if (prop === "useVariants") return
|
|
64
|
+
if (prop === "useVariants") return useVariants;
|
|
61
65
|
if (prop in target) return target[prop];
|
|
62
66
|
if (typeof prop === "string") {
|
|
63
67
|
if (prop.includes("color") || prop.includes("Color")) return "#000000";
|
|
@@ -68,15 +72,20 @@ function createStyleObject(baseStyles = {}) {
|
|
|
68
72
|
if (prop.includes("gap") || prop.includes("Gap")) return 0;
|
|
69
73
|
}
|
|
70
74
|
} });
|
|
75
|
+
useVariants.mockReturnValue(proxy);
|
|
76
|
+
return proxy;
|
|
71
77
|
}
|
|
72
78
|
function createComponentStyles(styleKeys) {
|
|
73
|
-
const
|
|
79
|
+
const useVariants = jest.fn();
|
|
80
|
+
const result = { useVariants };
|
|
74
81
|
for (const [key, baseStyles] of Object.entries(styleKeys)) result[key] = createStyleObject(baseStyles);
|
|
75
|
-
|
|
76
|
-
if (prop === "useVariants") return
|
|
82
|
+
const proxy = new Proxy(result, { get(target, prop) {
|
|
83
|
+
if (prop === "useVariants") return useVariants;
|
|
77
84
|
if (prop in target) return target[prop];
|
|
78
85
|
if (typeof prop === "string") return createStyleObject();
|
|
79
86
|
} });
|
|
87
|
+
useVariants.mockReturnValue(proxy);
|
|
88
|
+
return proxy;
|
|
80
89
|
}
|
|
81
90
|
const styles = createComponentStyles({ foundation: defaultFoundation });
|
|
82
91
|
const buttonStyles = createComponentStyles({
|
|
@@ -150,7 +159,24 @@ const inputStyles = createComponentStyles({
|
|
|
150
159
|
fontSize: 12,
|
|
151
160
|
lineHeight: 16,
|
|
152
161
|
color: "#666666"
|
|
153
|
-
}
|
|
162
|
+
},
|
|
163
|
+
labelRequired: { color: "#6001D2" },
|
|
164
|
+
inputWrapper: {
|
|
165
|
+
backgroundColor: "#FFFFFF",
|
|
166
|
+
borderColor: "#E0E0E0"
|
|
167
|
+
},
|
|
168
|
+
inputWrapperStatic: {
|
|
169
|
+
paddingHorizontal: 12,
|
|
170
|
+
gap: 8
|
|
171
|
+
},
|
|
172
|
+
inputWrapperDynamic: {
|
|
173
|
+
borderWidth: 1,
|
|
174
|
+
borderRadius: 8
|
|
175
|
+
},
|
|
176
|
+
inputPlaceholder: { color: "#666666" },
|
|
177
|
+
startIcon: { color: "#666666" },
|
|
178
|
+
endIcon: { color: "#666666" },
|
|
179
|
+
helperIcon: { color: "#666666" }
|
|
154
180
|
});
|
|
155
181
|
const checkboxStyles = createComponentStyles({
|
|
156
182
|
root: {
|
|
@@ -182,19 +208,25 @@ const switchStyles = createComponentStyles({
|
|
|
182
208
|
alignItems: "center",
|
|
183
209
|
gap: 8
|
|
184
210
|
},
|
|
185
|
-
|
|
211
|
+
switch: {
|
|
186
212
|
width: 48,
|
|
187
213
|
height: 28,
|
|
188
214
|
borderRadius: 14,
|
|
189
215
|
backgroundColor: "#E0E0E0"
|
|
190
216
|
},
|
|
191
|
-
|
|
217
|
+
handle: {
|
|
192
218
|
width: 24,
|
|
193
219
|
height: 24,
|
|
194
220
|
borderRadius: 12,
|
|
195
221
|
backgroundColor: "#FFFFFF"
|
|
196
222
|
},
|
|
197
|
-
|
|
223
|
+
handleIcon: {
|
|
224
|
+
fontSize: 16,
|
|
225
|
+
iconSizeToken: "sm",
|
|
226
|
+
lineHeight: 16,
|
|
227
|
+
color: "#000000"
|
|
228
|
+
},
|
|
229
|
+
text: {
|
|
198
230
|
fontFamily: "YahooProductSans-Regular",
|
|
199
231
|
fontSize: 14,
|
|
200
232
|
lineHeight: 20,
|
|
@@ -477,6 +509,29 @@ const modalStyles = createComponentStyles({
|
|
|
477
509
|
},
|
|
478
510
|
titleDescriptionWrapper: { gap: 8 }
|
|
479
511
|
});
|
|
512
|
+
const selectStyles = createComponentStyles({
|
|
513
|
+
startIcon: { color: "#666666" },
|
|
514
|
+
endIcon: { color: "#666666" }
|
|
515
|
+
});
|
|
516
|
+
const selectContentStyles = createComponentStyles({ root: {
|
|
517
|
+
backgroundColor: "#FFFFFF",
|
|
518
|
+
borderColor: "#E0E0E0",
|
|
519
|
+
borderWidth: 1,
|
|
520
|
+
borderRadius: 8,
|
|
521
|
+
boxShadow: "",
|
|
522
|
+
gap: 0,
|
|
523
|
+
paddingHorizontal: 0,
|
|
524
|
+
paddingVertical: 0
|
|
525
|
+
} });
|
|
526
|
+
const selectItemStyles = createComponentStyles({
|
|
527
|
+
root: {
|
|
528
|
+
backgroundColor: "#FFFFFF",
|
|
529
|
+
paddingHorizontal: 16,
|
|
530
|
+
paddingVertical: 8
|
|
531
|
+
},
|
|
532
|
+
text: { color: "#000000" },
|
|
533
|
+
endIcon: { color: "#6001D2" }
|
|
534
|
+
});
|
|
480
535
|
//#endregion
|
|
481
536
|
exports.avatarStyles = avatarStyles;
|
|
482
537
|
exports.badgeStyles = badgeStyles;
|
|
@@ -493,6 +548,9 @@ exports.paginationStyles = paginationStyles;
|
|
|
493
548
|
exports.popoverStyles = popoverStyles;
|
|
494
549
|
exports.radioStyles = radioStyles;
|
|
495
550
|
exports.scrimStyles = scrimStyles;
|
|
551
|
+
exports.selectContentStyles = selectContentStyles;
|
|
552
|
+
exports.selectItemStyles = selectItemStyles;
|
|
553
|
+
exports.selectStyles = selectStyles;
|
|
496
554
|
exports.styles = styles;
|
|
497
555
|
Object.defineProperty(exports, "styles_exports", {
|
|
498
556
|
enumerable: true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
declare namespace styles_d_exports {
|
|
3
|
-
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
3
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, selectContentStyles, selectItemStyles, selectStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* Jest mock for generated/styles.
|
|
@@ -28,6 +28,9 @@ declare const tabsStyles: Record<string, unknown>;
|
|
|
28
28
|
declare const paginationStyles: Record<string, unknown>;
|
|
29
29
|
declare const toastStyles: Record<string, unknown>;
|
|
30
30
|
declare const modalStyles: Record<string, unknown>;
|
|
31
|
+
declare const selectStyles: Record<string, unknown>;
|
|
32
|
+
declare const selectContentStyles: Record<string, unknown>;
|
|
33
|
+
declare const selectItemStyles: Record<string, unknown>;
|
|
31
34
|
interface StyleProps {
|
|
32
35
|
color?: string;
|
|
33
36
|
backgroundColor?: string;
|
|
@@ -37,5 +40,5 @@ interface StyleProps {
|
|
|
37
40
|
[key: string]: unknown;
|
|
38
41
|
}
|
|
39
42
|
//#endregion
|
|
40
|
-
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
43
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, selectContentStyles, selectItemStyles, selectStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
41
44
|
//# sourceMappingURL=styles.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cA8Ga,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAkEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAkCZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,gBAAA,EAAgB,MAAA;AAAA,cAuBhB,WAAA,EAAW,MAAA;AAAA,cAuCX,WAAA,EAAW,MAAA;AAAA,cAiDX,YAAA,EAAY,MAAA;AAAA,cASZ,mBAAA,EAAmB,MAAA;AAAA,cAanB,gBAAA,EAAgB,MAAA;AAAA,UAeZ,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
|