@wavemaker/app-rn-runtime 11.11.0-next.27920 → 11.11.0-rc.209
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/actions/notification-action.js +3 -1
- package/actions/notification-action.js.map +1 -1
- package/components/basic/label/label.component.js +78 -33
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/search/search.component.js +49 -28
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +1 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/chart/basechart.component.js +3 -0
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/data/list/list.component.js +16 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +63 -8
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +3 -2
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +12 -24
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page.component.js +10 -5
- package/components/page/page.component.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +15 -10
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +24 -15
- package/core/base.component.js.map +1 -1
- package/core/sticky-container.component.js +34 -27
- package/core/sticky-container.component.js.map +1 -1
- package/core/toast.service.js.map +1 -1
- package/core/utils.js +51 -5
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +68 -102
- package/package-lock.json +68 -102
- package/package.json +5 -5
- package/runtime/App.js +48 -8
- package/runtime/App.js.map +1 -1
- package/runtime/base-fragment.component.js +2 -1
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-toast.service.js +4 -0
- package/runtime/services/app-toast.service.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","_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","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","newLayoutPosition","y","nativeEvent","layout","x","compnentRef","baseView","measure","runAfterInteractions","requestAnimationFrame","width","height","px","py","copyStyles","property","from","to","renderFixedContainer","style","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","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","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';\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\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}\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 private 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: any = {};\n public baseView: any = View;\n\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 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 && 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 compnentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(compnentRef?.measure){\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(() => {\n compnentRef.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 })\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.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 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 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","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","newLayoutPosition","nativeEvent","layout","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","copyStyles","property","from","to","renderFixedContainer","style","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","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","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';\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}\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 private 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\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 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 && 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.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 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 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":[]}
|
@@ -5,6 +5,7 @@ import React, { Component } from "react";
|
|
5
5
|
import { Animated, View, Platform } from "react-native";
|
6
6
|
import { SafeAreaInsetsContext } from "react-native-safe-area-context";
|
7
7
|
import { ThemeProvider } from "@wavemaker/app-rn-runtime/styles/theme";
|
8
|
+
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
8
9
|
const StickyViewContext = /*#__PURE__*/React.createContext(null);
|
9
10
|
export class StickyViewState {
|
10
11
|
constructor() {
|
@@ -21,6 +22,8 @@ export class StickyView extends Component {
|
|
21
22
|
_defineProperty(this, "insets", null);
|
22
23
|
_defineProperty(this, "refScrollPosition", 0);
|
23
24
|
_defineProperty(this, "lastScrollDirection", 1);
|
25
|
+
_defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
|
26
|
+
_defineProperty(this, "scrolled", false);
|
24
27
|
this.state = new StickyViewState();
|
25
28
|
this.listenScrollEvent();
|
26
29
|
}
|
@@ -34,39 +37,47 @@ export class StickyView extends Component {
|
|
34
37
|
const component = this.props.component;
|
35
38
|
let yPosition;
|
36
39
|
this.destroyScrollListner = component.subscribe('scroll', e => {
|
37
|
-
var _component$getLayout, _this$insets, _component$getLayout2
|
40
|
+
var _component$getLayout, _this$insets, _component$getLayout2;
|
38
41
|
const height = (_component$getLayout = component.getLayout()) === null || _component$getLayout === void 0 ? void 0 : _component$getLayout.height;
|
39
42
|
const topInsetsInYposition = Platform.OS == 'ios' ? ((_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.top) || 0 : 0;
|
40
43
|
yPosition = yPosition || yPosition == 0 ? yPosition : (component === null || component === void 0 || (_component$getLayout2 = component.getLayout()) === null || _component$getLayout2 === void 0 ? void 0 : _component$getLayout2.py) - topInsetsInYposition;
|
41
44
|
const scrollPosition = e.nativeEvent.contentOffset.y;
|
42
45
|
let isStickyVisible = false;
|
43
|
-
const
|
46
|
+
const {
|
47
|
+
containerHeight = 0,
|
48
|
+
hiddenHeight = 0
|
49
|
+
} = this.container || {};
|
50
|
+
const containerHeightVal = Math.abs(containerHeight + hiddenHeight);
|
51
|
+
if (!this.scrolled) this.scrolled = true;
|
44
52
|
if (e.scrollDirection) {
|
45
53
|
if (this.lastScrollDirection !== e.scrollDirection) {
|
46
54
|
this.refScrollPosition = scrollPosition;
|
47
55
|
}
|
48
56
|
this.lastScrollDirection = e.scrollDirection;
|
49
57
|
}
|
58
|
+
|
59
|
+
// based on scrollDirection checking for stickyVisibility
|
50
60
|
if (e.scrollDirection <= 0) {
|
51
|
-
isStickyVisible = scrollPosition > 10
|
61
|
+
isStickyVisible = scrollPosition > 10 // scroll threshold value of 10
|
62
|
+
&& scrollPosition + containerHeightVal + this.appConfig.pageScrollTopThreshold >= yPosition + height;
|
52
63
|
} else {
|
53
|
-
isStickyVisible = scrollPosition >= yPosition + (this.props.slide ? height : 0);
|
64
|
+
isStickyVisible = scrollPosition + this.appConfig.pageScrollTopThreshold >= yPosition + (this.props.slide ? height : 0);
|
54
65
|
}
|
55
66
|
if (this.state.isStickyVisible !== isStickyVisible) {
|
56
67
|
this.setState({
|
57
68
|
isStickyVisible: isStickyVisible
|
58
69
|
}, () => {
|
59
70
|
if (isStickyVisible && this.props.slide) {
|
60
|
-
var _this$
|
61
|
-
(_this$
|
71
|
+
var _this$container2;
|
72
|
+
(_this$container2 = this.container) === null || _this$container2 === void 0 || _this$container2.slideBy(-1 * height);
|
62
73
|
} else {
|
63
|
-
var _this$
|
64
|
-
(_this$
|
74
|
+
var _this$container3;
|
75
|
+
(_this$container3 = this.container) === null || _this$container3 === void 0 || _this$container3.slideBy(this.refScrollPosition - scrollPosition);
|
65
76
|
}
|
66
77
|
});
|
67
78
|
} else {
|
68
|
-
var _this$
|
69
|
-
(_this$
|
79
|
+
var _this$container4;
|
80
|
+
(_this$container4 = this.container) === null || _this$container4 === void 0 || _this$container4.slideBy(this.refScrollPosition - scrollPosition);
|
70
81
|
}
|
71
82
|
});
|
72
83
|
}
|
@@ -80,13 +91,17 @@ export class StickyView extends Component {
|
|
80
91
|
this.insets = insets;
|
81
92
|
return /*#__PURE__*/React.createElement(StickyViewContext.Consumer, null, container => {
|
82
93
|
this.container = container;
|
94
|
+
if (!this.scrolled) return /*#__PURE__*/React.createElement(React.Fragment, null);
|
83
95
|
if (this.state.isStickyVisible && this.container) {
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
96
|
+
var _this$container5;
|
97
|
+
if (!((_this$container5 = this.container) !== null && _this$container5 !== void 0 && (_this$container5 = _this$container5.children) !== null && _this$container5 !== void 0 && _this$container5.has(this))) {
|
98
|
+
this.container.add(this, /*#__PURE__*/React.createElement(ThemeProvider, {
|
99
|
+
value: this.props.theme,
|
100
|
+
key: this.id
|
101
|
+
}, /*#__PURE__*/React.createElement(View, {
|
102
|
+
style: [this.props.style]
|
103
|
+
}, this.props.children)));
|
104
|
+
}
|
90
105
|
} else {
|
91
106
|
var _this$container6;
|
92
107
|
(_this$container6 = this.container) === null || _this$container6 === void 0 || _this$container6.remove(this);
|
@@ -113,6 +128,7 @@ export class StickyViewContainer extends React.Component {
|
|
113
128
|
_defineProperty(this, "topSlideHeight", 0);
|
114
129
|
_defineProperty(this, "hiddenHeight", 0);
|
115
130
|
_defineProperty(this, "containerHeight", 0);
|
131
|
+
_defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
|
116
132
|
}
|
117
133
|
add(c, n) {
|
118
134
|
var _c$props$component$ge;
|
@@ -124,9 +140,6 @@ export class StickyViewContainer extends React.Component {
|
|
124
140
|
id: ++this.id
|
125
141
|
}));
|
126
142
|
}
|
127
|
-
get visibleHeight() {
|
128
|
-
return this.containerHeight + this.hiddenHeight;
|
129
|
-
}
|
130
143
|
remove(c) {
|
131
144
|
var _c$props$component$ge2;
|
132
145
|
const h = Math.max(((_c$props$component$ge2 = c.props.component.getLayout()) === null || _c$props$component$ge2 === void 0 ? void 0 : _c$props$component$ge2.height) || 0, 0);
|
@@ -139,15 +152,9 @@ export class StickyViewContainer extends React.Component {
|
|
139
152
|
id: ++this.id
|
140
153
|
}));
|
141
154
|
}
|
142
|
-
slideBy(value
|
155
|
+
slideBy(value) {
|
143
156
|
this.hiddenHeight = Math.max(Math.min(0, this.translateY._value + value), -1 * this.topSlideHeight);
|
144
157
|
this.translateY.setValue(this.hiddenHeight);
|
145
|
-
// Animated.timing(this.translateY, {
|
146
|
-
// toValue: this.hiddenHeight,
|
147
|
-
// easing: Easing.linear,
|
148
|
-
// duration: duration,
|
149
|
-
// useNativeDriver: true
|
150
|
-
// }).start();
|
151
158
|
}
|
152
159
|
render() {
|
153
160
|
return /*#__PURE__*/React.createElement(StickyViewContext.Provider, {
|
@@ -155,7 +162,7 @@ export class StickyViewContainer extends React.Component {
|
|
155
162
|
}, this.props.children, /*#__PURE__*/React.createElement(Animated.View, {
|
156
163
|
style: {
|
157
164
|
position: 'absolute',
|
158
|
-
top: 0,
|
165
|
+
top: this.appConfig.pageScrollTopThreshold || 0,
|
159
166
|
width: '100%',
|
160
167
|
transform: [{
|
161
168
|
translateY: this.translateY
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Animated","View","Platform","SafeAreaInsetsContext","ThemeProvider","StickyViewContext","createContext","StickyViewState","constructor","_defineProperty","StickyView","props","counter","state","listenScrollEvent","componentWillUnmount","_this$container","container","remove","destroyScrollListner","component","yPosition","subscribe","e","_component$getLayout","_this$insets","_component$getLayout2","_this$container2","height","getLayout","topInsetsInYposition","OS","insets","top","py","scrollPosition","nativeEvent","contentOffset","y","isStickyVisible","containerHeight","Math","abs","visibleHeight","scrollDirection","lastScrollDirection","refScrollPosition","slide","setState","_this$container3","slideBy","_this$container4","_this$container5","render","createElement","Fragment","Consumer","bottom","left","right","add","value","theme","key","id","style","children","_this$container6","opacity","Date","now","StickyViewContainer","args","Map","Value","c","n","_c$props$component$ge","h","max","topSlideHeight","set","setTimeout","hiddenHeight","_c$props$component$ge2","delete","duration","min","translateY","_value","setValue","Provider","position","width","transform","Array","from","values"],"sources":["sticky-container.component.tsx"],"sourcesContent":["\nimport React, { Component } from \"react\";\nimport { ViewStyle, Animated, Easing, View, Platform} from \"react-native\";\nimport { SafeAreaInsetsContext } from \"react-native-safe-area-context\";\nimport { Theme, ThemeProvider } from \"@wavemaker/app-rn-runtime/styles/theme\";\nimport { BaseComponent } from \"./base.component\";\n\nconst StickyViewContext = React.createContext<StickyViewContainer>(null as any);\n\nexport interface StickyViewProps {\n style?: ViewStyle,\n theme: Theme;\n children?: any;\n slide?: boolean;\n component: BaseComponent<any, any, any>;\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport class StickyViewState {\n isStickyVisible = false;\n}\n\nexport class StickyView extends Component<StickyViewProps, StickyViewState, any> {\n static defaultProps = {\n slide: false\n };\n static counter = Date.now();\n container?: StickyViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = StickyView.counter++;\n destroyScrollListner: Function = null as any;\n insets: any = null;\n refScrollPosition = 0;\n lastScrollDirection = 1;\n\n constructor(props: StickyViewProps) {\n super(props);\n this.state = new StickyViewState();\n this.listenScrollEvent();\n }\n\n componentWillUnmount() {\n this.container?.remove(this);\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n listenScrollEvent(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n const component = this.props.component;\n let yPosition: number;\n this.destroyScrollListner = component.subscribe('scroll', (e: any) => {\n const height = component.getLayout()?.height;\n const topInsetsInYposition = Platform.OS == 'ios' ? this.insets?.top || 0 : 0;\n yPosition = (yPosition || yPosition == 0) ? yPosition : component?.getLayout()?.py - topInsetsInYposition;\n const scrollPosition = e.nativeEvent.contentOffset.y;\n let isStickyVisible = false ;\n \n const containerHeight = Math.abs(this.container?.visibleHeight || 0);\n if (e.scrollDirection) {\n if (this.lastScrollDirection !== e.scrollDirection) {\n this.refScrollPosition = scrollPosition;\n }\n this.lastScrollDirection = e.scrollDirection;\n }\n if(e.scrollDirection <= 0){\n isStickyVisible = scrollPosition > 10 \n && ((scrollPosition + containerHeight) >= (yPosition + height));\n } else {\n isStickyVisible = (scrollPosition >= (yPosition + (this.props.slide ? height: 0)));\n }\n if (this.state.isStickyVisible !== isStickyVisible) {\n this.setState({ \n isStickyVisible : isStickyVisible\n }, () => {\n if (isStickyVisible && this.props.slide) {\n this.container?.slideBy(-1 * height, 0);\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n }\n\n render() {\n return (\n <>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return <StickyViewContext.Consumer>\n {(container) => {\n this.container = container;\n if (this.state.isStickyVisible && this.container) {\n this.container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <View style={[this.props.style]}>\n {this.props.children}\n </View>\n </ThemeProvider>\n ));\n } else {\n this.container?.remove(this);\n }\n return <></>;\n }}\n </StickyViewContext.Consumer>}}\n </SafeAreaInsetsContext.Consumer>\n <View style={{opacity: this.state.isStickyVisible ? 0 : 1}}>\n {this.props.children}\n </View>\n </>\n );\n }\n}\n\nexport class StickyViewContainer extends React.Component {\n private children: Map<StickyView, React.ReactNode> = new Map();\n private id = 0;\n public translateY: Animated.Value = new Animated.Value(0);\n public topSlideHeight = 0;\n public hiddenHeight = 0;\n public containerHeight: number = 0;\n\n add(c: StickyView, n : React.ReactNode) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight += h;\n this.topSlideHeight += (c.props.slide ? h : 0);\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n get visibleHeight() {\n return this.containerHeight + this.hiddenHeight;\n }\n\n remove(c: StickyView) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight -= h;\n this.topSlideHeight -= (c.props.slide ? h : 0);\n this.containerHeight = Math.max(this.containerHeight, 0);\n this.topSlideHeight = Math.max(this.topSlideHeight, 0);\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n public slideBy(value: number, duration = 1) {\n this.hiddenHeight = Math.max(\n Math.min(0, (this.translateY as any)._value + value), \n -1 * this.topSlideHeight);\n this.translateY.setValue(this.hiddenHeight);\n // Animated.timing(this.translateY, {\n // toValue: this.hiddenHeight,\n // easing: Easing.linear, \n // duration: duration,\n // useNativeDriver: true\n // }).start();\n }\n\n render() {\n return (\n <StickyViewContext.Provider value={this}>\n {(this.props as any).children}\n <Animated.View style={{\n position: 'absolute', top: 0, width: '100%',\n transform: [{\n translateY: this.translateY\n }]\n }}>\n {Array.from(this.children.values())}\n </Animated.View>\n </StickyViewContext.Provider>\n );\n }\n};"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Component","Animated","View","Platform","SafeAreaInsetsContext","ThemeProvider","injector","StickyViewContext","createContext","StickyViewState","constructor","_defineProperty","StickyView","props","counter","get","state","listenScrollEvent","componentWillUnmount","_this$container","container","remove","destroyScrollListner","component","yPosition","subscribe","e","_component$getLayout","_this$insets","_component$getLayout2","height","getLayout","topInsetsInYposition","OS","insets","top","py","scrollPosition","nativeEvent","contentOffset","y","isStickyVisible","containerHeight","hiddenHeight","containerHeightVal","Math","abs","scrolled","scrollDirection","lastScrollDirection","refScrollPosition","appConfig","pageScrollTopThreshold","slide","setState","_this$container2","slideBy","_this$container3","_this$container4","render","createElement","Fragment","Consumer","bottom","left","right","_this$container5","children","has","add","value","theme","key","id","style","_this$container6","opacity","Date","now","StickyViewContainer","args","Map","Value","c","n","_c$props$component$ge","h","max","topSlideHeight","set","setTimeout","_c$props$component$ge2","delete","min","translateY","_value","setValue","Provider","position","width","transform","Array","from","values"],"sources":["sticky-container.component.tsx"],"sourcesContent":["\nimport React, { Component } from \"react\";\nimport { ViewStyle, Animated, Easing, View, Platform} from \"react-native\";\nimport { SafeAreaInsetsContext } from \"react-native-safe-area-context\";\nimport { Theme, ThemeProvider } from \"@wavemaker/app-rn-runtime/styles/theme\";\nimport { BaseComponent } from \"./base.component\";\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nconst StickyViewContext = React.createContext<StickyViewContainer>(null as any);\n\nexport interface StickyViewProps {\n style?: ViewStyle,\n theme: Theme;\n children?: any;\n slide?: boolean;\n component: BaseComponent<any, any, any>;\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport class StickyViewState {\n isStickyVisible = false;\n}\n\nexport class StickyView extends Component<StickyViewProps, StickyViewState, any> {\n static defaultProps = {\n slide: false\n };\n static counter = Date.now();\n container?: StickyViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = StickyView.counter++;\n destroyScrollListner: Function = null as any;\n insets: any = null;\n refScrollPosition = 0;\n lastScrollDirection = 1;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n scrolled: boolean = false;\n\n constructor(props: StickyViewProps) {\n super(props);\n this.state = new StickyViewState();\n this.listenScrollEvent();\n }\n\n componentWillUnmount() {\n this.container?.remove(this);\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n listenScrollEvent(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n const component = this.props.component;\n let yPosition: number;\n this.destroyScrollListner = component.subscribe('scroll', (e: any) => {\n const height = component.getLayout()?.height;\n const topInsetsInYposition = Platform.OS == 'ios' ? this.insets?.top || 0 : 0;\n yPosition = (yPosition || yPosition == 0) ? yPosition : component?.getLayout()?.py - topInsetsInYposition;\n const scrollPosition = e.nativeEvent.contentOffset.y;\n let isStickyVisible = false ;\n\n const {containerHeight = 0, hiddenHeight = 0} = this.container || {}\n const containerHeightVal = Math.abs(containerHeight + hiddenHeight) ;\n if(!this.scrolled) this.scrolled = true;\n \n if (e.scrollDirection) {\n if (this.lastScrollDirection !== e.scrollDirection) {\n this.refScrollPosition = scrollPosition;\n }\n this.lastScrollDirection = e.scrollDirection;\n }\n\n // based on scrollDirection checking for stickyVisibility\n if(e.scrollDirection <= 0){\n isStickyVisible = scrollPosition > 10 // scroll threshold value of 10\n && ((scrollPosition + containerHeightVal + this.appConfig.pageScrollTopThreshold ) >= (yPosition + height));\n } else {\n isStickyVisible = ((scrollPosition + this.appConfig.pageScrollTopThreshold) >= \n (yPosition + (this.props.slide ? height: 0)));\n }\n\n if (this.state.isStickyVisible !== isStickyVisible) {\n this.setState({ \n isStickyVisible : isStickyVisible\n }, () => {\n if (isStickyVisible && this.props.slide) {\n this.container?.slideBy(-1 * height);\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n }\n\n render() {\n return (\n <>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return <StickyViewContext.Consumer>\n {(container) => {\n this.container = container;\n if(!this.scrolled) return <></>\n if (this.state.isStickyVisible && this.container) {\n if(!this.container?.children?.has(this)){\n this.container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <View style={[this.props.style]}>\n {this.props.children}\n </View>\n </ThemeProvider>\n ));\n }\n } else {\n this.container?.remove(this);\n }\n return <></>;\n }}\n </StickyViewContext.Consumer>}}\n </SafeAreaInsetsContext.Consumer>\n <View style={{opacity: this.state.isStickyVisible ? 0 : 1}}>\n {this.props.children}\n </View>\n </>\n );\n }\n}\n\nexport class StickyViewContainer extends React.Component {\n public children: Map<StickyView, React.ReactNode> = new Map();\n private id = 0;\n public translateY: Animated.Value = new Animated.Value(0);\n public topSlideHeight = 0;\n public hiddenHeight: number = 0;\n public containerHeight: number = 0;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n add(c: StickyView, n : React.ReactNode) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight += h;\n this.topSlideHeight += (c.props.slide ? h : 0);\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: StickyView) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight -= h;\n this.topSlideHeight -= (c.props.slide ? h : 0);\n this.containerHeight = Math.max(this.containerHeight, 0);\n this.topSlideHeight = Math.max(this.topSlideHeight, 0);\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n public slideBy(value: number) {\n this.hiddenHeight = Math.max(\n Math.min(0, (this.translateY as any)._value + value), \n -1 * this.topSlideHeight);\n \n this.translateY.setValue(this.hiddenHeight);\n }\n\n render() {\n return (\n <StickyViewContext.Provider value={this}>\n {(this.props as any).children}\n <Animated.View style={{\n position: 'absolute', top: this.appConfig.pageScrollTopThreshold || 0, width: '100%',\n transform: [{ translateY: this.translateY }]\n }}>\n {Array.from(this.children.values())}\n </Animated.View>\n </StickyViewContext.Provider>\n );\n }\n};"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","ToastContext","createContext","ToastProvider","Provider","ToastConsumer","Consumer"],"sources":["toast.service.ts"],"sourcesContent":["import React from 'react';\n\nexport interface ToastOptions {\n elevationIndex: number;\n content?: React.ReactNode;\n onClick?: () => void;\n onClose?: () => void;\n text: string;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading';\n placement: string;\n duration?: number;\n name: string;\n styles: any;\n hideOnClick?: boolean;\n}\n\nexport interface ToastService {\n showToast: (options: ToastOptions) => void;\n hideToast: (options: ToastOptions) => void;\n}\n\nconst ToastContext = React.createContext<ToastService>(null as any);\n\nexport const ToastProvider = ToastContext.Provider;\nexport const ToastConsumer = ToastContext.Consumer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;
|
1
|
+
{"version":3,"names":["React","ToastContext","createContext","ToastProvider","Provider","ToastConsumer","Consumer"],"sources":["toast.service.ts"],"sourcesContent":["import React from 'react';\n\nexport interface ToastOptions {\n elevationIndex: number;\n content?: React.ReactNode;\n onClick?: () => void;\n onClose?: () => void;\n text: string;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading';\n placement: string;\n duration?: number;\n name: string;\n styles: any;\n hideOnClick?: boolean;\n showclosebutton?: boolean;\n closeiconclass?: string;\n closeToast?: () => void;\n}\n\nexport interface ToastService {\n showToast: (options: ToastOptions) => void;\n hideToast: (options: ToastOptions) => void;\n}\n\nconst ToastContext = React.createContext<ToastService>(null as any);\n\nexport const ToastProvider = ToastContext.Provider;\nexport const ToastConsumer = ToastContext.Consumer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAwBzB,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAe,IAAW,CAAC;AAEnE,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAACG,QAAQ;AAClD,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CAACK,QAAQ","ignoreList":[]}
|
package/core/utils.js
CHANGED
@@ -433,13 +433,53 @@ export const getGradientStartEnd = angle => {
|
|
433
433
|
end
|
434
434
|
};
|
435
435
|
};
|
436
|
-
export const
|
436
|
+
export const getGradientColors = gradientString => {
|
437
|
+
// Check if input is valid
|
438
|
+
if (!gradientString) return [];
|
439
|
+
|
440
|
+
// Extract the content inside linear-gradient()
|
441
|
+
const match = gradientString.match(/linear-gradient\s*\((.*)\)/);
|
442
|
+
if (!match) return [];
|
443
|
+
const content = match[1];
|
444
|
+
|
445
|
+
// Remove angle/direction part if present
|
446
|
+
const withoutDirection = content.replace(/^(to\s+\w+(?:\s+\w+)?|[0-9]+(?:deg|grad|rad|turn))\s*,\s*/, '');
|
447
|
+
|
448
|
+
// Split by commas that are not inside parentheses
|
449
|
+
let depth = 0;
|
450
|
+
let currentSegment = '';
|
451
|
+
const segments = [];
|
452
|
+
for (let i = 0; i < withoutDirection.length; i++) {
|
453
|
+
const char = withoutDirection[i];
|
454
|
+
if (char === '(') depth++;else if (char === ')') depth--;else if (char === ',' && depth === 0) {
|
455
|
+
segments.push(currentSegment.trim());
|
456
|
+
currentSegment = '';
|
457
|
+
continue;
|
458
|
+
}
|
459
|
+
currentSegment += char;
|
460
|
+
}
|
461
|
+
|
462
|
+
// Don't forget the last segment
|
463
|
+
if (currentSegment.trim()) {
|
464
|
+
segments.push(currentSegment.trim());
|
465
|
+
}
|
466
|
+
|
467
|
+
// Filter out empty segments and any segments that might be stop positions
|
468
|
+
const gradientColors = segments.filter(segment => {
|
469
|
+
// Skip percentage/length values that might be color stops
|
470
|
+
return !segment.match(/^\d+(%|px|em|rem|vh|vw|vmin|vmax)$/);
|
471
|
+
});
|
472
|
+
return gradientColors;
|
473
|
+
};
|
474
|
+
export const parseLinearGradient = (gradient, gradientText = false) => {
|
437
475
|
let angle = '',
|
438
476
|
color1 = '',
|
439
477
|
color2 = '';
|
440
478
|
const linearGradientRegex = /linear-gradient\(([^,]+),\s*([^,]+),\s*([^)]+)\)/;
|
441
|
-
const
|
442
|
-
const
|
479
|
+
//const linearGradientRegex = /linear-gradient\(\s*(?:([^,]+?)\s*,)?\s*((?:rgba?|hsla?)\([^)]+\)|#[0-9a-fA-F]{3,6}|\w+)\s*,\s*((?:rgba?|hsla?)\([^)]+\)|#[0-9a-fA-F]{3,6}|\w+)\s*\)/i;
|
480
|
+
const linearGradientTextRegex = /linear-gradient\(\s*(?:to\s+\w+|\d+deg|\w+)?\s*,?\s*((?:rgba?\([^)]+\)|hsla?\([^)]+\)|#[0-9a-fA-F]{3,8}|\w+)(?:\s+\d+%|\s+\d+px)?\s*,\s*){1,}(rgba?\([^)]+\)|hsla?\([^)]+\)|#[0-9a-fA-F]{3,8}|\w+)(?:\s+\d+%|\s+\d+px)?\s*\)/i;
|
481
|
+
const hasLinearGradient = gradientText ? linearGradientTextRegex.test(gradient) : linearGradientRegex.test(gradient);
|
482
|
+
const matches = gradient === null || gradient === void 0 ? void 0 : gradient.match(gradientText ? linearGradientTextRegex : linearGradientRegex);
|
443
483
|
angle = (matches === null || matches === void 0 ? void 0 : matches[1]) || '90deg';
|
444
484
|
const {
|
445
485
|
start,
|
@@ -447,12 +487,15 @@ export const parseLinearGradient = gradient => {
|
|
447
487
|
} = getGradientStartEnd(angle);
|
448
488
|
color1 = (matches === null || matches === void 0 ? void 0 : matches[2]) || ThemeVariables.INSTANCE.primaryColor;
|
449
489
|
color2 = (matches === null || matches === void 0 ? void 0 : matches[3]) || ThemeVariables.INSTANCE.primaryColor;
|
490
|
+
const colorsArray = getGradientColors(gradient);
|
491
|
+
const gradientColors = colorsArray.length >= 2 ? colorsArray : [color1, color2];
|
450
492
|
return {
|
451
493
|
hasLinearGradient,
|
452
494
|
color1,
|
453
495
|
color2,
|
454
496
|
start,
|
455
|
-
end
|
497
|
+
end,
|
498
|
+
gradientColors
|
456
499
|
};
|
457
500
|
};
|
458
501
|
export const validateInputOnDevice = (value, type) => {
|
@@ -532,7 +575,10 @@ export function getNumberOfEmptyObjects(noOfItems) {
|
|
532
575
|
}
|
533
576
|
export const setPosition = data => {
|
534
577
|
Object.keys(data).forEach(key => {
|
535
|
-
|
578
|
+
var _AppLayoutPosition$da;
|
579
|
+
if (AppLayoutPosition !== null && AppLayoutPosition !== void 0 && (_AppLayoutPosition$da = AppLayoutPosition.data) !== null && _AppLayoutPosition$da !== void 0 && _AppLayoutPosition$da[AppLayoutPosition === null || AppLayoutPosition === void 0 ? void 0 : AppLayoutPosition.currentPage]) {
|
580
|
+
AppLayoutPosition.data[AppLayoutPosition.currentPage][key] = data[key];
|
581
|
+
}
|
536
582
|
});
|
537
583
|
};
|
538
584
|
export const getPosition = key => {
|