@wavemaker/app-rn-runtime 11.14.1-22.647577 → 11.14.1-24.647644
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/progress-circle/progress-circle.component.js +3 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +26 -9
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +38 -6
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +8 -15
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +22 -5
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +22 -5
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +14 -3
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +62 -29
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tabs/tabs.props.js +1 -0
- package/components/container/tabs/tabs.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +0 -1
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/form/form.component.js +4 -1
- package/components/data/form/form.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -2
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +21 -3
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/baseinput/baseinput.props.js +1 -0
- package/components/input/baseinput/baseinput.props.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +18 -3
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/basenumber/basenumber.props.js +1 -0
- package/components/input/basenumber/basenumber.props.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -0
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +10 -1
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/number/number.component.js +2 -0
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/number/number.styles.js +4 -0
- package/components/input/number/number.styles.js.map +1 -1
- package/components/input/radioset/radioset.component.js +3 -6
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -0
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +0 -1
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +17 -0
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -0
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/textarea/textarea.styles.js +4 -0
- package/components/input/textarea/textarea.styles.js.map +1 -1
- package/components/navigation/popover/popover.component.js +3 -3
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +0 -5
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +18 -50
- package/core/components/error-fallback/error-fallback.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.styles.js +1 -4
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
- package/core/components/textinput.component.js +25 -4
- package/core/components/textinput.component.js.map +1 -1
- package/core/error-boundary.component.js +2 -46
- package/core/error-boundary.component.js.map +1 -1
- package/core/fixed-view.component.js +19 -2
- package/core/fixed-view.component.js.map +1 -1
- package/core/tappable.component.js +1 -1
- package/core/tappable.component.js.map +1 -1
- package/core/viewport.js +13 -8
- package/core/viewport.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +0 -1
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +266 -350
- package/package-lock.json +266 -350
- package/package.json +2 -2
- package/runtime/App.js +12 -174
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +2 -11
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +0 -3
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/styles/theme.js +6 -0
- package/styles/theme.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +0 -207
- package/core/advanced-promise-rejection-tracker.js.map +0 -1
- package/core/global-error-handler.service.js +0 -177
- package/core/global-error-handler.service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Platform","Text","TextInput","View","isArray","IMask","FloatingLabel","WmCursor","memo","props","opacityAnimation","Value","current","runAnimation","timing","toValue","duration","useNativeDriver","start","createElement","testID","style","backgroundColor","color","width","marginHorizontal","height","opacity","WMTextInput","forwardRef","ref","_props$customDisplayV","_props$floatingLabel","selectRange","setSelectRange","iMask","setIMask","displayCursor","setDisplayCursor","value","x","forceUpdate","displayValue","setDisplayValue","element","displayformat","MaskedPattern","mask","skipInvalid","lazy","definitions","typedValue","defaultValue","onChangeText","setTimeout","OS","maskchar","_element$current","setSelectionRange","length","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","text","_value","substring","slice","formattedValue","replace","valueExpr","opts","customDisplayValue","textStyle","Object","assign","hideInput","Fragment","background","floatingLabel","moveUp","isInputFocused","label","placeholder","floatingLabelStyle","activeFloatingLabelStyle","editable","_extends","borderColor","zIndex","autoCapitalize","textTransform","placeholderTextColor","selectable","disabled","multiline","numberOfLines","onFocus","_props$onFocus","call","target","onBlur","_props$onBlur","caretHidden","toUpperCase","selectionColor","cursorColor","onChange","contextMenuHidden","onLayout","handleLayout","display","flexDirection","alignItems","marginTop","minHeight","undefined","padding","fontFamily","fontSize","fontWeight"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useEffect, useRef, useState } from 'react';\nimport { Animated, Platform, Text, TextInput, TextInputProps, TextStyle, View, ViewStyle } from 'react-native';\nimport { isArray } from 'lodash';\nimport IMask from 'imask';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nconst WmCursor = React.memo((props: {\n color: string,\n height: number\n}) => {\n const opacityAnimation = useRef(new Animated.Value(0.5)).current;\n const runAnimation = useCallback(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.2,\n duration: 500,\n useNativeDriver: true\n }).start(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.6,\n duration: 500,\n useNativeDriver: true\n }).start(runAnimation);\n });\n }, []);\n useEffect(() => {\n runAnimation();\n }, []);\n return (\n <Animated.View \n testID=\"wm-custom-cursor\"\n style={{\n backgroundColor: props.color,\n width: 2,\n marginHorizontal: 1,\n height: props.height,\n opacity: opacityAnimation\n }}></Animated.View>\n );\n});\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean,\n displayformat: string,\n maskchar: string,\n floatingLabel: string\n floatingLabelStyle: TextStyle & ViewStyle,\n activeFloatingLabelStyle: TextStyle & ViewStyle,\n customDisplayValue?: string,\n isInputFocused: boolean,\n autoCapitalize?: string,\n background?: React.ReactNode,\n handleLayout?: any,\n style?: ViewStyle\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [iMask, setIMask] = useState(null as any);\n const [displayCursor, setDisplayCursor] = useState(false);\n const value = useRef(props.value || '');\n const [x, forceUpdate] = useState(1);\n const [displayValue, setDisplayValue] = useState('');\n const element = useRef(null as any);\n // iMask initialization\n useEffect(() => {\n const iMask: any = props.displayformat ? new IMask.MaskedPattern({\n mask: props.displayformat,\n skipInvalid: true,\n lazy: false,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n }) : null;\n if (iMask) {\n iMask.typedValue = value;\n setDisplayValue(iMask.displayValue)\n setIMask(iMask);\n }\n },[props.displayformat]);\n // set default value\n useEffect(() => {\n const defaultValue = props.defaultValue || props.value || '';\n if (defaultValue && !value.current) {\n value.current = defaultValue;\n onChangeText(defaultValue);\n }\n },[props.defaultValue, props.value]);\n // set cursor position in windows\n useEffect(() => {\n setTimeout(() => {\n if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {\n element?.current?.setSelectionRange(value.current.length, value.current.length);\n }\n }, 100);\n }, [value.current, props]);\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value]);\n // when text changes\n const onChangeText = useCallback((text: string) => {\n if (!(iMask || props.maskchar)) {\n value.current = text;\n props.onChangeText && props.onChangeText(text);\n return;\n }\n let _value = value.current || '';\n if (value.current.length - text.length > 0) {\n _value = _value.substring(0, _value.length - (value.current.length - text.length));\n } else if (text.length - value.current.length > 0) {\n _value += text.slice(-1 * (text.length - value.current.length));\n }\n let formattedValue = _value;\n if(props.maskchar) {\n formattedValue = (_value.replace(/./g, props.maskchar));\n }\n if (iMask) {\n iMask.typedValue = _value;\n formattedValue = iMask.displayValue;\n }\n if (formattedValue !== displayValue) {\n value.current = _value;\n props.onChangeText && props.onChangeText(_value);\n }\n forceUpdate(x+ 1);\n setDisplayValue(formattedValue);\n }, [iMask, value, displayValue, props.onChangeText]);\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const opts = {} as any;\n opts[valueExpr] = props.customDisplayValue ?? value.current;\n const textStyle = Object.assign({}, ...isArray(props.style) ? props.style: [props.style]);\n const hideInput = props.displayformat || props.maskchar;\n return (\n <>\n {props.background}\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || props.isInputFocused || displayValue)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(props.isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n {(Platform.OS === 'android' && !props.editable) ? (\n <Text \n style={[\n props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {},\n props.autoCapitalize ? {textTransform: 'capitalize'} : {},\n (!props.defaultValue && props.placeholder) ? { color: props.placeholderTextColor} : {}\n ]}\n selectable={false}\n disabled={true}\n {...(props.multiline) ? {numberOfLines: props.numberOfLines} : {}}\n >{props.defaultValue || props.placeholder}</Text>\n ) :\n (<TextInput\n {...props}\n {...hideInput || props.customDisplayValue ? opts: {}}\n placeholder={props.floatingLabel || displayValue ? '' : props.placeholder }\n style={[props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {}]}\n onFocus={(e) => {\n props.onFocus?.(e);\n setDisplayCursor(true);\n element.current = e.target;\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setDisplayCursor(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n if(props.autoCapitalize && props.autoCapitalize === 'characters') {\n onChangeText(text.toUpperCase());\n return;\n }\n onChangeText(text);\n }}\n {...hideInput ? {\n selectionColor: 'transparent',\n cursorColor: 'transparent',\n onChange : () => {}\n }: {}}\n contextMenuHidden={!props.allowContentSelection}\n autoCapitalize={props.autoCapitalize}\n onLayout={props.handleLayout}\n numberOfLines={1}\n >\n </TextInput>)\n }\n {\n hideInput ? (\n <View style={[props.style, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: -1 * (textStyle.height || textStyle.minHeight || 0)\n + (textStyle.marginTop || 0)}]}>\n <Text style={{ \n width: undefined,\n backgroundColor: 'transparent', \n borderColor: 'transparent',\n padding: 0,\n display: 'flex',\n color: textStyle.color,\n fontFamily: textStyle.fontFamily,\n fontSize: textStyle.fontSize,\n fontWeight: textStyle.fontWeight\n }}>\n {displayValue}\n </Text>\n {\n (displayCursor && !props.displayformat) ? React.createElement(WmCursor, {\n color: textStyle.color || '#000000',\n height: textStyle.fontSize || 14\n }) : null\n }\n </View>\n ) : null\n }\n </>\n );\n});\n"],"mappings":";AAAA,OAAOA,KAAK,IAAkBC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrF,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAA6BC,IAAI,QAAmB,cAAc;AAC9G,SAASC,OAAO,QAAQ,QAAQ;AAChC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAQ,2BAA2B;AAOzD,MAAMC,QAAQ,gBAAGb,KAAK,CAACc,IAAI,CAAEC,KAG5B,IAAK;EACJ,MAAMC,gBAAgB,GAAGb,MAAM,CAAC,IAAIE,QAAQ,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAACC,OAAO;EAChE,MAAMC,YAAY,GAAGlB,WAAW,CAAC,MAAM;IACrCI,QAAQ,CAACe,MAAM,CAACJ,gBAAgB,EAAE;MAChCK,OAAO,EAAE,GAAG;MACZC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM;MACbnB,QAAQ,CAACe,MAAM,CAACJ,gBAAgB,EAAE;QAChCK,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAE,GAAG;QACbC,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAACL,YAAY,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACNjB,SAAS,CAAC,MAAM;IACdiB,YAAY,CAAC,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EACN,oBACEnB,KAAA,CAAAyB,aAAA,CAACpB,QAAQ,CAACI,IAAI;IACdiB,MAAM,EAAC,kBAAkB;IACzBC,KAAK,EAAE;MACLC,eAAe,EAAEb,KAAK,CAACc,KAAK;MAC5BC,KAAK,EAAE,CAAC;MACRC,gBAAgB,EAAE,CAAC;MACnBC,MAAM,EAAEjB,KAAK,CAACiB,MAAM;MACpBC,OAAO,EAAEjB;IACX;EAAE,CAAgB,CAAC;AAEvB,CAAC,CAAC;AAEF,OAAO,MAAMkB,WAAW,gBAAGlC,KAAK,CAACmC,UAAU,CAAC,CAACpB,KAazC,EACAqB,GAA4B,KAAK;EAAA,IAAAC,qBAAA,EAAAC,oBAAA;EACjC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGpC,QAAQ,CAAc,IAAW,CAAC;EACxE,MAAM,CAACqC,KAAK,EAAEC,QAAQ,CAAC,GAAGtC,QAAQ,CAAC,IAAW,CAAC;EAC/C,MAAM,CAACuC,aAAa,EAAEC,gBAAgB,CAAC,GAAGxC,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAMyC,KAAK,GAAG1C,MAAM,CAACY,KAAK,CAAC8B,KAAK,IAAI,EAAE,CAAC;EACvC,MAAM,CAACC,CAAC,EAAEC,WAAW,CAAC,GAAG3C,QAAQ,CAAC,CAAC,CAAC;EACpC,MAAM,CAAC4C,YAAY,EAAEC,eAAe,CAAC,GAAG7C,QAAQ,CAAC,EAAE,CAAC;EACpD,MAAM8C,OAAO,GAAG/C,MAAM,CAAC,IAAW,CAAC;EACnC;EACAD,SAAS,CAAC,MAAM;IACd,MAAMuC,KAAU,GAAG1B,KAAK,CAACoC,aAAa,GAAG,IAAIxC,KAAK,CAACyC,aAAa,CAAC;MAC/DC,IAAI,EAAEtC,KAAK,CAACoC,aAAa;MACzBG,WAAW,EAAE,IAAI;MACjBC,IAAI,EAAE,KAAK;MACXC,WAAW,EAAE;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE;MACT;IACF,CAAC,CAAC,GAAG,IAAI;IACT,IAAIf,KAAK,EAAE;MACTA,KAAK,CAACgB,UAAU,GAAGZ,KAAK;MACxBI,eAAe,CAACR,KAAK,CAACO,YAAY,CAAC;MACnCN,QAAQ,CAACD,KAAK,CAAC;IACjB;EACF,CAAC,EAAC,CAAC1B,KAAK,CAACoC,aAAa,CAAC,CAAC;EACxB;EACAjD,SAAS,CAAC,MAAM;IACd,MAAMwD,YAAY,GAAG3C,KAAK,CAAC2C,YAAY,IAAI3C,KAAK,CAAC8B,KAAK,IAAI,EAAE;IAC5D,IAAIa,YAAY,IAAI,CAACb,KAAK,CAAC3B,OAAO,EAAE;MAClC2B,KAAK,CAAC3B,OAAO,GAAGwC,YAAY;MAC5BC,YAAY,CAACD,YAAY,CAAC;IAC5B;EACF,CAAC,EAAC,CAAC3C,KAAK,CAAC2C,YAAY,EAAE3C,KAAK,CAAC8B,KAAK,CAAC,CAAC;EACpC;EACA3C,SAAS,CAAC,MAAM;IACd0D,UAAU,CAAC,MAAM;MACf,IAAItD,QAAQ,CAACuD,EAAE,KAAK,KAAK,KAAK9C,KAAK,CAACoC,aAAa,IAAIpC,KAAK,CAAC+C,QAAQ,CAAC,EAAE;QAAA,IAAAC,gBAAA;QACpEb,OAAO,aAAPA,OAAO,gBAAAa,gBAAA,GAAPb,OAAO,CAAEhC,OAAO,cAAA6C,gBAAA,eAAhBA,gBAAA,CAAkBC,iBAAiB,CAACnB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,EAAEpB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,CAAC;MACjF;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EAAE,CAACpB,KAAK,CAAC3B,OAAO,EAAEH,KAAK,CAAC,CAAC;EAC1B,MAAMmD,iBAAiB,GAAGjE,WAAW,CAAEkE,CAAM,IAAK;IAAA,IAAAC,cAAA;IAC9C,IAAI9D,QAAQ,CAACuD,EAAE,KAAK,SAAS,EAAE;MAC3B;IACJ;IACA,MAAMQ,SAAS,GAAGF,CAAC,aAADA,CAAC,gBAAAC,cAAA,GAADD,CAAC,CAAEG,WAAW,cAAAF,cAAA,uBAAdA,cAAA,CAAgBC,SAAS;IAC3C,IAAI,CAACtD,KAAK,CAACwD,qBAAqB,IACzBF,SAAS,IACTA,SAAS,CAACG,GAAG,GAAGH,SAAS,CAAC7C,KAAK,GAAG,CAAC,EAAE;MACxCgB,cAAc,CAAC;QACXhB,KAAK,EAAEqB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,GAAG,CAAC;QAC/BO,GAAG,EAAE3B,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,GAAG;MAChC,CAAC,CAAC;IACN,CAAC,MAAM,IAAI1B,WAAW,IAAIA,WAAW,CAACiC,GAAG,GAAG,CAAC,EAAC;MAC1ChC,cAAc,CAAC,IAAW,CAAC;IAC/B;EACJ,CAAC,EAAE,CAACzB,KAAK,CAACwD,qBAAqB,EAAE1B,KAAK,CAAC,CAAC;EACxC;EACA,MAAMc,YAAY,GAAG1D,WAAW,CAAEwE,IAAY,IAAK;IACjD,IAAI,EAAEhC,KAAK,IAAI1B,KAAK,CAAC+C,QAAQ,CAAC,EAAE;MAC9BjB,KAAK,CAAC3B,OAAO,GAAGuD,IAAI;MACpB1D,KAAK,CAAC4C,YAAY,IAAI5C,KAAK,CAAC4C,YAAY,CAACc,IAAI,CAAC;MAC9C;IACF;IACA,IAAIC,MAAM,GAAG7B,KAAK,CAAC3B,OAAO,IAAI,EAAE;IAChC,IAAI2B,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,GAAGQ,IAAI,CAACR,MAAM,GAAG,CAAC,EAAE;MAC1CS,MAAM,GAAGA,MAAM,CAACC,SAAS,CAAC,CAAC,EAAED,MAAM,CAACT,MAAM,IAAIpB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,GAAGQ,IAAI,CAACR,MAAM,CAAC,CAAC;IACpF,CAAC,MAAM,IAAIQ,IAAI,CAACR,MAAM,GAAGpB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,GAAG,CAAC,EAAE;MACjDS,MAAM,IAAID,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,IAAIH,IAAI,CAACR,MAAM,GAAGpB,KAAK,CAAC3B,OAAO,CAAC+C,MAAM,CAAC,CAAC;IACjE;IACA,IAAIY,cAAc,GAAGH,MAAM;IAC3B,IAAG3D,KAAK,CAAC+C,QAAQ,EAAE;MACjBe,cAAc,GAAIH,MAAM,CAACI,OAAO,CAAC,IAAI,EAAE/D,KAAK,CAAC+C,QAAQ,CAAE;IACzD;IACA,IAAIrB,KAAK,EAAE;MACTA,KAAK,CAACgB,UAAU,GAAGiB,MAAM;MACzBG,cAAc,GAAGpC,KAAK,CAACO,YAAY;IACrC;IACA,IAAI6B,cAAc,KAAK7B,YAAY,EAAE;MACnCH,KAAK,CAAC3B,OAAO,GAAGwD,MAAM;MACtB3D,KAAK,CAAC4C,YAAY,IAAI5C,KAAK,CAAC4C,YAAY,CAACe,MAAM,CAAC;IAClD;IACA3B,WAAW,CAACD,CAAC,GAAE,CAAC,CAAC;IACjBG,eAAe,CAAC4B,cAAc,CAAC;EACjC,CAAC,EAAE,CAACpC,KAAK,EAAEI,KAAK,EAAEG,YAAY,EAAEjC,KAAK,CAAC4C,YAAY,CAAC,CAAC;EACpD,MAAMoB,SAAS,GAAGzE,QAAQ,CAACuD,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;EAClE,MAAMmB,IAAI,GAAG,CAAC,CAAQ;EACtBA,IAAI,CAACD,SAAS,CAAC,IAAA1C,qBAAA,GAAGtB,KAAK,CAACkE,kBAAkB,cAAA5C,qBAAA,cAAAA,qBAAA,GAAIQ,KAAK,CAAC3B,OAAO;EAC3D,MAAMgE,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAG1E,OAAO,CAACK,KAAK,CAACY,KAAK,CAAC,GAAGZ,KAAK,CAACY,KAAK,GAAE,CAACZ,KAAK,CAACY,KAAK,CAAC,EAAC;EACzF,MAAM0D,SAAS,GAAGtE,KAAK,CAACoC,aAAa,IAAIpC,KAAK,CAAC+C,QAAQ;EACvD,oBACE9D,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAAsF,QAAA,QACGvE,KAAK,CAACwE,UAAU,EAChBxE,KAAK,CAACyE,aAAa,gBAClBxF,KAAA,CAAAyB,aAAA,CAACb,aAAa;IACZ6E,MAAM,EAAE,CAAC,EAAE5C,KAAK,CAAC3B,OAAO,IAAIH,KAAK,CAAC2E,cAAc,IAAI1C,YAAY,CAAE;IAClE2C,KAAK,GAAArD,oBAAA,GAAEvB,KAAK,CAACyE,aAAa,cAAAlD,oBAAA,cAAAA,oBAAA,GAAIvB,KAAK,CAAC6E,WAAY;IAChDjE,KAAK,EAAE;MACL,IAAIZ,KAAK,CAAC8E,kBAAkB,IAAI,EAAE,CAAC;MACnC,IAAI9E,KAAK,CAAC2E,cAAc,GAAI3E,KAAK,CAAC+E,wBAAwB,IAAI,CAAC,CAAC,GAAI,CAAC,CAAC;IACxE;EAAE,CAAC,CAAC,GACJ,IAAI,EACNxF,QAAQ,CAACuD,EAAE,KAAK,SAAS,IAAI,CAAC9C,KAAK,CAACgF,QAAQ,gBAC1C/F,KAAA,CAAAyB,aAAA,CAAClB,IAAI,EAAAyF,QAAA;IACHrE,KAAK,EAAE,CACLZ,KAAK,CAACY,KAAK,EAAE0D,SAAS,GAAG;MACvBxD,KAAK,EAAE,aAAa;MACpBD,eAAe,EAAE,aAAa;MAC9BqE,WAAW,EAAE,aAAa;MAC1BC,MAAM,EAAE;IACV,CAAC,GAAG,CAAC,CAAC,EACNnF,KAAK,CAACoF,cAAc,GAAG;MAACC,aAAa,EAAE;IAAY,CAAC,GAAG,CAAC,CAAC,EACxD,CAACrF,KAAK,CAAC2C,YAAY,IAAI3C,KAAK,CAAC6E,WAAW,GAAI;MAAE/D,KAAK,EAAEd,KAAK,CAACsF;IAAoB,CAAC,GAAG,CAAC,CAAC,CACtF;IACFC,UAAU,EAAE,KAAM;IAClBC,QAAQ,EAAE;EAAK,GACVxF,KAAK,CAACyF,SAAS,GAAI;IAACC,aAAa,EAAE1F,KAAK,CAAC0F;EAAa,CAAC,GAAG,CAAC,CAAC,GACjE1F,KAAK,CAAC2C,YAAY,IAAI3C,KAAK,CAAC6E,WAAkB,CAAC,gBAEjD5F,KAAA,CAAAyB,aAAA,CAACjB,SAAS,EAAAwF,QAAA,KACJjF,KAAK,EACLsE,SAAS,IAAItE,KAAK,CAACkE,kBAAkB,GAAGD,IAAI,GAAE,CAAC,CAAC;IACpDY,WAAW,EAAE7E,KAAK,CAACyE,aAAa,IAAIxC,YAAY,GAAG,EAAE,GAAGjC,KAAK,CAAC6E,WAAa;IAC3EjE,KAAK,EAAE,CAACZ,KAAK,CAACY,KAAK,EAAE0D,SAAS,GAAG;MAC/BxD,KAAK,EAAE,aAAa;MACpBD,eAAe,EAAE,aAAa;MAC9BqE,WAAW,EAAE,aAAa;MAC1BC,MAAM,EAAE;IACV,CAAC,GAAG,CAAC,CAAC,CAAE;IACRQ,OAAO,EAAGvC,CAAC,IAAK;MAAA,IAAAwC,cAAA;MACd,CAAAA,cAAA,GAAA5F,KAAK,CAAC2F,OAAO,cAAAC,cAAA,eAAbA,cAAA,CAAAC,IAAA,CAAA7F,KAAK,EAAWoD,CAAC,CAAC;MAClBvB,gBAAgB,CAAC,IAAI,CAAC;MACtBM,OAAO,CAAChC,OAAO,GAAGiD,CAAC,CAAC0C,MAAM;IAC5B,CAAE;IACFC,MAAM,EAAG3C,CAAC,IAAK;MAAA,IAAA4C,aAAA;MACbhG,KAAK,aAALA,KAAK,gBAAAgG,aAAA,GAALhG,KAAK,CAAE+F,MAAM,cAAAC,aAAA,eAAbA,aAAA,CAAAH,IAAA,CAAA7F,KAAK,EAAWoD,CAAC,CAAC;MAClBvB,gBAAgB,CAAC,KAAK,CAAC;IACzB,CAAE;IACFR,GAAG,EAAEA,GAAI;IACTiC,SAAS,EAAE9B,WAAY;IACvB2B,iBAAiB,EAAEA,iBAAkB;IACrC8C,WAAW,EAAE,CAAC,EAACzE,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEiC,GAAG,CAAC;IAChCb,YAAY,EAAGc,IAAI,IAAK;MACtB,IAAG1D,KAAK,CAACoF,cAAc,IAAIpF,KAAK,CAACoF,cAAc,KAAK,YAAY,EAAE;QAChExC,YAAY,CAACc,IAAI,CAACwC,WAAW,CAAC,CAAC,CAAC;QAChC;MACF;MACAtD,YAAY,CAACc,IAAI,CAAC;IACpB;EAAE,GACEY,SAAS,GAAG;IACd6B,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE,aAAa;IAC1BC,QAAQ,EAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAE,CAAC,CAAC;IACLC,iBAAiB,EAAE,CAACtG,KAAK,CAACwD,qBAAsB;IAChD4B,cAAc,EAAEpF,KAAK,CAACoF,cAAe;IACrCmB,QAAQ,EAAEvG,KAAK,CAACwG,YAAa;IAC7Bd,aAAa,EAAE;EAAE,EAER,CAAE,EAGfpB,SAAS,gBACPrF,KAAA,CAAAyB,aAAA,CAAChB,IAAI;IAACkB,KAAK,EAAE,CAACZ,KAAK,CAACY,KAAK,EAAE;MACzB6F,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,CAAC,CAAC,IAAIzC,SAAS,CAAClD,MAAM,IAAIkD,SAAS,CAAC0C,SAAS,IAAI,CAAC,CAAC,IACzD1C,SAAS,CAACyC,SAAS,IAAI,CAAC;IAAC,CAAC;EAAE,gBACjC3H,KAAA,CAAAyB,aAAA,CAAClB,IAAI;IAACoB,KAAK,EAAE;MACXG,KAAK,EAAE+F,SAAS;MAChBjG,eAAe,EAAE,aAAa;MAC9BqE,WAAW,EAAE,aAAa;MAC1B6B,OAAO,EAAE,CAAC;MACVN,OAAO,EAAE,MAAM;MACf3F,KAAK,EAAEqD,SAAS,CAACrD,KAAK;MACtBkG,UAAU,EAAE7C,SAAS,CAAC6C,UAAU;MAChCC,QAAQ,EAAE9C,SAAS,CAAC8C,QAAQ;MAC5BC,UAAU,EAAE/C,SAAS,CAAC+C;IACtB;EAAE,GACDjF,YACG,CAAC,EAEJL,aAAa,IAAI,CAAC5B,KAAK,CAACoC,aAAa,gBAAInD,KAAK,CAACyB,aAAa,CAACZ,QAAQ,EAAE;IACtEgB,KAAK,EAAEqD,SAAS,CAACrD,KAAK,IAAI,SAAS;IACnCG,MAAM,EAAEkD,SAAS,CAAC8C,QAAQ,IAAI;EAChC,CAAC,CAAC,GAAG,IAEH,CAAC,GACL,IAEN,CAAC;AAET,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Platform","Text","TextInput","View","isArray","IMask","FloatingLabel","WmCursor","memo","props","opacityAnimation","Value","current","runAnimation","timing","toValue","duration","useNativeDriver","start","createElement","testID","style","backgroundColor","color","width","marginHorizontal","height","opacity","applyAutoCapitalize","text","mode","toUpperCase","replace","c","WMTextInput","forwardRef","ref","_props$customDisplayV","_props$floatingLabel","selectRange","setSelectRange","iMask","setIMask","displayCursor","setDisplayCursor","value","x","forceUpdate","displayValue","setDisplayValue","element","displayformat","MaskedPattern","mask","skipInvalid","lazy","definitions","typedValue","defaultValue","onChangeText","setTimeout","OS","maskchar","_element$current","setSelectionRange","length","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","_value","substring","slice","formattedValue","valueExpr","opts","customDisplayValue","textStyle","Object","assign","hideInput","Fragment","background","floatingLabel","moveUp","isInputFocused","label","placeholder","floatingLabelStyle","activeFloatingLabelStyle","inactiveFloatingLabelStyle","editable","_extends","borderColor","zIndex","autoCapitalize","textTransform","placeholderTextColor","selectable","disabled","multiline","numberOfLines","maxLength","undefined","onFocus","_props$onFocus","call","target","onBlur","_props$onBlur","caretHidden","selectionColor","cursorColor","onChange","contextMenuHidden","onLayout","handleLayout","display","flexDirection","alignItems","marginTop","minHeight","padding","fontFamily","fontSize","fontWeight"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useEffect, useRef, useState } from 'react';\nimport { Animated, Platform, Text, TextInput, TextInputProps, TextStyle, View, ViewStyle } from 'react-native';\nimport { isArray } from 'lodash';\nimport IMask from 'imask';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nconst WmCursor = React.memo((props: {\n color: string,\n height: number\n}) => {\n const opacityAnimation = useRef(new Animated.Value(0.5)).current;\n const runAnimation = useCallback(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.2,\n duration: 500,\n useNativeDriver: true\n }).start(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.6,\n duration: 500,\n useNativeDriver: true\n }).start(runAnimation);\n });\n }, []);\n useEffect(() => {\n runAnimation();\n }, []);\n return (\n <Animated.View \n testID=\"wm-custom-cursor\"\n style={{\n backgroundColor: props.color,\n width: 2,\n marginHorizontal: 1,\n height: props.height,\n opacity: opacityAnimation\n }}></Animated.View>\n );\n});\n\n// TODO: Monika WMS-31071 - Consider these improvements:\n// 1. 'words' mode: Use full Title Case regex: text.replace(/\\b\\w+/g, word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n// 2. 'sentences' mode: Add newline handling with regex: /(^|\\.\\s+|\\!\\s+|\\?\\s+|\\n\\s*)(\\w)/g\n// 3. Add TypeScript type for mode: type AutoCapitalizeMode = 'none' | 'sentences' | 'words' | 'characters'\nconst applyAutoCapitalize = (text: string, mode: string): string => {\n switch (mode) {\n case 'characters':\n return text.toUpperCase();\n case 'words':\n return text.replace(/\\b\\w/g, c => c.toUpperCase());\n case 'sentences':\n return text.replace(/(^\\w|[.!?]\\s+\\w)/g, c => c.toUpperCase());\n default:\n return text;\n }\n};\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean,\n displayformat: string,\n maskchar: string,\n floatingLabel: string\n floatingLabelStyle: TextStyle & ViewStyle,\n activeFloatingLabelStyle: TextStyle & ViewStyle,\n inactiveFloatingLabelStyle?: TextStyle & ViewStyle,\n customDisplayValue?: string,\n isInputFocused: boolean,\n autoCapitalize?: string,\n background?: React.ReactNode,\n handleLayout?: any,\n style?: ViewStyle\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [iMask, setIMask] = useState(null as any);\n const [displayCursor, setDisplayCursor] = useState(false);\n const value = useRef(props.value || '');\n const [x, forceUpdate] = useState(1);\n const [displayValue, setDisplayValue] = useState('');\n const element = useRef(null as any);\n // iMask initialization\n useEffect(() => {\n const iMask: any = props.displayformat ? new IMask.MaskedPattern({\n mask: props.displayformat,\n skipInvalid: true,\n lazy: false,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n }) : null;\n if (iMask) {\n iMask.typedValue = value;\n setDisplayValue(iMask.displayValue)\n setIMask(iMask);\n }\n },[props.displayformat]);\n // set default value\n useEffect(() => {\n const defaultValue = props.defaultValue || props.value || '';\n if (defaultValue && !value.current) {\n value.current = defaultValue;\n onChangeText(defaultValue);\n }\n },[props.defaultValue, props.value]);\n // set cursor position in windows\n useEffect(() => {\n setTimeout(() => {\n if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {\n element?.current?.setSelectionRange(value.current.length, value.current.length);\n }\n }, 100);\n }, [value.current, props]);\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value]);\n // when text changes\n const onChangeText = useCallback((text: string) => {\n if (!(iMask || props.maskchar)) {\n value.current = text;\n props.onChangeText && props.onChangeText(text);\n return;\n }\n let _value = value.current || '';\n if (value.current.length - text.length > 0) {\n _value = _value.substring(0, _value.length - (value.current.length - text.length));\n } else if (text.length - value.current.length > 0) {\n _value += text.slice(-1 * (text.length - value.current.length));\n }\n let formattedValue = _value;\n if(props.maskchar) {\n formattedValue = (_value.replace(/./g, props.maskchar));\n }\n if (iMask) {\n iMask.typedValue = _value;\n formattedValue = iMask.displayValue;\n }\n if (formattedValue !== displayValue) {\n value.current = _value;\n props.onChangeText && props.onChangeText(_value);\n }\n forceUpdate(x+ 1);\n setDisplayValue(formattedValue);\n }, [iMask, value, displayValue, props.onChangeText]);\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const opts = {} as any;\n opts[valueExpr] = props.customDisplayValue ?? value.current;\n const textStyle = Object.assign({}, ...isArray(props.style) ? props.style: [props.style]);\n const hideInput = props.displayformat || props.maskchar;\n return (\n <>\n {props.background}\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || props.isInputFocused || displayValue)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(props.isInputFocused \n ? (props.activeFloatingLabelStyle || {}) \n : (value.current || displayValue) \n ? (props.inactiveFloatingLabelStyle || {}) \n : {}\n )\n }}/>\n ) : null}\n {(Platform.OS === 'android' && !props.editable) ? (\n <Text \n style={[\n props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {},\n props.autoCapitalize ? {textTransform: 'capitalize'} : {},\n (!props.defaultValue && props.placeholder) ? { color: props.placeholderTextColor} : {}\n ]}\n selectable={false}\n disabled={true}\n {...(props.multiline) ? {numberOfLines: props.numberOfLines} : {}}\n >{props.defaultValue || props.placeholder}</Text>\n ) :\n (<TextInput\n {...props}\n {...hideInput || props.customDisplayValue ? opts: {}}\n {...((props.maxLength !== null) ? { maxLength: props.maxLength } : { maxLength: undefined })}\n placeholder={props.floatingLabel || displayValue ? '' : props.placeholder }\n style={[props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {}]}\n onFocus={(e) => {\n props.onFocus?.(e);\n setDisplayCursor(true);\n element.current = e.target;\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setDisplayCursor(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n if(Platform.OS === 'web' && props.autoCapitalize && props.autoCapitalize !== 'none') {\n onChangeText(applyAutoCapitalize(text, props.autoCapitalize));\n return;\n }\n onChangeText(text);\n }}\n {...hideInput ? {\n selectionColor: 'transparent',\n cursorColor: 'transparent',\n onChange : () => {}\n }: {}}\n contextMenuHidden={!props.allowContentSelection}\n autoCapitalize={props.autoCapitalize}\n onLayout={props.handleLayout}\n numberOfLines={1}\n >\n </TextInput>)\n }\n {\n hideInput ? (\n <View style={[props.style, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: -1 * (textStyle.height || textStyle.minHeight || 0)\n + (textStyle.marginTop || 0)}]}>\n <Text style={{ \n width: undefined,\n backgroundColor: 'transparent', \n borderColor: 'transparent',\n padding: 0,\n display: 'flex',\n color: textStyle.color,\n fontFamily: textStyle.fontFamily,\n fontSize: textStyle.fontSize,\n fontWeight: textStyle.fontWeight\n }}>\n {displayValue}\n </Text>\n {\n (displayCursor && !props.displayformat) ? React.createElement(WmCursor, {\n color: textStyle.color || '#000000',\n height: textStyle.fontSize || 14\n }) : null\n }\n </View>\n ) : null\n }\n </>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import Fallback from './components/error-fallback/error-fallback.component';
|
|
6
6
|
import appModalService from '@wavemaker/app-rn-runtime/runtime/services/app-modal.service';
|
|
7
|
-
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
|
8
7
|
export default class ErrorBoundary extends React.Component {
|
|
9
8
|
constructor(props) {
|
|
10
9
|
super(props);
|
|
@@ -20,48 +19,11 @@ export default class ErrorBoundary extends React.Component {
|
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
21
|
static getDerivedStateFromError(error) {
|
|
23
|
-
// Check preferences before setting error state
|
|
24
|
-
const appConfig = injector.get('APP_CONFIG');
|
|
25
|
-
const prefs = appConfig === null || appConfig === void 0 ? void 0 : appConfig.preferences;
|
|
26
|
-
const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
|
|
27
|
-
const renderEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableRenderErrors) !== false;
|
|
28
|
-
|
|
29
|
-
// Only set hasError if error handling is enabled
|
|
30
|
-
if (!globalEnabled || !renderEnabled) {
|
|
31
|
-
return {
|
|
32
|
-
hasError: false
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
22
|
return {
|
|
36
23
|
hasError: true
|
|
37
24
|
};
|
|
38
25
|
}
|
|
39
26
|
componentDidCatch(error, info) {
|
|
40
|
-
// Check if error handling is enabled
|
|
41
|
-
const appConfig = injector.get('APP_CONFIG');
|
|
42
|
-
const prefs = appConfig === null || appConfig === void 0 ? void 0 : appConfig.preferences;
|
|
43
|
-
const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
|
|
44
|
-
const renderEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableRenderErrors) !== false;
|
|
45
|
-
|
|
46
|
-
// Only catch if both master switch and render errors are enabled
|
|
47
|
-
if (!globalEnabled || !renderEnabled) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Trigger user error callback if app instance is available
|
|
52
|
-
let appInstance = this.props.app;
|
|
53
|
-
|
|
54
|
-
// Fallback: try to get app instance from injector if prop is not available
|
|
55
|
-
if (!appInstance) {
|
|
56
|
-
appInstance = injector.get('APP_INSTANCE');
|
|
57
|
-
}
|
|
58
|
-
if (appInstance && appInstance.triggerOnError) {
|
|
59
|
-
try {
|
|
60
|
-
appInstance.triggerOnError(error, info, 'render');
|
|
61
|
-
} catch (e) {
|
|
62
|
-
console.error('Error calling triggerOnError:', e);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
27
|
if (error && appModalService.modalsOpened.length > 0) {
|
|
66
28
|
appModalService.modalsOpened.pop();
|
|
67
29
|
appModalService.showLastModal();
|
|
@@ -73,17 +35,11 @@ export default class ErrorBoundary extends React.Component {
|
|
|
73
35
|
}
|
|
74
36
|
render() {
|
|
75
37
|
if (this.state.hasError) {
|
|
76
|
-
var
|
|
77
|
-
const appConfig = injector.get('APP_CONFIG');
|
|
78
|
-
const showFallback = (appConfig === null || appConfig === void 0 || (_appConfig$preference = appConfig.preferences) === null || _appConfig$preference === void 0 ? void 0 : _appConfig$preference.showDefaultErrorFallback) !== false;
|
|
79
|
-
if (!showFallback) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
38
|
+
var _this$state, _this$state2;
|
|
82
39
|
return /*#__PURE__*/React.createElement(Fallback, {
|
|
83
40
|
error: (_this$state = this.state) === null || _this$state === void 0 ? void 0 : _this$state.error,
|
|
84
41
|
info: (_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : _this$state2.info,
|
|
85
|
-
resetErrorBoundary: this.resetErrorBoundary
|
|
86
|
-
errorType: this.props.errorType || 'render'
|
|
42
|
+
resetErrorBoundary: this.resetErrorBoundary
|
|
87
43
|
});
|
|
88
44
|
}
|
|
89
45
|
return this.props.children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Fallback","appModalService","
|
|
1
|
+
{"version":3,"names":["React","Fallback","appModalService","ErrorBoundary","Component","constructor","props","_defineProperty","setState","hasError","error","undefined","info","state","getDerivedStateFromError","componentDidCatch","modalsOpened","length","pop","showLastModal","render","_this$state","_this$state2","createElement","resetErrorBoundary","children"],"sources":["error-boundary.component.tsx"],"sourcesContent":["import * as React from 'react';\nimport Fallback from './components/error-fallback/error-fallback.component';\nimport appModalService from '@wavemaker/app-rn-runtime/runtime/services/app-modal.service';\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n info?: any;\n error?: any;\n}\n\ninterface ErrorBoundaryProps {\n currentPage?: any;\n children: React.ReactNode;\n}\n\nexport default class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n \n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: any) {\n return { hasError: true };\n }\n\n resetErrorBoundary = () => {\n this.setState({ hasError: false, error: undefined, info: undefined });\n };\n\n componentDidCatch(error: any, info: any) {\n if(error && appModalService.modalsOpened.length > 0){\n appModalService.modalsOpened.pop();\n (appModalService as any).showLastModal();\n }\n this.setState({ error, info });\n }\n\n render() {\n if (this.state.hasError) {\n return <Fallback error={this.state?.error} info={this.state?.info} resetErrorBoundary={this.resetErrorBoundary} />;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":";;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,QAAQ,MAAM,sDAAsD;AAC3E,OAAOC,eAAe,MAAM,8DAA8D;AAa1F,eAAe,MAAMC,aAAa,SAASH,KAAK,CAACI,SAAS,CAGxD;EAEAC,WAAWA,CAACC,KAAU,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,6BAQM,MAAM;MACzB,IAAI,CAACC,QAAQ,CAAC;QAAEC,QAAQ,EAAE,KAAK;QAAEC,KAAK,EAAEC,SAAS;QAAEC,IAAI,EAAED;MAAU,CAAC,CAAC;IACvE,CAAC;IATC,IAAI,CAACE,KAAK,GAAG;MAAEJ,QAAQ,EAAE;IAAM,CAAC;EAClC;EAEA,OAAOK,wBAAwBA,CAACJ,KAAU,EAAE;IAC1C,OAAO;MAAED,QAAQ,EAAE;IAAK,CAAC;EAC3B;EAMAM,iBAAiBA,CAACL,KAAU,EAAEE,IAAS,EAAE;IACvC,IAAGF,KAAK,IAAIR,eAAe,CAACc,YAAY,CAACC,MAAM,GAAG,CAAC,EAAC;MAClDf,eAAe,CAACc,YAAY,CAACE,GAAG,CAAC,CAAC;MACjChB,eAAe,CAASiB,aAAa,CAAC,CAAC;IAC1C;IACA,IAAI,CAACX,QAAQ,CAAC;MAAEE,KAAK;MAAEE;IAAK,CAAC,CAAC;EAChC;EAEAQ,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACP,KAAK,CAACJ,QAAQ,EAAE;MAAA,IAAAY,WAAA,EAAAC,YAAA;MACvB,oBAAOtB,KAAA,CAAAuB,aAAA,CAACtB,QAAQ;QAACS,KAAK,GAAAW,WAAA,GAAE,IAAI,CAACR,KAAK,cAAAQ,WAAA,uBAAVA,WAAA,CAAYX,KAAM;QAACE,IAAI,GAAAU,YAAA,GAAE,IAAI,CAACT,KAAK,cAAAS,YAAA,uBAAVA,YAAA,CAAYV,IAAK;QAACY,kBAAkB,EAAE,IAAI,CAACA;MAAmB,CAAE,CAAC;IACpH;IAEA,OAAO,IAAI,CAAClB,KAAK,CAACmB,QAAQ;EAC5B;AACF","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React from "react";
|
|
5
|
-
import { View, Animated } from "react-native";
|
|
5
|
+
import { View, Animated, Keyboard, TextInput, findNodeHandle } from "react-native";
|
|
6
6
|
import { ThemeProvider } from "../styles/theme";
|
|
7
7
|
const FixedViewContext = /*#__PURE__*/React.createContext(null);
|
|
8
8
|
export class FixedView extends React.Component {
|
|
@@ -11,6 +11,22 @@ export class FixedView extends React.Component {
|
|
|
11
11
|
_defineProperty(this, "container", null);
|
|
12
12
|
_defineProperty(this, "cachedComponent", void 0);
|
|
13
13
|
_defineProperty(this, "id", FixedView.counter++);
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* Capture the touch before it reaches child Touchables
|
|
17
|
+
*/
|
|
18
|
+
_defineProperty(this, "handleStartShouldSetResponderCapture", event => {
|
|
19
|
+
var _event$nativeEvent;
|
|
20
|
+
const textInputState = TextInput.State;
|
|
21
|
+
const focusedInput = textInputState !== null && textInputState !== void 0 && textInputState.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;
|
|
22
|
+
const focusedHandle = focusedInput ? findNodeHandle(focusedInput) : textInputState !== null && textInputState !== void 0 && textInputState.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;
|
|
23
|
+
if (focusedHandle && (event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.target) === focusedHandle) {
|
|
24
|
+
// Should not dismiss keyboard if the user presses on the same text input that is already focused
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
Keyboard.dismiss();
|
|
28
|
+
return false; // let the touch reach the child Touchables
|
|
29
|
+
});
|
|
14
30
|
}
|
|
15
31
|
componentWillUnmount() {
|
|
16
32
|
this.container.remove(this);
|
|
@@ -27,7 +43,8 @@ export class FixedView extends React.Component {
|
|
|
27
43
|
style: [{
|
|
28
44
|
position: 'absolute'
|
|
29
45
|
}, this.props.style],
|
|
30
|
-
testID: `${this.props.name}-fixed-view
|
|
46
|
+
testID: `${this.props.name}-fixed-view`,
|
|
47
|
+
onStartShouldSetResponderCapture: this.handleStartShouldSetResponderCapture
|
|
31
48
|
}, this.props.children)));
|
|
32
49
|
} else {
|
|
33
50
|
container.remove(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Animated","ThemeProvider","FixedViewContext","createContext","FixedView","Component","constructor","props","_defineProperty","counter","componentWillUnmount","container","remove","render","WrapperView","animated","cachedComponent","usememo","createElement","Consumer","show","add","value","theme","key","id","style","position","testID","name","children","Fragment","Date","now","FixedViewContainer","args","Map","c","n","set","setTimeout","setState","delete","Provider","Array","from","values"],"sources":["fixed-view.component.tsx"],"sourcesContent":["\nimport React from \"react\";\nimport { View, ViewStyle, Animated } from \"react-native\";\nimport { Theme, ThemeProvider } from \"../styles/theme\";\n\nconst FixedViewContext = React.createContext<FixedViewContainer>(null as any);\n\nexport interface FixedViewProps {\n name?: string;\n style?: ViewStyle,\n show?: boolean;\n theme: Theme;\n usememo?: boolean;\n children?: any;\n animated?: boolean;\n}\n\nexport class FixedView extends React.Component<FixedViewProps> {\n static defaultProps = {\n show: true, \n animated: false\n };\n static counter = Date.now();\n container: FixedViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = FixedView.counter++;\n\n constructor(props: FixedViewProps) {\n super(props);\n }\n\n componentWillUnmount() {\n this.container.remove(this);\n }\n\n render() {\n const WrapperView = this.props.animated ? Animated.View : View\n this.cachedComponent = (this.props.usememo === true && this.cachedComponent ) || (<FixedViewContext.Consumer>\n {(container) => {\n this.container = container;\n if (this.props.show) {\n container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <WrapperView style={[\n {position: 'absolute'},\n this.props.style]}\n testID={`${this.props.name}-fixed-view`}\n >\n {this.props.children}\n </WrapperView>\n </ThemeProvider>\n ));\n } else {\n container.remove(this);\n }\n return <></>;\n }}\n </FixedViewContext.Consumer>);\n return this.cachedComponent;\n }\n}\n\nexport class FixedViewContainer extends React.Component {\n children: Map<FixedView, React.ReactNode> = new Map();\n id = 0;\n\n add(c: FixedView, n : React.ReactNode) {\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: FixedView) {\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n render() {\n return (\n <FixedViewContext.Provider value={this}>\n {(this.props as any).children}\n {Array.from(this.children.values())}\n </FixedViewContext.Provider>\n ) ;\n }\n};"],"mappings":";;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAaC,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","View","Animated","Keyboard","TextInput","findNodeHandle","ThemeProvider","FixedViewContext","createContext","FixedView","Component","constructor","props","_defineProperty","counter","event","_event$nativeEvent","textInputState","State","focusedInput","currentlyFocusedInput","focusedHandle","nativeEvent","target","dismiss","componentWillUnmount","container","remove","render","WrapperView","animated","cachedComponent","usememo","createElement","Consumer","show","add","value","theme","key","id","style","position","testID","name","onStartShouldSetResponderCapture","handleStartShouldSetResponderCapture","children","Fragment","Date","now","FixedViewContainer","args","Map","c","n","set","setTimeout","setState","delete","Provider","Array","from","values"],"sources":["fixed-view.component.tsx"],"sourcesContent":["\nimport React from \"react\";\nimport { View, ViewStyle, Animated, Keyboard, TextInput, findNodeHandle, GestureResponderEvent } from \"react-native\";\nimport { Theme, ThemeProvider } from \"../styles/theme\";\n\nconst FixedViewContext = React.createContext<FixedViewContainer>(null as any);\n\nexport interface FixedViewProps {\n name?: string;\n style?: ViewStyle,\n show?: boolean;\n theme: Theme;\n usememo?: boolean;\n children?: any;\n animated?: boolean;\n}\n\nexport class FixedView extends React.Component<FixedViewProps> {\n static defaultProps = {\n show: true, \n animated: false\n };\n static counter = Date.now();\n container: FixedViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = FixedView.counter++;\n\n constructor(props: FixedViewProps) {\n super(props);\n }\n\n /**\n * \n * Capture the touch before it reaches child Touchables\n */\n handleStartShouldSetResponderCapture = (event: GestureResponderEvent) => {\n const textInputState = TextInput.State as any;\n const focusedInput = textInputState?.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;\n const focusedHandle = focusedInput\n ? findNodeHandle(focusedInput)\n : textInputState?.currentlyFocusedInput\n ? textInputState.currentlyFocusedInput()\n : null;\n\n if (focusedHandle && event?.nativeEvent?.target === focusedHandle) {\n // Should not dismiss keyboard if the user presses on the same text input that is already focused\n return false;\n }\n\n Keyboard.dismiss();\n return false; // let the touch reach the child Touchables\n };\n\n componentWillUnmount() {\n this.container.remove(this);\n }\n\n render() {\n const WrapperView = this.props.animated ? Animated.View : View\n this.cachedComponent = (this.props.usememo === true && this.cachedComponent ) || (<FixedViewContext.Consumer>\n {(container) => {\n this.container = container;\n if (this.props.show) {\n container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <WrapperView style={[\n {position: 'absolute'},\n this.props.style]}\n testID={`${this.props.name}-fixed-view`}\n onStartShouldSetResponderCapture={this.handleStartShouldSetResponderCapture}\n >\n {this.props.children}\n </WrapperView>\n </ThemeProvider>\n ));\n } else {\n container.remove(this);\n }\n return <></>;\n }}\n </FixedViewContext.Consumer>);\n return this.cachedComponent;\n }\n}\n\nexport class FixedViewContainer extends React.Component {\n children: Map<FixedView, React.ReactNode> = new Map();\n id = 0;\n\n add(c: FixedView, n : React.ReactNode) {\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: FixedView) {\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n render() {\n return (\n <FixedViewContext.Provider value={this}>\n {(this.props as any).children}\n {Array.from(this.children.values())}\n </FixedViewContext.Provider>\n ) ;\n }\n};"],"mappings":"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","ignoreList":[]}
|
|
@@ -219,7 +219,7 @@ export class Tappable extends React.Component {
|
|
|
219
219
|
accessibilityLabel: this.props.testID,
|
|
220
220
|
testID: this.props.testID
|
|
221
221
|
} : {
|
|
222
|
-
accessible: false,
|
|
222
|
+
// accessible: false,
|
|
223
223
|
testID: this.props.testID
|
|
224
224
|
}),
|
|
225
225
|
...this.props.accessibilityProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","TouchableOpacity","RNTouchableOpacity","Pressable","TouchableNativeFeedback","Constants","ExecutionEnvironment","cloneDeep","get","injector","TouchableRipple","deepCopy","TappableContext","createContext","UIPreferencesConsumer","isExpoGo","executionEnvironment","StoreClient","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","_this$appConfig$isLeg","_this$appConfig","commonStyles","_inner","_inner2","_inner3","_inner4","_inner5","_inner6","_inner7","inner","Array","isArray","forEach","style","Object","keys","key","outer","rippleColor","commonProps","isLegacyTappable","OS","createElement","_extends","borderless","onLayout","Fragment","children","containerStyle","getContainerStyles","background","Ripple","android_ripple","color","activeOpacity","disableTouchEffect","pressed","opacity","appConfig","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","accessibilityLabel","testID","accessible","accessibilityProps","disabled","proxy","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","preferences","enableRipple","Consumer","Provider","value","getTouchableRipple","getTouchable"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity as RNTouchableOpacity } from \"react-native\";\nimport { Pressable, TouchableNativeFeedback, TouchableOpacity } from \"react-native-gesture-handler\";\nimport Constants, { ExecutionEnvironment } from 'expo-constants';\nimport { cloneDeep, get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { deepCopy, isDefined } from \"./utils\";\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nconst isExpoGo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient;\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n private appConfig: any = injector.get<AppConfig>('APP_CONFIG');;\n private isLegacyTappable: boolean\n\n constructor(props: any) {\n super(props);\n this.isLegacyTappable = this.appConfig?.isLegacyTappable ?? true;\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n\n private getContainerStyles = (commonStyles: any) => {\n let inner: any = {}\n if(Array.isArray(commonStyles)) {\n commonStyles.forEach((style: any) => {\n if(style) {\n Object.keys(style).forEach(key => {\n inner[key] = style[key];\n })\n }\n })\n } else {\n inner = cloneDeep(commonStyles)\n }\n const outer: any = deepCopy(inner);\n\n delete outer?.[\"padding\"];\n delete outer?.[\"paddingHorizontal\"];\n delete outer?.[\"paddingVertical\"];\n delete outer?.[\"paddingTop\"];\n delete outer?.[\"paddingBottom\"];\n delete outer?.[\"paddingLeft\"];\n delete outer?.[\"paddingRight\"];\n\n delete inner?.[\"margin\"];\n delete inner?.[\"marginHorizontal\"];\n delete inner?.[\"marginVertical\"];\n delete inner?.[\"marginLeft\"];\n delete inner?.[\"marginRight\"];\n delete inner?.[\"marginTop\"];\n delete inner?.[\"marginBottom\"];\n\n return {\n outer,\n inner\n }\n }\n\n /*\n TODO: Remove TouchableNativeFeedback and TouchableOpacity, and use Pressable only,\n When the issue with Pressable not working in Expo GO is fixed from Expo. (this happens only in Android with Expo Go)\n */\n getTouchableRipple = (rippleColor: string | undefined, commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <TouchableRipple \n rippleColor={rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n \n return (\n <TouchableNativeFeedback\n {...rippleColor && {background: TouchableNativeFeedback.Ripple(rippleColor, true)}}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableNativeFeedback>\n )\n }\n\n return (\n <Pressable\n android_ripple={{\n color: rippleColor,\n borderless: true\n }}\n onLayout={this.props.onLayout}\n {...commonProps}\n >\n {this.props.children}\n </Pressable>\n )\n }\n \n\n getTouchable = (commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <RNTouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </RNTouchableOpacity>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n\n return (\n <TouchableOpacity\n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableOpacity>\n )\n }\n\n return (\n <Pressable\n onLayout={this.props.onLayout}\n {...commonProps}\n style={({pressed}) => [\n commonProps.style, \n { opacity: !this.props.disableTouchEffect && pressed ? 0.2 : 1}\n ]}\n >\n {this.props.children}\n </Pressable>\n )\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n {this.getTouchableRipple(\n this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor, \n commonProps\n )}\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n <>\n {this.getTouchable(commonProps)}\n </>\n )\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n {...this.props.accessibilityProps}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":";;;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAgCC,QAAQ,EAAEC,IAAI,EAAEC,gBAAgB,IAAIC,kBAAkB,QAAQ,cAAc;AAC5G,SAASC,SAAS,EAAEC,uBAAuB,EAAEH,gBAAgB,QAAQ,8BAA8B;AACnG,OAAOI,SAAS,IAAIC,oBAAoB,QAAQ,gBAAgB;AAChE,SAASC,SAAS,EAAEC,GAAG,QAAQ,QAAQ;AACvC,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,QAAQ,QAAmB,SAAS;AAG7C,OAAO,MAAMC,eAAe,gBAAGd,KAAK,CAACe,aAAa,CAAW,IAAW,CAAC;AACzE,SAASC,qBAAqB,QAAwB,0BAA0B;AAEhF,MAAMC,QAAQ,GAAGV,SAAS,CAACW,oBAAoB,KAAKV,oBAAoB,CAACW,WAAW;AAEpF,OAAO,MAAMC,qBAAqB,gBAAGpB,KAAK,CAACe,aAAa,CAAW,IAAW,CAAC;AAiB/E,OAAO,MAAMM,cAAc,CAAC;EAIxBC,WAAWA,CAAA,EAAG;IAHd;IAAAC,eAAA,6BACqB,IAAI;EAIzB;EAEAC,eAAeA,CAAA,EAAG;IACd,IAAI,CAACC,kBAAkB,GAAG,KAAK;EACnC;AACJ;AAEA,OAAO,MAAMC,QAAQ,SAAS1B,KAAK,CAAC2B,SAAS,CAAqB;EAS9DL,WAAWA,CAACM,KAAU,EAAE;IAAA,IAAAC,qBAAA,EAAAC,eAAA;IACpB,KAAK,CAACF,KAAK,CAAC;IAACL,eAAA,oBATG,CAAC;IAAAA,eAAA,kBACH,CAAC;IAAAA,eAAA,wBACK,CAAC;IAAAA,eAAA,oBACL,KAAK;IAAAA,eAAA,iBACC,IAAI;IAAAA,eAAA,oBACLZ,QAAQ,CAACD,GAAG,CAAY,YAAY,CAAC;IAAAa,eAAA;IAAAA,eAAA,6BAuFhCQ,YAAiB,IAAK;MAAA,IAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA;MAChD,IAAIC,KAAU,GAAG,CAAC,CAAC;MACnB,IAAGC,KAAK,CAACC,OAAO,CAACV,YAAY,CAAC,EAAE;QAC5BA,YAAY,CAACW,OAAO,CAAEC,KAAU,IAAK;UACjC,IAAGA,KAAK,EAAE;YACNC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACD,OAAO,CAACI,GAAG,IAAI;cAC9BP,KAAK,CAACO,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;YAC3B,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHP,KAAK,GAAG9B,SAAS,CAACsB,YAAY,CAAC;MACnC;MACA,MAAMgB,KAAU,GAAGlC,QAAQ,CAAC0B,KAAK,CAAC;MAE3BQ,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,SAAS,CAAC;MAClBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,mBAAmB,CAAC;MAC5BA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,iBAAiB,CAAC;MAC1BA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,YAAY,CAAC;MACrBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,eAAe,CAAC;MACxBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,aAAa,CAAC;MACtBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,cAAc,CAAC;MAE9B,CAAAf,MAAA,GAAOO,KAAK,cAAAP,MAAA,eAAZ,OAAOA,MAAA,CAAQ,QAAQ,CAAC;MACxB,CAAAC,OAAA,GAAOM,KAAK,cAAAN,OAAA,eAAZ,OAAOA,OAAA,CAAQ,kBAAkB,CAAC;MAClC,CAAAC,OAAA,GAAOK,KAAK,cAAAL,OAAA,eAAZ,OAAOA,OAAA,CAAQ,gBAAgB,CAAC;MAChC,CAAAC,OAAA,GAAOI,KAAK,cAAAJ,OAAA,eAAZ,OAAOA,OAAA,CAAQ,YAAY,CAAC;MAC5B,CAAAC,OAAA,GAAOG,KAAK,cAAAH,OAAA,eAAZ,OAAOA,OAAA,CAAQ,aAAa,CAAC;MAC7B,CAAAC,OAAA,GAAOE,KAAK,cAAAF,OAAA,eAAZ,OAAOA,OAAA,CAAQ,WAAW,CAAC;MAC3B,CAAAC,OAAA,GAAOC,KAAK,cAAAD,OAAA,eAAZ,OAAOA,OAAA,CAAQ,cAAc,CAAC;MAE9B,OAAO;QACHS,KAAK;QACLR;MACJ,CAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;IAHIhB,eAAA,6BAIqB,CAACyB,WAA+B,EAAEC,WAAgB,KAAK;MACxE,IAAG,IAAI,CAACC,gBAAgB,IAAIjD,QAAQ,CAACkD,EAAE,KAAK,KAAK,EAAE;QAC/C,oBACInD,KAAA,CAAAoD,aAAA,CAACxC,eAAe,EAAAyC,QAAA;UACZL,WAAW,EAAEA,WAAY;UACzBM,UAAU,EAAE;QAAK,GACbL,WAAW;UACfM,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,iBAE9BvD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QAAG,IAAI,CAAC5B,KAAK,CAAC6B,QAAW,CACZ,CAAC;MAE1B;MAEA,IAAGxC,QAAQ,EAAE;QACT,MAAMyC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACV,WAAW,CAACN,KAAK,CAAC;QACjE,OAAOM,WAAW,CAAC,OAAO,CAAC;QAE3B,oBACIjD,KAAA,CAAAoD,aAAA,CAAC9C,uBAAuB,EAAA+C,QAAA,KAChBL,WAAW,IAAI;UAACY,UAAU,EAAEtD,uBAAuB,CAACuD,MAAM,CAACb,WAAW,EAAE,IAAI;QAAC,CAAC;UAClFO,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW;UACfN,KAAK,EAAEe,cAAc,CAACX;QAAM,iBAE7B/C,KAAA,CAAAoD,aAAA,CAAClD,IAAI;UAACyC,KAAK,EAAEe,cAAc,CAACnB;QAAM,GAC5B,IAAI,CAACX,KAAK,CAAC6B,QACV,CACe,CAAC;MAElC;MAEA,oBACIzD,KAAA,CAAAoD,aAAA,CAAC/C,SAAS,EAAAgD,QAAA;QACNS,cAAc,EAAE;UACZC,KAAK,EAAEf,WAAW;UAClBM,UAAU,EAAE;QAChB,CAAE;QACFC,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;MAAS,GAC1BN,WAAW,GAEd,IAAI,CAACrB,KAAK,CAAC6B,QACL,CAAC;IAEpB,CAAC;IAAAlC,eAAA,uBAGe0B,WAAgB,IAAK;MACjC,IAAG,IAAI,CAACC,gBAAgB,IAAIjD,QAAQ,CAACkD,EAAE,KAAK,KAAK,EAAE;QAC/C,oBACInD,KAAA,CAAAoD,aAAA,CAAChD,kBAAkB,EAAAiD,QAAA;UACfW,aAAa,EAAE,IAAI,CAACpC,KAAK,CAACqC,kBAAkB,GAAG,CAAC,GAAG,GAAI;UACvDV,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW,gBAEfjD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QAAG,IAAI,CAAC5B,KAAK,CAAC6B,QAAW,CACT,CAAC;MAE7B;MAEA,IAAGxC,QAAQ,EAAE;QACT,MAAMyC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACV,WAAW,CAACN,KAAK,CAAC;QACjE,OAAOM,WAAW,CAAC,OAAO,CAAC;QAE3B,oBACIjD,KAAA,CAAAoD,aAAA,CAACjD,gBAAgB,EAAAkD,QAAA;UACbW,aAAa,EAAE,IAAI,CAACpC,KAAK,CAACqC,kBAAkB,GAAG,CAAC,GAAG,GAAI;UACvDV,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW;UACfN,KAAK,EAAEe,cAAc,CAACX;QAAM,iBAG5B/C,KAAA,CAAAoD,aAAA,CAAClD,IAAI;UAACyC,KAAK,EAAEe,cAAc,CAACnB;QAAM,GAC7B,IAAI,CAACX,KAAK,CAAC6B,QACV,CACQ,CAAC;MAE3B;MAEA,oBACIzD,KAAA,CAAAoD,aAAA,CAAC/C,SAAS,EAAAgD,QAAA;QACNE,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;MAAS,GAC1BN,WAAW;QACfN,KAAK,EAAEA,CAAC;UAACuB;QAAO,CAAC,KAAK,CAClBjB,WAAW,CAACN,KAAK,EACjB;UAAEwB,OAAO,EAAE,CAAC,IAAI,CAACvC,KAAK,CAACqC,kBAAkB,IAAIC,OAAO,GAAG,GAAG,GAAG;QAAC,CAAC;MACjE,IAED,IAAI,CAACtC,KAAK,CAAC6B,QACL,CAAC;IAEpB,CAAC;IAtNG,IAAI,CAACP,gBAAgB,IAAArB,qBAAA,IAAAC,eAAA,GAAG,IAAI,CAACsC,SAAS,cAAAtC,eAAA,uBAAdA,eAAA,CAAgBoB,gBAAgB,cAAArB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACpE;EAEA,MAAMwC,UAAUA,CAACC,CAAC,GAAG,IAAIjD,cAAc,CAAC,CAAC,EAAE;IAAA,IAAAkD,YAAA;IACvC,IAAI,CAACD,CAAC,CAAC7C,kBAAkB,EAAE;MACvB;IACJ;IACA,MAAM+C,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,IAAI,IAAI,CAAC5C,KAAK,CAAC6C,KAAK,EAAE;MAClB,MAAM,IAAI,CAAC7C,KAAK,CAAC6C,KAAK,CAACH,CAAC,CAAC;IAC7B,CAAC,MAAM;MACH,OAAME,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;IAC3D;IACA,CAAAD,YAAA,OAAI,CAACI,MAAM,cAAAJ,YAAA,eAAXA,YAAA,CAAaF,UAAU,CAACC,CAAC,CAAC;EAC9B;EAEAM,OAAOA,CAACN,CAAiB,EAAQ;IAAA,IAAAO,kBAAA;IAC7B,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3B,MAAMR,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,IAAI,CAAC5C,KAAK,CAACqD,YAAY,IAAI,IAAI,CAACrD,KAAK,CAACqD,YAAY,CAACX,CAAC,CAAC;IACrD,CAAAO,kBAAA,OAAI,CAACjD,KAAK,CAAC4C,MAAM,cAAAK,kBAAA,eAAjBA,kBAAA,CAAmBH,mBAAmB,CAAC,cAAc,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;IAC9E,MAAMU,WAAW,GAAGH,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,MAAMG,QAAQ,GAAGD,WAAW,GAAG,IAAI,CAACE,OAAO;IAC3C,IAAI,IAAI,CAACC,SAAS,EAAE;MAChB,IAAI,CAACA,SAAS,GAAG,KAAK;MACtB;IACJ;IACA,IAAIf,CAAC,CAAC7C,kBAAkB,EAAE;MAAA,IAAA6D,qBAAA;MACtB,CAAAA,qBAAA,GAAA3E,QAAQ,CAAC4E,eAAe,CAAC7E,GAAG,CAAC,CAAC,cAAA4E,qBAAA,eAA9BA,qBAAA,CAAgCE,IAAI,CAAC,CAAC;MACtC,IAAG,IAAI,CAACC,aAAa,KAAK,IAAI,CAACL,OAAO,IAC/BD,QAAQ,GAAG,GAAG,EAAE;QACnB,IAAI,CAACvD,KAAK,CAAC8D,WAAW,IAAI,IAAI,CAAC9D,KAAK,CAAC8D,WAAW,CAACpB,CAAC,CAAC;QACnDqB,UAAU,CAAC,MAAM;UACbnB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,aAAa,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QAC3D,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,CAACiB,aAAa,GAAGP,WAAW;MACpC;MACAS,UAAU,CAAC,MAAM;QAAA,IAAAC,aAAA;QACb,IAAI,CAACtB,CAAC,CAAC7C,kBAAkB,EAAE;UACvB;QACJ;QACA,IAAI,IAAI,CAACG,KAAK,CAAC6C,KAAK,EAAE;UAClB,IAAI,CAAC7C,KAAK,CAAC6C,KAAK,CAACH,CAAC,CAAC;QACvB,CAAC,MAAM;UACHE,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QACrD;QACA,CAAAoB,aAAA,OAAI,CAACjB,MAAM,cAAAiB,aAAA,eAAXA,aAAA,CAAahB,OAAO,CAACN,CAAC,CAAC;MAC3B,CAAC,EAAE,GAAG,CAAC;MACP,IAAI,CAACc,OAAO,GAAGF,WAAW;IAC9B;EACJ;EAEAW,SAASA,CAACvB,CAAiB,EAAQ;IAC/B,IAAG,CAACA,CAAC,CAAC7C,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAACiE,SAAS,IAAI,IAAI,CAACjE,KAAK,CAACiE,SAAS,CAACvB,CAAC,CAAC;IAC/CqB,UAAU,CAAC,MAAM;MAAA,IAAAG,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAAClE,KAAK,CAAC4C,MAAM,cAAAsB,mBAAA,eAAjBA,mBAAA,CAAmBpB,mBAAmB,CAAC,WAAW,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;MAC3E,CAAAuB,aAAA,OAAI,CAACpB,MAAM,cAAAoB,aAAA,eAAXA,aAAA,CAAaC,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,IAAI;EACzB;EAEAW,UAAUA,CAAC1B,CAAiB,EAAQ;IAChC,IAAG,CAACA,CAAC,CAAC7C,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAACqE,UAAU,IAAI,IAAI,CAACrE,KAAK,CAACqE,UAAU,CAAC3B,CAAC,CAAC;IACjDqB,UAAU,CAAC,MAAM;MAAA,IAAAO,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAACtE,KAAK,CAAC4C,MAAM,cAAA0B,mBAAA,eAAjBA,mBAAA,CAAmBxB,mBAAmB,CAAC,YAAY,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;MAC5E,CAAA2B,aAAA,OAAI,CAACxB,MAAM,cAAAwB,aAAA,eAAXA,aAAA,CAAaH,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,KAAK;EAC1B;EACQe,SAASA,CAACzB,MAAgB,EAAE;IAChC,IAAIA,MAAM,IAAI,IAAI,CAACA,MAAM,KAAKA,MAAM,EAAG;MACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACxB;EACJ;EAyIA0B,MAAMA,CAAA,EAAG;IACL,MAAM7B,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,MAAMvB,WAAW,GAAG;MAChB,IAAIhD,QAAQ,CAACkD,EAAE,KAAK,SAAS,IAAIlD,QAAQ,CAACkD,EAAE,KAAK,KAAK,GAAI;QACtDmD,kBAAkB,EAAE,IAAI,CAAC1E,KAAK,CAAC2E,MAAM;QACrCA,MAAM,EAAE,IAAI,CAAC3E,KAAK,CAAC2E;MACvB,CAAC,GAAE;QACCC,UAAU,EAAE,KAAK;QACjBD,MAAM,EAAE,IAAI,CAAC3E,KAAK,CAAC2E;MACvB,CAAC;MACD,GAAG,IAAI,CAAC3E,KAAK,CAAC6E,kBAAkB;MAChCC,QAAQ,EAAChG,GAAG,CAAC8D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEmC,KAAK,EAAE,UAAU,CAAC;MACvChE,KAAK,EAAC,IAAI,CAACf,KAAK,CAACgF,MAAM;MACvBhC,OAAO,EAAEN,CAAyB,IAAK;QAAA,IAAAuC,SAAA;QACnC,IAAI,CAACvC,CAAC,aAADA,CAAC,gBAAAuC,SAAA,GAADvC,CAAC,CAAEE,MAAM,cAAAqC,SAAA,uBAAVA,SAAA,CAAoBC,OAAO,MAAK,OAAO,EAAE;UACzC;QACJ;QACA,IAAI,CAAClC,OAAO,CAAC,IAAIvD,cAAc,CAAC,CAAC,CAAC;MACtC,CAAC;MACD0F,WAAW,EAAEzC,CAAyB,IAAK,IAAI,CAACuB,SAAS,CAAC,IAAIxE,cAAc,CAAC,CAAC,CAAC;MAC/E2E,UAAU,EAAE1B,CAAyB,IAAK,IAAI,CAAC0B,UAAU,CAAC,IAAI3E,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,IAAImD,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAAC6C,KAAK,IAChBD,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAACoF,SAAS,IACvBxC,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAACqF,WAAW,IACzB,IAAI,CAACrF,KAAK,CAAC6C,KAAK,IAChB,IAAI,CAAC7C,KAAK,CAACiE,SAAS,IACpB,IAAI,CAACjE,KAAK,CAAC8D,WAAW,EAAE;MAC3B,oBACA1F,KAAA,CAAAoD,aAAA,CAACpC,qBAAqB,QAChBkG,WAA2B,IAAK;QAC9B,OAAOA,WAAW,CAACC,YAAY,IAAI,KAAK,gBACpCnH,KAAA,CAAAoD,aAAA,CAAChC,qBAAqB,CAACgG,QAAQ,QAAGzC,MAAM,IAAK;UACzC,IAAI,CAACyB,SAAS,CAACzB,MAAM,CAAC;UACtB,oBACI3E,KAAA,CAAAoD,aAAA,CAAChC,qBAAqB,CAACiG,QAAQ;YAACC,KAAK,EAAE;UAAK,GACvC,IAAI,CAACC,kBAAkB,CACpB,IAAI,CAAC3F,KAAK,CAACqC,kBAAkB,GAAG,aAAa,GAAG,IAAI,CAACrC,KAAK,CAACoB,WAAW,EACtEC,WACJ,CAC4B,CAAC;QAEzC,CAAkC,CAAC,gBACnCjD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QACK,IAAI,CAACgE,YAAY,CAACvE,WAAW,CAChC,CACL;MACL,CACmB,CAAC;IAE5B;IACA,oBACIjD,KAAA,CAAAoD,aAAA,CAAClD,IAAI,EAAAmD,QAAA;MACDV,KAAK,EAAE,IAAI,CAACf,KAAK,CAACgF,MAAO;MACzBrD,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;IAAS,GAC1B,IAAI,CAAC3B,KAAK,CAAC6E,kBAAkB,GAEhC,IAAI,CAAC7E,KAAK,CAAC6B,QACV,CAAC;EACf;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Platform","View","TouchableOpacity","RNTouchableOpacity","Pressable","TouchableNativeFeedback","Constants","ExecutionEnvironment","cloneDeep","get","injector","TouchableRipple","deepCopy","TappableContext","createContext","UIPreferencesConsumer","isExpoGo","executionEnvironment","StoreClient","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","_this$appConfig$isLeg","_this$appConfig","commonStyles","_inner","_inner2","_inner3","_inner4","_inner5","_inner6","_inner7","inner","Array","isArray","forEach","style","Object","keys","key","outer","rippleColor","commonProps","isLegacyTappable","OS","createElement","_extends","borderless","onLayout","Fragment","children","containerStyle","getContainerStyles","background","Ripple","android_ripple","color","activeOpacity","disableTouchEffect","pressed","opacity","appConfig","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","accessibilityLabel","testID","accessibilityProps","disabled","proxy","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","preferences","enableRipple","Consumer","Provider","value","getTouchableRipple","getTouchable"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity as RNTouchableOpacity } from \"react-native\";\nimport { Pressable, TouchableNativeFeedback, TouchableOpacity } from \"react-native-gesture-handler\";\nimport Constants, { ExecutionEnvironment } from 'expo-constants';\nimport { cloneDeep, get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { deepCopy, isDefined } from \"./utils\";\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nconst isExpoGo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient;\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n private appConfig: any = injector.get<AppConfig>('APP_CONFIG');;\n private isLegacyTappable: boolean\n\n constructor(props: any) {\n super(props);\n this.isLegacyTappable = this.appConfig?.isLegacyTappable ?? true;\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n\n private getContainerStyles = (commonStyles: any) => {\n let inner: any = {}\n if(Array.isArray(commonStyles)) {\n commonStyles.forEach((style: any) => {\n if(style) {\n Object.keys(style).forEach(key => {\n inner[key] = style[key];\n })\n }\n })\n } else {\n inner = cloneDeep(commonStyles)\n }\n const outer: any = deepCopy(inner);\n\n delete outer?.[\"padding\"];\n delete outer?.[\"paddingHorizontal\"];\n delete outer?.[\"paddingVertical\"];\n delete outer?.[\"paddingTop\"];\n delete outer?.[\"paddingBottom\"];\n delete outer?.[\"paddingLeft\"];\n delete outer?.[\"paddingRight\"];\n\n delete inner?.[\"margin\"];\n delete inner?.[\"marginHorizontal\"];\n delete inner?.[\"marginVertical\"];\n delete inner?.[\"marginLeft\"];\n delete inner?.[\"marginRight\"];\n delete inner?.[\"marginTop\"];\n delete inner?.[\"marginBottom\"];\n\n return {\n outer,\n inner\n }\n }\n\n /*\n TODO: Remove TouchableNativeFeedback and TouchableOpacity, and use Pressable only,\n When the issue with Pressable not working in Expo GO is fixed from Expo. (this happens only in Android with Expo Go)\n */\n getTouchableRipple = (rippleColor: string | undefined, commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <TouchableRipple \n rippleColor={rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n \n return (\n <TouchableNativeFeedback\n {...rippleColor && {background: TouchableNativeFeedback.Ripple(rippleColor, true)}}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableNativeFeedback>\n )\n }\n\n return (\n <Pressable\n android_ripple={{\n color: rippleColor,\n borderless: true\n }}\n onLayout={this.props.onLayout}\n {...commonProps}\n >\n {this.props.children}\n </Pressable>\n )\n }\n \n\n getTouchable = (commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <RNTouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </RNTouchableOpacity>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n\n return (\n <TouchableOpacity\n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableOpacity>\n )\n }\n\n return (\n <Pressable\n onLayout={this.props.onLayout}\n {...commonProps}\n style={({pressed}) => [\n commonProps.style, \n { opacity: !this.props.disableTouchEffect && pressed ? 0.2 : 1}\n ]}\n >\n {this.props.children}\n </Pressable>\n )\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n {this.getTouchableRipple(\n this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor, \n commonProps\n )}\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n <>\n {this.getTouchable(commonProps)}\n </>\n )\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n {...this.props.accessibilityProps}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/core/viewport.js
CHANGED
|
@@ -25,18 +25,23 @@ export class ViewPort extends EventNotifier {
|
|
|
25
25
|
Dimensions.addEventListener('change', () => {
|
|
26
26
|
const dim = Dimensions.get('window');
|
|
27
27
|
const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE : SCREEN_ORIENTATION.PORTRAIT;
|
|
28
|
+
const oldWidth = this.width;
|
|
29
|
+
const oldHeight = this.height;
|
|
30
|
+
const oldOrientation = this.orientation;
|
|
31
|
+
|
|
32
|
+
// Update dimensions BEFORE notifying subscribers so they get the correct values
|
|
33
|
+
this.width = dim.width;
|
|
34
|
+
this.height = dim.height;
|
|
35
|
+
this.orientation = orientation;
|
|
28
36
|
this.notify(EVENTS.SIZE_CHANGE, [{
|
|
29
|
-
width: dim.width,
|
|
30
|
-
height: dim.height
|
|
31
|
-
}, {
|
|
32
37
|
width: this.width,
|
|
33
38
|
height: this.height
|
|
39
|
+
}, {
|
|
40
|
+
width: oldWidth,
|
|
41
|
+
height: oldHeight
|
|
34
42
|
}]);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (this.orientation != orientation) {
|
|
38
|
-
this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, this.orientation]);
|
|
39
|
-
this.orientation = orientation;
|
|
43
|
+
if (oldOrientation !== orientation) {
|
|
44
|
+
this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, oldOrientation]);
|
|
40
45
|
}
|
|
41
46
|
});
|
|
42
47
|
}
|
package/core/viewport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dimensions","EventNotifier","SCREEN_ORIENTATION","LANDSCAPE","PORTRAIT","EVENTS","ORIENTATION_CHANGE","SIZE_CHANGE","ViewPort","constructor","_defineProperty","dim","get","width","height","orientation","addEventListener","notify"],"sources":["viewport.ts"],"sourcesContent":["import { Dimensions } from \"react-native\";\nimport EventNotifier from \"./event-notifier\";\n\n\nexport const SCREEN_ORIENTATION = {\n LANDSCAPE: 'LANDSCAPE',\n PORTRAIT: 'PORTRAIT'\n};\n\nexport const EVENTS = {\n ORIENTATION_CHANGE: 'orientationChange',\n SIZE_CHANGE: 'sizeChange'\n};\n\nexport class ViewPort extends EventNotifier {\n public width: number;\n public height: number;\n public orientation: string;\n public isMobileType = true;\n\n constructor() {\n super();\n const dim = Dimensions.get('window');\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = this.width > this.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n Dimensions.addEventListener('change', () => {\n const dim = Dimensions.get('window');\n const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n this.notify(EVENTS.SIZE_CHANGE, [\n {width:
|
|
1
|
+
{"version":3,"names":["Dimensions","EventNotifier","SCREEN_ORIENTATION","LANDSCAPE","PORTRAIT","EVENTS","ORIENTATION_CHANGE","SIZE_CHANGE","ViewPort","constructor","_defineProperty","dim","get","width","height","orientation","addEventListener","oldWidth","oldHeight","oldOrientation","notify"],"sources":["viewport.ts"],"sourcesContent":["import { Dimensions } from \"react-native\";\nimport EventNotifier from \"./event-notifier\";\n\n\nexport const SCREEN_ORIENTATION = {\n LANDSCAPE: 'LANDSCAPE',\n PORTRAIT: 'PORTRAIT'\n};\n\nexport const EVENTS = {\n ORIENTATION_CHANGE: 'orientationChange',\n SIZE_CHANGE: 'sizeChange'\n};\n\nexport class ViewPort extends EventNotifier {\n public width: number;\n public height: number;\n public orientation: string;\n public isMobileType = true;\n\n constructor() {\n super();\n const dim = Dimensions.get('window');\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = this.width > this.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n Dimensions.addEventListener('change', () => {\n const dim = Dimensions.get('window');\n const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n const oldWidth = this.width;\n const oldHeight = this.height;\n const oldOrientation = this.orientation;\n \n // Update dimensions BEFORE notifying subscribers so they get the correct values\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = orientation;\n \n this.notify(EVENTS.SIZE_CHANGE, [\n {width: this.width, height: this.height}, \n {width: oldWidth, height: oldHeight}\n ]);\n \n if (oldOrientation !== orientation) {\n this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, oldOrientation]);\n }\n });\n }\n}\n\nexport default new ViewPort();"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,aAAa,MAAM,kBAAkB;AAG5C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,MAAM,GAAG;EAClBC,kBAAkB,EAAE,mBAAmB;EACvCC,WAAW,EAAE;AACjB,CAAC;AAED,OAAO,MAAMC,QAAQ,SAASP,aAAa,CAAC;EAMxCQ,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAHU,IAAI;IAItB,MAAMC,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;IACpC,IAAI,CAACC,KAAK,GAAGF,GAAG,CAACE,KAAK;IACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;IACxB,IAAI,CAACC,WAAW,GAAG,IAAI,CAACF,KAAK,GAAG,IAAI,CAACC,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;IACvGJ,UAAU,CAACgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACxC,MAAML,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;MACpC,MAAMG,WAAW,GAAGJ,GAAG,CAACE,KAAK,GAAGF,GAAG,CAACG,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;MACtG,MAAMa,QAAQ,GAAG,IAAI,CAACJ,KAAK;MAC3B,MAAMK,SAAS,GAAG,IAAI,CAACJ,MAAM;MAC7B,MAAMK,cAAc,GAAG,IAAI,CAACJ,WAAW;;MAEvC;MACA,IAAI,CAACF,KAAK,GAAGF,GAAG,CAACE,KAAK;MACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;MACxB,IAAI,CAACC,WAAW,GAAGA,WAAW;MAE9B,IAAI,CAACK,MAAM,CAACf,MAAM,CAACE,WAAW,EAAE,CAC5B;QAACM,KAAK,EAAE,IAAI,CAACA,KAAK;QAAEC,MAAM,EAAE,IAAI,CAACA;MAAM,CAAC,EACxC;QAACD,KAAK,EAAEI,QAAQ;QAAEH,MAAM,EAAEI;MAAS,CAAC,CACvC,CAAC;MAEF,IAAIC,cAAc,KAAKJ,WAAW,EAAE;QAChC,IAAI,CAACK,MAAM,CAACf,MAAM,CAACC,kBAAkB,EAAE,CAACS,WAAW,EAAEI,cAAc,CAAC,CAAC;MACzE;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,eAAe,IAAIX,QAAQ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -149,7 +149,6 @@ export class View extends React.Component {
|
|
|
149
149
|
goToLower(e) {
|
|
150
150
|
var _this$props$handlers7, _this$props$handlers8;
|
|
151
151
|
const bounds = ((_this$props$handlers7 = this.props.handlers) === null || _this$props$handlers7 === void 0 ? void 0 : _this$props$handlers7.bounds) && ((_this$props$handlers8 = this.props.handlers) === null || _this$props$handlers8 === void 0 ? void 0 : _this$props$handlers8.bounds(e)) || {};
|
|
152
|
-
console.log("🚀 ~ View ~ goToLower ~ bounds:", bounds);
|
|
153
152
|
this.setPosition(bounds.lower).then(() => {
|
|
154
153
|
if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {
|
|
155
154
|
var _this$props$handlers9, _this$props$handlers0;
|