@wavemaker/app-rn-runtime 11.7.0-next.42251 → 11.7.0-rc.5524

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js +3 -1
  2. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  3. app-rn-runtime/components/basic/anchor/anchor.props.js +1 -0
  4. app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
  5. app-rn-runtime/components/basic/button/button.component.js +3 -1
  6. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  7. app-rn-runtime/components/basic/button/button.styles.js +2 -1
  8. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  9. app-rn-runtime/components/basic/label/label.component.js +17 -9
  10. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  11. app-rn-runtime/components/basic/search/search.component.js +8 -2
  12. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  13. app-rn-runtime/components/basic/search/search.props.js +1 -0
  14. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  15. app-rn-runtime/components/chart/basechart.component.js +1 -0
  16. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  17. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +17 -10
  18. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  19. app-rn-runtime/components/container/container.component.js +1 -10
  20. app-rn-runtime/components/container/container.component.js.map +1 -1
  21. app-rn-runtime/components/container/container.props.js +0 -1
  22. app-rn-runtime/components/container/container.props.js.map +1 -1
  23. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  24. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  25. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +14 -1
  26. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  27. app-rn-runtime/components/container/tabs/tabs.component.js +3 -0
  28. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  29. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  30. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  31. app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
  32. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  33. app-rn-runtime/components/data/form/form-field/form-field.component.js +11 -0
  34. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  35. app-rn-runtime/components/data/form/form-field/form-field.props.js +3 -0
  36. app-rn-runtime/components/data/form/form-field/form-field.props.js.map +1 -1
  37. app-rn-runtime/components/data/form/form.component.js +26 -4
  38. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  39. app-rn-runtime/components/data/form/form.props.js +3 -0
  40. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  41. app-rn-runtime/components/data/list/list.component.js +42 -38
  42. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  43. app-rn-runtime/components/data/list/list.props.js +2 -0
  44. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  45. app-rn-runtime/components/data/list/list.styles.js +5 -1
  46. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  47. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -0
  48. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  49. app-rn-runtime/components/input/baseinput/baseinput.component.js +1 -1
  50. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  51. app-rn-runtime/components/input/baseinput/baseinput.props.js +2 -0
  52. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  53. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +13 -4
  54. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  55. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  56. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  57. app-rn-runtime/components/input/radioset/radioset.component.js +49 -23
  58. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  59. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  60. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  61. app-rn-runtime/components/input/radioset/radioset.styles.js +35 -2
  62. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  63. app-rn-runtime/components/input/slider/slider.component.js +3 -2
  64. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  65. app-rn-runtime/components/input/text/text.component.js +4 -2
  66. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  67. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  68. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  69. app-rn-runtime/components/navigation/popover/popover.component.js +4 -0
  70. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  71. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -0
  72. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  73. app-rn-runtime/core/accessibility.js +2 -2
  74. app-rn-runtime/core/accessibility.js.map +1 -1
  75. app-rn-runtime/core/base.component.js +12 -3
  76. app-rn-runtime/core/base.component.js.map +1 -1
  77. app-rn-runtime/core/components/textinput.component.js +147 -14
  78. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  79. app-rn-runtime/core/event-notifier.js +21 -7
  80. app-rn-runtime/core/event-notifier.js.map +1 -1
  81. app-rn-runtime/core/formatters.js +14 -1
  82. app-rn-runtime/core/formatters.js.map +1 -1
  83. app-rn-runtime/package.json +4 -3
  84. app-rn-runtime/runtime/App.js +5 -3
  85. app-rn-runtime/runtime/App.js.map +1 -1
  86. app-rn-runtime/runtime/base-fragment.component.js +5 -1
  87. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  88. app-rn-runtime/styles/background.component.js +15 -4
  89. app-rn-runtime/styles/background.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","FragmentProps","BaseFragment","constructor","props","defaultProps","_defineProperty","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","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","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","arguments","length","undefined","trim","mergeStyle","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","map","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","s","catch","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","forceUpdate","generateTestIdPrefix","testId","getTestId","split","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } 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 } 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';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\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 = {};\n private startUpVariables: string[] = [];\n private 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 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 this.onReady();\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 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 }\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 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 spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n spinnerService.hide();\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 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(() => {\n // catch errors and show content\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 <ThemeProvider value={this.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\n </ThemeProvider>) : null;\n }\n}\n\n\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,GAAG,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAI3C,SAASC,oBAAoB,EAAEC,oBAAoB,QAAQ,gDAAgD;AAC3G,OAAOC,QAAQ,MAAM,yCAAyC;AAC9D,SAASC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,sCAAsC;AACzF,SAASC,aAAa,EAAkCC,SAAS,QAA2B,+CAA+C;AAC3I,OAAOC,UAAU,IAAWC,aAAa,QAAQ,wCAAwC;AACzF,SAAuBC,cAAc,QAAQ,mDAAmD;AAChG,SAASC,OAAO,IAAIC,SAAS,EAAEC,MAAM,IAAIC,cAAc,QAAQ,yCAAyC;AAExG,OAAOC,WAAW,MAAM,gFAAgF;AACxG,OAAOC,MAAM,MAAM,+DAA+D;AAClF,SAASC,aAAa,QAAsB,8CAA8C;AAC1F,OAAOC,cAAc,MAAM,gEAAgE;AAE3F,OAAOC,cAAc,MAAM,6BAA6B;AAExD,OAAOC,YAAY,MAAM,kFAAkF;AAE3G,OAAO,MAAMC,aAAa,SAASd,SAAS,CAAC;AAO7C,eAAe,MAAee,YAAY,SAA8DhB,aAAa,CAAoD;EAyCrKiB,WAAWA,CAACC,KAAQ,EAAEC,YAAgB,EAAE;IACpC,KAAK,CAACD,KAAK,EAAE,IAAI,EAASC,YAAY,CAAC;IAACC,eAAA;IAAAA,eAAA,kBAxCjB,MAAM,CAAC,CAAC;IAAAA,eAAA,kBAClB,EAAE;IAAAA,eAAA,0BACM,EAAE;IAAAA,eAAA,uBACL,IAAI;IAAAA,eAAA,kBACJ,CAAC,CAAC;IAAAA,eAAA,oBACA,CAAC,CAAC;IAAAA,eAAA,gBACJlB,UAAU;IAAAkB,eAAA,oBACR,CAAC,CAAC;IAAAA,eAAA,2BACW,EAAE;IAAAA,eAAA,iCACN,KAAK;IAAAA,eAAA,yBACH,EAAE;IAAAA,eAAA,8BACG,EAAE;IAAAA,eAAA,qCACgB,EAAE;IAAAA,eAAA,4BAC5B,CAAC,CAAC;IAAAA,eAAA,0BACJ,CAAC,CAAC;IAAAA,eAAA,kBACV,CAAC,CAAC;IAAAA,eAAA,oBACLxB,QAAQ,CAACL,GAAG,CAAY,YAAY,CAAC;IAAA6B,eAAA,gBACzC,KAAK;IAAAA,eAAA,8BACQ,IAAI;IAAAA,eAAA,2BACN,IAAI;IAAAA,eAAA,oBACN,CAAC,CAAC;IAAAA,eAAA,qBACN,KAAK;IAAAA,eAAA,mBACP,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGQ,CAAC,CAAC;IAAAA,eAAA,mBACZd,SAAS;IAAAc,eAAA,sCACH/B,KAAK,CAACgC,aAAa,CAAC/B,IAAI,EAAE,EAAE,EAAS,CAAC,YAAY,CAAC,CAAC;IAAA8B,eAAA,sBACvD,KAAK;IAAAA,eAAA,uBACJ;MACEE,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE,EAAE;MACTC,YAAY,EAAE,EAAE;MAChBC,gBAAgB,EAAE,EAAE;MACpBC,IAAI,EAAEA,CAAA,KAAM,CAAC,CAAC;MACdC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;MAClBC,OAAO,EAAEA,CAAA,KAAM,CAAC;IAClB,CAAC;IAAAR,eAAA,kBACG,IAAI;IAG1B,IAAI,CAACS,GAAG,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG;IAC7B,IAAI,CAACC,UAAU,GAAG,IAAI,CAACH,GAAG,CAACG,UAAU;IACrC,IAAI,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACI,OAAO,CAAC;IAClD,IAAI,CAACG,SAAS,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACO,SAAS,CAAC;IACtD,IAAI,CAACC,OAAO,CAACC,IAAI,CAAChC,SAAS,CAACiC,SAAS,CAAC/B,cAAc,CAACgC,kBAAkB,EAAE,CAACC,IAAS,EAAEC,IAAS,KAAK;MACjG,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EACrH;QAACC,WAAW,EAAEzC,SAAS,CAAC0C,KAAK;QAC3BC,YAAY,EAAE3C,SAAS,CAAC4C;MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAChC,SAAS,CAACiC,SAAS,CAAC/B,cAAc,CAAC2C,WAAW,EAAE,CAACV,IAAS,EAAEC,IAAS,KAAK;MAC1F,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAC1G;QAACC,WAAW,EAAEN,IAAI,CAACO,KAAK;QACtBC,YAAY,EAAER,IAAI,CAACS;MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAC;MAAA,IAAAc,WAAA;MAAA,QAAAA,WAAA,GAAM,IAAI,CAACC,KAAK,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,OAAO,CAAC,CAAC;IAAA,EAAC;IAC9C,IAAI,CAACC,OAAO,GAAG,IAAI,CAACzB,SAAS,CAAC0B,GAAG;IACjC,IAAI,CAACC,eAAe,GAAG,IAAI,CAAC3B,SAAS,CAAC0B,GAAG;IACzC,IAAI,CAACnB,OAAO,CAACC,IAAI,CAAC,MAAM,IAAI,CAACoB,SAAS,CAAC,CAAC,CAAC;EAC7C;EAEAC,cAAcA,CAAA,EAAG;IACf,IAAI,CAACC,OAAO,CAAC,CAAC;IACd,IAAI,CAAC9B,SAAS,CAAC+B,OAAO,CAAC,CAAC;IACxB,IAAI,CAACjB,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACxF,IAAI,CAACa,cAAc,GAAG,MAAM,CAAC,CAAC;EAChC;EAEAG,iBAAiBA,CAACC,CAA+B,EAAE;IACjD,IAAI,CAACF,OAAO,CAAC,CAAC;EAChB;EAEAG,eAAeA,CAACD,CAA+B,EAAE;IAC/C,MAAME,EAAE,GAAGF,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAAC7C,KAAK,CAACgD,IAAI;IACrC,IAAIC,WAAgB,EAAEC,UAAe,EAAEC,WAAgB;IAEvD,IAAIN,CAAC,YAAYrD,MAAM,EAAE;MACvB,IAAI,CAAC,IAAI,CAAC4D,OAAO,CAACL,EAAE,CAAC,EAAE;QACrB,IAAI,CAACK,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;MACtB;MACA,IAAIA,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,EAAE;QACd,MAAMC,IAAS,GAAGH,CAAC,CAAC7C,KAAK,CAACgD,IAAI;QAC9BC,WAAW,GAAG,IAAI,CAACG,OAAO,CAACJ,IAAI,CAAC,CAACC,WAAW;QAC5CC,UAAU,GAAG,IAAI,CAACE,OAAO,CAACJ,IAAI,CAAC,CAACE,UAAU;QAC1CC,WAAW,GAAG,IAAI,CAACC,OAAO,CAACJ,IAAI,CAAC,CAACK,WAAW;QAC5C,IAAI,CAACD,OAAO,CAACJ,IAAI,CAAC,CAACE,UAAU,GAAG,EAAE;QAClC,IAAI,CAACE,OAAO,CAACJ,IAAI,CAAC,CAACK,WAAW,GAAG,EAAE;QACnC,IAAI,CAACD,OAAO,CAACJ,IAAI,CAAC,CAACC,WAAW,GAAG,CAAC,CAAC;MACrC,CAAC,MAAM;QACLA,WAAW,GAAG,IAAI,CAACG,OAAO,CAACL,EAAE,CAAC,CAACE,WAAW;QAC1CC,UAAU,GAAG,IAAI,CAACE,OAAO,CAACL,EAAE,CAAC,CAACG,UAAU;QACxCC,WAAW,GAAG,IAAI,CAACC,OAAO,CAACL,EAAE,CAAC,CAACM,WAAW;MAC5C;MACA,IAAI,CAACD,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;MACpB,IAAIA,CAAC,CAACS,aAAa,EAAE;QACnB,IAAIC,GAAG,GAAGV,CAAC,CAACS,aAAa,CAACtD,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAACS,aAAa,CAACtD,KAAK,CAACgD,IAAI;QAChEE,UAAU,CAACM,OAAO,CAAEC,EAAO,IAAK;UAC9B,MAAMC,OAAO,GAAGD,EAAE,CAACzD,KAAK,CAAC0D,OAAO,IAAID,EAAE,CAACzD,KAAK,CAACgD,IAAI;UACjD,IAAI,CAACI,OAAO,CAACG,GAAG,CAAC,CAACL,UAAU,CAAC9B,IAAI,CAACqC,EAAE,CAAC;UACrC,IAAI,CAACL,OAAO,CAACG,GAAG,CAAC,CAACN,WAAW,CAACS,OAAO,CAAC,GAAGT,WAAW,CAACQ,EAAE,CAACzD,KAAK,CAACgD,IAAI,CAAC;QACrE,CAAC,CAAC;MACJ;MACAH,CAAC,CAACc,kBAAkB,CAACT,UAAU,EAAED,WAAW,CAAC;MAC7CJ,CAAC,CAACe,mBAAmB,CAACT,WAAW,CAAC;MAClC;IACF;IACA,IAAIN,CAAC,CAAC7C,KAAK,CAAC6D,SAAS,EAAE;MACrB,IAAI,CAAC,IAAI,CAACT,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,GAAG;UAACZ,UAAU,EAAE,EAAE;UAAED,WAAW,EAAE,CAAC;QAAC,CAAC;MACnE,CAAC,MAAM,IAAI,CAAC,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,EAAE;QACpD,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,CAACJ,CAAC,CAAC7C,KAAK,CAACgD,IAAI,CAAC,GAAGH,CAAC;MAC3D;IACF;IACA,IAAIA,CAAC,YAAYjD,YAAY,EAAE;MAC7B,IAAI,CAAC,IAAI,CAACwD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACN,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,GAAG,CAAC,CAAC;MACpC;MACA,IAAI,CAAC,IAAI,CAACN,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,EAAE;QAC9C,IAAI,CAACD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,GAAG,EAAE;MAChD;MACA,IAAI,CAACD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,CAACjC,IAAI,CAACyB,CAAC,CAAC;MACjD;IACF;IAEA,IAAIA,CAAC,YAAYtD,WAAW,EAAE;MAC5B,IAAI,CAAC,IAAI,CAAC6D,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,GAAG,CAAC,CAAC;MACpC;MACA,IAAI,CAAC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,EAAE;QAC7C,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,GAAG,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,IAAI,CAAC,CAAC;MAC3F,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,CAAC9B,IAAI,CAACyB,CAAC,CAAC;MAChD;IACF;IACA,IAAI,CAACO,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;IACpB,IAAIA,CAAC,YAAY/C,YAAY,IAAI+C,CAAC,KAAK,IAAI,EAAE;MAC3C,IAAI,CAACkB,SAAS,CAAChB,EAAE,CAAC,GAAGF,CAAC;IACxB;EACF;EAEAmB,kBAAkBA,CAACnB,CAA+B,EAAE;IAClD,MAAME,EAAE,GAAGF,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAAC7C,KAAK,CAACgD,IAAI;IACrC,OAAO,IAAI,CAACI,OAAO,CAACL,EAAE,CAAC;IACvB,IAAIF,CAAC,YAAY/C,YAAY,EAAE;MAC7B,OAAO,IAAI,CAACiE,SAAS,CAAChB,EAAE,CAAC;IAC3B;IACA,IAAIF,CAAC,YAAYrD,MAAM,EAAE;MACvBqD,CAAC,CAACI,WAAW,GAAG,CAAC,CAAC;MAClBJ,CAAC,CAACK,UAAU,GAAG,EAAE;MACjBL,CAAC,CAACoB,UAAU,GAAG,CAAC,CAAC;IACnB;EACF;EAEAC,SAASA,CAAC5B,GAAW,EAAE;IACrB,IAAIzD,aAAa,CAACyD,GAAG,CAAC,EAAE;MACtB,OAAOA,GAAG;IACZ;IACA,OAAO,IAAI,CAAC1B,SAAS,CAAC0B,GAAG,IAAIA,GAAG,CAAC6B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG7B,GAAG;EACpE;EAEA8B,aAAaA,CAACC,GAAY,EAAE;IAC1B;IACA,OAAO,CAACA,GAAG,IAAI1E,cAAc,CAAC2E,UAAU,IAAIjG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC,EAAE2D,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACrJ;EAEAC,aAAaA,CAACH,GAAY,EAAE;IAC1B,OAAOA,GAAG,IAAI1E,cAAc,CAAC8E,UAAU,IAAIpG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC;EAC1F;EAEA8D,iBAAiBA,CAACL,GAAY,EAAE;IAC9B,OAAO,CAACA,GAAG,IAAI1E,cAAc,CAACgF,cAAc,IAAKtG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC,GAAG,GAAG,GAAGvC,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAE,EAAE2D,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACjN;EAEAK,iBAAiBA,CAACP,GAAY,EAAE;IAC9B,OAAQA,GAAG,IAAI1E,cAAc,CAACkF,YAAY,IAAI,KAAK;EACrD;EAEAC,QAAQA,CAACC,OAAe,EAAyB;IAAA,IAAvBC,YAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC7C,IAAIF,OAAO,IAAIA,OAAO,CAACK,IAAI,CAAC,CAAC,CAACF,MAAM,GAAG,CAAC,EAAE;MACxC,OAAO,IAAI,CAAC/C,KAAK,CAACkD,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAClD,KAAK,CAAC2C,QAAQ,CAACC,OAAO,CAAC,EAAEC,YAAY,CAAC;IAC9E;IACA,OAAOA,YAAY;EACrB;EAEAM,cAAcA,CAAA,EAAG;IACf,IAAI,CAACC,SAAS,GAAG,IAAI,CAAC3E,SAAS,CAAC2E,SAAS,CAACC,QAAQ;IAClDxE,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAMA,CAAC,CAA4BJ,cAAc,CAAC,CAAC,CAAC;EACnG;EAEAK,IAAIA,CAACC,EAAY,EAAuB;IAAA,IAArBC,WAAW,GAAAZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IACpC,IAAI;MACF,OAAOW,EAAE,CAACE,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,IAAIF,WAAW,EAAE;QACf,MAAME,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEApH,SAASA,CAACqH,GAAQ,EAAE;IAClB,IAAIzH,KAAK,CAACyH,GAAG,CAAC,EAAE;MACd,OAAO,KAAK;IACd;IACA,OAAOrH,SAAS,CAACqH,GAAG,CAAC;EACvB;EAEApH,QAAQA,CAACoH,GAAQ,EAAE;IACjB,IAAIzH,KAAK,CAACyH,GAAG,CAAC,EAAE;MACd,OAAOA,GAAG;IACZ;IACA,OAAOpH,QAAQ,CAACoH,GAAG,CAAC;EACtB;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAACvE,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC7F;EAEAsE,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACZ,cAAc,CAAC,CAAC;IACrB,KAAK,CAACY,iBAAiB,CAAC,CAAC;EAC3B;EAEAC,OAAOA,CAACC,GAAW,EAAEC,CAAM,EAAE;IAC3B,IAAI,CAAC,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAG;MACxB,IAAI,CAACE,QAAQ,CAACF,GAAG,CAAC,GAAGC,CAAC;IACxB;IACA,OAAO,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC;EAC3B;EAEAG,mBAAmBA,CAAA,EAAG;IACpB,IAAIC,SAAS,GAAGlI,MAAM,CAAC,IAAI,CAAC4C,SAAS,EAAGuF,CAAoB,IAAK,CAAC,CAACpI,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACnG,MAAMC,OAAO,GAAGpI,MAAM,CAAC,IAAI,CAACyC,OAAO,EAAG0F,CAAoB,IAAK,CAAC,CAACpI,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACjGD,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACD,OAAO,CAAC;IACrC,IAAI,CAACF,SAAS,CAACtB,MAAM,EAAE;MACrB;IACF;IACA,IAAI,CAAC/D,OAAO,CAACC,IAAI,CAAC,GAAGoF,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACpC,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC2H,aAAa,EAAE,MAAM;QAC7CnH,cAAc,CAACoH,IAAI,CAAC;UAClBC,OAAO,EAAE1I,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC;UACxCO,OAAO,EAAE,IAAI,CAACrG,GAAG,CAACC,SAAS,CAACoG;QAC9B,CAAC,CAAC;MACJ,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IACH,IAAI,CAAC7F,OAAO,CAACC,IAAI,CAAC,GAAGoF,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACtC,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC+H,YAAY,EAAE,MAAM;QAC5CvH,cAAc,CAACwH,IAAI,CAAC,CAAC;MACvB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;EACL;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAI,CAAChG,OAAO,CAACC,IAAI,CAAC,GAAGJ,MAAM,CAACyE,MAAM,CAAC;MAAC,GAAG,IAAI,CAACvE,SAAS;MAAE,GAAG,IAAI,CAACH;IAAO,CAAC,CAAC,CAAC6F,GAAG,CAACH,CAAC,IAAI;MAChF,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC+H,YAAY,EAAE,MAAM,IAAI,CAACtG,GAAG,CAACgC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC4D,mBAAmB,CAAC,CAAC;IAC1B,IAAI,CAACa,0BAA0B,CAAChG,IAAI,CAAC,GAAGJ,MAAM,CAACyE,MAAM,CAAC;MAAC,GAAG,IAAI,CAAC4B,iBAAiB;MAAE,GAAG,IAAI,CAACC;IAAe,CAAsB,CAAC,CAAC;IACjI,IAAI,CAACC,cAAc,CAACX,GAAG,CAACY,CAAC,IAAI,IAAI,CAACzG,OAAO,CAACyG,CAAC,CAAC,IAAI,IAAI,CAACzG,OAAO,CAACyG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IACzE,OAAOC,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC,CAClGK,KAAK,CAAC,MAAM;MACX;IAAA,CACD,CAAC,CACDC,IAAI,CAAC,MAAM;MACV,IAAI,CAACC,sBAAsB,GAAG,IAAI;MAClC,IAAI,CAACC,WAAW,GAAG,IAAI;MACvB,IAAI,CAACrH,SAAS,CAAC+B,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC;EACJ;EAEAuF,QAAQA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACT,IAAI,CAAC1G,UAAU,GAAG,KAAK;IACvB,IAAI,CAAC2G,OAAO,CAACC,QAAQ,GAAG,IAAI;IAC5B,IAAI,CAAC/C,cAAc,CAAC,CAAC;IACrBtE,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAKA,CAAC,CAACwC,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,CAACd,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAAC6B,MAAM,IAAI7B,CAAC,CAAC6B,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAAH,kBAAA,OAAI,CAACzG,YAAY,cAAAyG,kBAAA,uBAAjBA,kBAAA,CAAmBxG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC2G,mBAAmB,EAAE;MAC5Bb,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9F;IACAzG,MAAM,CAACyE,MAAM,CAAC,IAAI,CAACrC,OAAO,CAAC,CAACI,OAAO,CAAEX,CAAM,IAAK;MAC9CA,CAAC,CAAC2F,mBAAmB,IAAI3F,CAAC,CAAC2F,mBAAmB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ;EAEAC,QAAQA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACT,IAAI,CAACjH,UAAU,GAAG,IAAI;IACtB,IAAI,CAAC2G,OAAO,CAACC,QAAQ,GAAG,KAAK;IAC7BrH,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAKA,CAAC,CAAC+C,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,CAACrB,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAACkC,IAAI,IAAIlC,CAAC,CAACkC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAAD,mBAAA,OAAI,CAAChH,YAAY,cAAAgH,mBAAA,uBAAjBA,mBAAA,CAAmB/G,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtEZ,MAAM,CAACyE,MAAM,CAAC,IAAI,CAACrC,OAAO,CAAC,CAACI,OAAO,CAAEX,CAAM,IAAK;MAC9CA,CAAC,CAAC+F,mBAAmB,IAAI/F,CAAC,CAAC+F,mBAAmB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ;EAEApG,SAASA,CAAA,EAAG;IACV,IAAI,CAAC4E,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAACrE,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAACgG,OAAO,CAAChG,OAAO,CAAC,CAAC;EACxB;EAEAO,OAAOA,CAAA,EAAG;IACPjE,QAAQ,CAACL,GAAG,CAAC,WAAW,CAAC,CAAesE,OAAO,CAAC,CAAC;EACpD;EAEAkG,WAAWA,CAAA,EAAG;IACZ,KAAK,CAACA,WAAW,CAAC,CAAC;IACnB7H,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAMA,CAAC,CAA4BmD,WAAW,CAAC,CAAC,CAAC;EAChG;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,MAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;IAC/B,OAAOD,MAAM,IAAKA,MAAM,CAACE,KAAK,CAAC,EAAE,CAAC,CAC/BC,MAAM,CAAC,CAAC1B,CAAC,EAAEf,CAAC,EAAE0C,CAAC,KAAK3B,CAAC,GAAIf,CAAC,CAAC2C,UAAU,CAAC,CAAC,CAAC,IAAKD,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,GAAG,EAAG;EACnE;EAEAE,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACrB,sBAAsB,EAAE;MAC/B,IAAI,CAACsB,mBAAmB,CACrB9F,OAAO,CAAC+F,KAAK;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAI,IAAI,CAACtI,SAAS,CAACqI,KAAK,CAAC,cAAAC,qBAAA,uBAArBA,qBAAA,CAAuBC,mBAAmB,CAAC,CAAC;MAAA,EAAC;IACnE;IACA,OAAO,IAAI,CAACC,SAAS,CAAC,CAAC,gBACvBvL,KAAA,CAAAgC,aAAA,CAAClB,aAAa;MAACsK,KAAK,EAAE,IAAI,CAACpH;IAAM,gBAC/BhE,KAAA,CAAAgC,aAAA,CAAC1B,oBAAoB,QACfkL,YAAY,IAAK;MACjB,IAAI,CAACA,YAAY,GAAGA,YAAY,IAAI,EAAE;MACtC,oBACAxL,KAAA,CAAAgC,aAAA,CAAC3B,oBAAoB;QAAC+K,KAAK,EAAE,IAAI,CAACT,oBAAoB,CAAC,CAAC,IAAI;MAAG,gBAC7D3K,KAAA,CAAAgC,aAAA,CAACV,aAAa,QACZmK,YAA0B,IAAK;QAC/B,IAAI,CAACC,OAAO,GAAGD,YAAY;QAC3B,OAAO,IAAI,CAACE,YAAY,CAAC,IAAI,CAAC9J,KAAK,CAAC;MACtC,CACa,CACO,CAAC;IACzB,CACkB,CAET,CAAC,GAAI,IAAI;EAC1B;AACJ"}
1
+ {"version":3,"names":["React","Text","get","filter","isNil","TestIdPrefixProvider","TextIdPrefixConsumer","injector","toBoolean","toNumber","isFullPathUrl","BaseComponent","BaseProps","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","WmFormAction","FragmentProps","BaseFragment","constructor","props","defaultProps","_defineProperty","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","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","refresh","onComponentChange","w","onComponentInit","id","name","formWidgets","formFields","formActions","Widgets","buttonArray","parentFormRef","pid","forEach","ff","formKey","registerFormFields","registerFormActions","formfield","formRef","fragments","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","arguments","length","undefined","trim","mergeStyle","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","map","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","s","catch","error","console","then","startUpVariablesLoaded","showContent","onAttach","_this$targetWidget","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","_this$targetWidget2","mute","componentWillDetach","forceUpdate","generateTestIdPrefix","testId","getTestId","split","reduce","i","charCodeAt","render","autoUpdateVariables","value","_this$Variables$value","invokeOnParamChange","isVisible","testIdPrefix","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } 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 } 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';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\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 = {};\n private startUpVariables: string[] = [];\n private 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 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 this.onReady();\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 }\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 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 spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n spinnerService.hide();\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 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 <ThemeProvider value={this.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\n </ThemeProvider>) : null;\n }\n}\n\n\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,GAAG,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAI3C,SAASC,oBAAoB,EAAEC,oBAAoB,QAAQ,gDAAgD;AAC3G,OAAOC,QAAQ,MAAM,yCAAyC;AAC9D,SAASC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,sCAAsC;AACzF,SAASC,aAAa,EAAkCC,SAAS,QAA2B,+CAA+C;AAC3I,OAAOC,UAAU,IAAWC,aAAa,QAAQ,wCAAwC;AACzF,SAAuBC,cAAc,QAAQ,mDAAmD;AAChG,SAASC,OAAO,IAAIC,SAAS,EAAEC,MAAM,IAAIC,cAAc,QAAQ,yCAAyC;AAExG,OAAOC,WAAW,MAAM,gFAAgF;AACxG,OAAOC,MAAM,MAAM,+DAA+D;AAClF,SAASC,aAAa,QAAsB,8CAA8C;AAC1F,OAAOC,cAAc,MAAM,gEAAgE;AAE3F,OAAOC,cAAc,MAAM,6BAA6B;AAExD,OAAOC,YAAY,MAAM,kFAAkF;AAE3G,OAAO,MAAMC,aAAa,SAASd,SAAS,CAAC;AAO7C,eAAe,MAAee,YAAY,SAA8DhB,aAAa,CAAoD;EAyCrKiB,WAAWA,CAACC,KAAQ,EAAEC,YAAgB,EAAE;IACpC,KAAK,CAACD,KAAK,EAAE,IAAI,EAASC,YAAY,CAAC;IAACC,eAAA;IAAAA,eAAA,kBAxCjB,MAAM,CAAC,CAAC;IAAAA,eAAA,kBAClB,EAAE;IAAAA,eAAA,0BACM,EAAE;IAAAA,eAAA,uBACL,IAAI;IAAAA,eAAA,kBACJ,CAAC,CAAC;IAAAA,eAAA,oBACA,CAAC,CAAC;IAAAA,eAAA,gBACJlB,UAAU;IAAAkB,eAAA,oBACR,CAAC,CAAC;IAAAA,eAAA,2BACW,EAAE;IAAAA,eAAA,iCACN,KAAK;IAAAA,eAAA,yBACH,EAAE;IAAAA,eAAA,8BACG,EAAE;IAAAA,eAAA,qCACgB,EAAE;IAAAA,eAAA,4BAC5B,CAAC,CAAC;IAAAA,eAAA,0BACJ,CAAC,CAAC;IAAAA,eAAA,kBACV,CAAC,CAAC;IAAAA,eAAA,oBACLxB,QAAQ,CAACL,GAAG,CAAY,YAAY,CAAC;IAAA6B,eAAA,gBACzC,KAAK;IAAAA,eAAA,8BACQ,IAAI;IAAAA,eAAA,2BACN,IAAI;IAAAA,eAAA,oBACN,CAAC,CAAC;IAAAA,eAAA,qBACN,KAAK;IAAAA,eAAA,mBACP,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGQ,CAAC,CAAC;IAAAA,eAAA,mBACZd,SAAS;IAAAc,eAAA,sCACH/B,KAAK,CAACgC,aAAa,CAAC/B,IAAI,EAAE,EAAE,EAAS,CAAC,YAAY,CAAC,CAAC;IAAA8B,eAAA,sBACvD,KAAK;IAAAA,eAAA,uBACJ;MACEE,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE,EAAE;MACTC,YAAY,EAAE,EAAE;MAChBC,gBAAgB,EAAE,EAAE;MACpBC,IAAI,EAAEA,CAAA,KAAM,CAAC,CAAC;MACdC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;MAClBC,OAAO,EAAEA,CAAA,KAAM,CAAC;IAClB,CAAC;IAAAR,eAAA,kBACG,IAAI;IAG1B,IAAI,CAACS,GAAG,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG;IAC7B,IAAI,CAACC,UAAU,GAAG,IAAI,CAACH,GAAG,CAACG,UAAU;IACrC,IAAI,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACI,OAAO,CAAC;IAClD,IAAI,CAACG,SAAS,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACO,SAAS,CAAC;IACtD,IAAI,CAACC,OAAO,CAACC,IAAI,CAAChC,SAAS,CAACiC,SAAS,CAAC/B,cAAc,CAACgC,kBAAkB,EAAE,CAACC,IAAS,EAAEC,IAAS,KAAK;MACjG,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EACrH;QAACC,WAAW,EAAEzC,SAAS,CAAC0C,KAAK;QAC3BC,YAAY,EAAE3C,SAAS,CAAC4C;MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAChC,SAAS,CAACiC,SAAS,CAAC/B,cAAc,CAAC2C,WAAW,EAAE,CAACV,IAAS,EAAEC,IAAS,KAAK;MAC1F,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAC1G;QAACC,WAAW,EAAEN,IAAI,CAACO,KAAK;QACtBC,YAAY,EAAER,IAAI,CAACS;MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAC;MAAA,IAAAc,WAAA;MAAA,QAAAA,WAAA,GAAM,IAAI,CAACC,KAAK,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,OAAO,CAAC,CAAC;IAAA,EAAC;IAC9C,IAAI,CAACC,OAAO,GAAG,IAAI,CAACzB,SAAS,CAAC0B,GAAG;IACjC,IAAI,CAACC,eAAe,GAAG,IAAI,CAAC3B,SAAS,CAAC0B,GAAG;IACzC,IAAI,CAACnB,OAAO,CAACC,IAAI,CAAC,MAAM,IAAI,CAACoB,SAAS,CAAC,CAAC,CAAC;EAC7C;EAEAC,cAAcA,CAAA,EAAG;IACf,IAAI,CAACC,OAAO,CAAC,CAAC;IACd,IAAI,CAAC9B,SAAS,CAAC+B,OAAO,CAAC,CAAC;IACxB,IAAI,CAACjB,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACxF,IAAI,CAACa,cAAc,GAAG,MAAM,CAAC,CAAC;EAChC;EAEAG,iBAAiBA,CAACC,CAA+B,EAAE;IACjD,IAAI,CAACF,OAAO,CAAC,CAAC;EAChB;EAEAG,eAAeA,CAACD,CAA+B,EAAE;IAC/C,MAAME,EAAE,GAAGF,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAAC7C,KAAK,CAACgD,IAAI;IACrC,IAAIC,WAAgB,EAAEC,UAAe,EAAEC,WAAgB;IAEvD,IAAIN,CAAC,YAAYrD,MAAM,EAAE;MACvB,IAAI,CAAC,IAAI,CAAC4D,OAAO,CAACL,EAAE,CAAC,EAAE;QACrB,IAAI,CAACK,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;MACtB;MACA,IAAIA,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,EAAE;QACd,MAAMC,IAAS,GAAGH,CAAC,CAAC7C,KAAK,CAACgD,IAAI;QAC9BC,WAAW,GAAG,IAAI,CAACG,OAAO,CAACJ,IAAI,CAAC,CAACC,WAAW;QAC5CC,UAAU,GAAG,IAAI,CAACE,OAAO,CAACJ,IAAI,CAAC,CAACE,UAAU;QAC1CC,WAAW,GAAG,IAAI,CAACC,OAAO,CAACJ,IAAI,CAAC,CAACK,WAAW;QAC5C,IAAI,CAACD,OAAO,CAACJ,IAAI,CAAC,CAACE,UAAU,GAAG,EAAE;QAClC,IAAI,CAACE,OAAO,CAACJ,IAAI,CAAC,CAACK,WAAW,GAAG,EAAE;QACnC,IAAI,CAACD,OAAO,CAACJ,IAAI,CAAC,CAACC,WAAW,GAAG,CAAC,CAAC;MACrC,CAAC,MAAM;QACLA,WAAW,GAAG,IAAI,CAACG,OAAO,CAACL,EAAE,CAAC,CAACE,WAAW;QAC1CC,UAAU,GAAG,IAAI,CAACE,OAAO,CAACL,EAAE,CAAC,CAACG,UAAU;QACxCC,WAAW,GAAG,IAAI,CAACC,OAAO,CAACL,EAAE,CAAC,CAACM,WAAW;MAC5C;MACA,IAAI,CAACD,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;MACpB,IAAIA,CAAC,CAACS,aAAa,EAAE;QACnB,IAAIC,GAAG,GAAGV,CAAC,CAACS,aAAa,CAACtD,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAACS,aAAa,CAACtD,KAAK,CAACgD,IAAI;QAChEE,UAAU,CAACM,OAAO,CAAEC,EAAO,IAAK;UAC9B,MAAMC,OAAO,GAAGD,EAAE,CAACzD,KAAK,CAAC0D,OAAO,IAAID,EAAE,CAACzD,KAAK,CAACgD,IAAI;UACjD,IAAI,CAACI,OAAO,CAACG,GAAG,CAAC,CAACL,UAAU,CAAC9B,IAAI,CAACqC,EAAE,CAAC;UACrC,IAAI,CAACL,OAAO,CAACG,GAAG,CAAC,CAACN,WAAW,CAACS,OAAO,CAAC,GAAGT,WAAW,CAACQ,EAAE,CAACzD,KAAK,CAACgD,IAAI,CAAC;QACrE,CAAC,CAAC;MACJ;MACAH,CAAC,CAACc,kBAAkB,CAACT,UAAU,EAAED,WAAW,CAAC;MAC7CJ,CAAC,CAACe,mBAAmB,CAACT,WAAW,CAAC;MAClC;IACF;IACA,IAAIN,CAAC,CAAC7C,KAAK,CAAC6D,SAAS,EAAE;MACrB,IAAI,CAAC,IAAI,CAACT,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,GAAG;UAACZ,UAAU,EAAE,EAAE;UAAED,WAAW,EAAE,CAAC;QAAC,CAAC;MACnE,CAAC,MAAM,IAAI,CAAC,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,EAAE;QACpD,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAAC,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,EAAE;QAC9C,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,GAAG,CAAC,CAAC;MAChD;MACA,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,CAACJ,CAAC,CAAC7C,KAAK,CAACgD,IAAI,CAAC,GAAGH,CAAC;MAC3D;IACF;IACA,IAAIA,CAAC,YAAYjD,YAAY,EAAE;MAC7B,IAAI,CAAC,IAAI,CAACwD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACN,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,GAAG,CAAC,CAAC;MACpC;MACA,IAAI,CAAC,IAAI,CAACN,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,EAAE;QAC9C,IAAI,CAACD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,GAAG,EAAE;MAChD;MACA,IAAI,CAACD,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC0D,OAAO,CAAC,CAACL,WAAW,CAACjC,IAAI,CAACyB,CAAC,CAAC;MACjD;IACF;IAEA,IAAIA,CAAC,YAAYtD,WAAW,EAAE;MAC5B,IAAI,CAAC,IAAI,CAAC6D,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,GAAG,CAAC,CAAC;MACpC;MACA,IAAI,CAAC,IAAI,CAACV,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,EAAE;QAC7C,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAACE,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,GAAG,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACb,WAAW,IAAI,CAAC,CAAC;MAC3F,IAAI,CAACG,OAAO,CAACP,CAAC,CAAC7C,KAAK,CAAC8D,OAAO,CAAC,CAACZ,UAAU,CAAC9B,IAAI,CAACyB,CAAC,CAAC;MAChD;IACF;IACA,IAAI,CAACO,OAAO,CAACL,EAAE,CAAC,GAAGF,CAAC;IACpB,IAAIA,CAAC,YAAY/C,YAAY,IAAI+C,CAAC,KAAK,IAAI,EAAE;MAC3C,IAAI,CAACkB,SAAS,CAAChB,EAAE,CAAC,GAAGF,CAAC;IACxB;EACF;EAEAmB,kBAAkBA,CAACnB,CAA+B,EAAE;IAClD,MAAME,EAAE,GAAGF,CAAC,CAAC7C,KAAK,CAAC+C,EAAE,IAAIF,CAAC,CAAC7C,KAAK,CAACgD,IAAI;IACrC,OAAO,IAAI,CAACI,OAAO,CAACL,EAAE,CAAC;IACvB,IAAIF,CAAC,YAAY/C,YAAY,EAAE;MAC7B,OAAO,IAAI,CAACiE,SAAS,CAAChB,EAAE,CAAC;IAC3B;IACA,IAAIF,CAAC,YAAYrD,MAAM,EAAE;MACvBqD,CAAC,CAACI,WAAW,GAAG,CAAC,CAAC;MAClBJ,CAAC,CAACK,UAAU,GAAG,EAAE;MACjBL,CAAC,CAACoB,UAAU,GAAG,CAAC,CAAC;IACnB;EACF;EAEAC,SAASA,CAAC5B,GAAW,EAAE;IACrB,IAAIzD,aAAa,CAACyD,GAAG,CAAC,EAAE;MACtB,OAAOA,GAAG;IACZ;IACA,OAAO,IAAI,CAAC1B,SAAS,CAAC0B,GAAG,IAAIA,GAAG,CAAC6B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG7B,GAAG;EACpE;EAEA8B,aAAaA,CAACC,GAAY,EAAE;IAC1B;IACA,OAAO,CAACA,GAAG,IAAI1E,cAAc,CAAC2E,UAAU,IAAIjG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC,EAAE2D,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACrJ;EAEAC,aAAaA,CAACH,GAAY,EAAE;IAC1B,OAAOA,GAAG,IAAI1E,cAAc,CAAC8E,UAAU,IAAIpG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC;EAC1F;EAEA8D,iBAAiBA,CAACL,GAAY,EAAE;IAC9B,OAAO,CAACA,GAAG,IAAI1E,cAAc,CAACgF,cAAc,IAAKtG,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAC,GAAG,GAAG,GAAGvC,GAAG,CAAC,IAAI,CAACuC,SAAS,EAAE,wBAAwB,CAAE,EAAE2D,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACjN;EAEAK,iBAAiBA,CAACP,GAAY,EAAE;IAC9B,OAAQA,GAAG,IAAI1E,cAAc,CAACkF,YAAY,IAAI,KAAK;EACrD;EAEAC,QAAQA,CAACC,OAAe,EAAyB;IAAA,IAAvBC,YAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC7C,IAAIF,OAAO,IAAIA,OAAO,CAACK,IAAI,CAAC,CAAC,CAACF,MAAM,GAAG,CAAC,EAAE;MACxC,OAAO,IAAI,CAAC/C,KAAK,CAACkD,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAClD,KAAK,CAAC2C,QAAQ,CAACC,OAAO,CAAC,EAAEC,YAAY,CAAC;IAC9E;IACA,OAAOA,YAAY;EACrB;EAEAM,cAAcA,CAAA,EAAG;IACf,IAAI,CAACC,SAAS,GAAG,IAAI,CAAC3E,SAAS,CAAC2E,SAAS,CAACC,QAAQ;IAClDxE,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAMA,CAAC,CAA4BJ,cAAc,CAAC,CAAC,CAAC;EACnG;EAEAK,IAAIA,CAACC,EAAY,EAAuB;IAAA,IAArBC,WAAW,GAAAZ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IACpC,IAAI;MACF,OAAOW,EAAE,CAACE,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,IAAIF,WAAW,EAAE;QACf,MAAME,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEApH,SAASA,CAACqH,GAAQ,EAAE;IAClB,IAAIzH,KAAK,CAACyH,GAAG,CAAC,EAAE;MACd,OAAO,KAAK;IACd;IACA,OAAOrH,SAAS,CAACqH,GAAG,CAAC;EACvB;EAEApH,QAAQA,CAACoH,GAAQ,EAAE;IACjB,IAAIzH,KAAK,CAACyH,GAAG,CAAC,EAAE;MACd,OAAOA,GAAG;IACZ;IACA,OAAOpH,QAAQ,CAACoH,GAAG,CAAC;EACtB;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAACvE,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC7F;EAEAsE,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACZ,cAAc,CAAC,CAAC;IACrB,KAAK,CAACY,iBAAiB,CAAC,CAAC;EAC3B;EAEAC,OAAOA,CAACC,GAAW,EAAEC,CAAM,EAAE;IAC3B,IAAI,CAAC,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAG;MACxB,IAAI,CAACE,QAAQ,CAACF,GAAG,CAAC,GAAGC,CAAC;IACxB;IACA,OAAO,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC;EAC3B;EAEAG,mBAAmBA,CAAA,EAAG;IACpB,IAAIC,SAAS,GAAGlI,MAAM,CAAC,IAAI,CAAC4C,SAAS,EAAGuF,CAAoB,IAAK,CAAC,CAACpI,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACnG,MAAMC,OAAO,GAAGpI,MAAM,CAAC,IAAI,CAACyC,OAAO,EAAG0F,CAAoB,IAAK,CAAC,CAACpI,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACjGD,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACD,OAAO,CAAC;IACrC,IAAI,CAACF,SAAS,CAACtB,MAAM,EAAE;MACrB;IACF;IACA,IAAI,CAAC/D,OAAO,CAACC,IAAI,CAAC,GAAGoF,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACpC,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC2H,aAAa,EAAE,MAAM;QAC7CnH,cAAc,CAACoH,IAAI,CAAC;UAClBC,OAAO,EAAE1I,GAAG,CAACoI,CAAC,EAAE,uBAAuB,CAAC;UACxCO,OAAO,EAAE,IAAI,CAACrG,GAAG,CAACC,SAAS,CAACoG;QAC9B,CAAC,CAAC;MACJ,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IACH,IAAI,CAAC7F,OAAO,CAACC,IAAI,CAAC,GAAGoF,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACtC,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC+H,YAAY,EAAE,MAAM;QAC5CvH,cAAc,CAACwH,IAAI,CAAC,CAAC;MACvB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;EACL;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAI,CAAChG,OAAO,CAACC,IAAI,CAAC,GAAGJ,MAAM,CAACyE,MAAM,CAAC;MAAC,GAAG,IAAI,CAACvE,SAAS;MAAE,GAAG,IAAI,CAACH;IAAO,CAAC,CAAC,CAAC6F,GAAG,CAACH,CAAC,IAAI;MAChF,OAASA,CAAC,CACPpF,SAAS,CAACnC,cAAc,CAAC+H,YAAY,EAAE,MAAM,IAAI,CAACtG,GAAG,CAACgC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC4D,mBAAmB,CAAC,CAAC;IAC1B,IAAI,CAACa,0BAA0B,CAAChG,IAAI,CAAC,GAAGJ,MAAM,CAACyE,MAAM,CAAC;MAAC,GAAG,IAAI,CAAC4B,iBAAiB;MAAE,GAAG,IAAI,CAACC;IAAe,CAAsB,CAAC,CAAC;IACjI,IAAI,CAACC,cAAc,CAACX,GAAG,CAACY,CAAC,IAAI,IAAI,CAACzG,OAAO,CAACyG,CAAC,CAAC,IAAI,IAAI,CAACzG,OAAO,CAACyG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IACzE,OAAOC,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC,CAClGK,KAAK,CAAEC,KAAK,IAAK;MAChB;MACAC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACtB,CAAC,CAAC,CACDE,IAAI,CAAC,MAAM;MACV,IAAI,CAACC,sBAAsB,GAAG,IAAI;MAClC,IAAI,CAACC,WAAW,GAAG,IAAI;MACvB,IAAI,CAACvH,SAAS,CAAC+B,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC;EACJ;EAEAyF,QAAQA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACT,IAAI,CAAC5G,UAAU,GAAG,KAAK;IACvB,IAAI,CAAC6G,OAAO,CAACC,QAAQ,GAAG,IAAI;IAC5B,IAAI,CAACjD,cAAc,CAAC,CAAC;IACrBtE,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAKA,CAAC,CAAC0C,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAChB,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAAC+B,MAAM,IAAI/B,CAAC,CAAC+B,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAAH,kBAAA,OAAI,CAAC3G,YAAY,cAAA2G,kBAAA,uBAAjBA,kBAAA,CAAmB1G,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC6G,mBAAmB,EAAE;MAC5Bf,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,IAAI,IAAI,CAAC3G,SAAS,CAAC2G,CAAC,CAAC,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9F;IACAzG,MAAM,CAACyE,MAAM,CAAC,IAAI,CAACrC,OAAO,CAAC,CAACI,OAAO,CAAEX,CAAM,IAAK;MAC9CA,CAAC,CAAC6F,mBAAmB,IAAI7F,CAAC,CAAC6F,mBAAmB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ;EAEAC,QAAQA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACT,IAAI,CAACnH,UAAU,GAAG,IAAI;IACtB,IAAI,CAAC6G,OAAO,CAACC,QAAQ,GAAG,KAAK;IAC7BvH,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAKA,CAAC,CAACiD,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,CAACvB,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAACoC,IAAI,IAAIpC,CAAC,CAACoC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAAD,mBAAA,OAAI,CAAClH,YAAY,cAAAkH,mBAAA,uBAAjBA,mBAAA,CAAmBjH,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtEZ,MAAM,CAACyE,MAAM,CAAC,IAAI,CAACrC,OAAO,CAAC,CAACI,OAAO,CAAEX,CAAM,IAAK;MAC9CA,CAAC,CAACiG,mBAAmB,IAAIjG,CAAC,CAACiG,mBAAmB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ;EAEAtG,SAASA,CAAA,EAAG;IACV,IAAI,CAAC4E,0BAA0B,CAAC5D,OAAO,CAAEiD,CAAM,IAAKA,CAAC,CAACrE,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAACkG,OAAO,CAAClG,OAAO,CAAC,CAAC;EACxB;EAEAO,OAAOA,CAAA,EAAG;IACPjE,QAAQ,CAACL,GAAG,CAAC,WAAW,CAAC,CAAesE,OAAO,CAAC,CAAC;EACpD;EAEAoG,WAAWA,CAAA,EAAG;IACZ,KAAK,CAACA,WAAW,CAAC,CAAC;IACnB/H,MAAM,CAACyE,MAAM,CAAC,IAAI,CAAC1B,SAAS,CAAC,CAACP,OAAO,CAAEkC,CAAM,IAAMA,CAAC,CAA4BqD,WAAW,CAAC,CAAC,CAAC;EAChG;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,MAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;IAC/B,OAAOD,MAAM,IAAKA,MAAM,CAACE,KAAK,CAAC,EAAE,CAAC,CAC/BC,MAAM,CAAC,CAAC5B,CAAC,EAAEf,CAAC,EAAE4C,CAAC,KAAK7B,CAAC,GAAIf,CAAC,CAAC6C,UAAU,CAAC,CAAC,CAAC,IAAKD,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC,GAAG,EAAG;EACnE;EAEAE,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACrB,sBAAsB,EAAE;MAC/B,IAAI,CAACsB,mBAAmB,CACrBhG,OAAO,CAACiG,KAAK;QAAA,IAAAC,qBAAA;QAAA,QAAAA,qBAAA,GAAI,IAAI,CAACxI,SAAS,CAACuI,KAAK,CAAC,cAAAC,qBAAA,uBAArBA,qBAAA,CAAuBC,mBAAmB,CAAC,CAAC;MAAA,EAAC;IACnE;IACA,OAAO,IAAI,CAACC,SAAS,CAAC,CAAC,gBACvBzL,KAAA,CAAAgC,aAAA,CAAClB,aAAa;MAACwK,KAAK,EAAE,IAAI,CAACtH;IAAM,gBAC/BhE,KAAA,CAAAgC,aAAA,CAAC1B,oBAAoB,QACfoL,YAAY,IAAK;MACjB,IAAI,CAACA,YAAY,GAAGA,YAAY,IAAI,EAAE;MACtC,oBACA1L,KAAA,CAAAgC,aAAA,CAAC3B,oBAAoB;QAACiL,KAAK,EAAE,IAAI,CAACT,oBAAoB,CAAC,CAAC,IAAI;MAAG,gBAC7D7K,KAAA,CAAAgC,aAAA,CAACV,aAAa,QACZqK,YAA0B,IAAK;QAC/B,IAAI,CAACC,OAAO,GAAGD,YAAY;QAC3B,OAAO,IAAI,CAACE,YAAY,CAAC,IAAI,CAAChK,KAAK,CAAC;MACtC,CACa,CACO,CAAC;IACzB,CACkB,CAET,CAAC,GAAI,IAAI;EAC1B;AACJ"}
@@ -13,6 +13,7 @@ const LINEAT_GRADIENT_REGEX = /linear-gradient\((.+)\)$/gi;
13
13
  const DIMENSION_REGEX = /([0-9%]+)[a-z]*/g;
14
14
  const BACKGROUND_POSITION_REGEX = /([0-9%]+)[a-z]*\s*([0-9%]+)[a-z]*/g;
15
15
  const BACKGROUND_SIZE_REGEX = /([0-9%]+)[a-z]*\s*([0-9%]+)[a-z]*/g;
16
+ const ASSET_CACHE = {};
16
17
  export class LinearGradient extends React.Component {
17
18
  constructor(props) {
18
19
  super(props);
@@ -109,7 +110,9 @@ export class BackgroundComponent extends React.Component {
109
110
  constructor(props) {
110
111
  super(props);
111
112
  _defineProperty(this, "loadAsset", null);
112
- this.state = {};
113
+ this.state = {
114
+ imageSrc: this.props.image ? ASSET_CACHE[this.props.image] : undefined
115
+ };
113
116
  }
114
117
  caluculateSize(imageSrc) {
115
118
  if (isNumber(imageSrc)) {
@@ -219,7 +222,7 @@ export class BackgroundComponent extends React.Component {
219
222
  });
220
223
  }
221
224
  componentDidUpdate(prevProps, prevState, snapshot) {
222
- if (prevProps.image !== this.props.image) {
225
+ if (this.props.image && prevProps.image !== this.props.image) {
223
226
  this.setImage();
224
227
  }
225
228
  }
@@ -229,6 +232,9 @@ export class BackgroundComponent extends React.Component {
229
232
  setImage() {
230
233
  var _this$props$image, _source;
231
234
  let source = (_this$props$image = this.props.image) === null || _this$props$image === void 0 ? void 0 : _this$props$image.trim();
235
+ if (!source) {
236
+ return;
237
+ }
232
238
  if ((_source = source) !== null && _source !== void 0 && _source.startsWith('url')) {
233
239
  var _this$props$image2;
234
240
  source = (_this$props$image2 = this.props.image) === null || _this$props$image2 === void 0 ? void 0 : _this$props$image2.matchAll(IMAGE_URL_REGEX).next().value[1];
@@ -245,6 +251,9 @@ export class BackgroundComponent extends React.Component {
245
251
  this.setState({
246
252
  imageSrc: source
247
253
  });
254
+ if (this.props.image) {
255
+ ASSET_CACHE[this.props.image] = source;
256
+ }
248
257
  }
249
258
  getGradient() {
250
259
  var _this$props$image3;
@@ -254,7 +263,9 @@ export class BackgroundComponent extends React.Component {
254
263
  const psresult = this.getPositionAndSize();
255
264
  return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
256
265
  var _psresult$position, _psresult$position2;
266
+ const loadImage = this.loadAsset !== loadAsset;
257
267
  this.loadAsset = loadAsset;
268
+ loadImage && this.setImage();
258
269
  return /*#__PURE__*/React.createElement(View, {
259
270
  style: [{
260
271
  borderWidth: 0,
@@ -277,10 +288,10 @@ export class BackgroundComponent extends React.Component {
277
288
  style: [{
278
289
  width: '100%',
279
290
  height: '100%'
280
- }, isEmpty(psresult.size) ? {
291
+ }, !isEmpty(psresult.size) || psresult.resizeMode === 'cover' || psresult.resizeMode === 'contain' ? null : {
281
292
  minWidth: this.state.naturalImageWidth,
282
293
  minHeight: this.state.naturalImageHeight
283
- } : null]
294
+ }]
284
295
  }))));
285
296
  });
286
297
  }
@@ -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","Component","constructor","props","state","parse","val","arguments","length","undefined","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","replace","componentDidUpdate","prevProps","prevState","snapshot","setState","render","_this$props$size","_this$props$style","createElement","style","borderWidth","overflow","absoluteFill","middle","flexDirection","justifyContent","alignItems","size","width","position","borderRadius","children","BackgroundComponent","_defineProperty","caluculateSize","imageSrc","height","resolveAssetSource","naturalImageWidth","naturalImageHeight","getSize","uri","getDimension","dim","getPosition","result","top","bottom","left","right","getPositionAndSize","_this$props$size2","_this$getGradient","resizeMode","getGradient","repeat","renderLinearGradient","data","psresult","image","setImage","componentDidMount","setTimeout","_this$props$image","_source","source","startsWith","_this$props$image2","loadAsset","_this$props$image3","renderImage","_psresult$position","_psresult$position2","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 { 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\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(parseInt(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\n colors={this.state.colors}\n locations={this.state.locations}\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 = {} 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]);\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]);\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]);\n result.size.height = size[2].endsWith('%') ? size[2] : parseInt(size[2]);\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 </LinearGradient>\n );\n }\n\n componentDidUpdate(prevProps: Readonly<BackgroundProps>, prevState: Readonly<{}>, snapshot?: any): void {\n if (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?.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 }\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 this.loadAsset = loadAsset;\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 minWidth: this.state.naturalImageWidth,\n minHeight: this.state.naturalImageHeight\n } : null\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\n"],"mappings":"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"}
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","arguments","length","undefined","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","replace","componentDidUpdate","prevProps","prevState","snapshot","setState","render","_this$props$size","_this$props$style","createElement","style","borderWidth","overflow","absoluteFill","middle","flexDirection","justifyContent","alignItems","size","width","position","borderRadius","children","BackgroundComponent","_defineProperty","imageSrc","image","caluculateSize","height","resolveAssetSource","naturalImageWidth","naturalImageHeight","getSize","uri","getDimension","dim","getPosition","result","top","bottom","left","right","getPositionAndSize","_this$props$size2","_this$getGradient","resizeMode","getGradient","repeat","renderLinearGradient","data","psresult","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 { 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(parseInt(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\n colors={this.state.colors}\n locations={this.state.locations}\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]);\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]);\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]);\n result.size.height = size[2].endsWith('%') ? size[2] : parseInt(size[2]);\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 </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 loadImage && this.setImage();\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\n"],"mappings":"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"}