{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"enterTouchDelay\", \"leaveTouchDelay\", \"title\", \"theme\", \"titleMaxFontSizeMultiplier\"];\nfunction _extends() {\n  return _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, _extends.apply(null, arguments);\n}\nimport * as React from 'react';\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nimport View from \"react-native-web/dist/exports/View\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport Pressable from \"react-native-web/dist/exports/Pressable\";\nimport { getTooltipPosition } from \"./utils\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport { addEventListener } from \"../../utils/addEventListener\";\nimport Portal from \"../Portal/Portal\";\nimport Text from \"../Typography/Text\";\nconst Tooltip = _ref3 => {\n  let {\n      children,\n      enterTouchDelay = 500,\n      leaveTouchDelay = 1500,\n      title,\n      theme: themeOverrides,\n      titleMaxFontSizeMultiplier\n    } = _ref3,\n    rest = _objectWithoutPropertiesLoose(_ref3, _excluded);\n  const isWeb = Platform.OS === 'web';\n  const theme = useInternalTheme(themeOverrides);\n  const [visible, setVisible] = React.useState(false);\n  const [measurement, setMeasurement] = React.useState({\n    children: {},\n    tooltip: {},\n    measured: false\n  });\n  const showTooltipTimer = React.useRef([]);\n  const hideTooltipTimer = React.useRef([]);\n  const childrenWrapperRef = React.useRef(null);\n  const touched = React.useRef(false);\n  const isValidChild = React.useMemo(() => React.isValidElement(children), [children]);\n  React.useEffect(() => {\n    return () => {\n      if (showTooltipTimer.current.length) {\n        showTooltipTimer.current.forEach(t => clearTimeout(t));\n        showTooltipTimer.current = [];\n      }\n      if (hideTooltipTimer.current.length) {\n        hideTooltipTimer.current.forEach(t => clearTimeout(t));\n        hideTooltipTimer.current = [];\n      }\n    };\n  }, []);\n  React.useEffect(() => {\n    const subscription = addEventListener(Dimensions, 'change', () => setVisible(false));\n    return () => subscription.remove();\n  }, []);\n  const handleTouchStart = React.useCallback(() => {\n    if (hideTooltipTimer.current.length) {\n      hideTooltipTimer.current.forEach(t => clearTimeout(t));\n      hideTooltipTimer.current = [];\n    }\n    if (isWeb) {\n      let id = setTimeout(() => {\n        touched.current = true;\n        setVisible(true);\n      }, enterTouchDelay);\n      showTooltipTimer.current.push(id);\n    } else {\n      touched.current = true;\n      setVisible(true);\n    }\n  }, [isWeb, enterTouchDelay]);\n  const handleTouchEnd = React.useCallback(() => {\n    touched.current = false;\n    if (showTooltipTimer.current.length) {\n      showTooltipTimer.current.forEach(t => clearTimeout(t));\n      showTooltipTimer.current = [];\n    }\n    let id = setTimeout(() => {\n      setVisible(false);\n      setMeasurement({\n        children: {},\n        tooltip: {},\n        measured: false\n      });\n    }, leaveTouchDelay);\n    hideTooltipTimer.current.push(id);\n  }, [leaveTouchDelay]);\n  const handlePress = React.useCallback(() => {\n    var _props$onPress;\n    if (touched.current) {\n      return null;\n    }\n    if (!isValidChild) return null;\n    const props = children.props;\n    if (props.disabled) return null;\n    return (_props$onPress = props.onPress) === null || _props$onPress === void 0 ? void 0 : _props$onPress.call(props);\n  }, [children.props, isValidChild]);\n  const handleHoverIn = React.useCallback(() => {\n    handleTouchStart();\n    if (isValidChild) {\n      var _onHoverIn, _ref;\n      (_onHoverIn = (_ref = children.props).onHoverIn) === null || _onHoverIn === void 0 || _onHoverIn.call(_ref);\n    }\n  }, [children.props, handleTouchStart, isValidChild]);\n  const handleHoverOut = React.useCallback(() => {\n    handleTouchEnd();\n    if (isValidChild) {\n      var _onHoverOut, _ref2;\n      (_onHoverOut = (_ref2 = children.props).onHoverOut) === null || _onHoverOut === void 0 || _onHoverOut.call(_ref2);\n    }\n  }, [children.props, handleTouchEnd, isValidChild]);\n  const handleOnLayout = ({\n    nativeEvent: {\n      layout\n    }\n  }) => {\n    var _childrenWrapperRef$c;\n    (_childrenWrapperRef$c = childrenWrapperRef.current) === null || _childrenWrapperRef$c === void 0 || _childrenWrapperRef$c.measure((_x, _y, width, height, pageX, pageY) => {\n      setMeasurement({\n        children: {\n          pageX,\n          pageY,\n          height,\n          width\n        },\n        tooltip: Object.assign({}, layout),\n        measured: true\n      });\n    });\n  };\n  const mobilePressProps = {\n    onPress: handlePress,\n    onLongPress: () => handleTouchStart(),\n    onPressOut: () => handleTouchEnd(),\n    delayLongPress: enterTouchDelay\n  };\n  const webPressProps = {\n    onHoverIn: handleHoverIn,\n    onHoverOut: handleHoverOut\n  };\n  return React.createElement(React.Fragment, null, visible && React.createElement(Portal, null, React.createElement(View, {\n    onLayout: handleOnLayout,\n    style: [styles.tooltip, Object.assign({\n      backgroundColor: theme.isV3 ? theme.colors.onSurface : theme.colors.tooltip\n    }, getTooltipPosition(measurement, children), {\n      borderRadius: theme.roundness\n    }, measurement.measured ? styles.visible : styles.hidden)],\n    testID: \"tooltip-container\"\n  }, React.createElement(Text, {\n    accessibilityLiveRegion: \"polite\",\n    numberOfLines: 1,\n    selectable: false,\n    variant: \"labelLarge\",\n    style: {\n      color: theme.colors.surface\n    },\n    maxFontSizeMultiplier: titleMaxFontSizeMultiplier\n  }, title))), React.createElement(Pressable, _extends({\n    ref: childrenWrapperRef,\n    style: styles.pressContainer\n  }, isWeb ? webPressProps : mobilePressProps), React.cloneElement(children, Object.assign({}, rest, isWeb ? webPressProps : mobilePressProps))));\n};\nTooltip.displayName = 'Tooltip';\nconst styles = StyleSheet.create({\n  tooltip: {\n    alignSelf: 'flex-start',\n    justifyContent: 'center',\n    paddingHorizontal: 16,\n    height: 32,\n    maxHeight: 32\n  },\n  visible: {\n    opacity: 1\n  },\n  hidden: {\n    opacity: 0\n  },\n  pressContainer: Object.assign({}, Platform.OS === 'web' && {\n    cursor: 'default'\n  })\n});\nexport default Tooltip;","map":{"version":3,"names":["React","Dimensions","View","StyleSheet","Platform","Pressable","getTooltipPosition","useInternalTheme","addEventListener","Portal","Text","Tooltip","_ref3","children","enterTouchDelay","leaveTouchDelay","title","theme","themeOverrides","titleMaxFontSizeMultiplier","rest","_objectWithoutPropertiesLoose","_excluded","isWeb","OS","visible","setVisible","useState","measurement","setMeasurement","tooltip","measured","showTooltipTimer","useRef","hideTooltipTimer","childrenWrapperRef","touched","isValidChild","useMemo","isValidElement","useEffect","current","length","forEach","t","clearTimeout","subscription","remove","handleTouchStart","useCallback","id","setTimeout","push","handleTouchEnd","handlePress","_props$onPress","props","disabled","onPress","call","handleHoverIn","_onHoverIn","_ref","onHoverIn","handleHoverOut","_onHoverOut","_ref2","onHoverOut","handleOnLayout","nativeEvent","layout","_childrenWrapperRef$c","measure","_x","_y","width","height","pageX","pageY","Object","assign","mobilePressProps","onLongPress","onPressOut","delayLongPress","webPressProps","createElement","Fragment","onLayout","style","styles","backgroundColor","isV3","colors","onSurface","borderRadius","roundness","hidden","testID","accessibilityLiveRegion","numberOfLines","selectable","variant","color","surface","maxFontSizeMultiplier","_extends","ref","pressContainer","cloneElement","displayName","create","alignSelf","justifyContent","paddingHorizontal","maxHeight","opacity","cursor"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n  Dimensions,\n  View,\n  LayoutChangeEvent,\n  StyleSheet,\n  Platform,\n  Pressable,\n  ViewStyle,\n} from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { getTooltipPosition, Measurement, TooltipChildProps } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport { addEventListener } from '../../utils/addEventListener';\nimport Portal from '../Portal/Portal';\nimport Text from '../Typography/Text';\n\nexport type Props = {\n  /**\n   * Tooltip reference element. Needs to be able to hold a ref.\n   */\n  children: React.ReactElement;\n  /**\n   * The number of milliseconds a user must touch the element before showing the tooltip.\n   */\n  enterTouchDelay?: number;\n  /**\n   * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n   */\n  leaveTouchDelay?: number;\n  /**\n   * Tooltip title\n   */\n  title: string;\n  /**\n   * Specifies the largest possible scale a title font can reach.\n   */\n  titleMaxFontSizeMultiplier?: number;\n  /**\n   * @optional\n   */\n  theme?: ThemeProp;\n};\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n *\n * Plain tooltips, when activated, display a text label identifying an element, such as a description of its function. Tooltips should include only short, descriptive text and avoid restating visible UI text.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { IconButton, Tooltip } from 'react-native-paper';\n *\n * const MyComponent = () => (\n *   <Tooltip title=\"Selected Camera\">\n *     <IconButton icon=\"camera\" selected size={24} onPress={() => {}} />\n *   </Tooltip>\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Tooltip = ({\n  children,\n  enterTouchDelay = 500,\n  leaveTouchDelay = 1500,\n  title,\n  theme: themeOverrides,\n  titleMaxFontSizeMultiplier,\n  ...rest\n}: Props) => {\n  const isWeb = Platform.OS === 'web';\n\n  const theme = useInternalTheme(themeOverrides);\n  const [visible, setVisible] = React.useState(false);\n\n  const [measurement, setMeasurement] = React.useState({\n    children: {},\n    tooltip: {},\n    measured: false,\n  });\n  const showTooltipTimer = React.useRef<NodeJS.Timeout[]>([]);\n  const hideTooltipTimer = React.useRef<NodeJS.Timeout[]>([]);\n\n  const childrenWrapperRef = React.useRef<View>(null);\n  const touched = React.useRef(false);\n\n  const isValidChild = React.useMemo(\n    () => React.isValidElement<TooltipChildProps>(children),\n    [children]\n  );\n\n  React.useEffect(() => {\n    return () => {\n      if (showTooltipTimer.current.length) {\n        showTooltipTimer.current.forEach((t) => clearTimeout(t));\n        showTooltipTimer.current = [];\n      }\n\n      if (hideTooltipTimer.current.length) {\n        hideTooltipTimer.current.forEach((t) => clearTimeout(t));\n        hideTooltipTimer.current = [];\n      }\n    };\n  }, []);\n\n  React.useEffect(() => {\n    const subscription = addEventListener(Dimensions, 'change', () =>\n      setVisible(false)\n    );\n\n    return () => subscription.remove();\n  }, []);\n\n  const handleTouchStart = React.useCallback(() => {\n    if (hideTooltipTimer.current.length) {\n      hideTooltipTimer.current.forEach((t) => clearTimeout(t));\n      hideTooltipTimer.current = [];\n    }\n\n    if (isWeb) {\n      let id = setTimeout(() => {\n        touched.current = true;\n        setVisible(true);\n      }, enterTouchDelay) as unknown as NodeJS.Timeout;\n      showTooltipTimer.current.push(id);\n    } else {\n      touched.current = true;\n      setVisible(true);\n    }\n  }, [isWeb, enterTouchDelay]);\n\n  const handleTouchEnd = React.useCallback(() => {\n    touched.current = false;\n    if (showTooltipTimer.current.length) {\n      showTooltipTimer.current.forEach((t) => clearTimeout(t));\n      showTooltipTimer.current = [];\n    }\n\n    let id = setTimeout(() => {\n      setVisible(false);\n      setMeasurement({ children: {}, tooltip: {}, measured: false });\n    }, leaveTouchDelay) as unknown as NodeJS.Timeout;\n    hideTooltipTimer.current.push(id);\n  }, [leaveTouchDelay]);\n\n  const handlePress = React.useCallback(() => {\n    if (touched.current) {\n      return null;\n    }\n    if (!isValidChild) return null;\n    const props = children.props as TooltipChildProps;\n    if (props.disabled) return null;\n    return props.onPress?.();\n  }, [children.props, isValidChild]);\n\n  const handleHoverIn = React.useCallback(() => {\n    handleTouchStart();\n    if (isValidChild) {\n      (children.props as TooltipChildProps).onHoverIn?.();\n    }\n  }, [children.props, handleTouchStart, isValidChild]);\n\n  const handleHoverOut = React.useCallback(() => {\n    handleTouchEnd();\n    if (isValidChild) {\n      (children.props as TooltipChildProps).onHoverOut?.();\n    }\n  }, [children.props, handleTouchEnd, isValidChild]);\n\n  const handleOnLayout = ({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n    childrenWrapperRef.current?.measure(\n      (_x, _y, width, height, pageX, pageY) => {\n        setMeasurement({\n          children: { pageX, pageY, height, width },\n          tooltip: { ...layout },\n          measured: true,\n        });\n      }\n    );\n  };\n\n  const mobilePressProps = {\n    onPress: handlePress,\n    onLongPress: () => handleTouchStart(),\n    onPressOut: () => handleTouchEnd(),\n    delayLongPress: enterTouchDelay,\n  };\n\n  const webPressProps = {\n    onHoverIn: handleHoverIn,\n    onHoverOut: handleHoverOut,\n  };\n\n  return (\n    <>\n      {visible && (\n        <Portal>\n          <View\n            onLayout={handleOnLayout}\n            style={[\n              styles.tooltip,\n              {\n                backgroundColor: theme.isV3\n                  ? theme.colors.onSurface\n                  : theme.colors.tooltip,\n                ...getTooltipPosition(\n                  measurement as Measurement,\n                  children as React.ReactElement<TooltipChildProps>\n                ),\n                borderRadius: theme.roundness,\n                ...(measurement.measured ? styles.visible : styles.hidden),\n              },\n            ]}\n            testID=\"tooltip-container\"\n          >\n            <Text\n              accessibilityLiveRegion=\"polite\"\n              numberOfLines={1}\n              selectable={false}\n              variant=\"labelLarge\"\n              style={{ color: theme.colors.surface }}\n              maxFontSizeMultiplier={titleMaxFontSizeMultiplier}\n            >\n              {title}\n            </Text>\n          </View>\n        </Portal>\n      )}\n      <Pressable\n        ref={childrenWrapperRef}\n        style={styles.pressContainer}\n        {...(isWeb ? webPressProps : mobilePressProps)}\n      >\n        {React.cloneElement(children, {\n          ...rest,\n          ...(isWeb ? webPressProps : mobilePressProps),\n        })}\n      </Pressable>\n    </>\n  );\n};\n\nTooltip.displayName = 'Tooltip';\n\nconst styles = StyleSheet.create({\n  tooltip: {\n    alignSelf: 'flex-start',\n    justifyContent: 'center',\n    paddingHorizontal: 16,\n    height: 32,\n    maxHeight: 32,\n  },\n  visible: {\n    opacity: 1,\n  },\n  hidden: {\n    opacity: 0,\n  },\n  pressContainer: {\n    ...(Platform.OS === 'web' && { cursor: 'default' }),\n  } as ViewStyle,\n});\n\nexport default Tooltip;\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}