repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 24.8 kB
JSON
{"ast":null,"code":"import * 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\";\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}) => {\n var _theme$colors, _theme$colors2;\n const theme = useInternalTheme(themeOverrides);\n const [expanded, setExpanded] = React.useState(expandedProp || false);\n const [alignToTop, setAlignToTop] = React.useState(false);\n const onDescriptionTextLayout = event => {\n if (!theme.isV3) {\n return;\n }\n const {\n nativeEvent\n } = event;\n setAlignToTop(nativeEvent.lines.length >= 2);\n };\n const handlePressAction = e => {\n onPress === null || onPress === void 0 || onPress(e);\n if (expandedProp === undefined) {\n setExpanded(expanded => !expanded);\n }\n };\n const expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n const 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 const isExpanded = groupContext ? groupContext.expandedId === id : expandedInternal;\n const {\n titleColor,\n descriptionColor,\n titleTextColor,\n rippleColor\n } = getAccordionColors({\n theme,\n isExpanded,\n customRippleColor\n });\n const handlePress = groupContext && id !== undefined ? () => groupContext.onAccordionPress(id) : 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, 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\n });\n }\n return child;\n }) : null);\n};\nListAccordion.displayName = 'List.Accordion';\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});\nexport default ListAccordion;","map":{"version":3,"names":["React","I18nManager","StyleSheet","View","ListAccordionGroupContext","getAccordionColors","getLeftStyles","useInternalTheme","MaterialCommunityIcon","TouchableRipple","Text","ListAccordion","left","right","title","description","children","theme","themeOverrides","titleStyle","descriptionStyle","titleNumberOfLines","descriptionNumberOfLines","rippleColor","customRippleColor","style","containerStyle","contentStyle","id","testID","background","onPress","onLongPress","delayLongPress","expanded","expandedProp","accessibilityLabel","pointerEvents","titleMaxFontSizeMultiplier","descriptionMaxFontSizeMultiplier","hitSlop","_theme$colors","_theme$colors2","setExpanded","useState","alignToTop","setAlignToTop","onDescriptionTextLayout","event","isV3","nativeEvent","lines","length","handlePressAction","e","undefined","expandedInternal","groupContext","useContext","Error","isExpanded","expandedId","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":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}