@wavemaker/app-rn-runtime 12.0.0-next.45104 → 12.0.0-next.45129
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.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +31 -5
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -0
- app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.styles.js +15 -0
- app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +15 -5
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.styles.js +3 -0
- app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
- app-rn-runtime/components/basic/animatedview.component.js +6 -2
- app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
- app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +20 -6
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +14 -6
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +13 -3
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +1 -2
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +2 -2
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +5 -5
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +9 -0
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +2 -0
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/search/search.styles.js +5 -0
- app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js +4 -3
- app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
- app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js +2 -3
- app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.styles.js +3 -2
- app-rn-runtime/components/basic/spinner/spinner.styles.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.styles.js +4 -1
- app-rn-runtime/components/basic/video/video.styles.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
- app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +54 -2
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +3 -2
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +4 -0
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +15 -3
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
- app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
- app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
- app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +6 -2
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +37 -11
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js +61 -12
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.styles.js +5 -0
- app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +11 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +36 -2
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/container.styles.js +7 -0
- app-rn-runtime/components/container/container.styles.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +28 -2
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.component.js +47 -6
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.styles.js +3 -0
- app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
- app-rn-runtime/components/container/partial-host.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +3 -4
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +11 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +41 -5
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.component.js +28 -2
- app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.styles.js +6 -1
- app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +62 -13
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
- app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
- app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
- app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
- app-rn-runtime/components/data/card/card.component.js +18 -0
- app-rn-runtime/components/data/card/card.component.js.map +1 -1
- app-rn-runtime/components/data/card/card.styles.js +3 -0
- app-rn-runtime/components/data/card/card.styles.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +1 -1
- app-rn-runtime/components/data/form/form.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.props.js +1 -0
- app-rn-runtime/components/data/form/form.props.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
- app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
- app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +54 -33
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.props.js +1 -0
- app-rn-runtime/components/data/list/list.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +9 -0
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js +5 -3
- app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
- app-rn-runtime/components/input/basedataset/basedataset.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +11 -4
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.props.js +1 -0
- app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +25 -12
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +2 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +5 -6
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +24 -3
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +3 -2
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +16 -1
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +22 -5
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheel-date-picker.component.js +123 -12
- app-rn-runtime/components/input/epoch/wheel-date-picker.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +4 -0
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js +2 -0
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +4 -2
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.props.js +1 -0
- app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +6 -3
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +27 -7
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
- app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.styles.js +1 -0
- app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +23 -9
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +2 -2
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +21 -0
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.props.js +2 -0
- app-rn-runtime/components/input/text/text.props.js.map +1 -1
- app-rn-runtime/components/input/text/text.styles.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +21 -0
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
- app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +2 -4
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +2 -2
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +2 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/content/content.component.js +19 -4
- app-rn-runtime/components/page/content/content.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +27 -2
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
- app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
- app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
- app-rn-runtime/components/page/page.component.js.map +1 -1
- app-rn-runtime/components/page/page.props.js.map +1 -1
- app-rn-runtime/components/page/page.styles.js +7 -1
- app-rn-runtime/components/page/page.styles.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.component.js +27 -1
- app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.styles.js +6 -1
- app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
- app-rn-runtime/components/page/tabbar/curve.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.props.js +1 -0
- app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js +27 -1
- app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
- app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
- app-rn-runtime/core/base.component.js +5 -3
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/textinput.component.js +4 -3
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/formatters.js.map +1 -1
- app-rn-runtime/core/key.extractor.js.map +1 -1
- app-rn-runtime/core/props.provider.js +4 -1
- app-rn-runtime/core/props.provider.js.map +1 -1
- app-rn-runtime/core/storage.service.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +34 -27
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/ui-preferences.context.js +7 -0
- app-rn-runtime/core/ui-preferences.context.js.map +1 -0
- app-rn-runtime/core/utils.js +87 -4
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/package.json +30 -7
- app-rn-runtime/runtime/App.js +4 -8
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/App.navigator.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +43 -13
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/base-partial.component.js.map +1 -1
- app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
- app-rn-runtime/runtime/services/app-i18n.service.js +10 -0
- app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +42 -2
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-spinner.service.js +1 -1
- app-rn-runtime/runtime/services/app-spinner.service.js.map +1 -1
- app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
- app-rn-runtime/runtime/watcher.js.map +1 -1
- app-rn-runtime/styles/background.component.js +1 -0
- app-rn-runtime/styles/background.component.js.map +1 -1
- app-rn-runtime/styles/style-prop.validator.js.map +1 -1
- app-rn-runtime/styles/theme.js +5 -0
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/styles/theme.variables.js +1 -0
- app-rn-runtime/styles/theme.variables.js.map +1 -1
- app-rn-runtime/variables/base-variable.js.map +1 -1
- app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
- app-rn-runtime/variables/device-variable.js.map +1 -1
- app-rn-runtime/variables/service-variable.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","get","injector","TouchableRipple","TappableContext","createContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","onLongtap","onDoubletap","createElement","Consumer","Provider","value","_extends","rippleColor","borderless","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return( <TappableContext.Provider value={this}>\n <TouchableRipple\n rippleColor={this.props.rippleColor}\n borderless = {true}\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n }} \n {...this.props.accessibilityProps}\n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n }}\n onLongPress={(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent())}\n onPressOut={(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())}>\n <>{this.props.children}</>\n </TouchableRipple>\n </TappableContext.Provider>)}}</TappableContext.Consumer>\n \n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TouchableRipple","TappableContext","createContext","UIPreferencesConsumer","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","commonProps","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","createElement","preferences","enableRipple","Consumer","Provider","value","_extends","rippleColor","borderless","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return( <ParentTappableContext.Provider value={this}>\n <TouchableRipple rippleColor={this.props.rippleColor} borderless={true} {...commonProps}>\n <>{this.props.children}</>\n </TouchableRipple>\n </ParentTappableContext.Provider>)}}</ParentTappableContext.Consumer>): (\n <TouchableOpacity {...commonProps}>\n <>{this.props.children}</>\n </TouchableOpacity>);\n }}\n </UIPreferencesConsumer>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
const UIPreferencesContext = /*#__PURE__*/React.createContext({
|
|
3
|
+
enableRipple: true
|
|
4
|
+
});
|
|
5
|
+
export const UIPreferencesProvider = UIPreferencesContext.Provider;
|
|
6
|
+
export const UIPreferencesConsumer = UIPreferencesContext.Consumer;
|
|
7
|
+
//# sourceMappingURL=ui-preferences.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","UIPreferencesContext","createContext","enableRipple","UIPreferencesProvider","Provider","UIPreferencesConsumer","Consumer"],"sources":["ui-preferences.context.ts"],"sourcesContent":["import React from \"react\";\n\nexport interface UI_PREFERENCES {\n enableRipple: boolean;\n}\n \nconst UIPreferencesContext = React.createContext<UI_PREFERENCES>({enableRipple: true});\n\nexport const UIPreferencesProvider = UIPreferencesContext.Provider;\nexport const UIPreferencesConsumer = UIPreferencesContext.Consumer;"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CAAiB;EAACC,YAAY,EAAE;AAAI,CAAC,CAAC;AAEtF,OAAO,MAAMC,qBAAqB,GAAGH,oBAAoB,CAACI,QAAQ;AAClE,OAAO,MAAMC,qBAAqB,GAAGL,oBAAoB,CAACM,QAAQ","ignoreList":[]}
|
app-rn-runtime/core/utils.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Platform } from 'react-native';
|
|
|
2
2
|
import moment from "moment";
|
|
3
3
|
import * as FileSystem from "expo-file-system";
|
|
4
4
|
import { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber } from 'lodash';
|
|
5
|
+
import * as mime from 'react-native-mime-types';
|
|
5
6
|
import ThemeVariables from '../styles/theme.variables';
|
|
6
7
|
const GROUP_BY_OPTIONS = {
|
|
7
8
|
ALPHABET: 'alphabet',
|
|
@@ -335,19 +336,26 @@ export function removeUndefinedKeys(obj) {
|
|
|
335
336
|
function getDaysInMonth(month, year) {
|
|
336
337
|
return new Date(year, month, 0).getDate();
|
|
337
338
|
}
|
|
338
|
-
export const getDates = (month = 0,
|
|
339
|
+
export const getDates = (startDate, endDate, month = 0,
|
|
339
340
|
// zero-based
|
|
340
341
|
year = new Date().getFullYear()) => {
|
|
341
342
|
const daysInMonth = getDaysInMonth(month, year);
|
|
342
343
|
const dates = Array.from({
|
|
343
344
|
length: daysInMonth
|
|
344
345
|
}, (v, i) => i + 1);
|
|
345
|
-
|
|
346
|
+
const datesInRange = dates.filter(date => date >= startDate);
|
|
347
|
+
return datesInRange;
|
|
346
348
|
};
|
|
347
349
|
export const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
348
|
-
export const getMonths = () => {
|
|
350
|
+
export const getMonths = (startMonth, endMonth) => {
|
|
349
351
|
const months = monthNames.map(name => name.substring(0, 3));
|
|
350
|
-
|
|
352
|
+
const monthRange = months.filter((_, index) => index >= startMonth);
|
|
353
|
+
return monthRange;
|
|
354
|
+
};
|
|
355
|
+
export const getMonthIndex = (monthName, shortName = true) => {
|
|
356
|
+
const months = shortName ? monthNames.map(name => name.substring(0, 3)) : monthNames;
|
|
357
|
+
const monthNumber = months.findIndex(name => name === monthName);
|
|
358
|
+
return monthNumber;
|
|
351
359
|
};
|
|
352
360
|
export const getYearRange = (startYear = 1950, endYear = 2060) => {
|
|
353
361
|
const years = [];
|
|
@@ -443,4 +451,79 @@ export const parseLinearGradient = gradient => {
|
|
|
443
451
|
end
|
|
444
452
|
};
|
|
445
453
|
};
|
|
454
|
+
export const validateInputOnDevice = (value, type) => {
|
|
455
|
+
var _value$match;
|
|
456
|
+
const isCurrencyField = type === 'currency';
|
|
457
|
+
let isValidText = true;
|
|
458
|
+
let validText = value;
|
|
459
|
+
|
|
460
|
+
// * no alphabets except E, may contain E only once
|
|
461
|
+
if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {
|
|
462
|
+
isValidText = false;
|
|
463
|
+
validText = validText.replace(/[a-df-zA-DF-Z]/g, '');
|
|
464
|
+
validText = validText.replace(/([eE])\1+/g, 'e');
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
// * currency only: check for negative number
|
|
468
|
+
if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {
|
|
469
|
+
isValidText = false;
|
|
470
|
+
validText = validText.replace(/-/g, '');
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
// * number only: not more than one minus and doesn't end with minus (-)
|
|
474
|
+
if (!isCurrencyField && Number((_value$match = value.match(/-/g)) === null || _value$match === void 0 ? void 0 : _value$match.length) > 1 || /\w-/.test(value)) {
|
|
475
|
+
isValidText = false;
|
|
476
|
+
validText = validText.replace(/-/g, '');
|
|
477
|
+
validText = validText.replace(/\w-/g, '');
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
// * check for more than one decimal point
|
|
481
|
+
if (/^\d*\.\d*\..*$/.test(value)) {
|
|
482
|
+
isValidText = false;
|
|
483
|
+
validText = validText.replace(/\.(?=\.*\.)/g, '');
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// * check for spaces and comma
|
|
487
|
+
if (/[\s,]/.test(value)) {
|
|
488
|
+
isValidText = false;
|
|
489
|
+
validText = validText.replace(/[\s,]/, '');
|
|
490
|
+
}
|
|
491
|
+
return {
|
|
492
|
+
isValidText,
|
|
493
|
+
validText
|
|
494
|
+
};
|
|
495
|
+
};
|
|
496
|
+
export const isDateFormatAsPerPattern = (datePattern, dateString) => {
|
|
497
|
+
try {
|
|
498
|
+
var _date$format;
|
|
499
|
+
// * format dateString as per datePattern
|
|
500
|
+
const date = moment(dateString, datePattern, true);
|
|
501
|
+
|
|
502
|
+
// * check date is valid and matches the format
|
|
503
|
+
return date.isValid() && typeof dateString === 'string' && (dateString === null || dateString === void 0 ? void 0 : dateString.toUpperCase()) === ((_date$format = date.format(datePattern)) === null || _date$format === void 0 ? void 0 : _date$format.toUpperCase());
|
|
504
|
+
} catch (error) {
|
|
505
|
+
// * if not able to parse date string
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
export const getMimeType = extensions => {
|
|
510
|
+
if (!extensions) return '*/*';
|
|
511
|
+
let hasInvalidExtension = false;
|
|
512
|
+
let wildCards = ['image/*', 'audio/*', 'video/*'];
|
|
513
|
+
let extensionList = extensions.split(' ');
|
|
514
|
+
let mimeType = extensionList.map(extension => {
|
|
515
|
+
let type = mime.lookup(extension);
|
|
516
|
+
let isWildCardExtension = wildCards.includes(extension);
|
|
517
|
+
// * invalid extension, also not in wildcards
|
|
518
|
+
hasInvalidExtension = !type && !isWildCardExtension;
|
|
519
|
+
return type ? type : isWildCardExtension ? extension : '';
|
|
520
|
+
}).filter(type => type);
|
|
521
|
+
if (hasInvalidExtension) return '*/*';
|
|
522
|
+
return mimeType;
|
|
523
|
+
};
|
|
524
|
+
export function getNumberOfEmptyObjects(noOfItems) {
|
|
525
|
+
return Array.from({
|
|
526
|
+
length: noOfItems
|
|
527
|
+
}, () => ({}));
|
|
528
|
+
}
|
|
446
529
|
//# sourceMappingURL=utils.js.map
|
app-rn-runtime/core/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","ThemeVariables","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","o2","o","Object","k","v","deepCopy","objects","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","length","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","arguments","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","countDecimalDigits","numberString","decimalMatch","decimalDigits","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith","removeUndefinedKeys","getDaysInMonth","month","year","getDate","getDates","getFullYear","daysInMonth","dates","Array","from","i","monthNames","getMonths","months","name","substring","getYearRange","startYear","endYear","years","getDateObject","date","getHours","hours","hour","paddedHour","String","padStart","get24Hours","getMinutes","minutes","minute","paddedMinute","getTimeIndicators","getDateTimeObject","getGradientStartEnd","angle","angleLowerCase","toLowerCase","start","x","y","end","parseLinearGradient","gradient","color1","color2","linearGradientRegex","hasLinearGradient","matches","INSTANCE","primaryColor"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const countDecimalDigits = (number: number | string) => {\n if (!number) return 0;\n\n // * convert the number to a string\n const numberString = number.toString();\n \n // * regular expression to match and count the decimal digits\n const decimalMatch = numberString.match(/\\.(\\d+)/);\n\n if (decimalMatch) {\n const decimalDigits = decimalMatch[1];\n return decimalDigits.length;\n } else {\n return 0; // * no decimal digits found\n }\n}\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n\nexport function removeUndefinedKeys(obj: any) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n } else if (typeof obj[key] === 'object') {\n // * if the value is an object, recursively call the function\n removeUndefinedKeys(obj[key]);\n }\n }\n\n return obj;\n}\n// * get total number of days in a month of a year\nfunction getDaysInMonth(month: number, year: number) {\n return new Date(year, month, 0).getDate();\n}\n\nexport const getDates = (\n month = 0, // zero-based\n year = new Date().getFullYear(),\n) => {\n const daysInMonth = getDaysInMonth(month, year);\n const dates = Array.from({length: daysInMonth}, (v, i) => i + 1);\n\n return dates;\n};\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport const getMonths = () => {\n const months = monthNames.map(name => name.substring(0, 3));\n\n return months;\n};\n\nexport const getYearRange = (\n startYear: number = 1950,\n endYear: number = 2060,\n) => {\n const years = [];\n for (let year = startYear; year <= endYear; ++year) {\n years.push(year);\n }\n\n return years;\n};\n\nexport const getDateObject = (date: number, month: number, year: number) => {\n // * month is zero-based\n return new Date(year, month, date);\n};\n\nexport const getHours = () => {\n const hours = [];\n for (let hour = 1; hour <= 12; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const get24Hours = () => {\n const hours = [];\n for (let hour = 0; hour <= 23; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const getMinutes = () => {\n const minutes = [];\n for (let minute = 0; minute <= 59; ++minute) {\n const paddedMinute = String(minute).padStart(2, '0');\n minutes.push(paddedMinute);\n }\n\n return minutes;\n}\n\nexport const getTimeIndicators = () => {\n return ['AM', 'PM'];\n}\n\nexport const getDateTimeObject = (date: number, month: number, year: number, hour: number, minute: number) => {\n // * month is zero-based\n return new Date(year, month, date, hour, minute);\n};\n\nexport const getGradientStartEnd = (angle: string) => {\n const angleLowerCase = angle?.toLowerCase();\n let start = { x: 0, y: 1 };\n let end = { x: 1, y: 1 };\n\n if (angle === '0deg' || angleLowerCase === 'to top') {\n end.x = 0;\n end.y = 0;\n } else if (angle === '90deg' || angleLowerCase === 'to right') {\n start.x = 0;\n } else if (angle === '180deg' || angleLowerCase === 'to bottom') {\n start.y = 0;\n end.x = 0;\n end.y = 1;\n } else if (angle === '270deg' || angleLowerCase === 'to left') {\n start.x = 1;\n end.x = 0;\n } else {\n // other angle\n }\n\n return {start, end}\n}\n\nexport const parseLinearGradient = (gradient: string) => {\n let angle = '', color1 = '', color2 = '';\n const linearGradientRegex = /linear-gradient\\(([^,]+),\\s*([^,]+),\\s*([^)]+)\\)/;\n const hasLinearGradient = linearGradientRegex.test(gradient);\n\n const matches = gradient?.match(linearGradientRegex);\n angle = matches?.[1] || '90deg';\n const {start, end} = getGradientStartEnd(angle)\n color1 = matches?.[2] || ThemeVariables.INSTANCE.primaryColor;\n color2 = matches?.[3] || ThemeVariables.INSTANCE.primaryColor;\n\n return {hasLinearGradient, color1, color2, start, end};\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,UAAU,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,QAAO,QAAQ;AACxK,OAAOC,cAAc,MAAM,2BAA2B;AAGtD,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACV,CAAC;AACD,MAAMC,mBAAmB,GAAG;EAC1BC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,SAAS,GAAGA,CAACC,EAAO,EAAE,GAAGC,EAAO,KAAK;EACvCA,EAAE,CAACrB,OAAO,CAAEsB,CAAM,IAAK;IACnB,IAAIA,CAAC,EAAE;MACHC,MAAM,CAACpB,IAAI,CAACmB,CAAC,CAAC,CAACtB,OAAO,CAACwB,CAAC,IAAI;QACxB,MAAMC,CAAC,GAAGH,CAAC,CAACE,CAAC,CAAC;QACd,IAAIC,CAAC,IAAI,CAACnB,QAAQ,CAACmB,CAAC,CAAC,IAAI,CAACpB,OAAO,CAACoB,CAAC,CAAC,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;UAC3DL,EAAE,CAACI,CAAC,CAAC,GAAGL,SAAS,CAACC,EAAE,CAACI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAEF,CAAC,CAACE,CAAC,CAAC,CAAC;QACxC,CAAC,MAAM;UACHJ,EAAE,CAACI,CAAC,CAAC,GAAGL,SAAS,CAACM,CAAC,CAAC;QACxB;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACF,OAAOL,EAAE;AACb,CAAC;AAED,OAAO,MAAMM,QAAQ,GAAGA,CAAC,GAAGC,OAAY,KAAKR,SAAS,CAAC,CAAC,CAAC,EAAE,GAAGQ,OAAO,CAAC;AAEtE,OAAO,MAAMC,SAAS,GAAIC,GAAQ,IAAK;EACrC,OAAQA,GAAG,KAAK,IAAI,IACfA,GAAG,KAAK,MAAM,IACd,EAAEA,GAAG,KAAK,KAAK,IACbA,GAAG,KAAK,IAAI,IACZA,GAAG,KAAKC,SAAS,IACjBD,GAAG,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,OAAO,MAAME,QAAQ,GAAIF,GAAQ,IAAK;EACpC,IAAI;IACF,OAAOG,UAAU,CAACH,GAAG,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAMI,CAAC,EAAE;IACT,OAAO,CAAC;EACV;AACF,CAAC;;AAED;AACA;AACA;AACC,OAAO,MAAMC,SAAS,GAAIC,GAAW,IAAa;EAC/C,IAAIC,MAAM,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC;EAC3B,MAAMC,IAAI,GAAGF,MAAM,CAAC,CAAC,CAAC;EACtBA,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAIE,MAAM,GAAG,EAAE;EACf,IAAIH,MAAM,CAACI,MAAM,GAAG,CAAC,EAAE;IACnBD,MAAM,GAAGH,MAAM,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CACxBI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACL,KAAK,CAAC,GAAG,CAAC,CAAC,CACtBI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,GAAGC,kBAAkB,CAACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9CE,IAAI,CAAC,GAAG,CAAC;EAClB;EACA,OAAOC,SAAS,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC,IAAIG,MAAM,GAAG,GAAG,GAAGA,MAAM,GAAE,EAAE,CAAC,IAAID,IAAI,GAAG,GAAG,GAAEA,IAAI,GAAG,EAAE,CAAC;AACvF,CAAC;AAED,OAAO,MAAMQ,gBAAgB,GAAGA,CAAA,KAAMzD,QAAQ,CAAC0D,EAAE,KAAK,KAAK;AAE3D,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAMF,gBAAgB,CAAC,CAAC,IAAIG,OAAO;AAE5D,OAAO,MAAMC,yBAAyB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE/D,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAO9D,QAAQ,CAAC0D,EAAE,KAAK,SAAS,IAAK1D,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAI,UAAU,CAACK,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,SAAS,CAAG;AAEpI,OAAO,MAAMC,KAAK,GAAGA,CAAA,KAAOnE,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAK1D,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAI,cAAc,CAACK,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,SAAS,CAAG;AAEhI,MAAME,WAAW,GAAGA,CAACC,QAAa,EAAEC,OAAe,EAAGC,WAAgB,EAAEC,SAAe,KAAKrE,UAAU,CAACmE,OAAO,CAAC,GAAGA,OAAO,CAACG,KAAK,CAACF,WAAW,CAACG,KAAK,EAAE,CAACF,SAAS,GAAGH,QAAQ,CAACG,SAAS,CAAC,GAAGH,QAAQ,CAAC,CAAC,GAAG3D,GAAG,CAAC8D,SAAS,GAAGH,QAAQ,CAACG,SAAS,CAAC,GAAGH,QAAQ,EAAEC,OAAO,CAAC;;AAE3P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,cAAc,GAAGA,CAACC,SAAc,EAAEN,OAAe,EAAEO,KAAa,EAAEC,OAAe,EAAEC,UAAkB,EAAER,WAAgB,EAAEC,SAAe,KAAK;EAExJ;EACA;EACAI,SAAS,GAAGrE,OAAO,CAACqE,SAAS,EAAEP,QAAQ,IAAI;IACzC,MAAMW,QAAQ,GAAGZ,WAAW,CAACC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,CAAC;IACvE,IAAIQ,QAAQ,EAAE;MACZ,OAAOvE,OAAO,CAACuE,QAAQ,CAAC;IAC1B;IACA,OAAO,EAAE;EACX,CAAC,CAAC;;EAEF;EACA,MAAMC,aAAa,GAAGzE,OAAO,CAACoE,SAAS,EAAE,UAAUP,QAAQ,EAAE;IAC3D,IAAIa,SAAS,GAAGd,WAAW,CAACC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,CAAC;IACtE;IACA,IAAInE,WAAW,CAAC6E,SAAS,CAAC,IAAI5E,MAAM,CAAC4E,SAAS,CAAC,IAAIA,SAAS,CAACC,QAAQ,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;MACrF,OAAOhE,gBAAgB,CAACG,MAAM;IAChC;IACA;IACA,IAAIsD,KAAK,KAAKzD,gBAAgB,CAACC,QAAQ,EAAE;MACvC6D,SAAS,GAAGA,SAAS,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC;;IAEA;IACA,IAAIjF,QAAQ,CAACW,MAAM,CAACS,mBAAmB,CAAC,EAAEqD,KAAK,CAAC,EAAE;MAChDE,UAAU,GAAGA,UAAU,IAAIA,UAAU,CAACO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MACxDP,UAAU,GAAGA,UAAU,IAAIA,UAAU,CAACO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MACxDJ,SAAS,GAAGjF,MAAM,CAACiF,SAAS,CAAC,CAACK,MAAM,CAACR,UAAU,CAAC;IAClD;IAEA,OAAOG,SAAS;EAClB,CAAC,CAAC;EAEF,OAAOM,oBAAoB,CAACP,aAAa,EAAEX,OAAO,EAAEQ,OAAO,EAAEN,SAAS,CAAC;AACzE,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMiB,iBAAiB,GAAGA,CAACC,OAAY,EAAEZ,OAAe,EAAEN,SAAe,KAAK;EACnF,IAAI,CAACjE,OAAO,EAAE;IACZ,OAAOM,SAAS,CAAC6E,OAAO,CAAC;EAC3B;;EAEA;EACA,MAAMC,KAAK,GAAGb,OAAO,IAAIA,OAAO,CAAC9B,KAAK,CAAC,GAAG,CAAC;IACzC4C,MAAW,GAAG,EAAE;IAChBC,UAAe,GAAG,EAAE;EACtBF,KAAK,IAAIA,KAAK,CAAChF,OAAO,CAAEmF,GAAG,IAAI;IAC7B,MAAMC,IAAI,GAAGD,GAAG,CAAC9C,KAAK,CAAC,GAAG,CAAC;IAC3B4C,MAAM,CAACI,IAAI,CAACxB,SAAS,GAAGA,SAAS,GAAG,GAAG,GAAGuB,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5DF,UAAU,CAACG,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC;EACF,OAAOxF,OAAO,CAACmF,OAAO,EAAEE,MAAM,EAAEC,UAAU,CAAC;AAC7C,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAML,oBAAoB,GAAGA,CAACP,aAAkB,EAAEzE,OAAe,EAAEsE,OAAe,EAAEN,SAAe,KAAK;EAC7G,MAAMyB,YAAiB,GAAG,EAAE;EAC5BtF,OAAO,CAACG,IAAI,CAACmE,aAAa,CAAC,EAAE,CAACiB,QAAQ,EAAEC,KAAK,KAAK;IAChD,MAAMC,MAAM,GAAGX,iBAAiB,CAACR,aAAa,CAACiB,QAAQ,CAAC,EAAEpB,OAAO,EAAEN,SAAS,CAAC;IAC7EyB,YAAY,CAACD,IAAI,CAAC;MAChBK,GAAG,EAAEH,QAAQ;MACbI,IAAI,EAAE1F,MAAM,CAACwF,MAAM,EAAEE,IAAI,IAAI;QAC3BA,IAAI,CAACC,WAAW,GAAGJ,KAAK;QACxB,OAAOzF,GAAG,CAAC4F,IAAI,EAAE9F,OAAO,CAAC,IAAIE,GAAG,CAAC4F,IAAI,CAAC9B,SAAS,CAAC,EAAEhE,OAAO,CAAC;MAC5D,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOyF,YAAY;AACrB,CAAC;AAED,OAAO,MAAMO,SAAS,GAAIpE,CAAM,IAAK,OAAOA,CAAC,KAAK,WAAW;;AAE7D;AACA,OAAO,MAAMqE,WAAW,GAAGA,CAACjE,GAAQ,EAAEkE,UAAoB,KAAK;EAC7D,IAAIlE,GAAG,KAAK,IAAI,EAAE;IAChB,OAAOkE,UAAU;EACnB;EAEA,IAAIlE,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,MAAM,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,IAAIA,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,OAAO,EAAE;IACpC,OAAO,KAAK;EACd;EAEA,MAAMmE,MAAM,GAAGC,QAAQ,CAACpE,GAAG,EAAE,EAAE,CAAC;EAChC,IAAI,CAACqE,KAAK,CAACF,MAAM,CAAC,EAAE;IAClB,OAAOA,MAAM;EACf;EACA,OAAOnE,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsE,YAAY,GAAGA,CAACC,EAAY,EAAEC,QAAgB,EAAEC,UAAkB,EAAEC,aAAa,GAAGA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK;EAChI,IAAIC,UAAU,GAAG,CAAC;EAClB,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAChBD,UAAU,EAAE;IACZ,IAAIlH,UAAU,CAAC4G,EAAE,CAAC,EAAE;MAChB,OAAOA,EAAE,CAAC,CAAC;IACf;EACJ,CAAC;EACDE,UAAU,GAAI/F,QAAQ,CAAC+F,UAAU,CAAC,IAAIA,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAE;EACtED,QAAQ,GAAI9F,QAAQ,CAAC8F,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,GAAGA,QAAQ,GAAG,CAAE;EAC9D,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEG,MAAM,KAAK;IACpC,MAAMC,OAAO,GAAG,SAAAA,CAAA,EAAY;MACxB,MAAMC,OAAO,GAAGC,SAAS;MACzBC,UAAU,CAAC,MAAM;QACbR,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMV,aAAa,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,UAAUC,KAAK,EAAE;UAChE,IAAIA,KAAK,KAAK,KAAK,KAAK,CAACZ,UAAU,IAAII,UAAU,IAAIJ,UAAU,CAAC,EAAE;YAChEE,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMN,KAAK,CAAC,CAAC,CAAC,CAACM,IAAI,CAACR,OAAO,EAAEI,OAAO,CAAC;UAC9D,CAAC,MAAM;YACHD,MAAM,CAACE,OAAO,CAAC;UACnB;QACJ,CAAC,EAAE,MAAMF,MAAM,CAACE,OAAO,CAAC,CAAC;MAC7B,CAAC,EAAET,QAAQ,CAAC;IAChB,CAAC;IACDG,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMN,KAAK,CAAC,CAAC,CAAC,CAACM,IAAI,CAACR,OAAO,EAAEI,OAAO,CAAC;EAChE,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMM,iBAAiB,GAAGA,CAAA,KAAM;EACrC,MAAMC,MAAW,GAAG;IAChBC,OAAO,EAAE,IAAI;IACbT,MAAM,EAAE,IAAI;IACZH,OAAO,EAAE,IAAI;IACba,OAAO,EAAEA,CAAA,KAAM,CAAE,CAAC;IAClBC,SAAS,EAAE;EACf,CAAC;EACDH,MAAM,CAACC,OAAO,GAAG,IAAIb,OAAO,CAAC,CAACC,OAAO,EAAEG,MAAM,KAAK;IAC9CQ,MAAM,CAACX,OAAO,GAAGA,OAAO;IACxBW,MAAM,CAACR,MAAM,GAAGA,MAAM;EAC1B,CAAC,CAAC;EACFQ,MAAM,CAACC,OAAO,CAACG,KAAK,GAAG,MAAM;IACzBJ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACE,OAAO,CAAC,CAAC;IAClCF,MAAM,CAACR,MAAM,CAAC,SAAS,CAAC;IACxBQ,MAAM,CAACG,SAAS,GAAG,IAAI;EAC3B,CAAC;EACD,OAAOH,MAAM;AACf,CAAC;AAED,OAAO,MAAMK,aAAa,GAAGA,CAACC,KAAU,EAAEC,KAAU,KAAK;EACvD,IAAIC,aAAa,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;EAC3C,IAAIH,KAAK,CAACI,QAAQ,EAAE;IAClB,IAAIzH,OAAO,CAACsH,KAAK,CAAC,EAAE;MAClBC,aAAa,GAAGD,KAAK,CAACnF,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI;IACnD,CAAC,MAAM;MACLoF,aAAa,GAAG,CAACD,KAAK,GAAG,KAAK,GAAG,IAAI;IACvC;IACA,IAAI,CAACC,aAAa,EAAE;MAClB,OAAO;QACLG,SAAS,EAAG,UAAU;QACtBC,OAAO,EAAE;MACX,CAAC;IACH;EACF;EACA,IAAIL,KAAK,IAAID,KAAK,CAACO,MAAM,EAAE;IACzB,MAAMC,SAAS,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGT,KAAK,CAACO,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC;IAC3DJ,UAAU,GAAGK,SAAS,CAAC9E,IAAI,CAACuE,KAAK,CAAC;IAClC,IAAI,CAACE,UAAU,EAAE;MACf,OAAO;QACLE,SAAS,EAAG,QAAQ;QACpBC,OAAO,EAAE;MACX,CAAC;IACH;EACF;EACA,IAAIL,KAAK,IAAID,KAAK,CAACU,QAAQ,IAAIT,KAAK,CAACnF,MAAM,GAAGkF,KAAK,CAACU,QAAQ,EAAE;IAC5D,OAAO;MACLL,SAAS,EAAG,UAAU;MACtBC,OAAO,EAAE;IACX,CAAC;EAEH;EACA,IAAIL,KAAK,IAAID,KAAK,CAACW,OAAO,IAAI,IAAIC,IAAI,CAACZ,KAAK,CAACa,SAAS,CAAC,GAAGjJ,MAAM,CAACoI,KAAK,CAACW,OAAO,CAAC,CAACG,OAAO,CAAC,KAAK,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE;IACvG,OAAO;MACLV,SAAS,EAAG,SAAS;MACrBC,OAAO,EAAE;IACX,CAAC;EACH;EACA,IAAIL,KAAK,IAAID,KAAK,CAACgB,OAAO,IAAI,IAAIJ,IAAI,CAACZ,KAAK,CAACa,SAAS,CAAC,GAAGjJ,MAAM,CAACoI,KAAK,CAACgB,OAAO,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC,CAACF,MAAM,CAAC,CAAC,EAAE;IACrG,OAAO;MACLV,SAAS,EAAG,SAAS;MACrBC,OAAO,EAAE;IACX,CAAC;EACH;EAEA,OAAO;IACLA,OAAO,EAAE;EACX,CAAC;AACH,CAAC;AAED,OAAO,MAAMY,kBAAkB,GAAI5C,MAAuB,IAAK;EAC7D,IAAI,CAACA,MAAM,EAAE,OAAO,CAAC;;EAErB;EACA,MAAM6C,YAAY,GAAG7C,MAAM,CAACxB,QAAQ,CAAC,CAAC;;EAEtC;EACA,MAAMsE,YAAY,GAAGD,YAAY,CAAC3E,KAAK,CAAC,SAAS,CAAC;EAElD,IAAI4E,YAAY,EAAE;IAChB,MAAMC,aAAa,GAAGD,YAAY,CAAC,CAAC,CAAC;IACrC,OAAOC,aAAa,CAACvG,MAAM;EAC7B,CAAC,MAAM;IACL,OAAO,CAAC,CAAC,CAAC;EACZ;AACF,CAAC;AAED,OAAO,MAAMwG,mBAAmB,GAAIhD,MAAc,IAAK;EACrD,MAAMiD,UAAU,GAAGjD,MAAM,GAAG,CAAC;EAC7BA,MAAM,GAAGiD,UAAU,GAAGjD,MAAM,GAAG,CAAC,CAAC,GAAGA,MAAM;EAC1C,IAAIkD,eAAe,GAAGlD,MAAM,GAAG,EAAE;EACjC,IAAIA,MAAM,IAAI,IAAI,IAAIA,MAAM,GAAG,OAAS,EAAE;IACxCkD,eAAe,GAAI,CAAClD,MAAM,GAAG,IAAI,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EACzE,CAAC,MAAM,IAAIqB,MAAM,IAAI,OAAS,IAAIA,MAAM,GAAG,UAAa,EAAE;IACxDkD,eAAe,GAAI,CAAClD,MAAM,GAAG,OAAS,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EAC9E,CAAC,MAAM,IAAIqB,MAAM,IAAI,UAAa,IAAIA,MAAM,GAAG,aAAiB,EAAE;IAChEkD,eAAe,GAAI,CAAClD,MAAM,GAAG,UAAa,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EAClF,CAAC,MAAM,IAAIqB,MAAM,IAAI,aAAiB,IAAIA,MAAM,GAAG,gBAAqB,EAAE;IACxEkD,eAAe,GAAI,CAAClD,MAAM,GAAG,aAAiB,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EACtF;EACA,OAAO,CAACsE,UAAU,GAAG,GAAG,GAAG,EAAE,IAAIC,eAAe;AAClD,CAAC;AAED,OAAO,MAAME,QAAQ,GAAG,SAAAA,CAASC,IAAY,EAAE;EAC7C,OAAO9J,UAAU,CAAC+J,iBAAiB,CAACD,IAAI,EAAE;IAAEE,QAAQ,EAAE;EAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACjI,OAAO,MAAMC,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOH,eAAe,CAACI,GAAG,CAACD,MAAM,CAAC;AACpC,CAAC;AACD,OAAO,MAAME,aAAa,GAAI1H,GAAW,IAAK;EAC5C,OAAO7B,QAAQ,CAAC6B,GAAG,CAAC,KACnBA,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,IACrB3H,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,IACvB3H,GAAG,CAAC2H,UAAU,CAAC,QAAQ,CAAC,IACxB3H,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,SAASC,mBAAmBA,CAAC5E,GAAQ,EAAE;EAC5C,KAAK,MAAMO,GAAG,IAAIP,GAAG,EAAE;IACrB,IAAIA,GAAG,CAACO,GAAG,CAAC,KAAK5D,SAAS,EAAE;MAC1B,OAAOqD,GAAG,CAACO,GAAG,CAAC;IACjB,CAAC,MAAM,IAAI,OAAOP,GAAG,CAACO,GAAG,CAAC,KAAK,QAAQ,EAAE;MACvC;MACAqE,mBAAmB,CAAC5E,GAAG,CAACO,GAAG,CAAC,CAAC;IAC/B;EACF;EAEA,OAAOP,GAAG;AACZ;AACA;AACA,SAAS6E,cAAcA,CAACC,KAAa,EAAEC,IAAY,EAAE;EACnD,OAAO,IAAI5B,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAE,CAAC,CAAC,CAACE,OAAO,CAAC,CAAC;AAC3C;AAEA,OAAO,MAAMC,QAAQ,GAAGA,CACtBH,KAAK,GAAG,CAAC;AAAE;AACXC,IAAI,GAAG,IAAI5B,IAAI,CAAC,CAAC,CAAC+B,WAAW,CAAC,CAAC,KAC5B;EACH,MAAMC,WAAW,GAAGN,cAAc,CAACC,KAAK,EAAEC,IAAI,CAAC;EAC/C,MAAMK,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC;IAACjI,MAAM,EAAE8H;EAAW,CAAC,EAAE,CAAC7I,CAAC,EAAEiJ,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC;EAEhE,OAAOH,KAAK;AACd,CAAC;AAED,OAAO,MAAMI,UAAU,GAAG,CACxB,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,CACX;AAED,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAM;EAC7B,MAAMC,MAAM,GAAGF,UAAU,CAAClI,GAAG,CAACqI,IAAI,IAAIA,IAAI,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE3D,OAAOF,MAAM;AACf,CAAC;AAED,OAAO,MAAMG,YAAY,GAAGA,CAC1BC,SAAiB,GAAG,IAAI,EACxBC,OAAe,GAAG,IAAI,KACnB;EACH,MAAMC,KAAK,GAAG,EAAE;EAChB,KAAK,IAAIjB,IAAI,GAAGe,SAAS,EAAEf,IAAI,IAAIgB,OAAO,EAAE,EAAEhB,IAAI,EAAE;IAClDiB,KAAK,CAAC9F,IAAI,CAAC6E,IAAI,CAAC;EAClB;EAEA,OAAOiB,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAACC,IAAY,EAAEpB,KAAa,EAAEC,IAAY,KAAK;EAC1E;EACA,OAAO,IAAI5B,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAEoB,IAAI,CAAC;AACpC,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAGA,CAAA,KAAM;EAC5B,MAAMC,KAAK,GAAG,EAAE;EAChB,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAE,EAAEA,IAAI,EAAE;IACrC,MAAMC,UAAU,GAAGC,MAAM,CAACF,IAAI,CAAC,CAACG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChDJ,KAAK,CAAClG,IAAI,CAACoG,UAAU,CAAC;EACxB;EAEA,OAAOF,KAAK;AACd,CAAC;AAED,OAAO,MAAMK,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAML,KAAK,GAAG,EAAE;EAChB,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAE,EAAEA,IAAI,EAAE;IACrC,MAAMC,UAAU,GAAGC,MAAM,CAACF,IAAI,CAAC,CAACG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChDJ,KAAK,CAAClG,IAAI,CAACoG,UAAU,CAAC;EACxB;EAEA,OAAOF,KAAK;AACd,CAAC;AAED,OAAO,MAAMM,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAMC,OAAO,GAAG,EAAE;EAClB,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,IAAI,EAAE,EAAE,EAAEA,MAAM,EAAE;IAC3C,MAAMC,YAAY,GAAGN,MAAM,CAACK,MAAM,CAAC,CAACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACpDG,OAAO,CAACzG,IAAI,CAAC2G,YAAY,CAAC;EAC5B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AACrB,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAACb,IAAY,EAAEpB,KAAa,EAAEC,IAAY,EAAEsB,IAAY,EAAEO,MAAc,KAAK;EAC5G;EACA,OAAO,IAAIzD,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAEoB,IAAI,EAAEG,IAAI,EAAEO,MAAM,CAAC;AAClD,CAAC;AAED,OAAO,MAAMI,mBAAmB,GAAIC,KAAa,IAAK;EACpD,MAAMC,cAAc,GAAGD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,WAAW,CAAC,CAAC;EAC3C,IAAIC,KAAK,GAAG;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAC1B,IAAIC,GAAG,GAAG;IAAEF,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAExB,IAAIL,KAAK,KAAK,MAAM,IAAIC,cAAc,KAAK,QAAQ,EAAE;IACnDK,GAAG,CAACF,CAAC,GAAG,CAAC;IACTE,GAAG,CAACD,CAAC,GAAG,CAAC;EACX,CAAC,MAAM,IAAIL,KAAK,KAAK,OAAO,IAAIC,cAAc,KAAK,UAAU,EAAE;IAC7DE,KAAK,CAACC,CAAC,GAAG,CAAC;EACb,CAAC,MAAM,IAAIJ,KAAK,KAAK,QAAQ,IAAIC,cAAc,KAAK,WAAW,EAAE;IAC/DE,KAAK,CAACE,CAAC,GAAG,CAAC;IACXC,GAAG,CAACF,CAAC,GAAG,CAAC;IACTE,GAAG,CAACD,CAAC,GAAG,CAAC;EACX,CAAC,MAAM,IAAIL,KAAK,KAAK,QAAQ,IAAIC,cAAc,KAAK,SAAS,EAAE;IAC7DE,KAAK,CAACC,CAAC,GAAG,CAAC;IACXE,GAAG,CAACF,CAAC,GAAG,CAAC;EACX,CAAC,MAAM;IACL;EAAA;EAGF,OAAO;IAACD,KAAK;IAAEG;EAAG,CAAC;AACrB,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,QAAgB,IAAK;EACvD,IAAIR,KAAK,GAAG,EAAE;IAAES,MAAM,GAAG,EAAE;IAAEC,MAAM,GAAG,EAAE;EACxC,MAAMC,mBAAmB,GAAG,kDAAkD;EAC9E,MAAMC,iBAAiB,GAAGD,mBAAmB,CAAC3J,IAAI,CAACwJ,QAAQ,CAAC;EAE5D,MAAMK,OAAO,GAAGL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE1I,KAAK,CAAC6I,mBAAmB,CAAC;EACpDX,KAAK,GAAG,CAAAa,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAI,OAAO;EAC/B,MAAM;IAACV,KAAK;IAAEG;EAAG,CAAC,GAAGP,mBAAmB,CAACC,KAAK,CAAC;EAC/CS,MAAM,GAAG,CAAAI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAIzM,cAAc,CAAC0M,QAAQ,CAACC,YAAY;EAC7DL,MAAM,GAAG,CAAAG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAIzM,cAAc,CAAC0M,QAAQ,CAACC,YAAY;EAE7D,OAAO;IAACH,iBAAiB;IAAEH,MAAM;IAAEC,MAAM;IAAEP,KAAK;IAAEG;EAAG,CAAC;AACxD,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","mime","ThemeVariables","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","o2","o","Object","k","v","deepCopy","objects","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","length","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","arguments","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","countDecimalDigits","numberString","decimalMatch","decimalDigits","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith","removeUndefinedKeys","getDaysInMonth","month","year","getDate","getDates","startDate","endDate","getFullYear","daysInMonth","dates","Array","from","i","datesInRange","filter","date","monthNames","getMonths","startMonth","endMonth","months","name","substring","monthRange","_","getMonthIndex","monthName","shortName","monthNumber","findIndex","getYearRange","startYear","endYear","years","getDateObject","getHours","hours","hour","paddedHour","String","padStart","get24Hours","getMinutes","minutes","minute","paddedMinute","getTimeIndicators","getDateTimeObject","getGradientStartEnd","angle","angleLowerCase","toLowerCase","start","x","y","end","parseLinearGradient","gradient","color1","color2","linearGradientRegex","hasLinearGradient","matches","INSTANCE","primaryColor","validateInputOnDevice","type","_value$match","isCurrencyField","isValidText","validText","Number","isDateFormatAsPerPattern","datePattern","dateString","_date$format","toUpperCase","error","getMimeType","extensions","hasInvalidExtension","wildCards","extensionList","mimeType","extension","lookup","isWildCardExtension","getNumberOfEmptyObjects","noOfItems"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\nimport * as mime from 'react-native-mime-types';\nimport ThemeVariables from '../styles/theme.variables';\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const countDecimalDigits = (number: number | string) => {\n if (!number) return 0;\n\n // * convert the number to a string\n const numberString = number.toString();\n \n // * regular expression to match and count the decimal digits\n const decimalMatch = numberString.match(/\\.(\\d+)/);\n\n if (decimalMatch) {\n const decimalDigits = decimalMatch[1];\n return decimalDigits.length;\n } else {\n return 0; // * no decimal digits found\n }\n}\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n\nexport function removeUndefinedKeys(obj: any) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n } else if (typeof obj[key] === 'object') {\n // * if the value is an object, recursively call the function\n removeUndefinedKeys(obj[key]);\n }\n }\n\n return obj;\n}\n// * get total number of days in a month of a year\nfunction getDaysInMonth(month: number, year: number) {\n return new Date(year, month, 0).getDate();\n}\n\nexport const getDates = (\n startDate: number,\n endDate: number,\n month = 0, // zero-based\n year = new Date().getFullYear(),\n) => {\n const daysInMonth = getDaysInMonth(month, year);\n const dates = Array.from({length: daysInMonth}, (v, i) => i + 1);\n\n const datesInRange = dates.filter(date => date >= startDate);\n\n return datesInRange;\n};\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport const getMonths = (startMonth: number, endMonth: number) => {\n const months = monthNames.map(name => name.substring(0, 3));\n const monthRange = months.filter((_, index) => index >= startMonth)\n\n return monthRange;\n};\n\nexport const getMonthIndex = (monthName: string, shortName: boolean = true) => {\n const months = shortName ? monthNames.map(name => name.substring(0, 3)) : monthNames;\n const monthNumber = months.findIndex((name) => name === monthName);\n\n return monthNumber;\n}\n\nexport const getYearRange = (\n startYear: number = 1950,\n endYear: number = 2060,\n) => {\n const years = [];\n for (let year = startYear; year <= endYear; ++year) {\n years.push(year);\n }\n\n return years;\n};\n\nexport const getDateObject = (date: number, month: number, year: number) => {\n // * month is zero-based\n return new Date(year, month, date);\n};\n\nexport const getHours = () => {\n const hours = [];\n for (let hour = 1; hour <= 12; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const get24Hours = () => {\n const hours = [];\n for (let hour = 0; hour <= 23; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const getMinutes = () => {\n const minutes = [];\n for (let minute = 0; minute <= 59; ++minute) {\n const paddedMinute = String(minute).padStart(2, '0');\n minutes.push(paddedMinute);\n }\n\n return minutes;\n}\n\nexport const getTimeIndicators = () => {\n return ['AM', 'PM'];\n}\n\nexport const getDateTimeObject = (date: number, month: number, year: number, hour: number, minute: number) => {\n // * month is zero-based\n return new Date(year, month, date, hour, minute);\n};\n\nexport const getGradientStartEnd = (angle: string) => {\n const angleLowerCase = angle?.toLowerCase();\n let start = { x: 0, y: 1 };\n let end = { x: 1, y: 1 };\n\n if (angle === '0deg' || angleLowerCase === 'to top') {\n end.x = 0;\n end.y = 0;\n } else if (angle === '90deg' || angleLowerCase === 'to right') {\n start.x = 0;\n } else if (angle === '180deg' || angleLowerCase === 'to bottom') {\n start.y = 0;\n end.x = 0;\n end.y = 1;\n } else if (angle === '270deg' || angleLowerCase === 'to left') {\n start.x = 1;\n end.x = 0;\n } else {\n // other angle\n }\n\n return {start, end}\n}\n\nexport const parseLinearGradient = (gradient: string) => {\n let angle = '', color1 = '', color2 = '';\n const linearGradientRegex = /linear-gradient\\(([^,]+),\\s*([^,]+),\\s*([^)]+)\\)/;\n const hasLinearGradient = linearGradientRegex.test(gradient);\n\n const matches = gradient?.match(linearGradientRegex);\n angle = matches?.[1] || '90deg';\n const {start, end} = getGradientStartEnd(angle)\n color1 = matches?.[2] || ThemeVariables.INSTANCE.primaryColor;\n color2 = matches?.[3] || ThemeVariables.INSTANCE.primaryColor;\n\n return {hasLinearGradient, color1, color2, start, end};\n}\n\nexport const validateInputOnDevice = (value: string, type: 'number' | 'currency') => {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n let validText = value;\n \n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n validText = validText.replace(/[a-df-zA-DF-Z]/g, '');\n validText = validText.replace(/([eE])\\1+/g, 'e');\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n validText = validText.replace(/-/g, '');\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n validText = validText.replace(/-/g, '');\n validText = validText.replace(/\\w-/g, '');\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n validText = validText.replace(/\\.(?=\\.*\\.)/g, '');\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n validText = validText.replace(/[\\s,]/, '');\n }\n\n return {isValidText, validText};\n}\n\nexport const isDateFormatAsPerPattern = (\n datePattern?: string,\n dateString?: string | Date\n) => {\n try {\n // * format dateString as per datePattern\n const date = moment(dateString, datePattern, true);\n\n // * check date is valid and matches the format\n return date.isValid() && typeof dateString === 'string' && dateString?.toUpperCase() === date.format(datePattern)?.toUpperCase();\n } catch (error) {\n // * if not able to parse date string\n return false;\n }\n};\n\nexport const getMimeType = (extensions?: string) => {\n if (!extensions) return '*/*';\n let hasInvalidExtension = false;\n let wildCards = ['image/*', 'audio/*', 'video/*'];\n let extensionList = extensions.split(' ');\n let mimeType = extensionList\n .map((extension: string) => {\n let type = mime.lookup(extension);\n let isWildCardExtension = wildCards.includes(extension);\n // * invalid extension, also not in wildcards\n hasInvalidExtension = !type && !isWildCardExtension;\n return type ? type : isWildCardExtension ? extension : '';\n })\n .filter((type) => type);\n\n if (hasInvalidExtension) return '*/*';\n return mimeType;\n};\n\nexport function getNumberOfEmptyObjects(noOfItems: number) {\n return Array.from({ length: noOfItems }, () => ({}));\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,UAAU,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,QAAO,QAAQ;AACxK,OAAO,KAAKC,IAAI,MAAM,yBAAyB;AAC/C,OAAOC,cAAc,MAAM,2BAA2B;AAGtD,MAAMC,gBAAgB,GAAG;EACvBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACV,CAAC;AACD,MAAMC,mBAAmB,GAAG;EAC1BC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,SAAS,GAAGA,CAACC,EAAO,EAAE,GAAGC,EAAO,KAAK;EACvCA,EAAE,CAACtB,OAAO,CAAEuB,CAAM,IAAK;IACnB,IAAIA,CAAC,EAAE;MACHC,MAAM,CAACrB,IAAI,CAACoB,CAAC,CAAC,CAACvB,OAAO,CAACyB,CAAC,IAAI;QACxB,MAAMC,CAAC,GAAGH,CAAC,CAACE,CAAC,CAAC;QACd,IAAIC,CAAC,IAAI,CAACpB,QAAQ,CAACoB,CAAC,CAAC,IAAI,CAACrB,OAAO,CAACqB,CAAC,CAAC,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;UAC3DL,EAAE,CAACI,CAAC,CAAC,GAAGL,SAAS,CAACC,EAAE,CAACI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAEF,CAAC,CAACE,CAAC,CAAC,CAAC;QACxC,CAAC,MAAM;UACHJ,EAAE,CAACI,CAAC,CAAC,GAAGL,SAAS,CAACM,CAAC,CAAC;QACxB;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACF,OAAOL,EAAE;AACb,CAAC;AAED,OAAO,MAAMM,QAAQ,GAAGA,CAAC,GAAGC,OAAY,KAAKR,SAAS,CAAC,CAAC,CAAC,EAAE,GAAGQ,OAAO,CAAC;AAEtE,OAAO,MAAMC,SAAS,GAAIC,GAAQ,IAAK;EACrC,OAAQA,GAAG,KAAK,IAAI,IACfA,GAAG,KAAK,MAAM,IACd,EAAEA,GAAG,KAAK,KAAK,IACbA,GAAG,KAAK,IAAI,IACZA,GAAG,KAAKC,SAAS,IACjBD,GAAG,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,OAAO,MAAME,QAAQ,GAAIF,GAAQ,IAAK;EACpC,IAAI;IACF,OAAOG,UAAU,CAACH,GAAG,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAMI,CAAC,EAAE;IACT,OAAO,CAAC;EACV;AACF,CAAC;;AAED;AACA;AACA;AACC,OAAO,MAAMC,SAAS,GAAIC,GAAW,IAAa;EAC/C,IAAIC,MAAM,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC;EAC3B,MAAMC,IAAI,GAAGF,MAAM,CAAC,CAAC,CAAC;EACtBA,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EAC7B,IAAIE,MAAM,GAAG,EAAE;EACf,IAAIH,MAAM,CAACI,MAAM,GAAG,CAAC,EAAE;IACnBD,MAAM,GAAGH,MAAM,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CACxBI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACL,KAAK,CAAC,GAAG,CAAC,CAAC,CACtBI,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,GAAE,GAAG,GAAGC,kBAAkB,CAACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9CE,IAAI,CAAC,GAAG,CAAC;EAClB;EACA,OAAOC,SAAS,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC,IAAIG,MAAM,GAAG,GAAG,GAAGA,MAAM,GAAE,EAAE,CAAC,IAAID,IAAI,GAAG,GAAG,GAAEA,IAAI,GAAG,EAAE,CAAC;AACvF,CAAC;AAED,OAAO,MAAMQ,gBAAgB,GAAGA,CAAA,KAAM1D,QAAQ,CAAC2D,EAAE,KAAK,KAAK;AAE3D,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAMF,gBAAgB,CAAC,CAAC,IAAIG,OAAO;AAE5D,OAAO,MAAMC,yBAAyB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE/D,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAO/D,QAAQ,CAAC2D,EAAE,KAAK,SAAS,IAAK3D,QAAQ,CAAC2D,EAAE,KAAK,KAAK,IAAI,UAAU,CAACK,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,SAAS,CAAG;AAEpI,OAAO,MAAMC,KAAK,GAAGA,CAAA,KAAOpE,QAAQ,CAAC2D,EAAE,KAAK,KAAK,IAAK3D,QAAQ,CAAC2D,EAAE,KAAK,KAAK,IAAI,cAAc,CAACK,IAAI,CAACC,MAAM,CAACC,SAAS,CAACC,SAAS,CAAG;AAEhI,MAAME,WAAW,GAAGA,CAACC,QAAa,EAAEC,OAAe,EAAGC,WAAgB,EAAEC,SAAe,KAAKtE,UAAU,CAACoE,OAAO,CAAC,GAAGA,OAAO,CAACG,KAAK,CAACF,WAAW,CAACG,KAAK,EAAE,CAACF,SAAS,GAAGH,QAAQ,CAACG,SAAS,CAAC,GAAGH,QAAQ,CAAC,CAAC,GAAG5D,GAAG,CAAC+D,SAAS,GAAGH,QAAQ,CAACG,SAAS,CAAC,GAAGH,QAAQ,EAAEC,OAAO,CAAC;;AAE3P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,cAAc,GAAGA,CAACC,SAAc,EAAEN,OAAe,EAAEO,KAAa,EAAEC,OAAe,EAAEC,UAAkB,EAAER,WAAgB,EAAEC,SAAe,KAAK;EAExJ;EACA;EACAI,SAAS,GAAGtE,OAAO,CAACsE,SAAS,EAAEP,QAAQ,IAAI;IACzC,MAAMW,QAAQ,GAAGZ,WAAW,CAACC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,CAAC;IACvE,IAAIQ,QAAQ,EAAE;MACZ,OAAOxE,OAAO,CAACwE,QAAQ,CAAC;IAC1B;IACA,OAAO,EAAE;EACX,CAAC,CAAC;;EAEF;EACA,MAAMC,aAAa,GAAG1E,OAAO,CAACqE,SAAS,EAAE,UAAUP,QAAQ,EAAE;IAC3D,IAAIa,SAAS,GAAGd,WAAW,CAACC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,CAAC;IACtE;IACA,IAAIpE,WAAW,CAAC8E,SAAS,CAAC,IAAI7E,MAAM,CAAC6E,SAAS,CAAC,IAAIA,SAAS,CAACC,QAAQ,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;MACrF,OAAOhE,gBAAgB,CAACG,MAAM;IAChC;IACA;IACA,IAAIsD,KAAK,KAAKzD,gBAAgB,CAACC,QAAQ,EAAE;MACvC6D,SAAS,GAAGA,SAAS,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC;;IAEA;IACA,IAAIlF,QAAQ,CAACW,MAAM,CAACU,mBAAmB,CAAC,EAAEqD,KAAK,CAAC,EAAE;MAChDE,UAAU,GAAGA,UAAU,IAAIA,UAAU,CAACO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MACxDP,UAAU,GAAGA,UAAU,IAAIA,UAAU,CAACO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MACxDJ,SAAS,GAAGlF,MAAM,CAACkF,SAAS,CAAC,CAACK,MAAM,CAACR,UAAU,CAAC;IAClD;IAEA,OAAOG,SAAS;EAClB,CAAC,CAAC;EAEF,OAAOM,oBAAoB,CAACP,aAAa,EAAEX,OAAO,EAAEQ,OAAO,EAAEN,SAAS,CAAC;AACzE,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMiB,iBAAiB,GAAGA,CAACC,OAAY,EAAEZ,OAAe,EAAEN,SAAe,KAAK;EACnF,IAAI,CAAClE,OAAO,EAAE;IACZ,OAAOM,SAAS,CAAC8E,OAAO,CAAC;EAC3B;;EAEA;EACA,MAAMC,KAAK,GAAGb,OAAO,IAAIA,OAAO,CAAC9B,KAAK,CAAC,GAAG,CAAC;IACzC4C,MAAW,GAAG,EAAE;IAChBC,UAAe,GAAG,EAAE;EACtBF,KAAK,IAAIA,KAAK,CAACjF,OAAO,CAAEoF,GAAG,IAAI;IAC7B,MAAMC,IAAI,GAAGD,GAAG,CAAC9C,KAAK,CAAC,GAAG,CAAC;IAC3B4C,MAAM,CAACI,IAAI,CAACxB,SAAS,GAAGA,SAAS,GAAG,GAAG,GAAGuB,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5DF,UAAU,CAACG,IAAI,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC;EACF,OAAOzF,OAAO,CAACoF,OAAO,EAAEE,MAAM,EAAEC,UAAU,CAAC;AAC7C,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAML,oBAAoB,GAAGA,CAACP,aAAkB,EAAE1E,OAAe,EAAEuE,OAAe,EAAEN,SAAe,KAAK;EAC7G,MAAMyB,YAAiB,GAAG,EAAE;EAC5BvF,OAAO,CAACG,IAAI,CAACoE,aAAa,CAAC,EAAE,CAACiB,QAAQ,EAAEC,KAAK,KAAK;IAChD,MAAMC,MAAM,GAAGX,iBAAiB,CAACR,aAAa,CAACiB,QAAQ,CAAC,EAAEpB,OAAO,EAAEN,SAAS,CAAC;IAC7EyB,YAAY,CAACD,IAAI,CAAC;MAChBK,GAAG,EAAEH,QAAQ;MACbI,IAAI,EAAE3F,MAAM,CAACyF,MAAM,EAAEE,IAAI,IAAI;QAC3BA,IAAI,CAACC,WAAW,GAAGJ,KAAK;QACxB,OAAO1F,GAAG,CAAC6F,IAAI,EAAE/F,OAAO,CAAC,IAAIE,GAAG,CAAC6F,IAAI,CAAC9B,SAAS,CAAC,EAAEjE,OAAO,CAAC;MAC5D,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAO0F,YAAY;AACrB,CAAC;AAED,OAAO,MAAMO,SAAS,GAAIpE,CAAM,IAAK,OAAOA,CAAC,KAAK,WAAW;;AAE7D;AACA,OAAO,MAAMqE,WAAW,GAAGA,CAACjE,GAAQ,EAAEkE,UAAoB,KAAK;EAC7D,IAAIlE,GAAG,KAAK,IAAI,EAAE;IAChB,OAAOkE,UAAU;EACnB;EAEA,IAAIlE,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,MAAM,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,IAAIA,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,OAAO,EAAE;IACpC,OAAO,KAAK;EACd;EAEA,MAAMmE,MAAM,GAAGC,QAAQ,CAACpE,GAAG,EAAE,EAAE,CAAC;EAChC,IAAI,CAACqE,KAAK,CAACF,MAAM,CAAC,EAAE;IAClB,OAAOA,MAAM;EACf;EACA,OAAOnE,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsE,YAAY,GAAGA,CAACC,EAAY,EAAEC,QAAgB,EAAEC,UAAkB,EAAEC,aAAa,GAAGA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK;EAChI,IAAIC,UAAU,GAAG,CAAC;EAClB,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAChBD,UAAU,EAAE;IACZ,IAAInH,UAAU,CAAC6G,EAAE,CAAC,EAAE;MAChB,OAAOA,EAAE,CAAC,CAAC;IACf;EACJ,CAAC;EACDE,UAAU,GAAIhG,QAAQ,CAACgG,UAAU,CAAC,IAAIA,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAE;EACtED,QAAQ,GAAI/F,QAAQ,CAAC+F,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,GAAGA,QAAQ,GAAG,CAAE;EAC9D,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEG,MAAM,KAAK;IACpC,MAAMC,OAAO,GAAG,SAAAA,CAAA,EAAY;MACxB,MAAMC,OAAO,GAAGC,SAAS;MACzBC,UAAU,CAAC,MAAM;QACbR,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMV,aAAa,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,UAAUC,KAAK,EAAE;UAChE,IAAIA,KAAK,KAAK,KAAK,KAAK,CAACZ,UAAU,IAAII,UAAU,IAAIJ,UAAU,CAAC,EAAE;YAChEE,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMN,KAAK,CAAC,CAAC,CAAC,CAACM,IAAI,CAACR,OAAO,EAAEI,OAAO,CAAC;UAC9D,CAAC,MAAM;YACHD,MAAM,CAACE,OAAO,CAAC;UACnB;QACJ,CAAC,EAAE,MAAMF,MAAM,CAACE,OAAO,CAAC,CAAC;MAC7B,CAAC,EAAET,QAAQ,CAAC;IAChB,CAAC;IACDG,OAAO,CAACC,OAAO,CAAC,CAAC,CAACQ,IAAI,CAAC,MAAMN,KAAK,CAAC,CAAC,CAAC,CAACM,IAAI,CAACR,OAAO,EAAEI,OAAO,CAAC;EAChE,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMM,iBAAiB,GAAGA,CAAA,KAAM;EACrC,MAAMC,MAAW,GAAG;IAChBC,OAAO,EAAE,IAAI;IACbT,MAAM,EAAE,IAAI;IACZH,OAAO,EAAE,IAAI;IACba,OAAO,EAAEA,CAAA,KAAM,CAAE,CAAC;IAClBC,SAAS,EAAE;EACf,CAAC;EACDH,MAAM,CAACC,OAAO,GAAG,IAAIb,OAAO,CAAC,CAACC,OAAO,EAAEG,MAAM,KAAK;IAC9CQ,MAAM,CAACX,OAAO,GAAGA,OAAO;IACxBW,MAAM,CAACR,MAAM,GAAGA,MAAM;EAC1B,CAAC,CAAC;EACFQ,MAAM,CAACC,OAAO,CAACG,KAAK,GAAG,MAAM;IACzBJ,MAAM,CAACE,OAAO,IAAIF,MAAM,CAACE,OAAO,CAAC,CAAC;IAClCF,MAAM,CAACR,MAAM,CAAC,SAAS,CAAC;IACxBQ,MAAM,CAACG,SAAS,GAAG,IAAI;EAC3B,CAAC;EACD,OAAOH,MAAM;AACf,CAAC;AAED,OAAO,MAAMK,aAAa,GAAGA,CAACC,KAAU,EAAEC,KAAU,KAAK;EACvD,IAAIC,aAAa,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;EAC3C,IAAIH,KAAK,CAACI,QAAQ,EAAE;IAClB,IAAI1H,OAAO,CAACuH,KAAK,CAAC,EAAE;MAClBC,aAAa,GAAGD,KAAK,CAACnF,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI;IACnD,CAAC,MAAM;MACLoF,aAAa,GAAG,CAACD,KAAK,GAAG,KAAK,GAAG,IAAI;IACvC;IACA,IAAI,CAACC,aAAa,EAAE;MAClB,OAAO;QACLG,SAAS,EAAG,UAAU;QACtBC,OAAO,EAAE;MACX,CAAC;IACH;EACF;EACA,IAAIL,KAAK,IAAID,KAAK,CAACO,MAAM,EAAE;IACzB,MAAMC,SAAS,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGT,KAAK,CAACO,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC;IAC3DJ,UAAU,GAAGK,SAAS,CAAC9E,IAAI,CAACuE,KAAK,CAAC;IAClC,IAAI,CAACE,UAAU,EAAE;MACf,OAAO;QACLE,SAAS,EAAG,QAAQ;QACpBC,OAAO,EAAE;MACX,CAAC;IACH;EACF;EACA,IAAIL,KAAK,IAAID,KAAK,CAACU,QAAQ,IAAIT,KAAK,CAACnF,MAAM,GAAGkF,KAAK,CAACU,QAAQ,EAAE;IAC5D,OAAO;MACLL,SAAS,EAAG,UAAU;MACtBC,OAAO,EAAE;IACX,CAAC;EAEH;EACA,IAAIL,KAAK,IAAID,KAAK,CAACW,OAAO,IAAI,IAAIC,IAAI,CAACZ,KAAK,CAACa,SAAS,CAAC,GAAGlJ,MAAM,CAACqI,KAAK,CAACW,OAAO,CAAC,CAACG,OAAO,CAAC,KAAK,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE;IACvG,OAAO;MACLV,SAAS,EAAG,SAAS;MACrBC,OAAO,EAAE;IACX,CAAC;EACH;EACA,IAAIL,KAAK,IAAID,KAAK,CAACgB,OAAO,IAAI,IAAIJ,IAAI,CAACZ,KAAK,CAACa,SAAS,CAAC,GAAGlJ,MAAM,CAACqI,KAAK,CAACgB,OAAO,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC,CAACF,MAAM,CAAC,CAAC,EAAE;IACrG,OAAO;MACLV,SAAS,EAAG,SAAS;MACrBC,OAAO,EAAE;IACX,CAAC;EACH;EAEA,OAAO;IACLA,OAAO,EAAE;EACX,CAAC;AACH,CAAC;AAED,OAAO,MAAMY,kBAAkB,GAAI5C,MAAuB,IAAK;EAC7D,IAAI,CAACA,MAAM,EAAE,OAAO,CAAC;;EAErB;EACA,MAAM6C,YAAY,GAAG7C,MAAM,CAACxB,QAAQ,CAAC,CAAC;;EAEtC;EACA,MAAMsE,YAAY,GAAGD,YAAY,CAAC3E,KAAK,CAAC,SAAS,CAAC;EAElD,IAAI4E,YAAY,EAAE;IAChB,MAAMC,aAAa,GAAGD,YAAY,CAAC,CAAC,CAAC;IACrC,OAAOC,aAAa,CAACvG,MAAM;EAC7B,CAAC,MAAM;IACL,OAAO,CAAC,CAAC,CAAC;EACZ;AACF,CAAC;AAED,OAAO,MAAMwG,mBAAmB,GAAIhD,MAAc,IAAK;EACrD,MAAMiD,UAAU,GAAGjD,MAAM,GAAG,CAAC;EAC7BA,MAAM,GAAGiD,UAAU,GAAGjD,MAAM,GAAG,CAAC,CAAC,GAAGA,MAAM;EAC1C,IAAIkD,eAAe,GAAGlD,MAAM,GAAG,EAAE;EACjC,IAAIA,MAAM,IAAI,IAAI,IAAIA,MAAM,GAAG,OAAS,EAAE;IACxCkD,eAAe,GAAI,CAAClD,MAAM,GAAG,IAAI,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EACzE,CAAC,MAAM,IAAIqB,MAAM,IAAI,OAAS,IAAIA,MAAM,GAAG,UAAa,EAAE;IACxDkD,eAAe,GAAI,CAAClD,MAAM,GAAG,OAAS,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EAC9E,CAAC,MAAM,IAAIqB,MAAM,IAAI,UAAa,IAAIA,MAAM,GAAG,aAAiB,EAAE;IAChEkD,eAAe,GAAI,CAAClD,MAAM,GAAG,UAAa,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EAClF,CAAC,MAAM,IAAIqB,MAAM,IAAI,aAAiB,IAAIA,MAAM,GAAG,gBAAqB,EAAE;IACxEkD,eAAe,GAAI,CAAClD,MAAM,GAAG,aAAiB,EAAEmD,OAAO,CAAC,CAAC,CAAC,CAACxE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG;EACtF;EACA,OAAO,CAACsE,UAAU,GAAG,GAAG,GAAG,EAAE,IAAIC,eAAe;AAClD,CAAC;AAED,OAAO,MAAME,QAAQ,GAAG,SAAAA,CAASC,IAAY,EAAE;EAC7C,OAAO/J,UAAU,CAACgK,iBAAiB,CAACD,IAAI,EAAE;IAAEE,QAAQ,EAAE;EAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACjI,OAAO,MAAMC,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOH,eAAe,CAACI,GAAG,CAACD,MAAM,CAAC;AACpC,CAAC;AACD,OAAO,MAAME,aAAa,GAAI1H,GAAW,IAAK;EAC5C,OAAO9B,QAAQ,CAAC8B,GAAG,CAAC,KACnBA,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,IACrB3H,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,IACvB3H,GAAG,CAAC2H,UAAU,CAAC,QAAQ,CAAC,IACxB3H,GAAG,CAAC2H,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,SAASC,mBAAmBA,CAAC5E,GAAQ,EAAE;EAC5C,KAAK,MAAMO,GAAG,IAAIP,GAAG,EAAE;IACrB,IAAIA,GAAG,CAACO,GAAG,CAAC,KAAK5D,SAAS,EAAE;MAC1B,OAAOqD,GAAG,CAACO,GAAG,CAAC;IACjB,CAAC,MAAM,IAAI,OAAOP,GAAG,CAACO,GAAG,CAAC,KAAK,QAAQ,EAAE;MACvC;MACAqE,mBAAmB,CAAC5E,GAAG,CAACO,GAAG,CAAC,CAAC;IAC/B;EACF;EAEA,OAAOP,GAAG;AACZ;AACA;AACA,SAAS6E,cAAcA,CAACC,KAAa,EAAEC,IAAY,EAAE;EACnD,OAAO,IAAI5B,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAE,CAAC,CAAC,CAACE,OAAO,CAAC,CAAC;AAC3C;AAEA,OAAO,MAAMC,QAAQ,GAAGA,CACtBC,SAAiB,EACjBC,OAAe,EACfL,KAAK,GAAG,CAAC;AAAE;AACXC,IAAI,GAAG,IAAI5B,IAAI,CAAC,CAAC,CAACiC,WAAW,CAAC,CAAC,KAC5B;EACH,MAAMC,WAAW,GAAGR,cAAc,CAACC,KAAK,EAAEC,IAAI,CAAC;EAC/C,MAAMO,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC;IAACnI,MAAM,EAAEgI;EAAW,CAAC,EAAE,CAAC/I,CAAC,EAAEmJ,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC;EAEhE,MAAMC,YAAY,GAAGJ,KAAK,CAACK,MAAM,CAACC,IAAI,IAAIA,IAAI,IAAIV,SAAS,CAAC;EAE5D,OAAOQ,YAAY;AACrB,CAAC;AAED,OAAO,MAAMG,UAAU,GAAG,CACxB,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,CACX;AAED,OAAO,MAAMC,SAAS,GAAGA,CAACC,UAAkB,EAAEC,QAAgB,KAAK;EACjE,MAAMC,MAAM,GAAGJ,UAAU,CAACvI,GAAG,CAAC4I,IAAI,IAAIA,IAAI,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC3D,MAAMC,UAAU,GAAGH,MAAM,CAACN,MAAM,CAAC,CAACU,CAAC,EAAEhG,KAAK,KAAKA,KAAK,IAAI0F,UAAU,CAAC;EAEnE,OAAOK,UAAU;AACnB,CAAC;AAED,OAAO,MAAME,aAAa,GAAGA,CAACC,SAAiB,EAAEC,SAAkB,GAAG,IAAI,KAAK;EAC7E,MAAMP,MAAM,GAAGO,SAAS,GAAGX,UAAU,CAACvI,GAAG,CAAC4I,IAAI,IAAIA,IAAI,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGN,UAAU;EACpF,MAAMY,WAAW,GAAGR,MAAM,CAACS,SAAS,CAAER,IAAI,IAAKA,IAAI,KAAKK,SAAS,CAAC;EAElE,OAAOE,WAAW;AACpB,CAAC;AAED,OAAO,MAAME,YAAY,GAAGA,CAC1BC,SAAiB,GAAG,IAAI,EACxBC,OAAe,GAAG,IAAI,KACnB;EACH,MAAMC,KAAK,GAAG,EAAE;EAChB,KAAK,IAAI/B,IAAI,GAAG6B,SAAS,EAAE7B,IAAI,IAAI8B,OAAO,EAAE,EAAE9B,IAAI,EAAE;IAClD+B,KAAK,CAAC5G,IAAI,CAAC6E,IAAI,CAAC;EAClB;EAEA,OAAO+B,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAACnB,IAAY,EAAEd,KAAa,EAAEC,IAAY,KAAK;EAC1E;EACA,OAAO,IAAI5B,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAEc,IAAI,CAAC;AACpC,CAAC;AAED,OAAO,MAAMoB,QAAQ,GAAGA,CAAA,KAAM;EAC5B,MAAMC,KAAK,GAAG,EAAE;EAChB,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAE,EAAEA,IAAI,EAAE;IACrC,MAAMC,UAAU,GAAGC,MAAM,CAACF,IAAI,CAAC,CAACG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChDJ,KAAK,CAAC/G,IAAI,CAACiH,UAAU,CAAC;EACxB;EAEA,OAAOF,KAAK;AACd,CAAC;AAED,OAAO,MAAMK,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAML,KAAK,GAAG,EAAE;EAChB,KAAK,IAAIC,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAE,EAAEA,IAAI,EAAE;IACrC,MAAMC,UAAU,GAAGC,MAAM,CAACF,IAAI,CAAC,CAACG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAChDJ,KAAK,CAAC/G,IAAI,CAACiH,UAAU,CAAC;EACxB;EAEA,OAAOF,KAAK;AACd,CAAC;AAED,OAAO,MAAMM,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAMC,OAAO,GAAG,EAAE;EAClB,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,IAAI,EAAE,EAAE,EAAEA,MAAM,EAAE;IAC3C,MAAMC,YAAY,GAAGN,MAAM,CAACK,MAAM,CAAC,CAACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACpDG,OAAO,CAACtH,IAAI,CAACwH,YAAY,CAAC;EAC5B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AACrB,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAAChC,IAAY,EAAEd,KAAa,EAAEC,IAAY,EAAEmC,IAAY,EAAEO,MAAc,KAAK;EAC5G;EACA,OAAO,IAAItE,IAAI,CAAC4B,IAAI,EAAED,KAAK,EAAEc,IAAI,EAAEsB,IAAI,EAAEO,MAAM,CAAC;AAClD,CAAC;AAED,OAAO,MAAMI,mBAAmB,GAAIC,KAAa,IAAK;EACpD,MAAMC,cAAc,GAAGD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,WAAW,CAAC,CAAC;EAC3C,IAAIC,KAAK,GAAG;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAC1B,IAAIC,GAAG,GAAG;IAAEF,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;EAExB,IAAIL,KAAK,KAAK,MAAM,IAAIC,cAAc,KAAK,QAAQ,EAAE;IACnDK,GAAG,CAACF,CAAC,GAAG,CAAC;IACTE,GAAG,CAACD,CAAC,GAAG,CAAC;EACX,CAAC,MAAM,IAAIL,KAAK,KAAK,OAAO,IAAIC,cAAc,KAAK,UAAU,EAAE;IAC7DE,KAAK,CAACC,CAAC,GAAG,CAAC;EACb,CAAC,MAAM,IAAIJ,KAAK,KAAK,QAAQ,IAAIC,cAAc,KAAK,WAAW,EAAE;IAC/DE,KAAK,CAACE,CAAC,GAAG,CAAC;IACXC,GAAG,CAACF,CAAC,GAAG,CAAC;IACTE,GAAG,CAACD,CAAC,GAAG,CAAC;EACX,CAAC,MAAM,IAAIL,KAAK,KAAK,QAAQ,IAAIC,cAAc,KAAK,SAAS,EAAE;IAC7DE,KAAK,CAACC,CAAC,GAAG,CAAC;IACXE,GAAG,CAACF,CAAC,GAAG,CAAC;EACX,CAAC,MAAM;IACL;EAAA;EAGF,OAAO;IAACD,KAAK;IAAEG;EAAG,CAAC;AACrB,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,QAAgB,IAAK;EACvD,IAAIR,KAAK,GAAG,EAAE;IAAES,MAAM,GAAG,EAAE;IAAEC,MAAM,GAAG,EAAE;EACxC,MAAMC,mBAAmB,GAAG,kDAAkD;EAC9E,MAAMC,iBAAiB,GAAGD,mBAAmB,CAACxK,IAAI,CAACqK,QAAQ,CAAC;EAE5D,MAAMK,OAAO,GAAGL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEvJ,KAAK,CAAC0J,mBAAmB,CAAC;EACpDX,KAAK,GAAG,CAAAa,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAI,OAAO;EAC/B,MAAM;IAACV,KAAK;IAAEG;EAAG,CAAC,GAAGP,mBAAmB,CAACC,KAAK,CAAC;EAC/CS,MAAM,GAAG,CAAAI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAItN,cAAc,CAACuN,QAAQ,CAACC,YAAY;EAC7DL,MAAM,GAAG,CAAAG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,CAAC,CAAC,KAAItN,cAAc,CAACuN,QAAQ,CAACC,YAAY;EAE7D,OAAO;IAACH,iBAAiB;IAAEH,MAAM;IAAEC,MAAM;IAAEP,KAAK;IAAEG;EAAG,CAAC;AACxD,CAAC;AAED,OAAO,MAAMU,qBAAqB,GAAGA,CAACtG,KAAa,EAAEuG,IAA2B,KAAK;EAAA,IAAAC,YAAA;EACnF,MAAMC,eAAe,GAAGF,IAAI,KAAK,UAAU;EAC3C,IAAIG,WAAW,GAAG,IAAI;EACtB,IAAIC,SAAS,GAAG3G,KAAK;;EAErB;EACA,IAAI,gBAAgB,CAACvE,IAAI,CAACuE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAACvE,IAAI,CAACuE,KAAK,CAAC,EAAE;IACtE0G,WAAW,GAAG,KAAK;IACnBC,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;IACpD2J,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;EAClD;;EAEA;EACA,IAAIyJ,eAAe,KAAKG,MAAM,CAAC5G,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAACvE,IAAI,CAACuE,KAAK,CAAC,CAAC,EAAE;IAC9D0G,WAAW,GAAG,KAAK;IACnBC,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EACzC;;EAEA;EACA,IAAI,CAACyJ,eAAe,IAAKG,MAAM,EAAAJ,YAAA,GAACxG,KAAK,CAACzD,KAAK,CAAC,IAAI,CAAC,cAAAiK,YAAA,uBAAjBA,YAAA,CAAmB3L,MAAM,CAAC,GAAG,CAAE,IAAI,KAAK,CAACY,IAAI,CAACuE,KAAK,CAAC,EAAE;IACpF0G,WAAW,GAAG,KAAK;IACnBC,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACvC2J,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAC3C;;EAEA;EACA,IAAI,gBAAgB,CAACvB,IAAI,CAACuE,KAAK,CAAC,EAAE;IAChC0G,WAAW,GAAG,KAAK;IACnBC,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;EACnD;;EAEA;EACA,IAAI,OAAO,CAACvB,IAAI,CAACuE,KAAK,CAAC,EAAE;IACvB0G,WAAW,GAAG,KAAK;IACnBC,SAAS,GAAGA,SAAS,CAAC3J,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EAC5C;EAEA,OAAO;IAAC0J,WAAW;IAAEC;EAAS,CAAC;AACjC,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAGA,CACtCC,WAAoB,EACpBC,UAA0B,KACvB;EACH,IAAI;IAAA,IAAAC,YAAA;IACF;IACA,MAAM5D,IAAI,GAAG1L,MAAM,CAACqP,UAAU,EAAED,WAAW,EAAE,IAAI,CAAC;;IAElD;IACA,OAAO1D,IAAI,CAAC/C,OAAO,CAAC,CAAC,IAAI,OAAO0G,UAAU,KAAK,QAAQ,IAAI,CAAAA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,WAAW,CAAC,CAAC,QAAAD,YAAA,GAAK5D,IAAI,CAACnG,MAAM,CAAC6J,WAAW,CAAC,cAAAE,YAAA,uBAAxBA,YAAA,CAA0BC,WAAW,CAAC,CAAC;EAClI,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd;IACA,OAAO,KAAK;EACd;AACF,CAAC;AAED,OAAO,MAAMC,WAAW,GAAIC,UAAmB,IAAK;EAClD,IAAI,CAACA,UAAU,EAAE,OAAO,KAAK;EAC7B,IAAIC,mBAAmB,GAAG,KAAK;EAC/B,IAAIC,SAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;EACjD,IAAIC,aAAa,GAAGH,UAAU,CAAC1M,KAAK,CAAC,GAAG,CAAC;EACzC,IAAI8M,QAAQ,GAAGD,aAAa,CACzBzM,GAAG,CAAE2M,SAAiB,IAAK;IAC1B,IAAIlB,IAAI,GAAG3N,IAAI,CAAC8O,MAAM,CAACD,SAAS,CAAC;IACjC,IAAIE,mBAAmB,GAAGL,SAAS,CAACzP,QAAQ,CAAC4P,SAAS,CAAC;IACvD;IACAJ,mBAAmB,GAAG,CAACd,IAAI,IAAI,CAACoB,mBAAmB;IACnD,OAAOpB,IAAI,GAAGA,IAAI,GAAGoB,mBAAmB,GAAGF,SAAS,GAAG,EAAE;EAC3D,CAAC,CAAC,CACDtE,MAAM,CAAEoD,IAAI,IAAKA,IAAI,CAAC;EAEzB,IAAIc,mBAAmB,EAAE,OAAO,KAAK;EACrC,OAAOG,QAAQ;AACjB,CAAC;AAED,OAAO,SAASI,uBAAuBA,CAACC,SAAiB,EAAE;EACzD,OAAO9E,KAAK,CAACC,IAAI,CAAC;IAAEnI,MAAM,EAAEgN;EAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD","ignoreList":[]}
|
app-rn-runtime/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
|
3
|
-
"version": "12.0.0-next.
|
|
3
|
+
"version": "12.0.0-next.45129",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"copy-resources": "mkdir -p ./dist && cp -r ./lib/module ./dist && cp ./package.json ./dist/module",
|
|
18
18
|
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
19
19
|
"build": "bob build && node ./scripts/build.js post-build",
|
|
20
|
+
"build:test": "cd ./test && tsc",
|
|
20
21
|
"release": "release-it",
|
|
21
22
|
"example": "yarn --cwd example",
|
|
22
23
|
"pods": "cd example && pod-install --quiet",
|
|
@@ -45,10 +46,11 @@
|
|
|
45
46
|
"@react-native-community/netinfo": "11.1.0",
|
|
46
47
|
"@react-native-community/slider": "4.5.2",
|
|
47
48
|
"@react-native-masked-view/masked-view": "0.3.0",
|
|
49
|
+
"@react-native/assets-registry": "0.74.83",
|
|
48
50
|
"@react-navigation/drawer": "6.6.3",
|
|
49
51
|
"@react-navigation/native": "6.1.7",
|
|
50
52
|
"@react-navigation/stack": "6.3.29",
|
|
51
|
-
"@wavemaker/variables": "12.0.0-next.
|
|
53
|
+
"@wavemaker/variables": "12.0.0-next.45129",
|
|
52
54
|
"axios": "1.6.8",
|
|
53
55
|
"color": "4.2.3",
|
|
54
56
|
"cross-env": "7.0.3",
|
|
@@ -63,11 +65,11 @@
|
|
|
63
65
|
"lodash-es": "4.17.21",
|
|
64
66
|
"lottie-react-native": "6.5.1",
|
|
65
67
|
"moment": "2.30.1",
|
|
66
|
-
"@react-native/assets-registry": "0.74.83",
|
|
67
68
|
"react-lottie-player": "2.0.0",
|
|
68
69
|
"react-native-animatable": "1.4.0",
|
|
69
70
|
"react-native-circular-progress": "1.4.0",
|
|
70
71
|
"react-native-logs": "5.1.0",
|
|
72
|
+
"react-native-mime-types": "2.5.0",
|
|
71
73
|
"react-native-paper": "5.12.3",
|
|
72
74
|
"react-native-paper-dates": "0.22.7",
|
|
73
75
|
"react-native-reanimated": "3.6.2",
|
|
@@ -80,6 +82,9 @@
|
|
|
80
82
|
"react-xml-parser": "1.1.8"
|
|
81
83
|
},
|
|
82
84
|
"devDependencies": {
|
|
85
|
+
"@babel/core": "7.24.0",
|
|
86
|
+
"@babel/plugin-transform-class-static-block": "7.24.6",
|
|
87
|
+
"@babel/preset-env": "7.24.7",
|
|
83
88
|
"@commitlint/config-conventional": "19.2.2",
|
|
84
89
|
"@react-native-community/eslint-config": "3.2.0",
|
|
85
90
|
"@release-it/conventional-changelog": "2.0.0",
|
|
@@ -94,13 +99,15 @@
|
|
|
94
99
|
"@types/react-native": "0.73.0",
|
|
95
100
|
"@types/react-native-snap-carousel": "3.8.11",
|
|
96
101
|
"@types/react-test-renderer": "18.3.0",
|
|
97
|
-
"babel-jest": "
|
|
102
|
+
"babel-jest": "29.7.0",
|
|
98
103
|
"babel-preset-env": "1.7.0",
|
|
99
104
|
"babel-preset-react": "6.24.1",
|
|
105
|
+
"babel-preset-react-native": "4.0.1",
|
|
100
106
|
"commitlint": "19.3.0",
|
|
101
107
|
"enzyme": "3.11.0",
|
|
102
108
|
"eslint": "9.2.0",
|
|
103
109
|
"eslint-config-prettier": "9.1.0",
|
|
110
|
+
"eslint-plugin-jest-dom": "5.4.0",
|
|
104
111
|
"eslint-plugin-prettier": "5.1.3",
|
|
105
112
|
"execa": "5.0.0",
|
|
106
113
|
"expo-av": "13.10.6",
|
|
@@ -117,7 +124,10 @@
|
|
|
117
124
|
"expo-web-browser": "12.8.2",
|
|
118
125
|
"handlebars": "4.7.8",
|
|
119
126
|
"jest": "29.7.0",
|
|
127
|
+
"jest-expo": "50.0.4",
|
|
120
128
|
"jest-html-reporter": "3.10.2",
|
|
129
|
+
"metro-react-native-babel-preset": "^0.77.0",
|
|
130
|
+
"mockdate": "3.0.5",
|
|
121
131
|
"ncp": "2.0.0",
|
|
122
132
|
"react": "18.2.0",
|
|
123
133
|
"react-dom": "18.2.0",
|
|
@@ -131,10 +141,10 @@
|
|
|
131
141
|
"typescript": "5.1.3",
|
|
132
142
|
"victory-native": "36.6.11",
|
|
133
143
|
"yargs": "16.2.0",
|
|
134
|
-
"@wavemaker/variables": "12.0.0-next.
|
|
144
|
+
"@wavemaker/variables": "12.0.0-next.45129"
|
|
135
145
|
},
|
|
136
146
|
"jest": {
|
|
137
|
-
"preset": "
|
|
147
|
+
"preset": "jest-expo",
|
|
138
148
|
"testRegex": "(test/.*|(\\.|/)(test|spec))\\.[t]sx?$",
|
|
139
149
|
"setupFiles": [
|
|
140
150
|
"./test/jest.setup.js"
|
|
@@ -142,13 +152,26 @@
|
|
|
142
152
|
"setupFilesAfterEnv": [
|
|
143
153
|
"@testing-library/jest-native/extend-expect"
|
|
144
154
|
],
|
|
155
|
+
"collectCoverage": true,
|
|
156
|
+
"collectCoverageFrom": [
|
|
157
|
+
"**/*.{js,jsx,ts,tsx}",
|
|
158
|
+
"!**/coverage/**",
|
|
159
|
+
"!**/node_modules/**",
|
|
160
|
+
"!**/babel.config.js",
|
|
161
|
+
"!**/jest.setup.js",
|
|
162
|
+
"!**/dist/**"
|
|
163
|
+
],
|
|
145
164
|
"coverageDirectory": "./dist/reports/coverage",
|
|
146
165
|
"transform": {
|
|
147
166
|
"^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest"
|
|
148
167
|
},
|
|
168
|
+
"transformIgnorePatterns": [
|
|
169
|
+
"node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|react-native-svg|@wavemaker|@wavemaker/app-rn-runtime/components/basic/modal/modal.component|expo-linear-gradient|react-native-gesture-handler|@react-native-community|@react-native-community/datetimepicker|react-native-reanimated|d3*|victory-native|victory-.*)"
|
|
170
|
+
],
|
|
149
171
|
"moduleNameMapper": {
|
|
150
172
|
"^lodash-es$": "lodash",
|
|
151
|
-
"^@wavemaker/app-rn-runtime/(.*)$": "<rootDir>/src/$1"
|
|
173
|
+
"^@wavemaker/app-rn-runtime/(.*)$": "<rootDir>/src/$1",
|
|
174
|
+
"react-native-webview": "<rootDir>/node_modules/react-native-webview/src/index.ts"
|
|
152
175
|
},
|
|
153
176
|
"modulePathIgnorePatterns": [
|
|
154
177
|
"<rootDir>/node_modules/(?!lodash-es)",
|
app-rn-runtime/runtime/App.js
CHANGED
|
@@ -3,7 +3,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
3
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
4
|
import React from 'react';
|
|
5
5
|
import axios from 'axios';
|
|
6
|
-
import { Platform, TouchableOpacity, View, StatusBar
|
|
6
|
+
import { Platform, TouchableOpacity, View, StatusBar } from 'react-native';
|
|
7
7
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
8
8
|
import ProtoTypes from 'prop-types';
|
|
9
9
|
import { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';
|
|
@@ -80,7 +80,8 @@ const SUPPORTED_SERVICES = {
|
|
|
80
80
|
Utils: Utils,
|
|
81
81
|
CONSTANTS: ConstantService,
|
|
82
82
|
StorageService: StorageService,
|
|
83
|
-
AppDisplayManagerService: AppDisplayManagerService
|
|
83
|
+
AppDisplayManagerService: AppDisplayManagerService,
|
|
84
|
+
i18nService: AppI18nService
|
|
84
85
|
};
|
|
85
86
|
export default class BaseApp extends React.Component {
|
|
86
87
|
constructor(props) {
|
|
@@ -450,11 +451,6 @@ export default class BaseApp extends React.Component {
|
|
|
450
451
|
}
|
|
451
452
|
}, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
452
453
|
value: this.appConfig.theme
|
|
453
|
-
}, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
454
|
-
behavior: Platform.OS === "ios" ? "padding" : undefined,
|
|
455
|
-
style: {
|
|
456
|
-
flex: 1
|
|
457
|
-
}
|
|
458
454
|
}, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(View, {
|
|
459
455
|
style: styles.container
|
|
460
456
|
}, /*#__PURE__*/React.createElement(GestureHandlerRootView, {
|
|
@@ -468,7 +464,7 @@ export default class BaseApp extends React.Component {
|
|
|
468
464
|
drawerAnimation: (_this$appConfig$drawe2 = this.appConfig.drawer) === null || _this$appConfig$drawe2 === void 0 ? void 0 : _this$appConfig$drawe2.getAnimation()
|
|
469
465
|
}), commonPartial)), this.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
|
|
470
466
|
appLocale: this.appConfig.appLocale
|
|
471
|
-
}) : null), this.renderToasters(), this.renderDialogs(), this.renderDisplayManager())))
|
|
467
|
+
}) : null), this.renderToasters(), this.renderDialogs(), this.renderDisplayManager())));
|
|
472
468
|
}))));
|
|
473
469
|
}
|
|
474
470
|
}
|