{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"mode\", \"children\", \"icon\", \"avatar\", \"selected\", \"disabled\", \"background\", \"accessibilityLabel\", \"accessibilityRole\", \"closeIconAccessibilityLabel\", \"onPress\", \"onLongPress\", \"onPressOut\", \"onPressIn\", \"delayLongPress\", \"onClose\", \"closeIcon\", \"textStyle\", \"style\", \"theme\", \"testID\", \"selectedColor\", \"rippleColor\", \"showSelectedOverlay\", \"showSelectedCheck\", \"ellipsizeMode\", \"compact\", \"elevated\", \"maxFontSizeMultiplier\", \"hitSlop\"];\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 Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Pressable from \"react-native-web/dist/exports/Pressable\";\nimport View from \"react-native-web/dist/exports/View\";\nimport useLatestCallback from 'use-latest-callback';\nimport { getChipColors } from \"./helpers\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport { white } from \"../../styles/themes/v2/colors\";\nimport hasTouchHandler from \"../../utils/hasTouchHandler\";\nimport Icon from \"../Icon\";\nimport MaterialCommunityIcon from \"../MaterialCommunityIcon\";\nimport Surface from \"../Surface\";\nimport TouchableRipple from \"../TouchableRipple/TouchableRipple\";\nimport Text from \"../Typography/Text\";\nconst Chip = _ref => {\n  let {\n      mode = 'flat',\n      children,\n      icon,\n      avatar,\n      selected = false,\n      disabled = false,\n      background,\n      accessibilityLabel,\n      accessibilityRole = 'button',\n      closeIconAccessibilityLabel = 'Close',\n      onPress,\n      onLongPress,\n      onPressOut,\n      onPressIn,\n      delayLongPress,\n      onClose,\n      closeIcon,\n      textStyle,\n      style,\n      theme: themeOverrides,\n      testID = 'chip',\n      selectedColor,\n      rippleColor: customRippleColor,\n      showSelectedOverlay = false,\n      showSelectedCheck = true,\n      ellipsizeMode,\n      compact,\n      elevated = false,\n      maxFontSizeMultiplier,\n      hitSlop\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const theme = useInternalTheme(themeOverrides);\n  const {\n    isV3,\n    roundness\n  } = theme;\n  const isWeb = Platform.OS === 'web';\n  const {\n    current: elevation\n  } = React.useRef(new Animated.Value(isV3 && elevated ? 1 : 0));\n  const hasPassedTouchHandler = hasTouchHandler({\n    onPress,\n    onLongPress,\n    onPressIn,\n    onPressOut\n  });\n  const isOutlined = mode === 'outlined';\n  const handlePressIn = useLatestCallback(e => {\n    const {\n      scale\n    } = theme.animation;\n    onPressIn === null || onPressIn === void 0 || onPressIn(e);\n    Animated.timing(elevation, {\n      toValue: isV3 ? elevated ? 2 : 0 : 4,\n      duration: 200 * scale,\n      useNativeDriver: isWeb || Platform.constants.reactNativeVersion.minor <= 72\n    }).start();\n  });\n  const handlePressOut = useLatestCallback(e => {\n    const {\n      scale\n    } = theme.animation;\n    onPressOut === null || onPressOut === void 0 || onPressOut(e);\n    Animated.timing(elevation, {\n      toValue: isV3 && elevated ? 1 : 0,\n      duration: 150 * scale,\n      useNativeDriver: isWeb || Platform.constants.reactNativeVersion.minor <= 72\n    }).start();\n  });\n  const opacity = isV3 ? 0.38 : 0.26;\n  const defaultBorderRadius = roundness * (isV3 ? 2 : 4);\n  const iconSize = isV3 ? 18 : 16;\n  const {\n    backgroundColor: customBackgroundColor,\n    borderRadius = defaultBorderRadius\n  } = StyleSheet.flatten(style) || {};\n  const {\n    borderColor,\n    textColor,\n    iconColor,\n    rippleColor,\n    selectedBackgroundColor,\n    backgroundColor\n  } = getChipColors({\n    isOutlined,\n    theme,\n    selectedColor,\n    showSelectedOverlay,\n    customBackgroundColor,\n    disabled,\n    customRippleColor\n  });\n  const accessibilityState = {\n    selected,\n    disabled\n  };\n  const elevationStyle = isV3 || Platform.OS === 'android' ? elevation : 0;\n  const multiplier = isV3 ? compact ? 1.5 : 2 : 1;\n  const labelSpacings = {\n    marginRight: onClose ? 0 : 8 * multiplier,\n    marginLeft: avatar || icon || selected && showSelectedCheck ? 4 * multiplier : 8 * multiplier\n  };\n  const contentSpacings = {\n    paddingRight: isV3 ? onClose ? 34 : 0 : onClose ? 32 : 4\n  };\n  const labelTextStyle = Object.assign({\n    color: textColor\n  }, isV3 ? theme.fonts.labelLarge : theme.fonts.regular);\n  return React.createElement(Surface, _extends({\n    style: [styles.container, isV3 && styles.md3Container, !theme.isV3 && {\n      elevation: elevationStyle\n    }, {\n      backgroundColor: selected ? selectedBackgroundColor : backgroundColor,\n      borderColor,\n      borderRadius\n    }, style]\n  }, theme.isV3 && {\n    elevation: elevationStyle\n  }, rest, {\n    testID: `${testID}-container`,\n    theme: theme,\n    container: true\n  }), React.createElement(TouchableRipple, {\n    borderless: true,\n    background: background,\n    style: [{\n      borderRadius\n    }, styles.touchable],\n    onPress: onPress,\n    onLongPress: onLongPress,\n    onPressIn: hasPassedTouchHandler ? handlePressIn : undefined,\n    onPressOut: hasPassedTouchHandler ? handlePressOut : undefined,\n    delayLongPress: delayLongPress,\n    rippleColor: rippleColor,\n    disabled: disabled,\n    accessibilityLabel: accessibilityLabel,\n    accessibilityRole: accessibilityRole,\n    accessibilityState: accessibilityState,\n    testID: testID,\n    theme: theme,\n    hitSlop: hitSlop\n  }, React.createElement(View, {\n    style: [styles.content, isV3 && styles.md3Content, contentSpacings]\n  }, avatar && !icon ? React.createElement(View, {\n    style: [styles.avatarWrapper, isV3 && styles.md3AvatarWrapper, disabled && {\n      opacity\n    }]\n  }, React.isValidElement(avatar) ? React.cloneElement(avatar, {\n    style: [styles.avatar, avatar.props.style]\n  }) : avatar) : null, icon || selected && showSelectedCheck ? React.createElement(View, {\n    style: [styles.icon, isV3 && styles.md3Icon, avatar ? [styles.avatar, styles.avatarSelected, isV3 && selected && styles.md3SelectedIcon] : null]\n  }, icon ? React.createElement(Icon, {\n    source: icon,\n    color: avatar ? white : !disabled && theme.isV3 ? theme.colors.primary : iconColor,\n    size: 18,\n    theme: theme\n  }) : React.createElement(MaterialCommunityIcon, {\n    name: \"check\",\n    color: avatar ? white : iconColor,\n    size: 18,\n    direction: \"ltr\"\n  })) : null, React.createElement(Text, {\n    variant: \"labelLarge\",\n    selectable: false,\n    numberOfLines: 1,\n    style: [isV3 ? styles.md3LabelText : styles.labelText, labelTextStyle, labelSpacings, textStyle],\n    ellipsizeMode: ellipsizeMode,\n    maxFontSizeMultiplier: maxFontSizeMultiplier\n  }, children))), onClose ? React.createElement(View, {\n    style: styles.closeButtonStyle\n  }, React.createElement(Pressable, {\n    onPress: onClose,\n    disabled: disabled,\n    accessibilityRole: \"button\",\n    accessibilityLabel: closeIconAccessibilityLabel\n  }, React.createElement(View, {\n    style: [styles.icon, styles.closeIcon, isV3 && styles.md3CloseIcon]\n  }, closeIcon ? React.createElement(Icon, {\n    source: closeIcon,\n    color: iconColor,\n    size: iconSize\n  }) : React.createElement(MaterialCommunityIcon, {\n    name: isV3 ? 'close' : 'close-circle',\n    size: iconSize,\n    color: iconColor,\n    direction: \"ltr\"\n  })))) : null);\n};\nconst styles = StyleSheet.create({\n  container: {\n    borderWidth: StyleSheet.hairlineWidth,\n    borderStyle: 'solid',\n    flexDirection: Platform.select({\n      default: 'column',\n      web: 'row'\n    })\n  },\n  md3Container: {\n    borderWidth: 1\n  },\n  content: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    paddingLeft: 4,\n    position: 'relative'\n  },\n  md3Content: {\n    paddingLeft: 0\n  },\n  icon: {\n    padding: 4,\n    alignSelf: 'center'\n  },\n  md3Icon: {\n    paddingLeft: 8,\n    paddingRight: 0\n  },\n  closeIcon: {\n    marginRight: 4\n  },\n  md3CloseIcon: {\n    marginRight: 8,\n    padding: 0\n  },\n  labelText: {\n    minHeight: 24,\n    lineHeight: 24,\n    textAlignVertical: 'center',\n    marginVertical: 4\n  },\n  md3LabelText: {\n    textAlignVertical: 'center',\n    marginVertical: 6\n  },\n  avatar: {\n    width: 24,\n    height: 24,\n    borderRadius: 12\n  },\n  avatarWrapper: {\n    marginRight: 4\n  },\n  md3AvatarWrapper: {\n    marginLeft: 4,\n    marginRight: 0\n  },\n  md3SelectedIcon: {\n    paddingLeft: 4\n  },\n  avatarSelected: {\n    position: 'absolute',\n    top: 4,\n    left: 4,\n    backgroundColor: 'rgba(0, 0, 0, .29)'\n  },\n  closeButtonStyle: {\n    position: 'absolute',\n    right: 0,\n    height: '100%',\n    justifyContent: 'center',\n    alignItems: 'center'\n  },\n  touchable: {\n    width: '100%'\n  }\n});\nexport default Chip;","map":{"version":3,"names":["React","Animated","Platform","StyleSheet","Pressable","View","useLatestCallback","getChipColors","useInternalTheme","white","hasTouchHandler","Icon","MaterialCommunityIcon","Surface","TouchableRipple","Text","Chip","_ref","mode","children","icon","avatar","selected","disabled","background","accessibilityLabel","accessibilityRole","closeIconAccessibilityLabel","onPress","onLongPress","onPressOut","onPressIn","delayLongPress","onClose","closeIcon","textStyle","style","theme","themeOverrides","testID","selectedColor","rippleColor","customRippleColor","showSelectedOverlay","showSelectedCheck","ellipsizeMode","compact","elevated","maxFontSizeMultiplier","hitSlop","rest","_objectWithoutPropertiesLoose","_excluded","isV3","roundness","isWeb","OS","current","elevation","useRef","Value","hasPassedTouchHandler","isOutlined","handlePressIn","e","scale","animation","timing","toValue","duration","useNativeDriver","constants","reactNativeVersion","minor","start","handlePressOut","opacity","defaultBorderRadius","iconSize","backgroundColor","customBackgroundColor","borderRadius","flatten","borderColor","textColor","iconColor","selectedBackgroundColor","accessibilityState","elevationStyle","multiplier","labelSpacings","marginRight","marginLeft","contentSpacings","paddingRight","labelTextStyle","Object","assign","color","fonts","labelLarge","regular","createElement","_extends","styles","container","md3Container","borderless","touchable","undefined","content","md3Content","avatarWrapper","md3AvatarWrapper","isValidElement","cloneElement","props","md3Icon","avatarSelected","md3SelectedIcon","source","colors","primary","size","name","direction","variant","selectable","numberOfLines","md3LabelText","labelText","closeButtonStyle","md3CloseIcon","create","borderWidth","hairlineWidth","borderStyle","flexDirection","select","default","web","alignItems","paddingLeft","position","padding","alignSelf","minHeight","lineHeight","textAlignVertical","marginVertical","width","height","top","left","right","justifyContent"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/Chip/Chip.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n  AccessibilityState,\n  Animated,\n  ColorValue,\n  GestureResponderEvent,\n  Platform,\n  PressableAndroidRippleConfig,\n  StyleProp,\n  StyleSheet,\n  TextStyle,\n  Pressable,\n  View,\n  ViewStyle,\n} from 'react-native';\n\nimport useLatestCallback from 'use-latest-callback';\n\nimport { ChipAvatarProps, getChipColors } from './helpers';\nimport { useInternalTheme } from '../../core/theming';\nimport { white } from '../../styles/themes/v2/colors';\nimport type { $Omit, EllipsizeProp, ThemeProp } from '../../types';\nimport hasTouchHandler from '../../utils/hasTouchHandler';\nimport type { IconSource } from '../Icon';\nimport Icon from '../Icon';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport Surface from '../Surface';\nimport TouchableRipple, {\n  Props as TouchableRippleProps,\n} from '../TouchableRipple/TouchableRipple';\nimport Text from '../Typography/Text';\n\nexport type Props = $Omit<React.ComponentProps<typeof Surface>, 'mode'> & {\n  /**\n   * Mode of the chip.\n   * - `flat` - flat chip without outline.\n   * - `outlined` - chip with an outline.\n   */\n  mode?: 'flat' | 'outlined';\n  /**\n   * Text content of the `Chip`.\n   */\n  children: React.ReactNode;\n  /**\n   * Icon to display for the `Chip`. Both icon and avatar cannot be specified.\n   */\n  icon?: IconSource;\n  /**\n   * Avatar to display for the `Chip`. Both icon and avatar cannot be specified.\n   */\n  avatar?: React.ReactNode;\n  /**\n   * Icon to display as the close button for the `Chip`. The icon appears only when the onClose prop is specified.\n   */\n  closeIcon?: IconSource;\n  /**\n   * Whether chip is selected.\n   */\n  selected?: boolean;\n  /**\n   * Whether to style the chip color as selected.\n   * Note: With theme version 3 `selectedColor` doesn't apply to the `icon`.\n   *       If you want specify custom color for the `icon`, render your own `Icon` component.\n   */\n  selectedColor?: string;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Whether to display overlay on selected chip\n   */\n  showSelectedOverlay?: boolean;\n  /**\n   * Whether to display default check icon on selected chip.\n   * Note: Check will not be shown if `icon` is specified. If specified, `icon` will be shown regardless of `selected`.\n   */\n  showSelectedCheck?: boolean;\n  /**\n   * Color of the ripple effect.\n   */\n  rippleColor?: ColorValue;\n  /**\n   * Whether the chip is disabled. A disabled chip is greyed out and `onPress` is not called on touch.\n   */\n  disabled?: boolean;\n  /**\n   * Type of background drawabale to display the feedback (Android).\n   * https://reactnative.dev/docs/pressable#rippleconfig\n   */\n  background?: PressableAndroidRippleConfig;\n  /**\n   * Accessibility label for the chip. This is read by the screen reader when the user taps the chip.\n   */\n  accessibilityLabel?: string;\n  /**\n   * Accessibility label for the close icon. This is read by the screen reader when the user taps the close icon.\n   */\n  closeIconAccessibilityLabel?: string;\n  /**\n   * Function to execute on press.\n   */\n  onPress?: (e: GestureResponderEvent) => void;\n  /**\n   * Function to execute on long press.\n   */\n  onLongPress?: () => void;\n  /**\n   * Function to execute as soon as the touchable element is pressed and invoked even before onPress.\n   */\n  onPressIn?: (e: GestureResponderEvent) => void;\n  /**\n   * Function to execute as soon as the touch is released even before onPress.\n   */\n  onPressOut?: (e: GestureResponderEvent) => void;\n  /**\n   * Function to execute on close button press. The close button appears only when this prop is specified.\n   */\n  onClose?: () => void;\n  /**\n   * The number of milliseconds a user must touch the element before executing `onLongPress`.\n   */\n  delayLongPress?: number;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Sets smaller horizontal paddings `12dp` around label, when there is only label.\n   */\n  compact?: boolean;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Whether chip should have the elevation.\n   */\n  elevated?: boolean;\n  /**\n   * Style of chip's text\n   */\n  textStyle?: StyleProp<TextStyle>;\n  style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n  /**\n   * Sets additional distance outside of element in which a press can be detected.\n   */\n  hitSlop?: TouchableRippleProps['hitSlop'];\n  /**\n   * @optional\n   */\n  theme?: ThemeProp;\n  /**\n   * Pass down testID from chip props to touchable for Detox tests.\n   */\n  testID?: string;\n  /**\n   * Ellipsize Mode for the children text\n   */\n  ellipsizeMode?: EllipsizeProp;\n  /**\n   * Specifies the largest possible scale a text font can reach.\n   */\n  maxFontSizeMultiplier?: number;\n};\n\n/**\n * Chips are compact elements that can represent inputs, attributes, or actions.\n * They can have an icon or avatar on the left, and a close button icon on the right.\n * They are typically used to:\n * <ul>\n *  <li>Present multiple options </li>\n *  <li>Represent attributes active or chosen </li>\n *  <li>Present filter options </li>\n *  <li>Trigger actions related to primary content </li>\n * </ul>\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Chip } from 'react-native-paper';\n *\n * const MyComponent = () => (\n *   <Chip icon=\"information\" onPress={() => console.log('Pressed')}>Example Chip</Chip>\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Chip = ({\n  mode = 'flat',\n  children,\n  icon,\n  avatar,\n  selected = false,\n  disabled = false,\n  background,\n  accessibilityLabel,\n  accessibilityRole = 'button',\n  closeIconAccessibilityLabel = 'Close',\n  onPress,\n  onLongPress,\n  onPressOut,\n  onPressIn,\n  delayLongPress,\n  onClose,\n  closeIcon,\n  textStyle,\n  style,\n  theme: themeOverrides,\n  testID = 'chip',\n  selectedColor,\n  rippleColor: customRippleColor,\n  showSelectedOverlay = false,\n  showSelectedCheck = true,\n  ellipsizeMode,\n  compact,\n  elevated = false,\n  maxFontSizeMultiplier,\n  hitSlop,\n  ...rest\n}: Props) => {\n  const theme = useInternalTheme(themeOverrides);\n  const { isV3, roundness } = theme;\n  const isWeb = Platform.OS === 'web';\n\n  const { current: elevation } = React.useRef<Animated.Value>(\n    new Animated.Value(isV3 && elevated ? 1 : 0)\n  );\n\n  const hasPassedTouchHandler = hasTouchHandler({\n    onPress,\n    onLongPress,\n    onPressIn,\n    onPressOut,\n  });\n\n  const isOutlined = mode === 'outlined';\n\n  const handlePressIn = useLatestCallback((e: GestureResponderEvent) => {\n    const { scale } = theme.animation;\n    onPressIn?.(e);\n    Animated.timing(elevation, {\n      toValue: isV3 ? (elevated ? 2 : 0) : 4,\n      duration: 200 * scale,\n      useNativeDriver:\n        isWeb || Platform.constants.reactNativeVersion.minor <= 72,\n    }).start();\n  });\n\n  const handlePressOut = useLatestCallback((e: GestureResponderEvent) => {\n    const { scale } = theme.animation;\n    onPressOut?.(e);\n    Animated.timing(elevation, {\n      toValue: isV3 && elevated ? 1 : 0,\n      duration: 150 * scale,\n      useNativeDriver:\n        isWeb || Platform.constants.reactNativeVersion.minor <= 72,\n    }).start();\n  });\n\n  const opacity = isV3 ? 0.38 : 0.26;\n  const defaultBorderRadius = roundness * (isV3 ? 2 : 4);\n  const iconSize = isV3 ? 18 : 16;\n\n  const {\n    backgroundColor: customBackgroundColor,\n    borderRadius = defaultBorderRadius,\n  } = (StyleSheet.flatten(style) || {}) as ViewStyle;\n\n  const {\n    borderColor,\n    textColor,\n    iconColor,\n    rippleColor,\n    selectedBackgroundColor,\n    backgroundColor,\n  } = getChipColors({\n    isOutlined,\n    theme,\n    selectedColor,\n    showSelectedOverlay,\n    customBackgroundColor,\n    disabled,\n    customRippleColor,\n  });\n\n  const accessibilityState: AccessibilityState = {\n    selected,\n    disabled,\n  };\n\n  const elevationStyle = isV3 || Platform.OS === 'android' ? elevation : 0;\n  const multiplier = isV3 ? (compact ? 1.5 : 2) : 1;\n  const labelSpacings = {\n    marginRight: onClose ? 0 : 8 * multiplier,\n    marginLeft:\n      avatar || icon || (selected && showSelectedCheck)\n        ? 4 * multiplier\n        : 8 * multiplier,\n  };\n  const contentSpacings = {\n    paddingRight: isV3 ? (onClose ? 34 : 0) : onClose ? 32 : 4,\n  };\n  const labelTextStyle = {\n    color: textColor,\n    ...(isV3 ? theme.fonts.labelLarge : theme.fonts.regular),\n  };\n  return (\n    <Surface\n      style={[\n        styles.container,\n        isV3 && styles.md3Container,\n        !theme.isV3 && {\n          elevation: elevationStyle,\n        },\n        {\n          backgroundColor: selected ? selectedBackgroundColor : backgroundColor,\n          borderColor,\n          borderRadius,\n        },\n        style,\n      ]}\n      {...(theme.isV3 && { elevation: elevationStyle })}\n      {...rest}\n      testID={`${testID}-container`}\n      theme={theme}\n      container\n    >\n      <TouchableRipple\n        borderless\n        background={background}\n        style={[{ borderRadius }, styles.touchable]}\n        onPress={onPress}\n        onLongPress={onLongPress}\n        onPressIn={hasPassedTouchHandler ? handlePressIn : undefined}\n        onPressOut={hasPassedTouchHandler ? handlePressOut : undefined}\n        delayLongPress={delayLongPress}\n        rippleColor={rippleColor}\n        disabled={disabled}\n        accessibilityLabel={accessibilityLabel}\n        accessibilityRole={accessibilityRole}\n        accessibilityState={accessibilityState}\n        testID={testID}\n        theme={theme}\n        hitSlop={hitSlop}\n      >\n        <View\n          style={[styles.content, isV3 && styles.md3Content, contentSpacings]}\n        >\n          {avatar && !icon ? (\n            <View\n              style={[\n                styles.avatarWrapper,\n                isV3 && styles.md3AvatarWrapper,\n                disabled && { opacity },\n              ]}\n            >\n              {React.isValidElement<ChipAvatarProps>(avatar)\n                ? React.cloneElement(avatar, {\n                    style: [styles.avatar, avatar.props.style],\n                  })\n                : avatar}\n            </View>\n          ) : null}\n          {icon || (selected && showSelectedCheck) ? (\n            <View\n              style={[\n                styles.icon,\n                isV3 && styles.md3Icon,\n                avatar\n                  ? [\n                      styles.avatar,\n                      styles.avatarSelected,\n                      isV3 && selected && styles.md3SelectedIcon,\n                    ]\n                  : null,\n              ]}\n            >\n              {icon ? (\n                <Icon\n                  source={icon}\n                  color={\n                    avatar\n                      ? white\n                      : !disabled && theme.isV3\n                      ? theme.colors.primary\n                      : iconColor\n                  }\n                  size={18}\n                  theme={theme}\n                />\n              ) : (\n                <MaterialCommunityIcon\n                  name=\"check\"\n                  color={avatar ? white : iconColor}\n                  size={18}\n                  direction=\"ltr\"\n                />\n              )}\n            </View>\n          ) : null}\n          <Text\n            variant=\"labelLarge\"\n            selectable={false}\n            numberOfLines={1}\n            style={[\n              isV3 ? styles.md3LabelText : styles.labelText,\n              labelTextStyle,\n              labelSpacings,\n              textStyle,\n            ]}\n            ellipsizeMode={ellipsizeMode}\n            maxFontSizeMultiplier={maxFontSizeMultiplier}\n          >\n            {children}\n          </Text>\n        </View>\n      </TouchableRipple>\n      {onClose ? (\n        <View style={styles.closeButtonStyle}>\n          <Pressable\n            onPress={onClose}\n            disabled={disabled}\n            accessibilityRole=\"button\"\n            accessibilityLabel={closeIconAccessibilityLabel}\n          >\n            <View\n              style={[\n                styles.icon,\n                styles.closeIcon,\n                isV3 && styles.md3CloseIcon,\n              ]}\n            >\n              {closeIcon ? (\n                <Icon source={closeIcon} color={iconColor} size={iconSize} />\n              ) : (\n                <MaterialCommunityIcon\n                  name={isV3 ? 'close' : 'close-circle'}\n                  size={iconSize}\n                  color={iconColor}\n                  direction=\"ltr\"\n                />\n              )}\n            </View>\n          </Pressable>\n        </View>\n      ) : null}\n    </Surface>\n  );\n};\n\nconst styles = StyleSheet.create({\n  container: {\n    borderWidth: StyleSheet.hairlineWidth,\n    borderStyle: 'solid',\n    flexDirection: Platform.select({ default: 'column', web: 'row' }),\n  },\n  md3Container: {\n    borderWidth: 1,\n  },\n  content: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    paddingLeft: 4,\n    position: 'relative',\n  },\n  md3Content: {\n    paddingLeft: 0,\n  },\n  icon: {\n    padding: 4,\n    alignSelf: 'center',\n  },\n  md3Icon: {\n    paddingLeft: 8,\n    paddingRight: 0,\n  },\n  closeIcon: {\n    marginRight: 4,\n  },\n  md3CloseIcon: {\n    marginRight: 8,\n    padding: 0,\n  },\n  labelText: {\n    minHeight: 24,\n    lineHeight: 24,\n    textAlignVertical: 'center',\n    marginVertical: 4,\n  },\n  md3LabelText: {\n    textAlignVertical: 'center',\n    marginVertical: 6,\n  },\n  avatar: {\n    width: 24,\n    height: 24,\n    borderRadius: 12,\n  },\n  avatarWrapper: {\n    marginRight: 4,\n  },\n  md3AvatarWrapper: {\n    marginLeft: 4,\n    marginRight: 0,\n  },\n  md3SelectedIcon: {\n    paddingLeft: 4,\n  },\n  // eslint-disable-next-line react-native/no-color-literals\n  avatarSelected: {\n    position: 'absolute',\n    top: 4,\n    left: 4,\n    backgroundColor: 'rgba(0, 0, 0, .29)',\n  },\n  closeButtonStyle: {\n    position: 'absolute',\n    right: 0,\n    height: '100%',\n    justifyContent: 'center',\n    alignItems: 'center',\n  },\n  touchable: {\n    width: '100%',\n  },\n});\n\nexport default Chip;\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}