@wavemaker/app-rn-runtime 11.14.1-31.647762 → 11.14.1-33.647787

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.
Files changed (31) hide show
  1. package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
  2. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  3. package/components/data/form/form-field/form-field.component.js +5 -0
  4. package/components/data/form/form-field/form-field.component.js.map +1 -1
  5. package/components/data/list/list.component.js +5 -2
  6. package/components/data/list/list.component.js.map +1 -1
  7. package/components/dialogs/dialog/dialog.component.js +1 -1
  8. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  9. package/components/page/page-content/page-content.component.js +141 -13
  10. package/components/page/page-content/page-content.component.js.map +1 -1
  11. package/components/page/page-content/page-content.props.js +2 -0
  12. package/components/page/page-content/page-content.props.js.map +1 -1
  13. package/components/page/page-content/pull-to-refresh.component.js +288 -0
  14. package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
  15. package/core/AppConfig.js.map +1 -1
  16. package/core/base.component.js +14 -0
  17. package/core/base.component.js.map +1 -1
  18. package/core/sticky-wrapper.js +37 -34
  19. package/core/sticky-wrapper.js.map +1 -1
  20. package/npm-shrinkwrap.json +224 -180
  21. package/package-lock.json +224 -180
  22. package/package.json +3 -2
  23. package/runtime/base-fragment.component.js +1 -0
  24. package/runtime/base-fragment.component.js.map +1 -1
  25. package/styles/background.component.js +61 -2
  26. package/styles/background.component.js.map +1 -1
  27. package/styles/style-prop.validator.js +4 -0
  28. package/styles/style-prop.validator.js.map +1 -1
  29. package/styles/style-props.js +2 -0
  30. package/styles/style-props.js.map +1 -1
  31. package/styles/theme.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","InteractionManager","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","showSpinner","_showSkeleton","_spinnerCount","appConfig","WmSpinner","require","default","style","absoluteFill","backgroundColor","pageContentBgColor","opacity","zIndex","flex","alignItems","justifyContent","caption","_spinnerMessage","classname","lottie","spinner","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","_this$getName","call","newLayoutPosition","nativeEvent","layout","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","copyStyles","property","from","to","renderFixedContainer","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","borderColor","borderStyle","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","childComponentStyleKeys","length","customStyles","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, LayoutChangeEvent, Platform, StyleSheet, TextStyle, View, ViewStyle, InteractionManager } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\nimport AppConfig from './AppConfig';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n isdefault?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n public notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n protected childComponentStyleKeys: string[] = [];\n public _spinnerCount:number = 0;\n public _spinnerMessage:string = '';\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public showSpinner(props?: T): ReactNode {\n if(this._showSkeleton || this._spinnerCount <= 0) {\n return null;\n }\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const WmSpinner = require('@wavemaker/app-rn-runtime/components/basic/spinner/spinner.component').default;\n \n return (<View style={[StyleSheet.absoluteFill, { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor, opacity: 0.8, zIndex: 9999, flex: 1, alignItems: 'center', justifyContent: 'center' } ]}>\n <WmSpinner\n caption={this._spinnerMessage || ''}\n classname=\"global-spinner\"\n lottie={appConfig.spinner} />\n </View>);\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this?.getName?.();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n }); \n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout); \n })\n }\n }\n }\n \n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View \n key={this.state.animationId} \n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent && this.parent.state?.props?.showskeleton === false\n \n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n \n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null,\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n \n // Merge child component styles from custom classes\n if (classname && this.childComponentStyleKeys.length > 0) {\n const customStyles = this.theme.getStyle(classname);\n this.childComponentStyleKeys.forEach(key => {\n if (customStyles && this.styles && this.styles[key]) {\n (this.styles as any)[key] = this.theme.mergeStyle(this.styles[key], customStyles);\n }\n });\n }\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","InteractionManager","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","showSpinner","_showSkeleton","_spinnerCount","appConfig","WmSpinner","require","default","style","absoluteFill","backgroundColor","pageContentBgColor","opacity","zIndex","flex","alignItems","justifyContent","caption","_spinnerMessage","classname","lottie","spinner","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","_this$getName","call","newLayoutPosition","nativeEvent","layout","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","copyStyles","property","from","to","renderFixedContainer","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","_this$styles$root","bgStyle","blurValue","backdropFilter","blur","blurMatch","match","parsedValue","parseInt","Math","min","max","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","borderColor","borderStyle","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","childComponentStyleKeys","length","customStyles","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, LayoutChangeEvent, Platform, StyleSheet, TextStyle, View, ViewStyle, InteractionManager } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\nimport AppConfig from './AppConfig';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n isdefault?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n public notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n protected childComponentStyleKeys: string[] = [];\n public _spinnerCount:number = 0;\n public _spinnerMessage:string = '';\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public showSpinner(props?: T): ReactNode {\n if(this._showSkeleton || this._spinnerCount <= 0) {\n return null;\n }\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const WmSpinner = require('@wavemaker/app-rn-runtime/components/basic/spinner/spinner.component').default;\n \n return (<View style={[StyleSheet.absoluteFill, { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor, opacity: 0.8, zIndex: 9999, flex: 1, alignItems: 'center', justifyContent: 'center' } ]}>\n <WmSpinner\n caption={this._spinnerMessage || ''}\n classname=\"global-spinner\"\n lottie={appConfig.spinner} />\n </View>);\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this?.getName?.();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n }); \n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout); \n })\n }\n }\n }\n \n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View \n key={this.state.animationId} \n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n const blurValue = (this.styles.root?.backdropFilter as any);\n delete (this.styles.root as any)['backdropFilter'];\n // Parse backdrop-filter CSS value to extract blur intensity\n let blur = 0;\n if (blurValue && typeof blurValue === 'string') {\n const blurMatch = blurValue.match(/blur\\((\\d+)px\\)/);\n if (blurMatch && blurMatch[1]) {\n const parsedValue = parseInt(blurMatch[1], 10);\n // Clamp blur between 0 and 100\n blur = Math.min(100, Math.max(0, parsedValue));\n }\n }\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n blur={blur}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent && this.parent.state?.props?.showskeleton === false\n \n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n \n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null,\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n \n // Merge child component styles from custom classes\n if (classname && this.childComponentStyleKeys.length > 0) {\n const customStyles = this.theme.getStyle(classname);\n this.childComponentStyleKeys.forEach(key => {\n if (customStyles && this.styles && this.styles[key]) {\n (this.styles as any)[key] = this.theme.mergeStyle(this.styles[key], customStyles);\n }\n });\n }\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -57,42 +57,44 @@ export const StickyWrapper = ({
57
57
  }]);
58
58
  }
59
59
  };
60
- const onScroll = useAnimatedScrollHandler({
61
- onScroll: event => {
62
- 'worklet';
60
+ const onScrollWorklet = event => {
61
+ 'worklet';
63
62
 
64
- var _event$contentOffset;
65
- const y = (_event$contentOffset = event.contentOffset) === null || _event$contentOffset === void 0 ? void 0 : _event$contentOffset.y;
66
- const currentScrollTime = Date.now();
67
- const delta = y - prevScrollY.value;
68
- const delaTime = currentScrollTime - prevScrollTime.value;
69
- if (delta != 0) scrollDirection.value = delta > 0 ? -1 : 1;
70
- if (Math.abs(delta) >= 0.1) {
71
- prevScrollY.value = y;
72
- scrollY.value = Math.max(0, y);
73
- stickyNavTranslateY.value = Math.max(Math.min(stickyNavTranslateY.value + delta, navHeight.value), 0);
74
- scrollVelocity.value = Math.abs(delta) / delaTime;
75
- prevScrollTime.value = currentScrollTime;
76
- }
77
- if (currentScrollTime - lastNotifyTime.value >= 100) {
78
- var _event$contentOffset$, _event$contentOffset2, _event$contentSize$he, _event$contentSize, _event$layoutMeasurem, _event$layoutMeasurem2;
79
- lastNotifyTime.value = currentScrollTime;
80
- const safeEvent = {
81
- contentOffset: {
82
- y: (_event$contentOffset$ = (_event$contentOffset2 = event.contentOffset) === null || _event$contentOffset2 === void 0 ? void 0 : _event$contentOffset2.y) !== null && _event$contentOffset$ !== void 0 ? _event$contentOffset$ : 0
83
- },
84
- contentSize: {
85
- height: (_event$contentSize$he = (_event$contentSize = event.contentSize) === null || _event$contentSize === void 0 ? void 0 : _event$contentSize.height) !== null && _event$contentSize$he !== void 0 ? _event$contentSize$he : 0
86
- },
87
- layoutMeasurement: {
88
- height: (_event$layoutMeasurem = (_event$layoutMeasurem2 = event.layoutMeasurement) === null || _event$layoutMeasurem2 === void 0 ? void 0 : _event$layoutMeasurem2.height) !== null && _event$layoutMeasurem !== void 0 ? _event$layoutMeasurem : 0
89
- },
90
- scrollDirection: scrollDirection.value,
91
- scrollDelta: delta
92
- };
93
- runOnJS(notifyEvent)(safeEvent);
94
- }
63
+ // iOS bounce reports negative offsets, which would push the sticky nav off-screen.
64
+ var _event$contentOffset$, _event$contentOffset;
65
+ const y = Math.max(0, (_event$contentOffset$ = (_event$contentOffset = event.contentOffset) === null || _event$contentOffset === void 0 ? void 0 : _event$contentOffset.y) !== null && _event$contentOffset$ !== void 0 ? _event$contentOffset$ : 0);
66
+ const currentScrollTime = Date.now();
67
+ const delta = y - prevScrollY.value;
68
+ const delaTime = currentScrollTime - prevScrollTime.value;
69
+ if (delta != 0) scrollDirection.value = delta > 0 ? -1 : 1;
70
+ if (Math.abs(delta) >= 0.1) {
71
+ prevScrollY.value = y;
72
+ scrollY.value = Math.max(0, y);
73
+ stickyNavTranslateY.value = Math.max(Math.min(stickyNavTranslateY.value + delta, navHeight.value), 0);
74
+ scrollVelocity.value = Math.abs(delta) / delaTime;
75
+ prevScrollTime.value = currentScrollTime;
95
76
  }
77
+ if (currentScrollTime - lastNotifyTime.value >= 100) {
78
+ var _event$contentOffset$2, _event$contentOffset2, _event$contentSize$he, _event$contentSize, _event$layoutMeasurem, _event$layoutMeasurem2;
79
+ lastNotifyTime.value = currentScrollTime;
80
+ const safeEvent = {
81
+ contentOffset: {
82
+ y: (_event$contentOffset$2 = (_event$contentOffset2 = event.contentOffset) === null || _event$contentOffset2 === void 0 ? void 0 : _event$contentOffset2.y) !== null && _event$contentOffset$2 !== void 0 ? _event$contentOffset$2 : 0
83
+ },
84
+ contentSize: {
85
+ height: (_event$contentSize$he = (_event$contentSize = event.contentSize) === null || _event$contentSize === void 0 ? void 0 : _event$contentSize.height) !== null && _event$contentSize$he !== void 0 ? _event$contentSize$he : 0
86
+ },
87
+ layoutMeasurement: {
88
+ height: (_event$layoutMeasurem = (_event$layoutMeasurem2 = event.layoutMeasurement) === null || _event$layoutMeasurem2 === void 0 ? void 0 : _event$layoutMeasurem2.height) !== null && _event$layoutMeasurem !== void 0 ? _event$layoutMeasurem : 0
89
+ },
90
+ scrollDirection: scrollDirection.value,
91
+ scrollDelta: delta
92
+ };
93
+ runOnJS(notifyEvent)(safeEvent);
94
+ }
95
+ };
96
+ const onScroll = useAnimatedScrollHandler({
97
+ onScroll: onScrollWorklet
96
98
  });
97
99
  const onScrollEndDrag = scrollRef => {
98
100
  'worklet';
@@ -124,6 +126,7 @@ export const StickyWrapper = ({
124
126
  navHeight,
125
127
  bottomTabHeight,
126
128
  onScroll,
129
+ onScrollWorklet,
127
130
  onScrollEndDrag
128
131
  };
129
132
  return /*#__PURE__*/React.createElement(StickyWrapperContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","injector","useSafeAreaInsets","StickyWrapperContext","createContext","undefined","StickyWrapper","children","hasAppnavbar","onscroll","notifier","_appConfig$edgeToEdge","appConfig","get","scrollY","prevScrollY","scrollVelocity","scrollDirection","stickyContainerTranslateY","stickyNavTranslateY","insets","insetsVal","edgeToEdgeConfig","isEdgeToEdgeApp","top","navHeight","bottomTabHeight","lastNotifyTime","prevScrollTime","stickyNavAnimateStyle","transform","translateY","value","stickyContainerAnimateStyle","stickyNav","Math","max","notifyEvent","event","notify","nativeEvent","onScroll","_event$contentOffset","y","contentOffset","currentScrollTime","Date","now","delta","delaTime","abs","min","_event$contentOffset$","_event$contentOffset2","_event$contentSize$he","_event$contentSize","_event$layoutMeasurem","_event$layoutMeasurem2","safeEvent","contentSize","height","layoutMeasurement","scrollDelta","onScrollEndDrag","scrollRef","_scrollRef$current","current","scrollTo","animated","_scrollRef$current2","contextValue","createElement","Provider"],"sources":["sticky-wrapper.tsx"],"sourcesContent":["import React, { RefObject } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent } from \"react-native\";\nimport Animated, { AnimatedStyle, ReanimatedEvent, runOnJS, ScrollEvent, SharedValue, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue } from \"react-native-reanimated\";\nimport { StickyViewComponentsProps } from \"./sticky-view.component\";\nimport injector from \"./injector\";\nimport AppConfig from \"./AppConfig\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\n// StickyWrapperContext is used for the usage & passing of hooks in StickyWrapper(functional component) to childrens.\nexport const StickyWrapperContext = React.createContext<StickyWrapperContextType | undefined>(undefined);\n\nexport type CustomJsScrollEvent = {\n contentOffset: { y: number };\n contentSize: { height: number};\n layoutMeasurement: { height: number};\n scrollDirection: number;\n scrollDelta: number;\n};\n\n\nexport type StickyWrapperContextType = {\n stickyNavTranslateY?: SharedValue<number>;\n stickyContainerTranslateY: SharedValue<number>;\n\n stickyNavAnimateStyle: AnimatedStyle;\n stickyContainerAnimateStyle: AnimatedStyle;\n\n navHeight: SharedValue<number>;\n bottomTabHeight: SharedValue<number>;\n scrollDirection: SharedValue<number>;\n\n onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;\n onScrollEndDrag: (scrollRef: RefObject<Animated.ScrollView>) => void;\n};\n\nexport const StickyWrapper = ({ children, hasAppnavbar, onscroll, notifier }: StickyViewComponentsProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const scrollY = useSharedValue<number>(0);\n const prevScrollY = useSharedValue<number>(0);\n const scrollVelocity = useSharedValue<number>(0);\n const scrollDirection = useSharedValue<number>(0);\n\n const stickyContainerTranslateY = useSharedValue<number>(0);\n const stickyNavTranslateY = useSharedValue<number>(0);\n\n // Default navbar height from appnavbar styles is 80, maintaining this to minimize the navHeight immediate flicker (in page-content paddingTop)\n const insets = useSafeAreaInsets();\n const insetsVal = appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp ? insets?.top : 0;\n const navHeight = useSharedValue<number>(hasAppnavbar && (onscroll == 'topnav' || onscroll == 'topnav-bottomnav') ? (80 + insetsVal) : 0);\n const bottomTabHeight = useSharedValue<number>(0);\n\n const lastNotifyTime = useSharedValue<number>(0);\n const prevScrollTime = useSharedValue<number>(0);\n\n const stickyNavAnimateStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateY: -stickyNavTranslateY.value }]\n };\n }, [stickyNavTranslateY]);\n\n const stickyContainerAnimateStyle = useAnimatedStyle(() => {\n const stickyNav = onscroll == 'topnav' || onscroll == 'topnav-bottomnav';\n if(stickyNav){\n return {\n transform: [{ translateY: \n Math.max(\n Math.max(stickyContainerTranslateY.value - navHeight.value - scrollY.value, - navHeight.value), \n - stickyNavTranslateY.value\n )\n }],\n }\n }else{\n return {\n transform: [{ translateY: Math.max(stickyContainerTranslateY.value - scrollY.value, navHeight.value)}]\n }\n }\n }, [scrollY, stickyContainerTranslateY, navHeight, stickyNavTranslateY]);\n\n const notifyEvent = (event: CustomJsScrollEvent)=>{\n if(notifier) {\n notifier.notify('scroll', [{nativeEvent: event}]);\n }\n }\n\n const onScroll = useAnimatedScrollHandler({\n onScroll: (event: ReanimatedEvent<ScrollEvent>): void => {\n 'worklet';\n const y = event.contentOffset?.y;\n const currentScrollTime = Date.now();\n\n const delta = y - prevScrollY.value;\n const delaTime = currentScrollTime - prevScrollTime.value;\n if(delta != 0) scrollDirection.value = delta > 0 ? -1 : 1;\n\n if (Math.abs(delta) >= 0.1){\n prevScrollY.value = y;\n scrollY.value = Math.max(0, y);\n\n stickyNavTranslateY.value = Math.max(Math.min(stickyNavTranslateY.value + delta, navHeight.value), 0);\n\n scrollVelocity.value = Math.abs(delta) / delaTime;\n prevScrollTime.value = currentScrollTime;\n }\n\n if(currentScrollTime - lastNotifyTime.value >= 100){\n lastNotifyTime.value = currentScrollTime;\n const safeEvent = {\n contentOffset: {\n y: event.contentOffset?.y ?? 0,\n },\n contentSize: {\n height: event.contentSize?.height ?? 0,\n },\n layoutMeasurement: {\n height: event.layoutMeasurement?.height ?? 0,\n },\n scrollDirection: scrollDirection.value,\n scrollDelta: delta,\n };\n runOnJS(notifyEvent)(safeEvent);\n }\n }\n });\n\n const onScrollEndDrag = (scrollRef: RefObject<Animated.ScrollView>): void =>{\n 'worklet';\n const y = scrollY.value;\n if(scrollVelocity.value < 0.3){\n if(scrollDirection.value < 0 && stickyNavTranslateY.value >= (navHeight.value / 9.9)){ // bottom visible\n scrollRef?.current?.scrollTo({ y: y + (navHeight.value - stickyNavTranslateY.value), animated: true })\n } else if( scrollDirection.value > 0 && stickyNavTranslateY.value <= (navHeight.value / 1.1)) { // top content visible\n scrollRef?.current?.scrollTo({ y: y - stickyNavTranslateY.value, animated: true })\n }\n }\n }\n\n const contextValue = {\n scrollDirection,\n stickyNavAnimateStyle,\n stickyContainerAnimateStyle,\n stickyContainerTranslateY,\n navHeight,\n bottomTabHeight, \n onScroll,\n onScrollEndDrag\n };\n\n return (\n <StickyWrapperContext.Provider value={contextValue}>\n {children}\n </StickyWrapperContext.Provider>\n );\n};"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","injector","useSafeAreaInsets","StickyWrapperContext","createContext","undefined","StickyWrapper","children","hasAppnavbar","onscroll","notifier","_appConfig$edgeToEdge","appConfig","get","scrollY","prevScrollY","scrollVelocity","scrollDirection","stickyContainerTranslateY","stickyNavTranslateY","insets","insetsVal","edgeToEdgeConfig","isEdgeToEdgeApp","top","navHeight","bottomTabHeight","lastNotifyTime","prevScrollTime","stickyNavAnimateStyle","transform","translateY","value","stickyContainerAnimateStyle","stickyNav","Math","max","notifyEvent","event","notify","nativeEvent","onScrollWorklet","_event$contentOffset$","_event$contentOffset","y","contentOffset","currentScrollTime","Date","now","delta","delaTime","abs","min","_event$contentOffset$2","_event$contentOffset2","_event$contentSize$he","_event$contentSize","_event$layoutMeasurem","_event$layoutMeasurem2","safeEvent","contentSize","height","layoutMeasurement","scrollDelta","onScroll","onScrollEndDrag","scrollRef","_scrollRef$current","current","scrollTo","animated","_scrollRef$current2","contextValue","createElement","Provider"],"sources":["sticky-wrapper.tsx"],"sourcesContent":["import React, { RefObject } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent } from \"react-native\";\nimport Animated, { AnimatedStyle, ReanimatedEvent, runOnJS, ScrollEvent, SharedValue, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue } from \"react-native-reanimated\";\nimport { StickyViewComponentsProps } from \"./sticky-view.component\";\nimport injector from \"./injector\";\nimport AppConfig from \"./AppConfig\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\n// StickyWrapperContext is used for the usage & passing of hooks in StickyWrapper(functional component) to childrens.\nexport const StickyWrapperContext = React.createContext<StickyWrapperContextType | undefined>(undefined);\n\nexport type CustomJsScrollEvent = {\n contentOffset: { y: number };\n contentSize: { height: number};\n layoutMeasurement: { height: number};\n scrollDirection: number;\n scrollDelta: number;\n};\n\n\nexport type StickyWrapperContextType = {\n stickyNavTranslateY?: SharedValue<number>;\n stickyContainerTranslateY: SharedValue<number>;\n\n stickyNavAnimateStyle: AnimatedStyle;\n stickyContainerAnimateStyle: AnimatedStyle;\n\n navHeight: SharedValue<number>;\n bottomTabHeight: SharedValue<number>;\n scrollDirection: SharedValue<number>;\n\n onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;\n onScrollWorklet: (event: ReanimatedEvent<ScrollEvent>) => void;\n onScrollEndDrag: (scrollRef: RefObject<Animated.ScrollView>) => void;\n};\n\nexport const StickyWrapper = ({ children, hasAppnavbar, onscroll, notifier }: StickyViewComponentsProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const scrollY = useSharedValue<number>(0);\n const prevScrollY = useSharedValue<number>(0);\n const scrollVelocity = useSharedValue<number>(0);\n const scrollDirection = useSharedValue<number>(0);\n\n const stickyContainerTranslateY = useSharedValue<number>(0);\n const stickyNavTranslateY = useSharedValue<number>(0);\n\n // Default navbar height from appnavbar styles is 80, maintaining this to minimize the navHeight immediate flicker (in page-content paddingTop)\n const insets = useSafeAreaInsets();\n const insetsVal = appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp ? insets?.top : 0;\n const navHeight = useSharedValue<number>(hasAppnavbar && (onscroll == 'topnav' || onscroll == 'topnav-bottomnav') ? (80 + insetsVal) : 0);\n const bottomTabHeight = useSharedValue<number>(0);\n\n const lastNotifyTime = useSharedValue<number>(0);\n const prevScrollTime = useSharedValue<number>(0);\n\n const stickyNavAnimateStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateY: -stickyNavTranslateY.value }]\n };\n }, [stickyNavTranslateY]);\n\n const stickyContainerAnimateStyle = useAnimatedStyle(() => {\n const stickyNav = onscroll == 'topnav' || onscroll == 'topnav-bottomnav';\n if(stickyNav){\n return {\n transform: [{ translateY: \n Math.max(\n Math.max(stickyContainerTranslateY.value - navHeight.value - scrollY.value, - navHeight.value), \n - stickyNavTranslateY.value\n )\n }],\n }\n }else{\n return {\n transform: [{ translateY: Math.max(stickyContainerTranslateY.value - scrollY.value, navHeight.value)}]\n }\n }\n }, [scrollY, stickyContainerTranslateY, navHeight, stickyNavTranslateY]);\n\n const notifyEvent = (event: CustomJsScrollEvent)=>{\n if(notifier) {\n notifier.notify('scroll', [{nativeEvent: event}]);\n }\n }\n\n const onScrollWorklet = (event: ReanimatedEvent<ScrollEvent>): void => {\n 'worklet';\n // iOS bounce reports negative offsets, which would push the sticky nav off-screen.\n const y = Math.max(0, event.contentOffset?.y ?? 0);\n const currentScrollTime = Date.now();\n\n const delta = y - prevScrollY.value;\n const delaTime = currentScrollTime - prevScrollTime.value;\n if(delta != 0) scrollDirection.value = delta > 0 ? -1 : 1;\n\n if (Math.abs(delta) >= 0.1){\n prevScrollY.value = y;\n scrollY.value = Math.max(0, y);\n\n stickyNavTranslateY.value = Math.max(Math.min(stickyNavTranslateY.value + delta, navHeight.value), 0);\n\n scrollVelocity.value = Math.abs(delta) / delaTime;\n prevScrollTime.value = currentScrollTime;\n }\n\n if(currentScrollTime - lastNotifyTime.value >= 100){\n lastNotifyTime.value = currentScrollTime;\n const safeEvent = {\n contentOffset: {\n y: event.contentOffset?.y ?? 0,\n },\n contentSize: {\n height: event.contentSize?.height ?? 0,\n },\n layoutMeasurement: {\n height: event.layoutMeasurement?.height ?? 0,\n },\n scrollDirection: scrollDirection.value,\n scrollDelta: delta,\n };\n runOnJS(notifyEvent)(safeEvent);\n }\n };\n\n const onScroll = useAnimatedScrollHandler({\n onScroll: onScrollWorklet,\n });\n\n const onScrollEndDrag = (scrollRef: RefObject<Animated.ScrollView>): void =>{\n 'worklet';\n const y = scrollY.value;\n if(scrollVelocity.value < 0.3){\n if(scrollDirection.value < 0 && stickyNavTranslateY.value >= (navHeight.value / 9.9)){ // bottom visible\n scrollRef?.current?.scrollTo({ y: y + (navHeight.value - stickyNavTranslateY.value), animated: true })\n } else if( scrollDirection.value > 0 && stickyNavTranslateY.value <= (navHeight.value / 1.1)) { // top content visible\n scrollRef?.current?.scrollTo({ y: y - stickyNavTranslateY.value, animated: true })\n }\n }\n }\n\n const contextValue = {\n scrollDirection,\n stickyNavAnimateStyle,\n stickyContainerAnimateStyle,\n stickyContainerTranslateY,\n navHeight,\n bottomTabHeight, \n onScroll,\n onScrollWorklet,\n onScrollEndDrag\n };\n\n return (\n <StickyWrapperContext.Provider value={contextValue}>\n {children}\n </StickyWrapperContext.Provider>\n );\n};"],"mappings":"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","ignoreList":[]}