@wavemaker/app-rn-runtime 11.11.7-rc.218 → 11.12.0-next.28180

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.component.js +11 -5
  4. package/components/basic/anchor/anchor.component.js.map +1 -1
  5. package/components/basic/anchor/anchor.props.js +1 -0
  6. package/components/basic/anchor/anchor.props.js.map +1 -1
  7. package/components/basic/audio/audio.component.js +52 -47
  8. package/components/basic/audio/audio.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
  10. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
  12. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  13. package/components/basic/button/button.component.js +2 -1
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/button/button.props.js +1 -0
  16. package/components/basic/button/button.props.js.map +1 -1
  17. package/components/basic/label/label.component.js.map +1 -1
  18. package/components/basic/label/label.props.js +1 -0
  19. package/components/basic/label/label.props.js.map +1 -1
  20. package/components/basic/message/message.component.js +15 -7
  21. package/components/basic/message/message.component.js.map +1 -1
  22. package/components/basic/message/message.props.js +1 -0
  23. package/components/basic/message/message.props.js.map +1 -1
  24. package/components/basic/picture/picture.component.js +2 -2
  25. package/components/basic/picture/picture.component.js.map +1 -1
  26. package/components/basic/video/video.component.js +69 -42
  27. package/components/basic/video/video.component.js.map +1 -1
  28. package/components/chart/basechart.props.js +1 -0
  29. package/components/chart/basechart.props.js.map +1 -1
  30. package/components/container/container.component.js +107 -27
  31. package/components/container/container.component.js.map +1 -1
  32. package/components/container/container.props.js +3 -1
  33. package/components/container/container.props.js.map +1 -1
  34. package/components/container/container.styles.js +1 -3
  35. package/components/container/container.styles.js.map +1 -1
  36. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
  37. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  40. package/components/container/tabs/tabheader/tabheader.component.js +11 -2
  41. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  42. package/components/container/tabs/tabheader/tabheader.props.js +1 -0
  43. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  44. package/components/container/tabs/tabpane/tabpane.props.js +3 -0
  45. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  46. package/components/container/tabs/tabs.component.js +11 -2
  47. package/components/container/tabs/tabs.component.js.map +1 -1
  48. package/components/container/wizard/wizard.component.js +1 -0
  49. package/components/container/wizard/wizard.component.js.map +1 -1
  50. package/components/data/list/list.component.js +23 -13
  51. package/components/data/list/list.component.js.map +1 -1
  52. package/components/device/barcodescanner/barcodescanner.component.js +33 -18
  53. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  54. package/components/device/barcodescanner/barcodescanner.props.js +2 -1
  55. package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
  56. package/components/device/camera/camera.component.js +35 -22
  57. package/components/device/camera/camera.component.js.map +1 -1
  58. package/components/device/camera/camera.props.js +2 -1
  59. package/components/device/camera/camera.props.js.map +1 -1
  60. package/components/input/basedataset/basedataset.props.js +1 -0
  61. package/components/input/basedataset/basedataset.props.js.map +1 -1
  62. package/components/input/calendar/calendar.component.js +12 -4
  63. package/components/input/calendar/calendar.component.js.map +1 -1
  64. package/components/input/calendar/views/month-view.js +9 -2
  65. package/components/input/calendar/views/month-view.js.map +1 -1
  66. package/components/input/checkbox/checkbox.component.js +5 -5
  67. package/components/input/checkbox/checkbox.component.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.component.js +15 -11
  69. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  70. package/components/input/chips/chips.component.js +25 -12
  71. package/components/input/chips/chips.component.js.map +1 -1
  72. package/components/input/currency/currency.component.js +5 -2
  73. package/components/input/currency/currency.component.js.map +1 -1
  74. package/components/input/epoch/base-datetime.component.js +9 -9
  75. package/components/input/epoch/base-datetime.component.js.map +1 -1
  76. package/components/input/epoch/datetime/datetime.props.js +1 -0
  77. package/components/input/epoch/datetime/datetime.props.js.map +1 -1
  78. package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
  79. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
  81. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
  83. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  84. package/components/input/fileupload/fileupload.component.js +23 -14
  85. package/components/input/fileupload/fileupload.component.js.map +1 -1
  86. package/components/input/fileupload/fileupload.props.js +2 -0
  87. package/components/input/fileupload/fileupload.props.js.map +1 -1
  88. package/components/input/radioset/radioset.component.js +15 -5
  89. package/components/input/radioset/radioset.component.js.map +1 -1
  90. package/components/input/rating/rating.component.js +11 -3
  91. package/components/input/rating/rating.component.js.map +1 -1
  92. package/components/input/rating/rating.props.js +4 -0
  93. package/components/input/rating/rating.props.js.map +1 -1
  94. package/components/input/select/select.component.js +7 -5
  95. package/components/input/select/select.component.js.map +1 -1
  96. package/components/input/slider/slider.component.js +2 -1
  97. package/components/input/slider/slider.component.js.map +1 -1
  98. package/components/input/switch/switch.component.js +11 -9
  99. package/components/input/switch/switch.component.js.map +1 -1
  100. package/components/input/toggle/toggle.component.js +8 -4
  101. package/components/input/toggle/toggle.component.js.map +1 -1
  102. package/components/input/toggle/toggle.props.js +1 -0
  103. package/components/input/toggle/toggle.props.js.map +1 -1
  104. package/components/navigation/appnavbar/appnavbar.component.js +19 -61
  105. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  106. package/components/navigation/navitem/navitem.component.js +3 -1
  107. package/components/navigation/navitem/navitem.component.js.map +1 -1
  108. package/components/navigation/popover/popover.component.js +2 -1
  109. package/components/navigation/popover/popover.component.js.map +1 -1
  110. package/components/navigation/popover/popover.props.js +2 -1
  111. package/components/navigation/popover/popover.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +74 -20
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +1 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +29 -44
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +4 -2
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +24 -13
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/core/AppConfig.js.map +1 -1
  123. package/core/accessibility.js +51 -32
  124. package/core/accessibility.js.map +1 -1
  125. package/core/base.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.component.js +140 -0
  127. package/core/components/error-fallback/error-fallback.component.js.map +1 -0
  128. package/core/components/error-fallback/error-fallback.styles.js +224 -0
  129. package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
  130. package/core/components/sticky-base.component.js +54 -0
  131. package/core/components/sticky-base.component.js.map +1 -0
  132. package/core/components/sticky-container.component.js +34 -0
  133. package/core/components/sticky-container.component.js.map +1 -0
  134. package/core/components/sticky-container.styles.js +98 -0
  135. package/core/components/sticky-container.styles.js.map +1 -0
  136. package/core/components/sticky-nav.component.js +28 -0
  137. package/core/components/sticky-nav.component.js.map +1 -0
  138. package/core/device/av-service.js +8 -0
  139. package/core/device/av-service.js.map +1 -0
  140. package/core/device/calendar-service.js +7 -1
  141. package/core/device/calendar-service.js.map +1 -1
  142. package/core/device/camera-service.js +6 -0
  143. package/core/device/camera-service.js.map +1 -1
  144. package/core/device/contacts-service.js +7 -1
  145. package/core/device/contacts-service.js.map +1 -1
  146. package/core/device/fileupload-service.js +8 -0
  147. package/core/device/fileupload-service.js.map +1 -0
  148. package/core/device/location-service.js +7 -1
  149. package/core/device/location-service.js.map +1 -1
  150. package/core/device/scan-service.js +6 -0
  151. package/core/device/scan-service.js.map +1 -1
  152. package/core/error-boundary.component.js +1 -1
  153. package/core/error-boundary.component.js.map +1 -1
  154. package/core/event-notifier.js +4 -3
  155. package/core/event-notifier.js.map +1 -1
  156. package/core/fixed-view.component.js +2 -1
  157. package/core/fixed-view.component.js.map +1 -1
  158. package/core/responsive.utils.js +8 -5
  159. package/core/responsive.utils.js.map +1 -1
  160. package/core/sticky-view.component.js +50 -0
  161. package/core/sticky-view.component.js.map +1 -0
  162. package/core/sticky-wrapper.js +129 -0
  163. package/core/sticky-wrapper.js.map +1 -0
  164. package/core/utils.js +0 -6
  165. package/core/utils.js.map +1 -1
  166. package/npm-shrinkwrap.json +5 -5
  167. package/package-lock.json +5 -5
  168. package/package.json +2 -2
  169. package/runtime/App.js +3 -5
  170. package/runtime/App.js.map +1 -1
  171. package/runtime/services/device/calendar-service.js +9 -5
  172. package/runtime/services/device/calendar-service.js.map +1 -1
  173. package/runtime/services/device/camera-service.js +39 -22
  174. package/runtime/services/device/camera-service.js.map +1 -1
  175. package/runtime/services/device/contacts-service.js +6 -5
  176. package/runtime/services/device/contacts-service.js.map +1 -1
  177. package/runtime/services/device/location-service.js +4 -4
  178. package/runtime/services/device/location-service.js.map +1 -1
  179. package/runtime/services/device/permission-service.js +5 -0
  180. package/runtime/services/device/permission-service.js.map +1 -0
  181. package/runtime/services/device/permissions.js +34 -39
  182. package/runtime/services/device/permissions.js.map +1 -1
  183. package/runtime/services/device/scan-service.js +4 -3
  184. package/runtime/services/device/scan-service.js.map +1 -1
  185. package/styles/theme.js +24 -18
  186. package/styles/theme.js.map +1 -1
  187. package/variables/device/calendar/create-event.operation.js +12 -1
  188. package/variables/device/calendar/create-event.operation.js.map +1 -1
  189. package/variables/device/calendar/delete-event.operation.js +12 -1
  190. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  191. package/variables/device/calendar/get-events.operation.js +12 -1
  192. package/variables/device/calendar/get-events.operation.js.map +1 -1
  193. package/variables/device/camera/capture-image.operation.js +8 -1
  194. package/variables/device/camera/capture-image.operation.js.map +1 -1
  195. package/variables/device/camera/capture-video.operation.js +7 -1
  196. package/variables/device/camera/capture-video.operation.js.map +1 -1
  197. package/variables/device/contacts/get-contacts.operation.js +12 -1
  198. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  199. package/variables/device/device/current-geo-position.operation.js +12 -1
  200. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  201. package/variables/device/file/upload-file.operation.js +17 -3
  202. package/variables/device/file/upload-file.operation.js.map +1 -1
  203. package/variables/device/scan/scan.operation.js +12 -1
  204. package/variables/device/scan/scan.operation.js.map +1 -1
  205. package/variables/http.service.js +6 -1
  206. package/variables/http.service.js.map +1 -1
  207. package/core/components/error-fallback.component.js +0 -264
  208. package/core/components/error-fallback.component.js.map +0 -1
  209. package/core/sticky-container.component.js +0 -175
  210. package/core/sticky-container.component.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","category","startsWith","replace","config","baseUrl","serviceType","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","__wmVariable","owner","_context","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n if (!isWebPreviewMode() \n && variable.serviceType === \"JavaService\"\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '');\n url = options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: !isWebPreviewMode() || options?.withCredentials !== false,\n __wmVariable: {\n name: variable.name,\n owner: variable.config._context.name\n }\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","_variable$serviceInfo2","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","map","item","encodeURIComponent","join","category","startsWith","replace","config","baseUrl","serviceType","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","__wmVariable","owner","_context","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n \n if ((variable?.serviceInfo?.consumes||[])[0] === 'application/x-www-form-urlencoded') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded';\n \n const data = (variable.serviceInfo.parameters||[])\n .map((item: any) => `${encodeURIComponent(item.name) + \"=\" + encodeURIComponent(variable.params[item.name])}`)\n .join(\"&\");\n requestBody = data;\n }\n\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n if (!isWebPreviewMode() \n && variable.serviceType === \"JavaService\"\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '');\n url = options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: !isWebPreviewMode() || options?.withCredentials !== false,\n __wmVariable: {\n name: variable.name,\n owner: variable.config._context.name\n }\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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","ignoreList":[]}
@@ -1,264 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { Text, View, StyleSheet, ScrollView, TouchableOpacity } from 'react-native';
3
- import { navigate, goBackRef } from '@wavemaker/app-rn-runtime/core/navigation.service';
4
- import * as Clipboard from 'expo-clipboard';
5
- import injector from '@wavemaker/app-rn-runtime/core/injector';
6
- const Fallback = props => {
7
- const {
8
- error,
9
- info,
10
- resetErrorBoundary
11
- } = props;
12
- const [showStack, setShowStack] = useState(false);
13
- const [isCopied, setIsCopied] = useState(false);
14
- const appConfig = injector.get('APP_CONFIG');
15
- const copyErrorToClipboard = async () => {
16
- const errorDetails = `
17
- Error: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}
18
- Stack: ${(error === null || error === void 0 ? void 0 : error.stack) || 'No stack available'}
19
- Component Stack: ${(info === null || info === void 0 ? void 0 : info.componentStack) || 'No component stack available'}
20
- `.trim();
21
- await Clipboard.setStringAsync(errorDetails);
22
- setIsCopied(true);
23
- setTimeout(() => {
24
- setIsCopied(false);
25
- }, 2000);
26
- };
27
- const handleGoBack = () => {
28
- goBackRef();
29
- if (resetErrorBoundary) {
30
- resetErrorBoundary();
31
- }
32
- };
33
- const handleGoHome = () => {
34
- navigate(appConfig.appProperties.homePage, {});
35
- if (resetErrorBoundary) {
36
- resetErrorBoundary();
37
- }
38
- };
39
- return /*#__PURE__*/React.createElement(View, {
40
- style: styles.container
41
- }, /*#__PURE__*/React.createElement(Text, {
42
- style: styles.title
43
- }, "Something went wrong."), /*#__PURE__*/React.createElement(Text, {
44
- style: styles.subtitle
45
- }, "Please try again."), /*#__PURE__*/React.createElement(View, {
46
- style: styles.errorCard
47
- }, /*#__PURE__*/React.createElement(Text, {
48
- style: styles.errorLabel
49
- }, "Error:"), /*#__PURE__*/React.createElement(Text, {
50
- style: styles.errorMessage
51
- }, (error === null || error === void 0 ? void 0 : error.message) || 'An unexpected error occurred')), /*#__PURE__*/React.createElement(TouchableOpacity, {
52
- style: styles.toggleButton,
53
- onPress: () => setShowStack(!showStack)
54
- }, /*#__PURE__*/React.createElement(Text, {
55
- style: styles.toggleText
56
- }, showStack ? 'Hide' : 'Show', " Error Details"), /*#__PURE__*/React.createElement(Text, {
57
- style: styles.toggleIcon
58
- }, showStack ? '▲' : '▼')), showStack && /*#__PURE__*/React.createElement(View, {
59
- style: styles.stackCard
60
- }, /*#__PURE__*/React.createElement(View, {
61
- style: styles.stackHeader
62
- }, /*#__PURE__*/React.createElement(Text, {
63
- style: styles.stackTitle
64
- }, "Error Stack"), /*#__PURE__*/React.createElement(TouchableOpacity, {
65
- onPress: copyErrorToClipboard,
66
- style: [styles.copyButton, isCopied && styles.copiedButton],
67
- disabled: isCopied
68
- }, /*#__PURE__*/React.createElement(Text, {
69
- style: [styles.copyButtonText, isCopied && styles.copiedButtonText]
70
- }, isCopied ? 'Copied!' : 'Copy'))), /*#__PURE__*/React.createElement(ScrollView, {
71
- style: styles.stackContainer,
72
- showsVerticalScrollIndicator: true
73
- }, /*#__PURE__*/React.createElement(Text, {
74
- style: styles.stackText,
75
- selectable: true
76
- }, (error === null || error === void 0 ? void 0 : error.stack) || 'No stack trace available'), (info === null || info === void 0 ? void 0 : info.componentStack) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
77
- style: styles.componentStackTitle
78
- }, "Component Stack:"), /*#__PURE__*/React.createElement(Text, {
79
- style: styles.stackText,
80
- selectable: true
81
- }, info.componentStack)))), /*#__PURE__*/React.createElement(View, {
82
- style: styles.buttonContainer
83
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
84
- style: styles.secondaryButton,
85
- onPress: handleGoBack
86
- }, /*#__PURE__*/React.createElement(Text, {
87
- style: styles.secondaryButtonText
88
- }, "Go Back")), /*#__PURE__*/React.createElement(TouchableOpacity, {
89
- style: styles.primaryButton,
90
- onPress: handleGoHome
91
- }, /*#__PURE__*/React.createElement(Text, {
92
- style: styles.primaryButtonText
93
- }, "Go to Home"))));
94
- };
95
- const styles = StyleSheet.create({
96
- container: {
97
- flex: 1,
98
- padding: 20,
99
- backgroundColor: '#f8f9fa',
100
- justifyContent: 'center'
101
- },
102
- imageContainer: {
103
- alignItems: 'center',
104
- marginBottom: 30
105
- },
106
- errorImage: {
107
- width: 200,
108
- height: 150
109
- },
110
- title: {
111
- fontSize: 24,
112
- fontWeight: '600',
113
- textAlign: 'center',
114
- color: '#2d3748',
115
- marginBottom: 8
116
- },
117
- subtitle: {
118
- fontSize: 16,
119
- textAlign: 'center',
120
- color: '#718096',
121
- marginBottom: 30
122
- },
123
- errorCard: {
124
- backgroundColor: '#fff',
125
- borderRadius: 12,
126
- padding: 16,
127
- marginBottom: 16,
128
- borderLeftWidth: 4,
129
- borderLeftColor: '#f56565',
130
- shadowColor: '#000',
131
- shadowOffset: {
132
- width: 0,
133
- height: 2
134
- },
135
- shadowOpacity: 0.1,
136
- shadowRadius: 4,
137
- elevation: 3
138
- },
139
- errorLabel: {
140
- fontSize: 14,
141
- fontWeight: '600',
142
- color: '#e53e3e',
143
- marginBottom: 8
144
- },
145
- errorMessage: {
146
- fontSize: 16,
147
- color: '#2d3748',
148
- lineHeight: 22
149
- },
150
- toggleButton: {
151
- flexDirection: 'row',
152
- alignItems: 'center',
153
- justifyContent: 'center',
154
- paddingVertical: 12,
155
- paddingHorizontal: 16,
156
- backgroundColor: '#edf2f7',
157
- borderRadius: 8,
158
- marginBottom: 16
159
- },
160
- toggleText: {
161
- fontSize: 16,
162
- color: '#4a5568',
163
- marginRight: 8
164
- },
165
- toggleIcon: {
166
- fontSize: 12,
167
- color: '#4a5568'
168
- },
169
- stackCard: {
170
- backgroundColor: '#fff',
171
- borderRadius: 12,
172
- marginBottom: 24,
173
- borderWidth: 1,
174
- borderColor: '#e2e8f0',
175
- shadowColor: '#000',
176
- shadowOffset: {
177
- width: 0,
178
- height: 2
179
- },
180
- shadowOpacity: 0.1,
181
- shadowRadius: 4,
182
- elevation: 3
183
- },
184
- stackHeader: {
185
- flexDirection: 'row',
186
- justifyContent: 'space-between',
187
- alignItems: 'center',
188
- padding: 16,
189
- borderBottomWidth: 1,
190
- borderBottomColor: '#e2e8f0'
191
- },
192
- stackTitle: {
193
- fontSize: 16,
194
- fontWeight: '600',
195
- color: '#2d3748'
196
- },
197
- copyButton: {
198
- paddingVertical: 6,
199
- paddingHorizontal: 12,
200
- backgroundColor: '#4299e1',
201
- borderRadius: 6
202
- },
203
- copiedButton: {
204
- backgroundColor: '#48bb78'
205
- },
206
- copyButtonText: {
207
- color: '#fff',
208
- fontSize: 14,
209
- fontWeight: '500'
210
- },
211
- copiedButtonText: {
212
- color: '#fff'
213
- },
214
- stackContainer: {
215
- maxHeight: 200,
216
- padding: 16
217
- },
218
- stackText: {
219
- fontSize: 12,
220
- color: '#4a5568',
221
- lineHeight: 16,
222
- fontFamily: 'monospace'
223
- },
224
- componentStackTitle: {
225
- fontSize: 14,
226
- fontWeight: '600',
227
- color: '#2d3748',
228
- marginTop: 16,
229
- marginBottom: 8
230
- },
231
- buttonContainer: {
232
- flexDirection: 'row',
233
- justifyContent: 'space-between',
234
- gap: 12
235
- },
236
- primaryButton: {
237
- flex: 1,
238
- backgroundColor: '#4299e1',
239
- borderRadius: 8,
240
- paddingVertical: 14,
241
- alignItems: 'center'
242
- },
243
- primaryButtonText: {
244
- color: '#fff',
245
- fontSize: 16,
246
- fontWeight: '600'
247
- },
248
- secondaryButton: {
249
- flex: 1,
250
- backgroundColor: '#fff',
251
- borderRadius: 8,
252
- paddingVertical: 14,
253
- alignItems: 'center',
254
- borderWidth: 1,
255
- borderColor: '#e2e8f0'
256
- },
257
- secondaryButtonText: {
258
- color: '#4a5568',
259
- fontSize: 16,
260
- fontWeight: '600'
261
- }
262
- });
263
- export default Fallback;
264
- //# sourceMappingURL=error-fallback.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useState","Text","View","StyleSheet","ScrollView","TouchableOpacity","navigate","goBackRef","Clipboard","injector","Fallback","props","error","info","resetErrorBoundary","showStack","setShowStack","isCopied","setIsCopied","appConfig","get","copyErrorToClipboard","errorDetails","message","stack","componentStack","trim","setStringAsync","setTimeout","handleGoBack","handleGoHome","appProperties","homePage","createElement","style","styles","container","title","subtitle","errorCard","errorLabel","errorMessage","toggleButton","onPress","toggleText","toggleIcon","stackCard","stackHeader","stackTitle","copyButton","copiedButton","disabled","copyButtonText","copiedButtonText","stackContainer","showsVerticalScrollIndicator","stackText","selectable","Fragment","componentStackTitle","buttonContainer","secondaryButton","secondaryButtonText","primaryButton","primaryButtonText","create","flex","padding","backgroundColor","justifyContent","imageContainer","alignItems","marginBottom","errorImage","width","height","fontSize","fontWeight","textAlign","color","borderRadius","borderLeftWidth","borderLeftColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","flexDirection","paddingVertical","paddingHorizontal","marginRight","borderWidth","borderColor","borderBottomWidth","borderBottomColor","maxHeight","fontFamily","marginTop","gap"],"sources":["error-fallback.component.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Text,\n View,\n StyleSheet,\n ScrollView,\n TouchableOpacity,\n Image,\n} from 'react-native';\nimport {\n navigate,\n goBackRef,\n} from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport * as Clipboard from 'expo-clipboard';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nconst Fallback = (props: any) => {\n const { error, info, resetErrorBoundary } = props;\n const [showStack, setShowStack] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n const copyErrorToClipboard = async () => {\n const errorDetails = `\nError: ${error?.message || 'Unknown error'}\nStack: ${error?.stack || 'No stack available'}\nComponent Stack: ${info?.componentStack || 'No component stack available'}\n `.trim();\n\n await Clipboard.setStringAsync(errorDetails);\n setIsCopied(true);\n\n setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n };\n\n const handleGoBack = () => {\n goBackRef();\n if (resetErrorBoundary) {\n resetErrorBoundary();\n }\n };\n\n const handleGoHome = () => {\n navigate(appConfig.appProperties.homePage, {});\n if (resetErrorBoundary) {\n resetErrorBoundary();\n }\n };\n\n return (\n <View style={styles.container}>\n {/* Error Image */}\n {/* <View style={styles.imageContainer}>\n {\n <Image\n source={require('./something_wrong.png')}\n style={styles.errorImage}\n resizeMode=\"contain\"\n />\n }\n </View> */}\n\n {/* Error Message */}\n <Text style={styles.title}>Something went wrong.</Text>\n <Text style={styles.subtitle}>Please try again.</Text>\n\n {/* Main Error Display */}\n <View style={styles.errorCard}>\n <Text style={styles.errorLabel}>Error:</Text>\n <Text style={styles.errorMessage}>\n {error?.message || 'An unexpected error occurred'}\n </Text>\n </View>\n\n {/* Stack Toggle */}\n <TouchableOpacity\n style={styles.toggleButton}\n onPress={() => setShowStack(!showStack)}\n >\n <Text style={styles.toggleText}>\n {showStack ? 'Hide' : 'Show'} Error Details\n </Text>\n <Text style={styles.toggleIcon}>{showStack ? '▲' : '▼'}</Text>\n </TouchableOpacity>\n\n {/* Stack Details */}\n {showStack && (\n <View style={styles.stackCard}>\n <View style={styles.stackHeader}>\n <Text style={styles.stackTitle}>Error Stack</Text>\n <TouchableOpacity\n onPress={copyErrorToClipboard}\n style={[styles.copyButton, isCopied && styles.copiedButton]}\n disabled={isCopied}\n >\n <Text\n style={[\n styles.copyButtonText,\n isCopied && styles.copiedButtonText,\n ]}\n >\n {isCopied ? 'Copied!' : 'Copy'}\n </Text>\n </TouchableOpacity>\n </View>\n <ScrollView\n style={styles.stackContainer}\n showsVerticalScrollIndicator={true}\n >\n <Text style={styles.stackText} selectable={true}>\n {error?.stack || 'No stack trace available'}\n </Text>\n {info?.componentStack && (\n <>\n <Text style={styles.componentStackTitle}>Component Stack:</Text>\n <Text style={styles.stackText} selectable={true}>\n {info.componentStack}\n </Text>\n </>\n )}\n </ScrollView>\n </View>\n )}\n\n {/* Action Buttons */}\n <View style={styles.buttonContainer}>\n <TouchableOpacity style={styles.secondaryButton} onPress={handleGoBack}>\n <Text style={styles.secondaryButtonText}>Go Back</Text>\n </TouchableOpacity>\n <TouchableOpacity style={styles.primaryButton} onPress={handleGoHome}>\n <Text style={styles.primaryButtonText}>Go to Home</Text>\n </TouchableOpacity>\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n backgroundColor: '#f8f9fa',\n justifyContent: 'center',\n },\n imageContainer: {\n alignItems: 'center',\n marginBottom: 30,\n },\n errorImage: {\n width: 200,\n height: 150,\n },\n title: {\n fontSize: 24,\n fontWeight: '600',\n textAlign: 'center',\n color: '#2d3748',\n marginBottom: 8,\n },\n subtitle: {\n fontSize: 16,\n textAlign: 'center',\n color: '#718096',\n marginBottom: 30,\n },\n errorCard: {\n backgroundColor: '#fff',\n borderRadius: 12,\n padding: 16,\n marginBottom: 16,\n borderLeftWidth: 4,\n borderLeftColor: '#f56565',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n errorLabel: {\n fontSize: 14,\n fontWeight: '600',\n color: '#e53e3e',\n marginBottom: 8,\n },\n errorMessage: {\n fontSize: 16,\n color: '#2d3748',\n lineHeight: 22,\n },\n toggleButton: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 12,\n paddingHorizontal: 16,\n backgroundColor: '#edf2f7',\n borderRadius: 8,\n marginBottom: 16,\n },\n toggleText: {\n fontSize: 16,\n color: '#4a5568',\n marginRight: 8,\n },\n toggleIcon: {\n fontSize: 12,\n color: '#4a5568',\n },\n stackCard: {\n backgroundColor: '#fff',\n borderRadius: 12,\n marginBottom: 24,\n borderWidth: 1,\n borderColor: '#e2e8f0',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n stackHeader: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 16,\n borderBottomWidth: 1,\n borderBottomColor: '#e2e8f0',\n },\n stackTitle: {\n fontSize: 16,\n fontWeight: '600',\n color: '#2d3748',\n },\n copyButton: {\n paddingVertical: 6,\n paddingHorizontal: 12,\n backgroundColor: '#4299e1',\n borderRadius: 6,\n },\n copiedButton: {\n backgroundColor: '#48bb78',\n },\n copyButtonText: {\n color: '#fff',\n fontSize: 14,\n fontWeight: '500',\n },\n copiedButtonText: {\n color: '#fff',\n },\n stackContainer: {\n maxHeight: 200,\n padding: 16,\n },\n stackText: {\n fontSize: 12,\n color: '#4a5568',\n lineHeight: 16,\n fontFamily: 'monospace',\n },\n componentStackTitle: {\n fontSize: 14,\n fontWeight: '600',\n color: '#2d3748',\n marginTop: 16,\n marginBottom: 8,\n },\n buttonContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n gap: 12,\n },\n primaryButton: {\n flex: 1,\n backgroundColor: '#4299e1',\n borderRadius: 8,\n paddingVertical: 14,\n alignItems: 'center',\n },\n primaryButtonText: {\n color: '#fff',\n fontSize: 16,\n fontWeight: '600',\n },\n secondaryButton: {\n flex: 1,\n backgroundColor: '#fff',\n borderRadius: 8,\n paddingVertical: 14,\n alignItems: 'center',\n borderWidth: 1,\n borderColor: '#e2e8f0',\n },\n secondaryButtonText: {\n color: '#4a5568',\n fontSize: 16,\n fontWeight: '600',\n },\n});\n\nexport default Fallback;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,UAAU,EACVC,gBAAgB,QAEX,cAAc;AACrB,SACEC,QAAQ,EACRC,SAAS,QACJ,mDAAmD;AAC1D,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C,OAAOC,QAAQ,MAAM,yCAAyC;AAE9D,MAAMC,QAAQ,GAAIC,KAAU,IAAK;EAC/B,MAAM;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAmB,CAAC,GAAGH,KAAK;EACjD,MAAM,CAACI,SAAS,EAAEC,YAAY,CAAC,GAAGhB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACiB,QAAQ,EAAEC,WAAW,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMmB,SAAS,GAAGV,QAAQ,CAACW,GAAG,CAAY,YAAY,CAAC;EAEvD,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAAY;IACvC,MAAMC,YAAY,GAAG;AACzB,SAAS,CAAAV,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,OAAO,KAAI,eAAe;AAC1C,SAAS,CAAAX,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEY,KAAK,KAAI,oBAAoB;AAC7C,mBAAmB,CAAAX,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEY,cAAc,KAAI,8BAA8B;AACzE,KAAK,CAACC,IAAI,CAAC,CAAC;IAER,MAAMlB,SAAS,CAACmB,cAAc,CAACL,YAAY,CAAC;IAC5CJ,WAAW,CAAC,IAAI,CAAC;IAEjBU,UAAU,CAAC,MAAM;MACfV,WAAW,CAAC,KAAK,CAAC;IACpB,CAAC,EAAE,IAAI,CAAC;EACV,CAAC;EAED,MAAMW,YAAY,GAAGA,CAAA,KAAM;IACzBtB,SAAS,CAAC,CAAC;IACX,IAAIO,kBAAkB,EAAE;MACtBA,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC;EAED,MAAMgB,YAAY,GAAGA,CAAA,KAAM;IACzBxB,QAAQ,CAACa,SAAS,CAACY,aAAa,CAACC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAIlB,kBAAkB,EAAE;MACtBA,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC;EAED,oBACEf,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAa5BrC,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACE;EAAM,GAAC,uBAA2B,CAAC,eACvDtC,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACG;EAAS,GAAC,mBAAuB,CAAC,eAGtDvC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACI;EAAU,gBAC5BxC,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACK;EAAW,GAAC,QAAY,CAAC,eAC7CzC,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACM;EAAa,GAC9B,CAAA7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,OAAO,KAAI,8BACf,CACF,CAAC,eAGPxB,KAAA,CAAAkC,aAAA,CAAC5B,gBAAgB;IACf6B,KAAK,EAAEC,MAAM,CAACO,YAAa;IAC3BC,OAAO,EAAEA,CAAA,KAAM3B,YAAY,CAAC,CAACD,SAAS;EAAE,gBAExChB,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACS;EAAW,GAC5B7B,SAAS,GAAG,MAAM,GAAG,MAAM,EAAC,gBACzB,CAAC,eACPhB,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACU;EAAW,GAAE9B,SAAS,GAAG,GAAG,GAAG,GAAU,CAC7C,CAAC,EAGlBA,SAAS,iBACRhB,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACW;EAAU,gBAC5B/C,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACY;EAAY,gBAC9BhD,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACa;EAAW,GAAC,aAAiB,CAAC,eAClDjD,KAAA,CAAAkC,aAAA,CAAC5B,gBAAgB;IACfsC,OAAO,EAAEtB,oBAAqB;IAC9Ba,KAAK,EAAE,CAACC,MAAM,CAACc,UAAU,EAAEhC,QAAQ,IAAIkB,MAAM,CAACe,YAAY,CAAE;IAC5DC,QAAQ,EAAElC;EAAS,gBAEnBlB,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IACHiC,KAAK,EAAE,CACLC,MAAM,CAACiB,cAAc,EACrBnC,QAAQ,IAAIkB,MAAM,CAACkB,gBAAgB;EACnC,GAEDpC,QAAQ,GAAG,SAAS,GAAG,MACpB,CACU,CACd,CAAC,eACPlB,KAAA,CAAAkC,aAAA,CAAC7B,UAAU;IACT8B,KAAK,EAAEC,MAAM,CAACmB,cAAe;IAC7BC,4BAA4B,EAAE;EAAK,gBAEnCxD,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACqB,SAAU;IAACC,UAAU,EAAE;EAAK,GAC7C,CAAA7C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEY,KAAK,KAAI,0BACb,CAAC,EACN,CAAAX,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEY,cAAc,kBACnB1B,KAAA,CAAAkC,aAAA,CAAAlC,KAAA,CAAA2D,QAAA,qBACE3D,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACwB;EAAoB,GAAC,kBAAsB,CAAC,eAChE5D,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACqB,SAAU;IAACC,UAAU,EAAE;EAAK,GAC7C5C,IAAI,CAACY,cACF,CACN,CAEM,CACR,CACP,eAGD1B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACyB;EAAgB,gBAClC7D,KAAA,CAAAkC,aAAA,CAAC5B,gBAAgB;IAAC6B,KAAK,EAAEC,MAAM,CAAC0B,eAAgB;IAAClB,OAAO,EAAEd;EAAa,gBACrE9B,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAAC2B;EAAoB,GAAC,SAAa,CACtC,CAAC,eACnB/D,KAAA,CAAAkC,aAAA,CAAC5B,gBAAgB;IAAC6B,KAAK,EAAEC,MAAM,CAAC4B,aAAc;IAACpB,OAAO,EAAEb;EAAa,gBACnE/B,KAAA,CAAAkC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAAC6B;EAAkB,GAAC,YAAgB,CACvC,CACd,CACF,CAAC;AAEX,CAAC;AAED,MAAM7B,MAAM,GAAGhC,UAAU,CAAC8D,MAAM,CAAC;EAC/B7B,SAAS,EAAE;IACT8B,IAAI,EAAE,CAAC;IACPC,OAAO,EAAE,EAAE;IACXC,eAAe,EAAE,SAAS;IAC1BC,cAAc,EAAE;EAClB,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE;EAChB,CAAC;EACDC,UAAU,EAAE;IACVC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE;EACV,CAAC;EACDtC,KAAK,EAAE;IACLuC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE,QAAQ;IACnBC,KAAK,EAAE,SAAS;IAChBP,YAAY,EAAE;EAChB,CAAC;EACDlC,QAAQ,EAAE;IACRsC,QAAQ,EAAE,EAAE;IACZE,SAAS,EAAE,QAAQ;IACnBC,KAAK,EAAE,SAAS;IAChBP,YAAY,EAAE;EAChB,CAAC;EACDjC,SAAS,EAAE;IACT6B,eAAe,EAAE,MAAM;IACvBY,YAAY,EAAE,EAAE;IAChBb,OAAO,EAAE,EAAE;IACXK,YAAY,EAAE,EAAE;IAChBS,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAE,SAAS;IAC1BC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEV,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCU,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACD/C,UAAU,EAAE;IACVoC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBE,KAAK,EAAE,SAAS;IAChBP,YAAY,EAAE;EAChB,CAAC;EACD/B,YAAY,EAAE;IACZmC,QAAQ,EAAE,EAAE;IACZG,KAAK,EAAE,SAAS;IAChBS,UAAU,EAAE;EACd,CAAC;EACD9C,YAAY,EAAE;IACZ+C,aAAa,EAAE,KAAK;IACpBlB,UAAU,EAAE,QAAQ;IACpBF,cAAc,EAAE,QAAQ;IACxBqB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBvB,eAAe,EAAE,SAAS;IAC1BY,YAAY,EAAE,CAAC;IACfR,YAAY,EAAE;EAChB,CAAC;EACD5B,UAAU,EAAE;IACVgC,QAAQ,EAAE,EAAE;IACZG,KAAK,EAAE,SAAS;IAChBa,WAAW,EAAE;EACf,CAAC;EACD/C,UAAU,EAAE;IACV+B,QAAQ,EAAE,EAAE;IACZG,KAAK,EAAE;EACT,CAAC;EACDjC,SAAS,EAAE;IACTsB,eAAe,EAAE,MAAM;IACvBY,YAAY,EAAE,EAAE;IAChBR,YAAY,EAAE,EAAE;IAChBqB,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,SAAS;IACtBX,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEV,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCU,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDxC,WAAW,EAAE;IACX0C,aAAa,EAAE,KAAK;IACpBpB,cAAc,EAAE,eAAe;IAC/BE,UAAU,EAAE,QAAQ;IACpBJ,OAAO,EAAE,EAAE;IACX4B,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDhD,UAAU,EAAE;IACV4B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBE,KAAK,EAAE;EACT,CAAC;EACD9B,UAAU,EAAE;IACVyC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBvB,eAAe,EAAE,SAAS;IAC1BY,YAAY,EAAE;EAChB,CAAC;EACD9B,YAAY,EAAE;IACZkB,eAAe,EAAE;EACnB,CAAC;EACDhB,cAAc,EAAE;IACd2B,KAAK,EAAE,MAAM;IACbH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDxB,gBAAgB,EAAE;IAChB0B,KAAK,EAAE;EACT,CAAC;EACDzB,cAAc,EAAE;IACd2C,SAAS,EAAE,GAAG;IACd9B,OAAO,EAAE;EACX,CAAC;EACDX,SAAS,EAAE;IACToB,QAAQ,EAAE,EAAE;IACZG,KAAK,EAAE,SAAS;IAChBS,UAAU,EAAE,EAAE;IACdU,UAAU,EAAE;EACd,CAAC;EACDvC,mBAAmB,EAAE;IACnBiB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBE,KAAK,EAAE,SAAS;IAChBoB,SAAS,EAAE,EAAE;IACb3B,YAAY,EAAE;EAChB,CAAC;EACDZ,eAAe,EAAE;IACf6B,aAAa,EAAE,KAAK;IACpBpB,cAAc,EAAE,eAAe;IAC/B+B,GAAG,EAAE;EACP,CAAC;EACDrC,aAAa,EAAE;IACbG,IAAI,EAAE,CAAC;IACPE,eAAe,EAAE,SAAS;IAC1BY,YAAY,EAAE,CAAC;IACfU,eAAe,EAAE,EAAE;IACnBnB,UAAU,EAAE;EACd,CAAC;EACDP,iBAAiB,EAAE;IACjBe,KAAK,EAAE,MAAM;IACbH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDhB,eAAe,EAAE;IACfK,IAAI,EAAE,CAAC;IACPE,eAAe,EAAE,MAAM;IACvBY,YAAY,EAAE,CAAC;IACfU,eAAe,EAAE,EAAE;IACnBnB,UAAU,EAAE,QAAQ;IACpBsB,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE;EACf,CAAC;EACDhC,mBAAmB,EAAE;IACnBiB,KAAK,EAAE,SAAS;IAChBH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAenE,QAAQ","ignoreList":[]}
@@ -1,175 +0,0 @@
1
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
- import React, { Component } from "react";
5
- import { Animated, View, Platform } from "react-native";
6
- import { SafeAreaInsetsContext } from "react-native-safe-area-context";
7
- import { ThemeProvider } from "@wavemaker/app-rn-runtime/styles/theme";
8
- import injector from '@wavemaker/app-rn-runtime/core/injector';
9
- const StickyViewContext = /*#__PURE__*/React.createContext(null);
10
- export class StickyViewState {
11
- constructor() {
12
- _defineProperty(this, "isStickyVisible", false);
13
- }
14
- }
15
- export class StickyView extends Component {
16
- constructor(props) {
17
- super(props);
18
- _defineProperty(this, "container", null);
19
- _defineProperty(this, "cachedComponent", void 0);
20
- _defineProperty(this, "id", StickyView.counter++);
21
- _defineProperty(this, "destroyScrollListner", null);
22
- _defineProperty(this, "insets", null);
23
- _defineProperty(this, "refScrollPosition", 0);
24
- _defineProperty(this, "lastScrollDirection", 1);
25
- _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
26
- _defineProperty(this, "scrolled", false);
27
- this.state = new StickyViewState();
28
- this.listenScrollEvent();
29
- }
30
- componentWillUnmount() {
31
- var _this$container;
32
- (_this$container = this.container) === null || _this$container === void 0 || _this$container.remove(this);
33
- this.destroyScrollListner && this.destroyScrollListner();
34
- }
35
- listenScrollEvent() {
36
- this.destroyScrollListner && this.destroyScrollListner();
37
- const component = this.props.component;
38
- let yPosition;
39
- this.destroyScrollListner = component.subscribe('scroll', e => {
40
- var _component$getLayout, _this$insets, _component$getLayout2;
41
- const height = (_component$getLayout = component.getLayout()) === null || _component$getLayout === void 0 ? void 0 : _component$getLayout.height;
42
- const topInsetsInYposition = Platform.OS == 'ios' ? ((_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.top) || 0 : 0;
43
- yPosition = yPosition || yPosition == 0 ? yPosition : (component === null || component === void 0 || (_component$getLayout2 = component.getLayout()) === null || _component$getLayout2 === void 0 ? void 0 : _component$getLayout2.py) - topInsetsInYposition;
44
- const scrollPosition = e.nativeEvent.contentOffset.y;
45
- let isStickyVisible = false;
46
- const {
47
- containerHeight = 0,
48
- hiddenHeight = 0
49
- } = this.container || {};
50
- const containerHeightVal = Math.abs(containerHeight + hiddenHeight);
51
- if (!this.scrolled) this.scrolled = true;
52
- if (e.scrollDirection) {
53
- if (this.lastScrollDirection !== e.scrollDirection) {
54
- this.refScrollPosition = scrollPosition;
55
- }
56
- this.lastScrollDirection = e.scrollDirection;
57
- }
58
-
59
- // based on scrollDirection checking for stickyVisibility
60
- if (e.scrollDirection <= 0) {
61
- isStickyVisible = scrollPosition > 10 // scroll threshold value of 10
62
- && scrollPosition + containerHeightVal + this.appConfig.pageScrollTopThreshold >= yPosition + height;
63
- } else {
64
- isStickyVisible = scrollPosition + this.appConfig.pageScrollTopThreshold >= yPosition + (this.props.slide ? height : 0);
65
- }
66
- if (this.state.isStickyVisible !== isStickyVisible) {
67
- this.setState({
68
- isStickyVisible: isStickyVisible
69
- }, () => {
70
- if (isStickyVisible && this.props.slide) {
71
- var _this$container2;
72
- (_this$container2 = this.container) === null || _this$container2 === void 0 || _this$container2.slideBy(-1 * height);
73
- } else {
74
- var _this$container3;
75
- (_this$container3 = this.container) === null || _this$container3 === void 0 || _this$container3.slideBy(this.refScrollPosition - scrollPosition);
76
- }
77
- });
78
- } else {
79
- var _this$container4;
80
- (_this$container4 = this.container) === null || _this$container4 === void 0 || _this$container4.slideBy(this.refScrollPosition - scrollPosition);
81
- }
82
- });
83
- }
84
- render() {
85
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
86
- top: 0,
87
- bottom: 0,
88
- left: 0,
89
- right: 0
90
- }) => {
91
- this.insets = insets;
92
- return /*#__PURE__*/React.createElement(StickyViewContext.Consumer, null, container => {
93
- this.container = container;
94
- if (!this.scrolled) return /*#__PURE__*/React.createElement(React.Fragment, null);
95
- if (this.state.isStickyVisible && this.container) {
96
- var _this$container5;
97
- if (!((_this$container5 = this.container) !== null && _this$container5 !== void 0 && (_this$container5 = _this$container5.children) !== null && _this$container5 !== void 0 && _this$container5.has(this))) {
98
- this.container.add(this, /*#__PURE__*/React.createElement(ThemeProvider, {
99
- value: this.props.theme,
100
- key: this.id
101
- }, /*#__PURE__*/React.createElement(View, {
102
- style: [this.props.style]
103
- }, this.props.children)));
104
- }
105
- } else {
106
- var _this$container6;
107
- (_this$container6 = this.container) === null || _this$container6 === void 0 || _this$container6.remove(this);
108
- }
109
- return /*#__PURE__*/React.createElement(React.Fragment, null);
110
- });
111
- }), /*#__PURE__*/React.createElement(View, {
112
- style: {
113
- opacity: this.state.isStickyVisible ? 0 : 1
114
- }
115
- }, this.props.children));
116
- }
117
- }
118
- _defineProperty(StickyView, "defaultProps", {
119
- slide: false
120
- });
121
- _defineProperty(StickyView, "counter", Date.now());
122
- export class StickyViewContainer extends React.Component {
123
- constructor(...args) {
124
- super(...args);
125
- _defineProperty(this, "children", new Map());
126
- _defineProperty(this, "id", 0);
127
- _defineProperty(this, "translateY", new Animated.Value(0));
128
- _defineProperty(this, "topSlideHeight", 0);
129
- _defineProperty(this, "hiddenHeight", 0);
130
- _defineProperty(this, "containerHeight", 0);
131
- _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
132
- }
133
- add(c, n) {
134
- var _c$props$component$ge;
135
- const h = Math.max(((_c$props$component$ge = c.props.component.getLayout()) === null || _c$props$component$ge === void 0 ? void 0 : _c$props$component$ge.height) || 0, 0);
136
- this.containerHeight += h;
137
- this.topSlideHeight += c.props.slide ? h : 0;
138
- this.children.set(c, n);
139
- setTimeout(() => this.setState({
140
- id: ++this.id
141
- }));
142
- }
143
- remove(c) {
144
- var _c$props$component$ge2;
145
- const h = Math.max(((_c$props$component$ge2 = c.props.component.getLayout()) === null || _c$props$component$ge2 === void 0 ? void 0 : _c$props$component$ge2.height) || 0, 0);
146
- this.containerHeight -= h;
147
- this.topSlideHeight -= c.props.slide ? h : 0;
148
- this.containerHeight = Math.max(this.containerHeight, 0);
149
- this.topSlideHeight = Math.max(this.topSlideHeight, 0);
150
- this.children.delete(c);
151
- setTimeout(() => this.setState({
152
- id: ++this.id
153
- }));
154
- }
155
- slideBy(value) {
156
- this.hiddenHeight = Math.max(Math.min(0, this.translateY._value + value), -1 * this.topSlideHeight);
157
- this.translateY.setValue(this.hiddenHeight);
158
- }
159
- render() {
160
- return /*#__PURE__*/React.createElement(StickyViewContext.Provider, {
161
- value: this
162
- }, this.props.children, /*#__PURE__*/React.createElement(Animated.View, {
163
- style: {
164
- position: 'absolute',
165
- top: this.appConfig.pageScrollTopThreshold || 0,
166
- width: '100%',
167
- transform: [{
168
- translateY: this.translateY
169
- }]
170
- }
171
- }, Array.from(this.children.values())));
172
- }
173
- }
174
- ;
175
- //# sourceMappingURL=sticky-container.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Component","Animated","View","Platform","SafeAreaInsetsContext","ThemeProvider","injector","StickyViewContext","createContext","StickyViewState","constructor","_defineProperty","StickyView","props","counter","get","state","listenScrollEvent","componentWillUnmount","_this$container","container","remove","destroyScrollListner","component","yPosition","subscribe","e","_component$getLayout","_this$insets","_component$getLayout2","height","getLayout","topInsetsInYposition","OS","insets","top","py","scrollPosition","nativeEvent","contentOffset","y","isStickyVisible","containerHeight","hiddenHeight","containerHeightVal","Math","abs","scrolled","scrollDirection","lastScrollDirection","refScrollPosition","appConfig","pageScrollTopThreshold","slide","setState","_this$container2","slideBy","_this$container3","_this$container4","render","createElement","Fragment","Consumer","bottom","left","right","_this$container5","children","has","add","value","theme","key","id","style","_this$container6","opacity","Date","now","StickyViewContainer","args","Map","Value","c","n","_c$props$component$ge","h","max","topSlideHeight","set","setTimeout","_c$props$component$ge2","delete","min","translateY","_value","setValue","Provider","position","width","transform","Array","from","values"],"sources":["sticky-container.component.tsx"],"sourcesContent":["\nimport React, { Component } from \"react\";\nimport { ViewStyle, Animated, Easing, View, Platform} from \"react-native\";\nimport { SafeAreaInsetsContext } from \"react-native-safe-area-context\";\nimport { Theme, ThemeProvider } from \"@wavemaker/app-rn-runtime/styles/theme\";\nimport { BaseComponent } from \"./base.component\";\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nconst StickyViewContext = React.createContext<StickyViewContainer>(null as any);\n\nexport interface StickyViewProps {\n style?: ViewStyle,\n theme: Theme;\n children?: any;\n slide?: boolean;\n component: BaseComponent<any, any, any>;\n onVisibilityChange?: (visible: boolean) => void;\n}\n\nexport class StickyViewState {\n isStickyVisible = false;\n}\n\nexport class StickyView extends Component<StickyViewProps, StickyViewState, any> {\n static defaultProps = {\n slide: false\n };\n static counter = Date.now();\n container?: StickyViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = StickyView.counter++;\n destroyScrollListner: Function = null as any;\n insets: any = null;\n refScrollPosition = 0;\n lastScrollDirection = 1;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n scrolled: boolean = false;\n\n constructor(props: StickyViewProps) {\n super(props);\n this.state = new StickyViewState();\n this.listenScrollEvent();\n }\n\n componentWillUnmount() {\n this.container?.remove(this);\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n listenScrollEvent(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n const component = this.props.component;\n let yPosition: number;\n this.destroyScrollListner = component.subscribe('scroll', (e: any) => {\n const height = component.getLayout()?.height;\n const topInsetsInYposition = Platform.OS == 'ios' ? this.insets?.top || 0 : 0;\n yPosition = (yPosition || yPosition == 0) ? yPosition : component?.getLayout()?.py - topInsetsInYposition;\n const scrollPosition = e.nativeEvent.contentOffset.y;\n let isStickyVisible = false ;\n\n const {containerHeight = 0, hiddenHeight = 0} = this.container || {}\n const containerHeightVal = Math.abs(containerHeight + hiddenHeight) ;\n if(!this.scrolled) this.scrolled = true;\n \n if (e.scrollDirection) {\n if (this.lastScrollDirection !== e.scrollDirection) {\n this.refScrollPosition = scrollPosition;\n }\n this.lastScrollDirection = e.scrollDirection;\n }\n\n // based on scrollDirection checking for stickyVisibility\n if(e.scrollDirection <= 0){\n isStickyVisible = scrollPosition > 10 // scroll threshold value of 10\n && ((scrollPosition + containerHeightVal + this.appConfig.pageScrollTopThreshold ) >= (yPosition + height));\n } else {\n isStickyVisible = ((scrollPosition + this.appConfig.pageScrollTopThreshold) >= \n (yPosition + (this.props.slide ? height: 0)));\n }\n\n if (this.state.isStickyVisible !== isStickyVisible) {\n this.setState({ \n isStickyVisible : isStickyVisible\n }, () => {\n if (isStickyVisible && this.props.slide) {\n this.container?.slideBy(-1 * height);\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n } else {\n this.container?.slideBy(this.refScrollPosition - scrollPosition);\n }\n })\n }\n\n render() {\n return (\n <>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return <StickyViewContext.Consumer>\n {(container) => {\n this.container = container;\n if(!this.scrolled) return <></>\n if (this.state.isStickyVisible && this.container) {\n if(!this.container?.children?.has(this)){\n this.container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <View style={[this.props.style]}>\n {this.props.children}\n </View>\n </ThemeProvider>\n ));\n }\n } else {\n this.container?.remove(this);\n }\n return <></>;\n }}\n </StickyViewContext.Consumer>}}\n </SafeAreaInsetsContext.Consumer>\n <View style={{opacity: this.state.isStickyVisible ? 0 : 1}}>\n {this.props.children}\n </View>\n </>\n );\n }\n}\n\nexport class StickyViewContainer extends React.Component {\n public children: Map<StickyView, React.ReactNode> = new Map();\n private id = 0;\n public translateY: Animated.Value = new Animated.Value(0);\n public topSlideHeight = 0;\n public hiddenHeight: number = 0;\n public containerHeight: number = 0;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n add(c: StickyView, n : React.ReactNode) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight += h;\n this.topSlideHeight += (c.props.slide ? h : 0);\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: StickyView) {\n const h = Math.max(c.props.component.getLayout()?.height || 0, 0);\n this.containerHeight -= h;\n this.topSlideHeight -= (c.props.slide ? h : 0);\n this.containerHeight = Math.max(this.containerHeight, 0);\n this.topSlideHeight = Math.max(this.topSlideHeight, 0);\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n public slideBy(value: number) {\n this.hiddenHeight = Math.max(\n Math.min(0, (this.translateY as any)._value + value), \n -1 * this.topSlideHeight);\n \n this.translateY.setValue(this.hiddenHeight);\n }\n\n render() {\n return (\n <StickyViewContext.Provider value={this}>\n {(this.props as any).children}\n <Animated.View style={{\n position: 'absolute', top: this.appConfig.pageScrollTopThreshold || 0, width: '100%',\n transform: [{ translateY: this.translateY }]\n }}>\n {Array.from(this.children.values())}\n </Animated.View>\n </StickyViewContext.Provider>\n );\n }\n};"],"mappings":"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","ignoreList":[]}