{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport I18nManager from \"react-native-web/dist/exports/I18nManager\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { ListAccordionGroupContext } from \"./ListAccordionGroup\";\nimport { getAccordionColors, getLeftStyles } from \"./utils\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport MaterialCommunityIcon from \"../MaterialCommunityIcon\";\nimport TouchableRipple from \"../TouchableRipple/TouchableRipple\";\nimport Text from \"../Typography/Text\";\nvar ListAccordion = function ListAccordion(_ref) {\n  var left = _ref.left,\n    right = _ref.right,\n    title = _ref.title,\n    description = _ref.description,\n    children = _ref.children,\n    themeOverrides = _ref.theme,\n    titleStyle = _ref.titleStyle,\n    descriptionStyle = _ref.descriptionStyle,\n    _ref$titleNumberOfLin = _ref.titleNumberOfLines,\n    titleNumberOfLines = _ref$titleNumberOfLin === void 0 ? 1 : _ref$titleNumberOfLin,\n    _ref$descriptionNumbe = _ref.descriptionNumberOfLines,\n    descriptionNumberOfLines = _ref$descriptionNumbe === void 0 ? 2 : _ref$descriptionNumbe,\n    customRippleColor = _ref.rippleColor,\n    style = _ref.style,\n    containerStyle = _ref.containerStyle,\n    contentStyle = _ref.contentStyle,\n    id = _ref.id,\n    testID = _ref.testID,\n    background = _ref.background,\n    onPress = _ref.onPress,\n    onLongPress = _ref.onLongPress,\n    delayLongPress = _ref.delayLongPress,\n    expandedProp = _ref.expanded,\n    accessibilityLabel = _ref.accessibilityLabel,\n    _ref$pointerEvents = _ref.pointerEvents,\n    pointerEvents = _ref$pointerEvents === void 0 ? 'none' : _ref$pointerEvents,\n    titleMaxFontSizeMultiplier = _ref.titleMaxFontSizeMultiplier,\n    descriptionMaxFontSizeMultiplier = _ref.descriptionMaxFontSizeMultiplier,\n    hitSlop = _ref.hitSlop;\n  var _theme$colors, _theme$colors2;\n  var theme = useInternalTheme(themeOverrides);\n  var _React$useState = React.useState(expandedProp || false),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    expanded = _React$useState2[0],\n    setExpanded = _React$useState2[1];\n  var _React$useState3 = React.useState(false),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    alignToTop = _React$useState4[0],\n    setAlignToTop = _React$useState4[1];\n  var onDescriptionTextLayout = function onDescriptionTextLayout(event) {\n    if (!theme.isV3) {\n      return;\n    }\n    var nativeEvent = event.nativeEvent;\n    setAlignToTop(nativeEvent.lines.length >= 2);\n  };\n  var handlePressAction = function handlePressAction(e) {\n    onPress === null || onPress === void 0 || onPress(e);\n    if (expandedProp === undefined) {\n      setExpanded(function (expanded) {\n        return !expanded;\n      });\n    }\n  };\n  var expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n  var groupContext = React.useContext(ListAccordionGroupContext);\n  if (groupContext !== null && (id === undefined || id === null || id === '')) {\n    throw new Error('List.Accordion is used inside a List.AccordionGroup without specifying an id prop.');\n  }\n  var isExpanded = groupContext ? groupContext.expandedId === id : expandedInternal;\n  var _getAccordionColors = getAccordionColors({\n      theme: theme,\n      isExpanded: isExpanded,\n      customRippleColor: customRippleColor\n    }),\n    titleColor = _getAccordionColors.titleColor,\n    descriptionColor = _getAccordionColors.descriptionColor,\n    titleTextColor = _getAccordionColors.titleTextColor,\n    rippleColor = _getAccordionColors.rippleColor;\n  var handlePress = groupContext && id !== undefined ? function () {\n    return groupContext.onAccordionPress(id);\n  } : handlePressAction;\n  return React.createElement(View, null, React.createElement(View, {\n    style: {\n      backgroundColor: theme === null || theme === void 0 || (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.background\n    }\n  }, React.createElement(TouchableRipple, {\n    style: [theme.isV3 ? styles.containerV3 : styles.container, style],\n    onPress: handlePress,\n    onLongPress: onLongPress,\n    delayLongPress: delayLongPress,\n    rippleColor: rippleColor,\n    accessibilityRole: \"button\",\n    accessibilityState: {\n      expanded: isExpanded\n    },\n    accessibilityLabel: accessibilityLabel,\n    testID: testID,\n    theme: theme,\n    background: background,\n    borderless: true,\n    hitSlop: hitSlop\n  }, React.createElement(View, {\n    style: [theme.isV3 ? styles.rowV3 : styles.row, containerStyle],\n    pointerEvents: pointerEvents\n  }, left ? left({\n    color: isExpanded ? (_theme$colors2 = theme.colors) === null || _theme$colors2 === void 0 ? void 0 : _theme$colors2.primary : descriptionColor,\n    style: getLeftStyles(alignToTop, description, theme.isV3)\n  }) : null, React.createElement(View, {\n    style: [theme.isV3 ? styles.itemV3 : styles.item, styles.content, contentStyle]\n  }, React.createElement(Text, {\n    selectable: false,\n    numberOfLines: titleNumberOfLines,\n    style: [styles.title, {\n      color: titleTextColor\n    }, titleStyle],\n    maxFontSizeMultiplier: titleMaxFontSizeMultiplier\n  }, title), description ? React.createElement(Text, {\n    selectable: false,\n    numberOfLines: descriptionNumberOfLines,\n    style: [styles.description, {\n      color: descriptionColor\n    }, descriptionStyle],\n    onTextLayout: onDescriptionTextLayout,\n    maxFontSizeMultiplier: descriptionMaxFontSizeMultiplier\n  }, description) : null), React.createElement(View, {\n    style: [styles.item, description ? styles.multiline : undefined]\n  }, right ? right({\n    isExpanded: isExpanded\n  }) : React.createElement(MaterialCommunityIcon, {\n    name: isExpanded ? 'chevron-up' : 'chevron-down',\n    color: theme.isV3 ? descriptionColor : titleColor,\n    size: 24,\n    direction: I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'\n  }))))), isExpanded ? React.Children.map(children, function (child) {\n    if (left && React.isValidElement(child) && !child.props.left && !child.props.right) {\n      return React.cloneElement(child, {\n        style: [theme.isV3 ? styles.childV3 : styles.child, child.props.style],\n        theme: theme\n      });\n    }\n    return child;\n  }) : null);\n};\nListAccordion.displayName = 'List.Accordion';\nvar styles = StyleSheet.create({\n  container: {\n    padding: 8\n  },\n  containerV3: {\n    paddingVertical: 8,\n    paddingRight: 24\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center'\n  },\n  rowV3: {\n    flexDirection: 'row',\n    marginVertical: 6\n  },\n  multiline: {\n    height: 40,\n    alignItems: 'center',\n    justifyContent: 'center'\n  },\n  title: {\n    fontSize: 16\n  },\n  description: {\n    fontSize: 14\n  },\n  item: {\n    marginVertical: 6,\n    paddingLeft: 8\n  },\n  itemV3: {\n    paddingLeft: 16\n  },\n  child: {\n    paddingLeft: 64\n  },\n  childV3: {\n    paddingLeft: 40\n  },\n  content: {\n    flex: 1,\n    justifyContent: 'center'\n  }\n});\nexport default ListAccordion;","map":{"version":3,"names":["React","I18nManager","StyleSheet","View","ListAccordionGroupContext","getAccordionColors","getLeftStyles","useInternalTheme","MaterialCommunityIcon","TouchableRipple","Text","ListAccordion","_ref","left","right","title","description","children","themeOverrides","theme","titleStyle","descriptionStyle","_ref$titleNumberOfLin","titleNumberOfLines","_ref$descriptionNumbe","descriptionNumberOfLines","customRippleColor","rippleColor","style","containerStyle","contentStyle","id","testID","background","onPress","onLongPress","delayLongPress","expandedProp","expanded","accessibilityLabel","_ref$pointerEvents","pointerEvents","titleMaxFontSizeMultiplier","descriptionMaxFontSizeMultiplier","hitSlop","_theme$colors","_theme$colors2","_React$useState","useState","_React$useState2","_slicedToArray","setExpanded","_React$useState3","_React$useState4","alignToTop","setAlignToTop","onDescriptionTextLayout","event","isV3","nativeEvent","lines","length","handlePressAction","e","undefined","expandedInternal","groupContext","useContext","Error","isExpanded","expandedId","_getAccordionColors","titleColor","descriptionColor","titleTextColor","handlePress","onAccordionPress","createElement","backgroundColor","colors","styles","containerV3","container","accessibilityRole","accessibilityState","borderless","rowV3","row","color","primary","itemV3","item","content","selectable","numberOfLines","maxFontSizeMultiplier","onTextLayout","multiline","name","size","direction","getConstants","isRTL","Children","map","child","isValidElement","props","cloneElement","childV3","displayName","create","padding","paddingVertical","paddingRight","flexDirection","alignItems","marginVertical","height","justifyContent","fontSize","paddingLeft","flex"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/List/ListAccordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n  ColorValue,\n  GestureResponderEvent,\n  I18nManager,\n  NativeSyntheticEvent,\n  StyleProp,\n  StyleSheet,\n  TextStyle,\n  TextLayoutEventData,\n  View,\n  ViewProps,\n  ViewStyle,\n  PressableAndroidRippleConfig,\n} from 'react-native';\n\nimport { ListAccordionGroupContext } from './ListAccordionGroup';\nimport type { ListChildProps, Style } from './utils';\nimport { getAccordionColors, getLeftStyles } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport TouchableRipple, {\n  Props as TouchableRippleProps,\n} from '../TouchableRipple/TouchableRipple';\nimport Text from '../Typography/Text';\n\nexport type Props = {\n  /**\n   * Title text for the list accordion.\n   */\n  title: React.ReactNode;\n  /**\n   * Description text for the list accordion.\n   */\n  description?: React.ReactNode;\n  /**\n   * Callback which returns a React element to display on the left side.\n   */\n  left?: (props: { color: string; style: Style }) => React.ReactNode;\n  /**\n   * Callback which returns a React element to display on the right side.\n   */\n  right?: (props: { isExpanded: boolean }) => React.ReactNode;\n  /**\n   * Whether the accordion is expanded\n   * If this prop is provided, the accordion will behave as a \"controlled component\".\n   * You'll need to update this prop when you want to toggle the component or on `onPress`.\n   */\n  expanded?: boolean;\n  /**\n   * Function to execute on press.\n   */\n  onPress?: (e: GestureResponderEvent) => void;\n  /**\n   * Function to execute on long press.\n   */\n  onLongPress?: (e: GestureResponderEvent) => void;\n  /**\n   * The number of milliseconds a user must touch the element before executing `onLongPress`.\n   */\n  delayLongPress?: number;\n  /**\n   * Content of the section.\n   */\n  children: React.ReactNode;\n  /**\n   * @optional\n   */\n  theme?: ThemeProp;\n  /**\n   * Type of background drawabale to display the feedback (Android).\n   * https://reactnative.dev/docs/pressable#rippleconfig\n   */\n  background?: PressableAndroidRippleConfig;\n  /**\n   * Style that is passed to the root TouchableRipple container.\n   */\n  style?: StyleProp<ViewStyle>;\n  /**\n   * Style that is passed to the outermost container that wraps the entire content, including left and right items and both title and description.\n   */\n  containerStyle?: StyleProp<ViewStyle>;\n  /**\n   * Style that is passed to the content container, which wraps the title and description.\n   */\n  contentStyle?: StyleProp<ViewStyle>;\n  /**\n   * Style that is passed to Title element.\n   */\n  titleStyle?: StyleProp<TextStyle>;\n  /**\n   * Style that is passed to Description element.\n   */\n  descriptionStyle?: StyleProp<TextStyle>;\n  /**\n   * Color of the ripple effect.\n   */\n  rippleColor?: ColorValue;\n  /**\n   * Truncate Title text such that the total number of lines does not\n   * exceed this number.\n   */\n  titleNumberOfLines?: number;\n  /**\n   * Truncate Description text such that the total number of lines does not\n   * exceed this number.\n   */\n  descriptionNumberOfLines?: number;\n  /**\n   * Specifies the largest possible scale a title font can reach.\n   */\n  titleMaxFontSizeMultiplier?: number;\n  /**\n   * Specifies the largest possible scale a description font can reach.\n   */\n  descriptionMaxFontSizeMultiplier?: number;\n  /**\n   * Id is used for distinguishing specific accordion when using List.AccordionGroup. Property is required when using List.AccordionGroup and has no impact on behavior when using standalone List.Accordion.\n   */\n  id?: string | number;\n  /**\n   * TestID used for testing purposes\n   */\n  testID?: string;\n  /**\n   * Accessibility label for the TouchableRipple. This is read by the screen reader when the user taps the touchable.\n   */\n  accessibilityLabel?: string;\n  /**\n   * `pointerEvents` passed to the `View` container\n   */\n  pointerEvents?: ViewProps['pointerEvents'];\n  /**\n   * Amount of space between the touchable area and the edge of the component.\n   * This can be used to enlarge the touchable area beyond the visible component.\n   */\n  hitSlop?: TouchableRippleProps['hitSlop'];\n};\n\n/**\n * A component used to display an expandable list item.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { List } from 'react-native-paper';\n *\n * const MyComponent = () => {\n *   const [expanded, setExpanded] = React.useState(true);\n *\n *   const handlePress = () => setExpanded(!expanded);\n *\n *   return (\n *     <List.Section title=\"Accordions\">\n *       <List.Accordion\n *         title=\"Uncontrolled Accordion\"\n *         left={props => <List.Icon {...props} icon=\"folder\" />}>\n *         <List.Item title=\"First item\" />\n *         <List.Item title=\"Second item\" />\n *       </List.Accordion>\n *\n *       <List.Accordion\n *         title=\"Controlled Accordion\"\n *         left={props => <List.Icon {...props} icon=\"folder\" />}\n *         expanded={expanded}\n *         onPress={handlePress}>\n *         <List.Item title=\"First item\" />\n *         <List.Item title=\"Second item\" />\n *       </List.Accordion>\n *     </List.Section>\n *   );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst ListAccordion = ({\n  left,\n  right,\n  title,\n  description,\n  children,\n  theme: themeOverrides,\n  titleStyle,\n  descriptionStyle,\n  titleNumberOfLines = 1,\n  descriptionNumberOfLines = 2,\n  rippleColor: customRippleColor,\n  style,\n  containerStyle,\n  contentStyle,\n  id,\n  testID,\n  background,\n  onPress,\n  onLongPress,\n  delayLongPress,\n  expanded: expandedProp,\n  accessibilityLabel,\n  pointerEvents = 'none',\n  titleMaxFontSizeMultiplier,\n  descriptionMaxFontSizeMultiplier,\n  hitSlop,\n}: Props) => {\n  const theme = useInternalTheme(themeOverrides);\n  const [expanded, setExpanded] = React.useState<boolean>(\n    expandedProp || false\n  );\n  const [alignToTop, setAlignToTop] = React.useState(false);\n\n  const onDescriptionTextLayout = (\n    event: NativeSyntheticEvent<TextLayoutEventData>\n  ) => {\n    if (!theme.isV3) {\n      return;\n    }\n    const { nativeEvent } = event;\n    setAlignToTop(nativeEvent.lines.length >= 2);\n  };\n\n  const handlePressAction = (e: GestureResponderEvent) => {\n    onPress?.(e);\n\n    if (expandedProp === undefined) {\n      // Only update state of the `expanded` prop was not passed\n      // If it was passed, the component will act as a controlled component\n      setExpanded((expanded) => !expanded);\n    }\n  };\n\n  const expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n\n  const groupContext = React.useContext(ListAccordionGroupContext);\n  if (groupContext !== null && (id === undefined || id === null || id === '')) {\n    throw new Error(\n      'List.Accordion is used inside a List.AccordionGroup without specifying an id prop.'\n    );\n  }\n  const isExpanded = groupContext\n    ? groupContext.expandedId === id\n    : expandedInternal;\n\n  const { titleColor, descriptionColor, titleTextColor, rippleColor } =\n    getAccordionColors({\n      theme,\n      isExpanded,\n      customRippleColor,\n    });\n\n  const handlePress =\n    groupContext && id !== undefined\n      ? () => groupContext.onAccordionPress(id)\n      : handlePressAction;\n  return (\n    <View>\n      <View style={{ backgroundColor: theme?.colors?.background }}>\n        <TouchableRipple\n          style={[theme.isV3 ? styles.containerV3 : styles.container, style]}\n          onPress={handlePress}\n          onLongPress={onLongPress}\n          delayLongPress={delayLongPress}\n          rippleColor={rippleColor}\n          accessibilityRole=\"button\"\n          accessibilityState={{ expanded: isExpanded }}\n          accessibilityLabel={accessibilityLabel}\n          testID={testID}\n          theme={theme}\n          background={background}\n          borderless\n          hitSlop={hitSlop}\n        >\n          <View\n            style={[theme.isV3 ? styles.rowV3 : styles.row, containerStyle]}\n            pointerEvents={pointerEvents}\n          >\n            {left\n              ? left({\n                  color: isExpanded ? theme.colors?.primary : descriptionColor,\n                  style: getLeftStyles(alignToTop, description, theme.isV3),\n                })\n              : null}\n            <View\n              style={[\n                theme.isV3 ? styles.itemV3 : styles.item,\n                styles.content,\n                contentStyle,\n              ]}\n            >\n              <Text\n                selectable={false}\n                numberOfLines={titleNumberOfLines}\n                style={[\n                  styles.title,\n                  {\n                    color: titleTextColor,\n                  },\n                  titleStyle,\n                ]}\n                maxFontSizeMultiplier={titleMaxFontSizeMultiplier}\n              >\n                {title}\n              </Text>\n              {description ? (\n                <Text\n                  selectable={false}\n                  numberOfLines={descriptionNumberOfLines}\n                  style={[\n                    styles.description,\n                    {\n                      color: descriptionColor,\n                    },\n                    descriptionStyle,\n                  ]}\n                  onTextLayout={onDescriptionTextLayout}\n                  maxFontSizeMultiplier={descriptionMaxFontSizeMultiplier}\n                >\n                  {description}\n                </Text>\n              ) : null}\n            </View>\n            <View\n              style={[styles.item, description ? styles.multiline : undefined]}\n            >\n              {right ? (\n                right({\n                  isExpanded: isExpanded,\n                })\n              ) : (\n                <MaterialCommunityIcon\n                  name={isExpanded ? 'chevron-up' : 'chevron-down'}\n                  color={theme.isV3 ? descriptionColor : titleColor}\n                  size={24}\n                  direction={I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'}\n                />\n              )}\n            </View>\n          </View>\n        </TouchableRipple>\n      </View>\n\n      {isExpanded\n        ? React.Children.map(children, (child) => {\n            if (\n              left &&\n              React.isValidElement<ListChildProps>(child) &&\n              !child.props.left &&\n              !child.props.right\n            ) {\n              return React.cloneElement(child, {\n                style: [\n                  theme.isV3 ? styles.childV3 : styles.child,\n                  child.props.style,\n                ],\n                theme,\n              });\n            }\n\n            return child;\n          })\n        : null}\n    </View>\n  );\n};\n\nListAccordion.displayName = 'List.Accordion';\n\nconst styles = StyleSheet.create({\n  container: {\n    padding: 8,\n  },\n  containerV3: {\n    paddingVertical: 8,\n    paddingRight: 24,\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n  },\n  rowV3: {\n    flexDirection: 'row',\n    marginVertical: 6,\n  },\n  multiline: {\n    height: 40,\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  title: {\n    fontSize: 16,\n  },\n  description: {\n    fontSize: 14,\n  },\n  item: {\n    marginVertical: 6,\n    paddingLeft: 8,\n  },\n  itemV3: {\n    paddingLeft: 16,\n  },\n  child: {\n    paddingLeft: 64,\n  },\n  childV3: {\n    paddingLeft: 40,\n  },\n  content: {\n    flex: 1,\n    justifyContent: 'center',\n  },\n});\n\nexport default ListAccordion;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}