@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.
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +141 -13
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +2 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/npm-shrinkwrap.json +224 -180
- package/package-lock.json +224 -180
- package/package.json +3 -2
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
|
3
|
-
"version": "11.14.1-
|
|
3
|
+
"version": "11.14.1-33.647787",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"@react-navigation/drawer": "7.5.8",
|
|
60
60
|
"@react-navigation/native": "7.1.18",
|
|
61
61
|
"@react-navigation/stack": "7.4.8",
|
|
62
|
-
"@
|
|
62
|
+
"@shopify/react-native-skia": "2.2.12",
|
|
63
|
+
"@wavemaker/variables": "11.14.1-33.647787",
|
|
63
64
|
"axios": "1.8.3",
|
|
64
65
|
"color": "4.2.3",
|
|
65
66
|
"cross-env": "7.0.3",
|
|
@@ -48,6 +48,7 @@ export default class BaseFragment extends BaseComponent {
|
|
|
48
48
|
_defineProperty(this, "startUpVariablesLoaded", false);
|
|
49
49
|
_defineProperty(this, "startUpActions", []);
|
|
50
50
|
_defineProperty(this, "autoUpdateVariables", []);
|
|
51
|
+
_defineProperty(this, "pullToRefreshVariables", []);
|
|
51
52
|
_defineProperty(this, "cleanUpVariablesandActions", []);
|
|
52
53
|
_defineProperty(this, "fragmentVariables", {});
|
|
53
54
|
_defineProperty(this, "fragmentActions", {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","ParentContext","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","WmLeftPanel","WmLabel","SkeletonAnimationProps","constructor","args","_defineProperty","FragmentProps","BaseFragment","Global","App","props","defaultProps","_injector$get","appLocale","messages","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","_this$theme","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","e","console","error","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","_w$_INSTANCE$styles","leftNavWidth","_INSTANCE","styles","root","revertLayoutToExpo50","_w$styles","flexDirection","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","getFormFieldStyles","formField","type","_formField$classname","suffix","classname","split","map","s","join","resetAppLocale","values","f","eval","fn","failOnError","call","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","BEFORE_INVOKE","notify","spinnerContext","_spinnerCount","_spinnerMessage","forceUpdate","show","message","spinner","AFTER_INVOKE","Math","max","hide","onFragmentReady","fragmentVariables","fragmentActions","cleanUpVariablesandActions","startUpActions","a","invoke","Promise","all","startUpVariables","catch","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","generateTestIdPrefix","testId","getTestId","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","Consumer","parent","_this$parent","setParent","_showSkeleton","state","showskeleton","Provider","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport { TestIdPrefixProvider, TextIdPrefixConsumer } from '@wavemaker/app-rn-runtime/core/testid.provider';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber, isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener, ParentContext } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\nimport WmFormAction from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport WmLeftPanel from '@wavemaker/app-rn-runtime/components/page/left-panel/left-panel.component';\nimport WmLabel from '../components/basic/label/label.component';\n\nexport class SkeletonAnimationProps extends BaseProps {\n skeletonanimationresource = \"\";\n skeletonanimationspeed = 1;\n}\n\nexport class FragmentProps extends SkeletonAnimationProps {}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {\n skeleton?: WmSkeletonStyles\n};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = injector.get<AppConfig>('APP_CONFIG')?.appLocale?.messages ? injector.get<AppConfig>('APP_CONFIG').appLocale.messages : {};\n private startUpVariables: string[] = [];\n protected startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n // Live getter (unlike copied Actions/Variables) so App.setProfile() changes show up immediately.\n public get Global(): any {\n return this.App.Global;\n }\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n try {\n this.onReady();\n } catch(e) {\n console.error(e);\n }\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n let formWidgets: any, formFields: any, formActions: any;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n if (w.props.id) {\n const name: any = w.props.name;\n formWidgets = this.Widgets[name].formWidgets;\n formFields = this.Widgets[name].formFields;\n formActions = this.Widgets[name].buttonArray;\n this.Widgets[name].formFields = [];\n this.Widgets[name].buttonArray = [];\n this.Widgets[name].formWidgets = {};\n } else {\n formWidgets = this.Widgets[id].formWidgets;\n formFields = this.Widgets[id].formFields;\n formActions = this.Widgets[id].buttonArray;\n }\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n w.registerFormActions(formActions);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n if (!this.Widgets[w.props.formRef].formWidgets) {\n this.Widgets[w.props.formRef].formWidgets = {}\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormAction) {\n if (!this.Widgets[w.props.formKey]) {\n this.Widgets[w.props.formKey] = {};\n }\n if (!this.Widgets[w.props.formKey].buttonArray) {\n this.Widgets[w.props.formKey].buttonArray = [];\n }\n this.Widgets[w.props.formKey].buttonArray.push(w);\n return;\n }\n\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n if (w instanceof WmLeftPanel) {\n this.appConfig.leftNavWidth = w._INSTANCE.styles?.root?.width;\n }\n // temporary fix need to be removed in Expo53\n if (this.appConfig.revertLayoutToExpo50 && w instanceof WmLabel) {\n w.styles?.root && (w.styles.root.flexDirection = \"row\");\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (isFullPathUrl(url)) {\n return url;\n }\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n getFormFieldStyles(formField: any, type: string){\n let suffix = ''\n switch(type){\n case 'label' :\n suffix = '_formLabel'\n break\n case 'commonField' :\n suffix = '-input'\n break\n default :\n ''\n }\n return formField?.classname?.trim()?.split(' ')?.map((s:string) => s.trim() + suffix).join(' ');\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n toBoolean(val: any) {\n if (isNil(val)) {\n return false;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n const spinnerContext = get(v, 'config.spinnerContext');\n if(spinnerContext && spinnerContext !== 'page') {\n const targetWidget = this.Widgets[spinnerContext];\n if(targetWidget) {\n targetWidget._spinnerCount++;\n targetWidget._spinnerMessage = get(v, 'config.spinnerMessage');\n targetWidget.forceUpdate();\n }\n }else{\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n const spinnerContext = get(v, 'config.spinnerContext');\n if (spinnerContext && spinnerContext !== 'page') {\n const targetWidget = this.Widgets[spinnerContext];\n if (targetWidget) {\n targetWidget._spinnerCount = Math.max(0, targetWidget._spinnerCount - 1);\n targetWidget.forceUpdate();\n }\n } else {\n spinnerService.hide();\n }\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n (Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>))\n .map(v => {\n (v as BaseVariable<any>).subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n (v as BaseVariable<any>).subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n });\n });\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch((error) => {\n // catch errors and show content\n console.error(error);\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n generateTestIdPrefix() {\n const testId = this.getTestId();\n return testId && (testId.split('')\n .reduce((a, v, i) => a + (v.charCodeAt(0) * (i + 1)), 0) + '');\n }\n\n render() {\n if (this.startUpVariablesLoaded) {\n this.autoUpdateVariables\n .forEach(value => this.Variables[value]?.invokeOnParamChange());\n }\n return this.isVisible() ? (\n <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);\n let theme = this.theme;\n return (\n <ParentContext.Provider value={this}>\n <ThemeProvider value={theme}>\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (\n <TestIdPrefixProvider value={this.generateTestIdPrefix() || ''}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n </TestIdPrefixProvider>);\n }}\n </TextIdPrefixConsumer>\n </ThemeProvider>\n </ParentContext.Provider>);\n }}\n </ParentContext.Consumer>) : null;\n }\n\n\n}\n\n\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","ParentContext","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","WmLeftPanel","WmLabel","SkeletonAnimationProps","constructor","args","_defineProperty","FragmentProps","BaseFragment","Global","App","props","defaultProps","_injector$get","appLocale","messages","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","_this$theme","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","e","console","error","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","_w$_INSTANCE$styles","leftNavWidth","_INSTANCE","styles","root","revertLayoutToExpo50","_w$styles","flexDirection","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","getFormFieldStyles","formField","type","_formField$classname","suffix","classname","split","map","s","join","resetAppLocale","values","f","eval","fn","failOnError","call","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","BEFORE_INVOKE","notify","spinnerContext","_spinnerCount","_spinnerMessage","forceUpdate","show","message","spinner","AFTER_INVOKE","Math","max","hide","onFragmentReady","fragmentVariables","fragmentActions","cleanUpVariablesandActions","startUpActions","a","invoke","Promise","all","startUpVariables","catch","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","generateTestIdPrefix","testId","getTestId","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","Consumer","parent","_this$parent","setParent","_showSkeleton","state","showskeleton","Provider","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport { TestIdPrefixProvider, TextIdPrefixConsumer } from '@wavemaker/app-rn-runtime/core/testid.provider';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber, isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener, ParentContext } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\nimport WmFormAction from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport WmLeftPanel from '@wavemaker/app-rn-runtime/components/page/left-panel/left-panel.component';\nimport WmLabel from '../components/basic/label/label.component';\n\nexport class SkeletonAnimationProps extends BaseProps {\n skeletonanimationresource = \"\";\n skeletonanimationspeed = 1;\n}\n\nexport class FragmentProps extends SkeletonAnimationProps {}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {\n skeleton?: WmSkeletonStyles\n};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = injector.get<AppConfig>('APP_CONFIG')?.appLocale?.messages ? injector.get<AppConfig>('APP_CONFIG').appLocale.messages : {};\n private startUpVariables: string[] = [];\n protected startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n public pullToRefreshVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n // Live getter (unlike copied Actions/Variables) so App.setProfile() changes show up immediately.\n public get Global(): any {\n return this.App.Global;\n }\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n try {\n this.onReady();\n } catch(e) {\n console.error(e);\n }\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n let formWidgets: any, formFields: any, formActions: any;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n if (w.props.id) {\n const name: any = w.props.name;\n formWidgets = this.Widgets[name].formWidgets;\n formFields = this.Widgets[name].formFields;\n formActions = this.Widgets[name].buttonArray;\n this.Widgets[name].formFields = [];\n this.Widgets[name].buttonArray = [];\n this.Widgets[name].formWidgets = {};\n } else {\n formWidgets = this.Widgets[id].formWidgets;\n formFields = this.Widgets[id].formFields;\n formActions = this.Widgets[id].buttonArray;\n }\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n w.registerFormActions(formActions);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n if (!this.Widgets[w.props.formRef].formWidgets) {\n this.Widgets[w.props.formRef].formWidgets = {}\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormAction) {\n if (!this.Widgets[w.props.formKey]) {\n this.Widgets[w.props.formKey] = {};\n }\n if (!this.Widgets[w.props.formKey].buttonArray) {\n this.Widgets[w.props.formKey].buttonArray = [];\n }\n this.Widgets[w.props.formKey].buttonArray.push(w);\n return;\n }\n\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n if (w instanceof WmLeftPanel) {\n this.appConfig.leftNavWidth = w._INSTANCE.styles?.root?.width;\n }\n // temporary fix need to be removed in Expo53\n if (this.appConfig.revertLayoutToExpo50 && w instanceof WmLabel) {\n w.styles?.root && (w.styles.root.flexDirection = \"row\");\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (isFullPathUrl(url)) {\n return url;\n }\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n getFormFieldStyles(formField: any, type: string){\n let suffix = ''\n switch(type){\n case 'label' :\n suffix = '_formLabel'\n break\n case 'commonField' :\n suffix = '-input'\n break\n default :\n ''\n }\n return formField?.classname?.trim()?.split(' ')?.map((s:string) => s.trim() + suffix).join(' ');\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n toBoolean(val: any) {\n if (isNil(val)) {\n return false;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n const spinnerContext = get(v, 'config.spinnerContext');\n if(spinnerContext && spinnerContext !== 'page') {\n const targetWidget = this.Widgets[spinnerContext];\n if(targetWidget) {\n targetWidget._spinnerCount++;\n targetWidget._spinnerMessage = get(v, 'config.spinnerMessage');\n targetWidget.forceUpdate();\n }\n }else{\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n const spinnerContext = get(v, 'config.spinnerContext');\n if (spinnerContext && spinnerContext !== 'page') {\n const targetWidget = this.Widgets[spinnerContext];\n if (targetWidget) {\n targetWidget._spinnerCount = Math.max(0, targetWidget._spinnerCount - 1);\n targetWidget.forceUpdate();\n }\n } else {\n spinnerService.hide();\n }\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n (Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>))\n .map(v => {\n (v as BaseVariable<any>).subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.App.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n (v as BaseVariable<any>).subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.App.notify(VariableEvents.AFTER_INVOKE, v);\n });\n });\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch((error) => {\n // catch errors and show content\n console.error(error);\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => {\n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n generateTestIdPrefix() {\n const testId = this.getTestId();\n return testId && (testId.split('')\n .reduce((a, v, i) => a + (v.charCodeAt(0) * (i + 1)), 0) + '');\n }\n\n render() {\n if (this.startUpVariablesLoaded) {\n this.autoUpdateVariables\n .forEach(value => this.Variables[value]?.invokeOnParamChange());\n }\n return this.isVisible() ? (\n <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);\n let theme = this.theme;\n return (\n <ParentContext.Provider value={this}>\n <ThemeProvider value={theme}>\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (\n <TestIdPrefixProvider value={this.generateTestIdPrefix() || ''}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n </TestIdPrefixProvider>);\n }}\n </TextIdPrefixConsumer>\n </ThemeProvider>\n </ParentContext.Provider>);\n }}\n </ParentContext.Consumer>) : null;\n }\n\n\n}\n\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,63 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';
|
|
6
6
|
import { Image, StyleSheet, View } from 'react-native';
|
|
7
|
-
import { isEmpty, isNil, isNumber } from 'lodash-es';
|
|
7
|
+
import { isEmpty, isNil, isNumber, isString } from 'lodash-es';
|
|
8
8
|
import imageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';
|
|
9
9
|
import { AssetConsumer } from '@wavemaker/app-rn-runtime/core/asset.provider';
|
|
10
10
|
import { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';
|
|
11
|
+
import { Blur, Canvas, Image as SkiaImage, useImage } from '@shopify/react-native-skia';
|
|
12
|
+
const RESIZE_MODE_TO_FIT = {
|
|
13
|
+
stretch: 'fill',
|
|
14
|
+
center: 'none',
|
|
15
|
+
contain: 'contain',
|
|
16
|
+
cover: 'cover',
|
|
17
|
+
repeat: 'cover'
|
|
18
|
+
};
|
|
19
|
+
const SkiaBackgroundImage = props => {
|
|
20
|
+
var _props$imageSrc;
|
|
21
|
+
const source = isString(props.imageSrc) || isNumber(props.imageSrc) ? props.imageSrc : (_props$imageSrc = props.imageSrc) === null || _props$imageSrc === void 0 ? void 0 : _props$imageSrc.uri;
|
|
22
|
+
const image = useImage(source);
|
|
23
|
+
const [layout, setLayout] = React.useState({
|
|
24
|
+
width: 0,
|
|
25
|
+
height: 0
|
|
26
|
+
});
|
|
27
|
+
if (!image) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const boxWidth = layout.width || props.minWidth || image.width();
|
|
31
|
+
const boxHeight = layout.height || props.minHeight || image.height();
|
|
32
|
+
const fit = RESIZE_MODE_TO_FIT[props.resizeMode || 'cover'] || 'cover';
|
|
33
|
+
const width = fit === 'none' ? image.width() : boxWidth;
|
|
34
|
+
const height = fit === 'none' ? image.height() : boxHeight;
|
|
35
|
+
const x = fit === 'none' ? (boxWidth - width) / 2 : 0;
|
|
36
|
+
const y = fit === 'none' ? (boxHeight - height) / 2 : 0;
|
|
37
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
+
style: {
|
|
39
|
+
width: '100%',
|
|
40
|
+
height: '100%'
|
|
41
|
+
},
|
|
42
|
+
onLayout: e => setLayout({
|
|
43
|
+
width: e.nativeEvent.layout.width,
|
|
44
|
+
height: e.nativeEvent.layout.height
|
|
45
|
+
})
|
|
46
|
+
}, /*#__PURE__*/React.createElement(Canvas, {
|
|
47
|
+
testID: "wm-skia-canvas",
|
|
48
|
+
style: {
|
|
49
|
+
width: '100%',
|
|
50
|
+
height: '100%'
|
|
51
|
+
}
|
|
52
|
+
}, /*#__PURE__*/React.createElement(SkiaImage, {
|
|
53
|
+
image: image,
|
|
54
|
+
x: x,
|
|
55
|
+
y: y,
|
|
56
|
+
width: width,
|
|
57
|
+
height: height,
|
|
58
|
+
fit: fit
|
|
59
|
+
}, /*#__PURE__*/React.createElement(Blur, {
|
|
60
|
+
blur: props.blur,
|
|
61
|
+
mode: "clamp"
|
|
62
|
+
}))));
|
|
63
|
+
};
|
|
11
64
|
const IMAGE_URL_REGEX = /url\(['|"]?(.+)['|"]?\)$/gi;
|
|
12
65
|
const LINEAT_GRADIENT_REGEX = /linear-gradient\((.+)\)$/gi;
|
|
13
66
|
const DIMENSION_REGEX = /([0-9%]+)[a-z]*/g;
|
|
@@ -284,7 +337,13 @@ export class BackgroundComponent extends React.Component {
|
|
|
284
337
|
position: 'absolute',
|
|
285
338
|
overflow: 'hidden'
|
|
286
339
|
}, psresult.position, isEmpty(psresult.size) ? StyleSheet.absoluteFill : psresult.size]
|
|
287
|
-
}, /*#__PURE__*/React.createElement(
|
|
340
|
+
}, this.state.imageSrc && this.props.blur ? /*#__PURE__*/React.createElement(SkiaBackgroundImage, {
|
|
341
|
+
imageSrc: this.state.imageSrc,
|
|
342
|
+
resizeMode: psresult.resizeMode || 'cover',
|
|
343
|
+
minWidth: this.state.naturalImageWidth,
|
|
344
|
+
minHeight: this.state.naturalImageHeight,
|
|
345
|
+
blur: this.props.blur
|
|
346
|
+
}) : /*#__PURE__*/React.createElement(Image, {
|
|
288
347
|
source: this.state.imageSrc,
|
|
289
348
|
resizeMode: psresult.resizeMode || 'cover',
|
|
290
349
|
style: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","LinearGradient","ExpoLinearGradient","Image","StyleSheet","View","isEmpty","isNil","isNumber","imageSizeEstimator","AssetConsumer","isFullPathUrl","IMAGE_URL_REGEX","LINEAT_GRADIENT_REGEX","DIMENSION_REGEX","BACKGROUND_POSITION_REGEX","BACKGROUND_SIZE_REGEX","ASSET_CACHE","Component","constructor","props","state","parse","val","value","splits","split","map","v","trim","angle","locations","endsWith","parseInt","shift","delta","Math","round","tan","PI","abs","end","x","y","start","colors","s","_s$matchAll$next","p","matchAll","next","push","parseFloat","replace","componentDidUpdate","prevProps","prevState","snapshot","setState","render","_this$props$size","_this$props$style","createElement","style","borderWidth","overflow","absoluteFill","middle","flexDirection","justifyContent","alignItems","testID","size","width","position","borderRadius","children","BackgroundComponent","_defineProperty","imageSrc","image","undefined","caluculateSize","height","resolveAssetSource","naturalImageWidth","naturalImageHeight","getSize","uri","getDimension","dim","getPosition","result","top","bottom","left","right","getPositionAndSize","_this$props$size2","_this$getGradient","resizeMode","getGradient","length","repeat","renderLinearGradient","data","psresult","Fragment","setImage","componentDidMount","setTimeout","_this$props$image","_source","source","startsWith","_this$props$image2","loadAsset","_this$props$image3","renderImage","_psresult$position","_psresult$position2","loadImage","minWidth","minHeight","_gradientData$value","gradientData"],"sources":["background.component.tsx"],"sourcesContent":["import * as React from 'react';\nimport { LinearGradient as ExpoLinearGradient, LinearGradientPoint } from 'expo-linear-gradient';\nimport { DimensionValue, Image, StyleSheet, View, ViewStyle } from 'react-native';\nimport { isEmpty, isNil, isNumber, isString } from 'lodash-es';\nimport imageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { AssetConsumer } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport interface LinearGradientProps {\n value: string;\n children: any;\n style?: ViewStyle;\n size?: ViewStyle;\n position?: ViewStyle;\n middle?: boolean;\n}\n\nexport interface LinearGradientState {\n colors: string[];\n locations: number[];\n start: LinearGradientPoint;\n end: LinearGradientPoint;\n}\n\nconst IMAGE_URL_REGEX = /url\\(['|\"]?(.+)['|\"]?\\)$/gi;\nconst LINEAT_GRADIENT_REGEX = /linear-gradient\\((.+)\\)$/gi;\nconst DIMENSION_REGEX = /([0-9%]+)[a-z]*/g;\nconst BACKGROUND_POSITION_REGEX = /([0-9%]+)[a-z]*\\s*([0-9%]+)[a-z]*/g;\nconst BACKGROUND_SIZE_REGEX = /([0-9%]+)[a-z]*\\s*([0-9%]+)[a-z]*/g;\n\nconst ASSET_CACHE = {} as any;\n\nexport class LinearGradient extends React.Component<LinearGradientProps, LinearGradientState> {\n\n constructor(props: LinearGradientProps) {\n super(props);\n this.state = this.parse();\n }\n\n parse(val = this.props.value) {\n let state = {} as LinearGradientState;\n const splits = val.split(',').map(v => v.trim());\n let angle = 0;\n const locations: LinearGradientPoint[] = [];\n if (splits[0].endsWith('deg')) {\n angle = (parseInt(splits[0].split('deg')[0]))%360;\n angle = angle < 0 ? (360 + angle) : angle;\n splits.shift();\n }\n angle += 90;\n const delta = Math.round(Math.tan((angle * Math.PI) / 180) * 100)/100;\n if (Math.abs(delta) > 1) {\n state = {\n end: {\n x: -0.5 / delta + 0.5,\n y: 0\n },\n start: {\n x: 0.5 / delta + 0.5,\n y: 1\n }\n } as LinearGradientState;\n } else {\n state = {\n start: {\n x: 0,\n y: -0.5 * delta + 0.5\n },\n end: {\n x: 1,\n y: 0.5 * delta + 0.5\n }\n } as LinearGradientState;\n }\n if (angle >= 270 && angle <= 450) {\n state = {\n start : state.end,\n end: state.start\n } as LinearGradientState;\n }\n state.colors = [];\n state.locations = [];\n splits.map(s => {\n const p = s.matchAll(/\\s*([0-9.]+)%/g).next()?.value;\n if (p) {\n state.locations.push(parseFloat(p[1]) / 100);\n state.colors.push(s.replace(p[0], ''));\n } else {\n state.locations.push(null as any);\n state.colors.push(s);\n }\n });\n return state;\n }\n\n componentDidUpdate(prevProps: Readonly<LinearGradientProps>, prevState: Readonly<{}>, snapshot?: any): void {\n if (prevProps.value !== this.props.value) {\n this.setState(this.parse());\n }\n }\n \n\n public render() {\n return (\n <View style={[{borderWidth: 0, overflow: 'hidden'}, StyleSheet.absoluteFill, this.props.style]}>\n <View style={[\n StyleSheet.absoluteFill, this.props.middle ? {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n } : null]}>\n <ExpoLinearGradient testID=\"wm-expo-linear-gradient\"\n colors={this.state.colors as any}\n locations={this.state.locations as any}\n start={this.state.start}\n end={this.state.end}\n style={[\n this.props.size?.width ? this.props.size : StyleSheet.absoluteFill,\n this.props.position,\n {position: 'absolute', borderRadius: this.props.style?.borderRadius}\n ]}\n />\n </View>\n {this.props.children}\n </View>\n );\n }\n}\n\nexport interface BackgroundProps {\n image?: string;\n position?: string;\n children?: any;\n resizeMode?: string;\n repeat?: string;\n style?: ViewStyle;\n size: string;\n}\n\nexport interface BackgroundState {\n imageSrc: any;\n naturalImageWidth: number,\n naturalImageHeight: number\n}\n\nexport class BackgroundComponent extends React.Component<BackgroundProps, BackgroundState> {\n\n private loadAsset: (path: string) => number | string = null as any;\n\n constructor(props: BackgroundProps) {\n super(props);\n this.state = {\n imageSrc : this.props.image ? ASSET_CACHE[this.props.image] : undefined\n } as BackgroundState;\n }\n\n public caluculateSize(imageSrc: any) {\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.setState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as BackgroundState);\n } else if (!isNil(imageSrc)) {\n imageSizeEstimator.getSize(imageSrc.uri, (width: number, height: number) => {\n this.setState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as BackgroundState);\n });\n }\n }\n\n getDimension(dim: string) {\n if (dim) {\n const value = dim.matchAll(DIMENSION_REGEX).next().value!;\n if (value[1]) {\n return value[1].endsWith('%') ? value[1] : parseInt(value[1]);\n }\n }\n return null;\n }\n\n public getPosition() {\n const result = {} as ViewStyle;\n if (!this.props.position) {\n return result;\n }\n const position = this.props.position.split(' ').map(s => s.trim());\n if (position[0] === 'center') {\n result.alignItems = 'center';\n } else if (position[0] === 'top') {\n result.top = 0;\n } else if (position[0] === 'bottom') {\n result.bottom = 0;\n } else {\n result.top = this.getDimension(position[0]) as DimensionValue;\n }\n if (position[1] === 'center') {\n result.justifyContent = 'center';\n } else if (position[1] === 'left') {\n result.left = 0;\n } else if (position[1] === 'bottom') {\n result.right = 0;\n } else {\n result.left = this.getDimension(position[1]) as DimensionValue;\n }\n return result;\n }\n\n public getPositionAndSize() {\n const result: {\n resizeMode? : string,\n position?: ViewStyle,\n size?: ViewStyle\n } = {} as any;\n if (this.props.resizeMode) {\n result.resizeMode = this.props.resizeMode;\n return result;\n } else if (this.props.position === 'center') {\n result.resizeMode = 'center';\n result.position = {\n justifyContent: 'center',\n alignItems: 'center'\n };\n } else if (this.props.size === 'contain' || this.props.size === 'cover') {\n result.resizeMode = this.props.size;\n return result;\n }\n const size = this.props.size?.matchAll(BACKGROUND_SIZE_REGEX).next().value;\n result.size = {};\n if (size) {\n result.size.width = (size[1].endsWith('%') ? size[1] : parseInt(size[1])) as DimensionValue;\n result.size.height = (size[2].endsWith('%') ? size[2] : parseInt(size[2])) as DimensionValue\n }\n if (!result.resizeMode && this.props.position) {\n result.position = this.getPosition();\n }\n if (!this.getGradient()?.value?.length) {\n if (this.props.repeat === 'no-repeat') {\n result.size.width = result.size.width || this.state.naturalImageWidth; \n result.size.height = result.size.height || this.state.naturalImageHeight; \n } else if (this.props.repeat === 'repeat-x') {\n result.resizeMode = 'repeat';\n result.size.width = result.size.width || '100%'; \n result.size.height = result.size.height || this.state.naturalImageHeight; \n } else if (this.props.repeat === 'repeat-y') {\n result.resizeMode = 'repeat';\n result.size.width = result.size.width || this.state.naturalImageWidth; \n result.size.height = result.size.height || '100%'; \n } else {\n result.resizeMode = 'repeat';\n }\n }\n return result;\n }\n\n public renderLinearGradient(data: string) {\n const psresult = this.getPositionAndSize();\n return (\n <LinearGradient\n value={data || ''}\n style={this.props.style}\n size={psresult.size}\n position={psresult.position}\n middle={psresult.resizeMode === 'center'}> \n <></> \n </LinearGradient>\n );\n }\n\n componentDidUpdate(prevProps: Readonly<BackgroundProps>, prevState: Readonly<{}>, snapshot?: any): void {\n if (this.props.image && prevProps.image !== this.props.image) {\n this.setImage();\n }\n }\n\n componentDidMount(): void {\n setTimeout(() => this.setImage(), 100);\n }\n\n setImage() {\n let source = this.props.image?.trim() as any;\n if (!source) {\n return;\n }\n if (source?.startsWith('url')) {\n source = this.props.image?.matchAll(IMAGE_URL_REGEX)?.next()?.value?.[1];\n }\n if (this.loadAsset) {\n source = this.loadAsset(source);\n }\n if (isFullPathUrl(source)) {\n source = {\n uri: source\n };\n }\n this.caluculateSize(source);\n this.setState({\n imageSrc: source\n } as BackgroundState);\n if (this.props.image) {\n ASSET_CACHE[this.props.image] = source;\n }\n }\n\n public getGradient() {\n return this.props.image?.trim().matchAll(LINEAT_GRADIENT_REGEX).next();\n }\n\n public renderImage() {\n const psresult = this.getPositionAndSize();\n return (\n <AssetConsumer>\n {(loadAsset) => {\n const loadImage = this.loadAsset !== loadAsset;\n this.loadAsset = loadAsset;\n if (loadImage) {\n setTimeout(() => this.setImage(), 10);\n }\n return (<View style={[{borderWidth: 0, overflow: 'hidden'}, StyleSheet.absoluteFill, this.props.style]}>\n <View style={[\n StyleSheet.absoluteFill, {\n flexDirection: 'row',\n justifyContent: psresult.position?.justifyContent,\n alignItems: psresult.position?.alignItems\n }]}>\n <View style={[\n { position: 'absolute', overflow: 'hidden' },\n psresult.position,\n isEmpty(psresult.size) ? StyleSheet.absoluteFill : psresult.size\n ]}>\n <Image\n source={this.state.imageSrc}\n resizeMode={psresult.resizeMode as any || 'cover'}\n style={[\n { \n width: '100%',\n height: '100%'\n }, \n !isEmpty(psresult.size)\n || (psresult.resizeMode === 'cover'\n || psresult.resizeMode === 'contain') ? null : {\n minWidth: this.state.naturalImageWidth,\n minHeight: this.state.naturalImageHeight\n }\n ]}/> \n </View>\n </View>\n </View>);\n }}\n </AssetConsumer>\n );\n }\n\n public render() {\n const gradientData = this.getGradient();\n if (gradientData?.value?.length) {\n return this.renderLinearGradient(gradientData.value[1]);\n } else if (this.props.image && this.state.imageSrc) {\n return this.renderImage();\n }\n return null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","LinearGradient","ExpoLinearGradient","Image","StyleSheet","View","isEmpty","isNil","isNumber","isString","imageSizeEstimator","AssetConsumer","isFullPathUrl","Blur","Canvas","SkiaImage","useImage","RESIZE_MODE_TO_FIT","stretch","center","contain","cover","repeat","SkiaBackgroundImage","props","_props$imageSrc","source","imageSrc","uri","image","layout","setLayout","useState","width","height","boxWidth","minWidth","boxHeight","minHeight","fit","resizeMode","x","y","createElement","style","onLayout","e","nativeEvent","testID","blur","mode","IMAGE_URL_REGEX","LINEAT_GRADIENT_REGEX","DIMENSION_REGEX","BACKGROUND_POSITION_REGEX","BACKGROUND_SIZE_REGEX","ASSET_CACHE","Component","constructor","state","parse","val","value","splits","split","map","v","trim","angle","locations","endsWith","parseInt","shift","delta","Math","round","tan","PI","abs","end","start","colors","s","_s$matchAll$next","p","matchAll","next","push","parseFloat","replace","componentDidUpdate","prevProps","prevState","snapshot","setState","render","_this$props$size","_this$props$style","borderWidth","overflow","absoluteFill","middle","flexDirection","justifyContent","alignItems","size","position","borderRadius","children","BackgroundComponent","_defineProperty","undefined","caluculateSize","resolveAssetSource","naturalImageWidth","naturalImageHeight","getSize","getDimension","dim","getPosition","result","top","bottom","left","right","getPositionAndSize","_this$props$size2","_this$getGradient","getGradient","length","renderLinearGradient","data","psresult","Fragment","setImage","componentDidMount","setTimeout","_this$props$image","_source","startsWith","_this$props$image2","loadAsset","_this$props$image3","renderImage","_psresult$position","_psresult$position2","loadImage","_gradientData$value","gradientData"],"sources":["background.component.tsx"],"sourcesContent":["import * as React from 'react';\nimport { LinearGradient as ExpoLinearGradient, LinearGradientPoint } from 'expo-linear-gradient';\nimport { DimensionValue, Image, StyleSheet, View, ViewStyle } from 'react-native';\nimport { isEmpty, isNil, isNumber, isString } from 'lodash-es';\nimport imageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { AssetConsumer } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { Blur, Canvas, Image as SkiaImage, useImage } from '@shopify/react-native-skia';\n\ntype SkiaFit = 'cover' | 'contain' | 'fill' | 'none' | 'scaleDown';\nconst RESIZE_MODE_TO_FIT: { [key: string]: SkiaFit } = {\n stretch: 'fill',\n center: 'none',\n contain: 'contain',\n cover: 'cover',\n repeat: 'cover'\n};\n\nconst SkiaBackgroundImage = (props: {\n imageSrc: any;\n resizeMode?: string;\n minWidth?: number;\n minHeight?: number;\n blur: number;\n}) => {\n const source = isString(props.imageSrc) || isNumber(props.imageSrc)\n ? props.imageSrc : props.imageSrc?.uri;\n const image = useImage(source);\n const [layout, setLayout] = React.useState({ width: 0, height: 0 });\n if (!image) {\n return null;\n }\n const boxWidth = layout.width || props.minWidth || image.width();\n const boxHeight = layout.height || props.minHeight || image.height();\n const fit = RESIZE_MODE_TO_FIT[props.resizeMode || 'cover'] || 'cover';\n\n const width = fit === 'none' ? image.width() : boxWidth;\n const height = fit === 'none' ? image.height() : boxHeight;\n const x = fit === 'none' ? (boxWidth - width) / 2 : 0;\n const y = fit === 'none' ? (boxHeight - height) / 2 : 0;\n\n return (\n <View\n style={{ width: '100%', height: '100%' }}\n onLayout={(e) => setLayout({\n width: e.nativeEvent.layout.width,\n height: e.nativeEvent.layout.height\n })}>\n <Canvas testID=\"wm-skia-canvas\" style={{ width: '100%', height: '100%' }}>\n <SkiaImage image={image} x={x} y={y} width={width} height={height} fit={fit}>\n <Blur blur={props.blur} mode=\"clamp\" />\n </SkiaImage>\n </Canvas>\n </View>\n );\n};\n\nexport interface LinearGradientProps {\n value: string;\n children: any;\n style?: ViewStyle;\n size?: ViewStyle;\n position?: ViewStyle;\n middle?: boolean;\n}\n\nexport interface LinearGradientState {\n colors: string[];\n locations: number[];\n start: LinearGradientPoint;\n end: LinearGradientPoint;\n}\n\nconst IMAGE_URL_REGEX = /url\\(['|\"]?(.+)['|\"]?\\)$/gi;\nconst LINEAT_GRADIENT_REGEX = /linear-gradient\\((.+)\\)$/gi;\nconst DIMENSION_REGEX = /([0-9%]+)[a-z]*/g;\nconst BACKGROUND_POSITION_REGEX = /([0-9%]+)[a-z]*\\s*([0-9%]+)[a-z]*/g;\nconst BACKGROUND_SIZE_REGEX = /([0-9%]+)[a-z]*\\s*([0-9%]+)[a-z]*/g;\n\nconst ASSET_CACHE = {} as any;\n\nexport class LinearGradient extends React.Component<LinearGradientProps, LinearGradientState> {\n\n constructor(props: LinearGradientProps) {\n super(props);\n this.state = this.parse();\n }\n\n parse(val = this.props.value) {\n let state = {} as LinearGradientState;\n const splits = val.split(',').map(v => v.trim());\n let angle = 0;\n const locations: LinearGradientPoint[] = [];\n if (splits[0].endsWith('deg')) {\n angle = (parseInt(splits[0].split('deg')[0]))%360;\n angle = angle < 0 ? (360 + angle) : angle;\n splits.shift();\n }\n angle += 90;\n const delta = Math.round(Math.tan((angle * Math.PI) / 180) * 100)/100;\n if (Math.abs(delta) > 1) {\n state = {\n end: {\n x: -0.5 / delta + 0.5,\n y: 0\n },\n start: {\n x: 0.5 / delta + 0.5,\n y: 1\n }\n } as LinearGradientState;\n } else {\n state = {\n start: {\n x: 0,\n y: -0.5 * delta + 0.5\n },\n end: {\n x: 1,\n y: 0.5 * delta + 0.5\n }\n } as LinearGradientState;\n }\n if (angle >= 270 && angle <= 450) {\n state = {\n start : state.end,\n end: state.start\n } as LinearGradientState;\n }\n state.colors = [];\n state.locations = [];\n splits.map(s => {\n const p = s.matchAll(/\\s*([0-9.]+)%/g).next()?.value;\n if (p) {\n state.locations.push(parseFloat(p[1]) / 100);\n state.colors.push(s.replace(p[0], ''));\n } else {\n state.locations.push(null as any);\n state.colors.push(s);\n }\n });\n return state;\n }\n\n componentDidUpdate(prevProps: Readonly<LinearGradientProps>, prevState: Readonly<{}>, snapshot?: any): void {\n if (prevProps.value !== this.props.value) {\n this.setState(this.parse());\n }\n }\n \n\n public render() {\n return (\n <View style={[{borderWidth: 0, overflow: 'hidden'}, StyleSheet.absoluteFill, this.props.style]}>\n <View style={[\n StyleSheet.absoluteFill, this.props.middle ? {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n } : null]}>\n <ExpoLinearGradient testID=\"wm-expo-linear-gradient\"\n colors={this.state.colors as any}\n locations={this.state.locations as any}\n start={this.state.start}\n end={this.state.end}\n style={[\n this.props.size?.width ? this.props.size : StyleSheet.absoluteFill,\n this.props.position,\n {position: 'absolute', borderRadius: this.props.style?.borderRadius}\n ]}\n />\n </View>\n {this.props.children}\n </View>\n );\n }\n}\n\nexport interface BackgroundProps {\n image?: string;\n position?: string;\n children?: any;\n resizeMode?: string;\n repeat?: string;\n style?: ViewStyle;\n size: string;\n blur?: number;\n}\n\nexport interface BackgroundState {\n imageSrc: any;\n naturalImageWidth: number,\n naturalImageHeight: number\n}\n\nexport class BackgroundComponent extends React.Component<BackgroundProps, BackgroundState> {\n\n private loadAsset: (path: string) => number | string = null as any;\n\n constructor(props: BackgroundProps) {\n super(props);\n this.state = {\n imageSrc : this.props.image ? ASSET_CACHE[this.props.image] : undefined\n } as BackgroundState;\n }\n\n public caluculateSize(imageSrc: any) {\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.setState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as BackgroundState);\n } else if (!isNil(imageSrc)) {\n imageSizeEstimator.getSize(imageSrc.uri, (width: number, height: number) => {\n this.setState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as BackgroundState);\n });\n }\n }\n\n getDimension(dim: string) {\n if (dim) {\n const value = dim.matchAll(DIMENSION_REGEX).next().value!;\n if (value[1]) {\n return value[1].endsWith('%') ? value[1] : parseInt(value[1]);\n }\n }\n return null;\n }\n\n public getPosition() {\n const result = {} as ViewStyle;\n if (!this.props.position) {\n return result;\n }\n const position = this.props.position.split(' ').map(s => s.trim());\n if (position[0] === 'center') {\n result.alignItems = 'center';\n } else if (position[0] === 'top') {\n result.top = 0;\n } else if (position[0] === 'bottom') {\n result.bottom = 0;\n } else {\n result.top = this.getDimension(position[0]) as DimensionValue;\n }\n if (position[1] === 'center') {\n result.justifyContent = 'center';\n } else if (position[1] === 'left') {\n result.left = 0;\n } else if (position[1] === 'bottom') {\n result.right = 0;\n } else {\n result.left = this.getDimension(position[1]) as DimensionValue;\n }\n return result;\n }\n\n public getPositionAndSize() {\n const result: {\n resizeMode? : string,\n position?: ViewStyle,\n size?: ViewStyle\n } = {} as any;\n if (this.props.resizeMode) {\n result.resizeMode = this.props.resizeMode;\n return result;\n } else if (this.props.position === 'center') {\n result.resizeMode = 'center';\n result.position = {\n justifyContent: 'center',\n alignItems: 'center'\n };\n } else if (this.props.size === 'contain' || this.props.size === 'cover') {\n result.resizeMode = this.props.size;\n return result;\n }\n const size = this.props.size?.matchAll(BACKGROUND_SIZE_REGEX).next().value;\n result.size = {};\n if (size) {\n result.size.width = (size[1].endsWith('%') ? size[1] : parseInt(size[1])) as DimensionValue;\n result.size.height = (size[2].endsWith('%') ? size[2] : parseInt(size[2])) as DimensionValue\n }\n if (!result.resizeMode && this.props.position) {\n result.position = this.getPosition();\n }\n if (!this.getGradient()?.value?.length) {\n if (this.props.repeat === 'no-repeat') {\n result.size.width = result.size.width || this.state.naturalImageWidth; \n result.size.height = result.size.height || this.state.naturalImageHeight; \n } else if (this.props.repeat === 'repeat-x') {\n result.resizeMode = 'repeat';\n result.size.width = result.size.width || '100%'; \n result.size.height = result.size.height || this.state.naturalImageHeight; \n } else if (this.props.repeat === 'repeat-y') {\n result.resizeMode = 'repeat';\n result.size.width = result.size.width || this.state.naturalImageWidth; \n result.size.height = result.size.height || '100%'; \n } else {\n result.resizeMode = 'repeat';\n }\n }\n return result;\n }\n\n public renderLinearGradient(data: string) {\n const psresult = this.getPositionAndSize();\n return (\n <LinearGradient\n value={data || ''}\n style={this.props.style}\n size={psresult.size}\n position={psresult.position}\n middle={psresult.resizeMode === 'center'}> \n <></> \n </LinearGradient>\n );\n }\n\n componentDidUpdate(prevProps: Readonly<BackgroundProps>, prevState: Readonly<{}>, snapshot?: any): void {\n if (this.props.image && prevProps.image !== this.props.image) {\n this.setImage();\n }\n }\n\n componentDidMount(): void {\n setTimeout(() => this.setImage(), 100);\n }\n\n setImage() {\n let source = this.props.image?.trim() as any;\n if (!source) {\n return;\n }\n if (source?.startsWith('url')) {\n source = this.props.image?.matchAll(IMAGE_URL_REGEX)?.next()?.value?.[1];\n }\n if (this.loadAsset) {\n source = this.loadAsset(source);\n }\n if (isFullPathUrl(source)) {\n source = {\n uri: source\n };\n }\n this.caluculateSize(source);\n this.setState({\n imageSrc: source\n } as BackgroundState);\n if (this.props.image) {\n ASSET_CACHE[this.props.image] = source;\n }\n }\n\n public getGradient() {\n return this.props.image?.trim().matchAll(LINEAT_GRADIENT_REGEX).next();\n }\n\n public renderImage() {\n const psresult = this.getPositionAndSize();\n return (\n <AssetConsumer>\n {(loadAsset) => {\n const loadImage = this.loadAsset !== loadAsset;\n this.loadAsset = loadAsset;\n if (loadImage) {\n setTimeout(() => this.setImage(), 10);\n }\n return (<View style={[{borderWidth: 0, overflow: 'hidden'}, StyleSheet.absoluteFill, this.props.style]}>\n <View style={[\n StyleSheet.absoluteFill, {\n flexDirection: 'row',\n justifyContent: psresult.position?.justifyContent,\n alignItems: psresult.position?.alignItems\n }]}>\n <View style={[\n { position: 'absolute', overflow: 'hidden' },\n psresult.position,\n isEmpty(psresult.size) ? StyleSheet.absoluteFill : psresult.size\n ]}>\n {this.state.imageSrc && this.props.blur ? (\n <SkiaBackgroundImage\n imageSrc={this.state.imageSrc}\n resizeMode={psresult.resizeMode as any || 'cover'}\n minWidth={this.state.naturalImageWidth}\n minHeight={this.state.naturalImageHeight}\n blur={this.props.blur}\n />\n ) : (\n <Image\n source={this.state.imageSrc}\n resizeMode={psresult.resizeMode as any || 'cover'}\n style={[\n {\n width: '100%',\n height: '100%'\n },\n !isEmpty(psresult.size)\n || (psresult.resizeMode === 'cover'\n || psresult.resizeMode === 'contain') ? null : {\n minWidth: this.state.naturalImageWidth,\n minHeight: this.state.naturalImageHeight\n }\n ]}/>\n )}\n </View>\n </View>\n </View>);\n }}\n </AssetConsumer>\n );\n }\n\n public render() {\n const gradientData = this.getGradient();\n if (gradientData?.value?.length) {\n return this.renderLinearGradient(gradientData.value[1]);\n } else if (this.props.image && this.state.imageSrc) {\n return this.renderImage();\n }\n return null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,10 @@ const STYLE_PROP_TYPE_INFO = {
|
|
|
38
38
|
isValid: isString,
|
|
39
39
|
ref: 'http://www.wavemakeronline.com/app-runtime/latest/rn/style-docs/widgets/view'
|
|
40
40
|
},
|
|
41
|
+
backdropFilter: {
|
|
42
|
+
isValid: isString,
|
|
43
|
+
ref: 'http://www.wavemakeronline.com/app-runtime/latest/rn/style-docs/widgets/view'
|
|
44
|
+
},
|
|
41
45
|
borderBottomColor: {
|
|
42
46
|
isValid: isColor,
|
|
43
47
|
ref: 'https://reactnative.dev/docs/view-style-props#borderbottomcolor'
|