UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 15.3 kB
{"ast":null,"code":"function _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 React from 'react';\nimport { AdornmentSide, AdornmentType, InputMode } from \"./enums\";\nimport TextInputAffix, { AffixAdornment } from \"./TextInputAffix\";\nimport TextInputIcon, { IconAdornment } from \"./TextInputIcon\";\nimport { getConstants } from \"../helpers\";\nexport function getAdornmentConfig({\n left,\n right\n}) {\n let adornmentConfig = [];\n if (left || right) {\n [{\n side: AdornmentSide.Left,\n adornment: left\n }, {\n side: AdornmentSide.Right,\n adornment: right\n }].forEach(({\n side,\n adornment\n }) => {\n if (adornment && React.isValidElement(adornment)) {\n let type;\n if (adornment.type === TextInputAffix) {\n type = AdornmentType.Affix;\n } else if (adornment.type === TextInputIcon) {\n type = AdornmentType.Icon;\n }\n adornmentConfig.push({\n side,\n type\n });\n }\n });\n }\n return adornmentConfig;\n}\nexport function getAdornmentStyleAdjustmentForNativeInput({\n adornmentConfig,\n leftAffixWidth,\n rightAffixWidth,\n paddingHorizontal,\n inputOffset = 0,\n mode,\n isV3\n}) {\n const {\n OUTLINED_INPUT_OFFSET,\n ADORNMENT_OFFSET\n } = getConstants(isV3);\n if (adornmentConfig.length) {\n const adornmentStyleAdjustmentForNativeInput = adornmentConfig.map(({\n type,\n side\n }) => {\n const isLeftSide = side === AdornmentSide.Left;\n const inputModeAdornemntOffset = mode === InputMode.Outlined ? ADORNMENT_OFFSET + OUTLINED_INPUT_OFFSET : ADORNMENT_OFFSET;\n const paddingKey = `padding${captalize(side)}`;\n const affixWidth = isLeftSide ? leftAffixWidth : rightAffixWidth;\n const padding = typeof paddingHorizontal === 'number' ? paddingHorizontal : inputModeAdornemntOffset;\n const offset = affixWidth + padding;\n const isAffix = type === AdornmentType.Affix;\n const marginKey = `margin${captalize(side)}`;\n return {\n [marginKey]: isAffix ? 0 : offset,\n [paddingKey]: isAffix ? offset : inputOffset\n };\n });\n const allStyleAdjustmentsMerged = adornmentStyleAdjustmentForNativeInput.reduce((mergedStyles, currentStyle) => {\n return Object.assign({}, mergedStyles, currentStyle);\n }, {});\n return allStyleAdjustmentsMerged;\n } else {\n return [{}];\n }\n}\nconst captalize = text => text.charAt(0).toUpperCase() + text.slice(1);\nconst TextInputAdornment = ({\n adornmentConfig,\n left,\n right,\n onAffixChange,\n textStyle,\n visible,\n topPosition,\n isTextInputFocused,\n forceFocus,\n paddingHorizontal,\n maxFontSizeMultiplier,\n theme,\n disabled\n}) => {\n if (adornmentConfig.length) {\n return React.createElement(React.Fragment, null, adornmentConfig.map(({\n type,\n side\n }) => {\n let inputAdornmentComponent;\n if (side === AdornmentSide.Left) {\n inputAdornmentComponent = left;\n } else if (side === AdornmentSide.Right) {\n inputAdornmentComponent = right;\n }\n const commonProps = {\n side: side,\n testID: `${side}-${type}-adornment`,\n isTextInputFocused,\n paddingHorizontal,\n disabled\n };\n if (type === AdornmentType.Icon) {\n return React.createElement(IconAdornment, _extends({}, commonProps, {\n theme: theme,\n key: side,\n icon: inputAdornmentComponent,\n topPosition: topPosition[AdornmentType.Icon],\n forceFocus: forceFocus\n }));\n } else if (type === AdornmentType.Affix) {\n return React.createElement(AffixAdornment, _extends({}, commonProps, {\n key: side,\n topPosition: topPosition[AdornmentType.Affix][side],\n affix: inputAdornmentComponent,\n textStyle: textStyle,\n onLayout: onAffixChange[side],\n visible: visible,\n maxFontSizeMultiplier: maxFontSizeMultiplier\n }));\n } else {\n return null;\n }\n }));\n } else {\n return null;\n }\n};\nexport default TextInputAdornment;","map":{"version":3,"names":["React","AdornmentSide","AdornmentType","InputMode","TextInputAffix","AffixAdornment","TextInputIcon","IconAdornment","getConstants","getAdornmentConfig","left","right","adornmentConfig","side","Left","adornment","Right","forEach","isValidElement","type","Affix","Icon","push","getAdornmentStyleAdjustmentForNativeInput","leftAffixWidth","rightAffixWidth","paddingHorizontal","inputOffset","mode","isV3","OUTLINED_INPUT_OFFSET","ADORNMENT_OFFSET","length","adornmentStyleAdjustmentForNativeInput","map","isLeftSide","inputModeAdornemntOffset","Outlined","paddingKey","captalize","affixWidth","padding","offset","isAffix","marginKey","allStyleAdjustmentsMerged","reduce","mergedStyles","currentStyle","Object","assign","text","charAt","toUpperCase","slice","TextInputAdornment","onAffixChange","textStyle","visible","topPosition","isTextInputFocused","forceFocus","maxFontSizeMultiplier","theme","disabled","createElement","Fragment","inputAdornmentComponent","commonProps","testID","_extends","key","icon","affix","onLayout"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/TextInput/Adornment/TextInputAdornment.tsx"],"sourcesContent":["import React from 'react';\nimport type {\n LayoutChangeEvent,\n TextStyle,\n StyleProp,\n Animated,\n DimensionValue,\n} from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { AdornmentSide, AdornmentType, InputMode } from './enums';\nimport TextInputAffix, { AffixAdornment } from './TextInputAffix';\nimport TextInputIcon, { IconAdornment } from './TextInputIcon';\nimport type {\n AdornmentConfig,\n AdornmentStyleAdjustmentForNativeInput,\n} from './types';\nimport { getConstants } from '../helpers';\n\nexport function getAdornmentConfig({\n left,\n right,\n}: {\n left?: React.ReactNode;\n right?: React.ReactNode;\n}): Array<AdornmentConfig> {\n let adornmentConfig: any[] = [];\n if (left || right) {\n [\n { side: AdornmentSide.Left, adornment: left },\n { side: AdornmentSide.Right, adornment: right },\n ].forEach(({ side, adornment }) => {\n if (adornment && React.isValidElement(adornment)) {\n let type;\n if (adornment.type === TextInputAffix) {\n type = AdornmentType.Affix;\n } else if (adornment.type === TextInputIcon) {\n type = AdornmentType.Icon;\n }\n adornmentConfig.push({\n side,\n type,\n });\n }\n });\n }\n\n return adornmentConfig;\n}\n\nexport function getAdornmentStyleAdjustmentForNativeInput({\n adornmentConfig,\n leftAffixWidth,\n rightAffixWidth,\n paddingHorizontal,\n inputOffset = 0,\n mode,\n isV3,\n}: {\n inputOffset?: number;\n adornmentConfig: AdornmentConfig[];\n leftAffixWidth: number;\n rightAffixWidth: number;\n mode?: 'outlined' | 'flat';\n paddingHorizontal?: DimensionValue;\n isV3?: boolean;\n}): AdornmentStyleAdjustmentForNativeInput | {} {\n const { OUTLINED_INPUT_OFFSET, ADORNMENT_OFFSET } = getConstants(isV3);\n\n if (adornmentConfig.length) {\n const adornmentStyleAdjustmentForNativeInput = adornmentConfig.map(\n ({ type, side }: AdornmentConfig) => {\n const isLeftSide = side === AdornmentSide.Left;\n const inputModeAdornemntOffset =\n mode === InputMode.Outlined\n ? ADORNMENT_OFFSET + OUTLINED_INPUT_OFFSET\n : ADORNMENT_OFFSET;\n const paddingKey = `padding${captalize(side)}`;\n const affixWidth = isLeftSide ? leftAffixWidth : rightAffixWidth;\n const padding =\n typeof paddingHorizontal === 'number'\n ? paddingHorizontal\n : inputModeAdornemntOffset;\n const offset = affixWidth + padding;\n\n const isAffix = type === AdornmentType.Affix;\n const marginKey = `margin${captalize(side)}`;\n\n return {\n [marginKey]: isAffix ? 0 : offset,\n [paddingKey]: isAffix ? offset : inputOffset,\n };\n }\n );\n const allStyleAdjustmentsMerged =\n adornmentStyleAdjustmentForNativeInput.reduce(\n (mergedStyles, currentStyle) => {\n return {\n ...mergedStyles,\n ...currentStyle,\n };\n },\n {}\n );\n return allStyleAdjustmentsMerged;\n } else {\n return [{}];\n }\n}\n\nconst captalize = (text: string) =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport interface TextInputAdornmentProps {\n forceFocus: () => void;\n adornmentConfig: AdornmentConfig[];\n topPosition: {\n [AdornmentType.Affix]: {\n [AdornmentSide.Left]: number | null;\n [AdornmentSide.Right]: number | null;\n };\n [AdornmentType.Icon]: number;\n };\n onAffixChange: {\n [AdornmentSide.Left]: (event: LayoutChangeEvent) => void;\n [AdornmentSide.Right]: (event: LayoutChangeEvent) => void;\n };\n left?: React.ReactNode;\n right?: React.ReactNode;\n textStyle?: StyleProp<TextStyle>;\n visible?: Animated.Value;\n isTextInputFocused: boolean;\n paddingHorizontal?: DimensionValue;\n maxFontSizeMultiplier?: number | undefined | null;\n theme?: ThemeProp;\n disabled?: boolean;\n}\n\nconst TextInputAdornment: React.FunctionComponent<TextInputAdornmentProps> = ({\n adornmentConfig,\n left,\n right,\n onAffixChange,\n textStyle,\n visible,\n topPosition,\n isTextInputFocused,\n forceFocus,\n paddingHorizontal,\n maxFontSizeMultiplier,\n theme,\n disabled,\n}) => {\n if (adornmentConfig.length) {\n return (\n <>\n {adornmentConfig.map(({ type, side }: AdornmentConfig) => {\n let inputAdornmentComponent;\n if (side === AdornmentSide.Left) {\n inputAdornmentComponent = left;\n } else if (side === AdornmentSide.Right) {\n inputAdornmentComponent = right;\n }\n\n const commonProps = {\n side: side,\n testID: `${side}-${type}-adornment`,\n isTextInputFocused,\n paddingHorizontal,\n disabled,\n };\n if (type === AdornmentType.Icon) {\n return (\n <IconAdornment\n {...commonProps}\n theme={theme}\n key={side}\n icon={inputAdornmentComponent}\n topPosition={topPosition[AdornmentType.Icon]}\n forceFocus={forceFocus}\n />\n );\n } else if (type === AdornmentType.Affix) {\n return (\n <AffixAdornment\n {...commonProps}\n key={side}\n topPosition={topPosition[AdornmentType.Affix][side]}\n affix={inputAdornmentComponent}\n textStyle={textStyle}\n onLayout={onAffixChange[side]}\n visible={visible}\n maxFontSizeMultiplier={maxFontSizeMultiplier}\n />\n );\n } else {\n return null;\n }\n })}\n </>\n );\n } else {\n return null;\n }\n};\n\nexport default TextInputAdornment;\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}