@wavemaker/app-rn-runtime 11.5.0-next.40301 → 11.5.0-next.NULL
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/actions/login-action.js +4 -0
- app-rn-runtime/actions/login-action.js.map +1 -1
- app-rn-runtime/actions/logout-action.js +4 -0
- app-rn-runtime/actions/logout-action.js.map +1 -1
- app-rn-runtime/actions/notification-action.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js +4 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.styles.js +1 -2
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.styles.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js +214 -69
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.props.js +3 -0
- app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.styles.js +22 -10
- app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
- app-rn-runtime/components/advanced/login/login.component.js +3 -2
- app-rn-runtime/components/advanced/login/login.component.js.map +1 -1
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js +17 -16
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +28 -11
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.props.js +0 -1
- app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +7 -5
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/animatedview.component.js +50 -0
- app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
- app-rn-runtime/components/basic/audio/audio.component.js +5 -0
- app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +20 -7
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.styles.js +15 -5
- app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +11 -5
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +11 -5
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.props.js +1 -0
- app-rn-runtime/components/basic/icon/icon.props.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.styles.js +2 -1
- app-rn-runtime/components/basic/icon/icon.styles.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +79 -11
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.props.js +1 -0
- app-rn-runtime/components/basic/label/label.props.js.map +1 -1
- app-rn-runtime/components/basic/label/label.styles.js +5 -0
- app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js +6 -3
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +7 -5
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +4 -3
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.styles.js +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.styles.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -2
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +12 -6
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.styles.js +11 -10
- app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js +6 -2
- 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 +2 -1
- app-rn-runtime/components/basic/video/video.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +42 -14
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js +10 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +42 -4
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js +1 -2
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +158 -46
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +18 -4
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +44 -2
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +25 -3
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.props.js +9 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +28 -6
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +1 -0
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +25 -3
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.props.js +1 -0
- app-rn-runtime/components/chart/pie-chart/pie-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +275 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +17 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js +7 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js.map +1 -0
- app-rn-runtime/components/container/accordion/accordion.component.js +22 -15
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +6 -24
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +14 -4
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/container.props.js +1 -0
- app-rn-runtime/components/container/container.props.js.map +1 -1
- app-rn-runtime/components/container/panel/collapsible-pane.component.js +26 -0
- app-rn-runtime/components/container/panel/collapsible-pane.component.js.map +1 -0
- app-rn-runtime/components/container/panel/panel.component.js +44 -62
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.styles.js +9 -2
- app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
- app-rn-runtime/components/container/partial-host.component.js +1 -1
- app-rn-runtime/components/container/partial-host.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +29 -15
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +15 -10
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +18 -10
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +1 -0
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.component.js +3 -2
- app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +139 -22
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.props.js +4 -0
- app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.styles.js +117 -6
- app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +22 -3
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +4 -0
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
- app-rn-runtime/components/data/card/card.component.js +3 -2
- app-rn-runtime/components/data/card/card.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +9 -7
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +12 -6
- app-rn-runtime/components/data/form/form.component.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.styles.js +9 -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 +93 -31
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.props.js +7 -0
- app-rn-runtime/components/data/list/list.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +12 -5
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +1 -0
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.styles.js +2 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.styles.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.component.js +1 -0
- app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.styles.js +2 -1
- app-rn-runtime/components/device/camera/camera.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/alertdialog/alertdialog.component.js +4 -1
- app-rn-runtime/components/dialogs/alertdialog/alertdialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/alertdialog/alertdialog.styles.js +9 -3
- app-rn-runtime/components/dialogs/alertdialog/alertdialog.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.component.js +6 -2
- app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.styles.js +10 -10
- app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js +2 -0
- app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.styles.js +25 -8
- app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -2
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.styles.js +2 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.styles.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +6 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +45 -6
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js +4 -0
- app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.styles.js +22 -11
- app-rn-runtime/components/input/calendar/calendar.styles.js.map +1 -1
- app-rn-runtime/components/input/calendar/views/month-view.js +4 -0
- app-rn-runtime/components/input/calendar/views/month-view.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +6 -6
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +14 -7
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +2 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +15 -4
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.styles.js +20 -12
- app-rn-runtime/components/input/chips/chips.styles.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.component.js +8 -1
- app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.props.js +1 -0
- app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.styles.js +16 -1
- app-rn-runtime/components/input/composite/composite.styles.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +21 -3
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.props.js +1 -0
- app-rn-runtime/components/input/currency/currency.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.styles.js +31 -5
- app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +32 -9
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.component.js +8 -0
- app-rn-runtime/components/input/epoch/date/date.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.styles.js +16 -0
- app-rn-runtime/components/input/epoch/date/date.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js +8 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +21 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.component.js +8 -0
- app-rn-runtime/components/input/epoch/time/time.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.styles.js +16 -0
- app-rn-runtime/components/input/epoch/time/time.styles.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -0
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +16 -2
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.props.js +1 -0
- app-rn-runtime/components/input/number/number.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.styles.js +23 -2
- app-rn-runtime/components/input/number/number.styles.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +13 -6
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.props.js +6 -0
- app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.styles.js +6 -9
- app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
- app-rn-runtime/components/input/rating/rating.component.js +2 -0
- app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +17 -13
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.styles.js +8 -4
- app-rn-runtime/components/input/select/select.styles.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +99 -23
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.styles.js +30 -3
- app-rn-runtime/components/input/slider/slider.styles.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +11 -5
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.styles.js +15 -9
- app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +12 -1
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.props.js +1 -0
- app-rn-runtime/components/input/text/text.props.js.map +1 -1
- app-rn-runtime/components/input/text/text.styles.js +22 -1
- app-rn-runtime/components/input/text/text.styles.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +12 -1
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.props.js +1 -0
- app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.styles.js +17 -0
- app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +44 -5
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.styles.js +16 -11
- app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +16 -3
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.component.js +2 -0
- app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
- app-rn-runtime/components/navigation/menu/menu.component.js +5 -3
- app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
- app-rn-runtime/components/navigation/menu/menu.styles.js +10 -6
- app-rn-runtime/components/navigation/menu/menu.styles.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.component.js +7 -4
- app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +6 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.styles.js +14 -10
- app-rn-runtime/components/navigation/navitem/navitem.styles.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js +10 -5
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.styles.js +8 -2
- app-rn-runtime/components/navigation/popover/popover.styles.js.map +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.component.js +2 -2
- app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.styles.js +6 -1
- app-rn-runtime/components/page/left-panel/left-panel.styles.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +11 -3
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/curve.js +84 -0
- app-rn-runtime/components/page/tabbar/curve.js.map +1 -0
- app-rn-runtime/components/page/tabbar/tabbar.component.js +47 -12
- 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/page/tabbar/tabbar.styles.js +76 -1
- app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
- app-rn-runtime/core/base.component.js +84 -37
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/floatinglabel.component.js +45 -0
- app-rn-runtime/core/components/floatinglabel.component.js.map +1 -0
- app-rn-runtime/core/components/textinput.component.js +25 -2
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/constant.service.js +22 -0
- app-rn-runtime/core/constant.service.js.map +1 -0
- app-rn-runtime/core/formatters.js +9 -2
- app-rn-runtime/core/formatters.js.map +1 -1
- app-rn-runtime/core/imageSizeEstimator.js +4 -0
- app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
- app-rn-runtime/core/key.extractor.js +22 -0
- app-rn-runtime/core/key.extractor.js.map +1 -0
- app-rn-runtime/core/tappable.component.js +49 -12
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/testid.provider.js +5 -0
- app-rn-runtime/core/testid.provider.js.map +1 -0
- app-rn-runtime/core/utils.js +16 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +90 -16
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +6 -3
- app-rn-runtime/runtime/App.js +55 -22
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +27 -6
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +25 -2
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-i18n.service.js +7 -0
- app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-modal.service.js +1 -1
- app-rn-runtime/runtime/services/app-modal.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +14 -3
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
- app-rn-runtime/runtime/services/device/camera-service.js +26 -9
- app-rn-runtime/runtime/services/device/camera-service.js.map +1 -1
- app-rn-runtime/runtime/services/device/scan-service.js +16 -2
- app-rn-runtime/runtime/services/device/scan-service.js.map +1 -1
- app-rn-runtime/runtime/services/webprocess.service.js +0 -1
- app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
- app-rn-runtime/styles/theme.js +66 -1
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/styles/theme.variables.js +24 -3
- app-rn-runtime/styles/theme.variables.js.map +1 -1
- app-rn-runtime/variables/http.service.js +1 -1
- app-rn-runtime/variables/http.service.js.map +1 -1
- app-rn-runtime/variables/live-variable.js +1 -0
- app-rn-runtime/variables/live-variable.js.map +1 -1
- app-rn-runtime/variables/model-variable.js +13 -1
- app-rn-runtime/variables/model-variable.js.map +1 -1
- app-rn-runtime/variables/service-variable.js +1 -0
- app-rn-runtime/variables/service-variable.js.map +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
5
|
import React from "react";
|
|
5
|
-
import { ImageBackground, TouchableOpacity, View } from "react-native";
|
|
6
|
+
import { ImageBackground, Platform, TouchableOpacity, View } from "react-native";
|
|
6
7
|
import { Ionicons } from "@expo/vector-icons";
|
|
7
8
|
import { ResizeMode, Video } from "expo-av";
|
|
8
9
|
import { Camera, CameraType } from "expo-camera";
|
|
@@ -79,6 +80,7 @@ export class CameraService {
|
|
|
79
80
|
permissionManager.requestPermissions('video').then(() => {
|
|
80
81
|
const destroy = this.displayManager.show({
|
|
81
82
|
content: /*#__PURE__*/React.createElement(CameraView, {
|
|
83
|
+
testID: "camera_view",
|
|
82
84
|
type: this.type,
|
|
83
85
|
captureType: 'video',
|
|
84
86
|
onSuccess: o => {
|
|
@@ -104,6 +106,7 @@ export class CameraService {
|
|
|
104
106
|
permissionManager.requestPermissions('image').then(() => {
|
|
105
107
|
const destroy = this.displayManager.show({
|
|
106
108
|
content: /*#__PURE__*/React.createElement(CameraView, {
|
|
109
|
+
testID: "camera_view",
|
|
107
110
|
type: this.type,
|
|
108
111
|
captureType: 'image',
|
|
109
112
|
onSuccess: o => {
|
|
@@ -126,6 +129,7 @@ export class CameraService {
|
|
|
126
129
|
}
|
|
127
130
|
class CameraViewProps {
|
|
128
131
|
constructor() {
|
|
132
|
+
_defineProperty(this, "testID", 'camera_view');
|
|
129
133
|
_defineProperty(this, "type", 'back');
|
|
130
134
|
_defineProperty(this, "captureType", 'image');
|
|
131
135
|
_defineProperty(this, "onSuccess", () => {});
|
|
@@ -194,6 +198,19 @@ export class CameraView extends React.Component {
|
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
200
|
}
|
|
201
|
+
getTestProps(suffix) {
|
|
202
|
+
const id = this.props.testID + (suffix ? '_' + suffix : '');
|
|
203
|
+
if (Platform.OS === 'android' || Platform.OS === 'web') {
|
|
204
|
+
return {
|
|
205
|
+
accessibilityLabel: id,
|
|
206
|
+
testID: id
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
accessible: false,
|
|
211
|
+
testID: id
|
|
212
|
+
};
|
|
213
|
+
}
|
|
197
214
|
async takePicture() {
|
|
198
215
|
const options = {
|
|
199
216
|
quality: 0.5,
|
|
@@ -227,7 +244,7 @@ export class CameraView extends React.Component {
|
|
|
227
244
|
style: styles.actionBar
|
|
228
245
|
}, /*#__PURE__*/React.createElement(View, {
|
|
229
246
|
style: styles.leftWrapper
|
|
230
|
-
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
247
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestProps('close'), {
|
|
231
248
|
onPress: () => {
|
|
232
249
|
this.setState({
|
|
233
250
|
cameraContent: {
|
|
@@ -238,26 +255,26 @@ export class CameraView extends React.Component {
|
|
|
238
255
|
});
|
|
239
256
|
this.props.onCancel();
|
|
240
257
|
}
|
|
241
|
-
}, /*#__PURE__*/React.createElement(Ionicons, {
|
|
258
|
+
}), /*#__PURE__*/React.createElement(Ionicons, {
|
|
242
259
|
name: "close-circle",
|
|
243
260
|
size: 32,
|
|
244
261
|
color: "white"
|
|
245
262
|
}))), /*#__PURE__*/React.createElement(View, {
|
|
246
263
|
style: styles.midWrapper
|
|
247
|
-
}, !this.state.isCaptured ? /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
264
|
+
}, !this.state.isCaptured ? /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
|
248
265
|
style: [styles.circle, styles.outerCircle, this.props.captureType === 'video' && !this.state.recording ? {
|
|
249
266
|
backgroundColor: "red"
|
|
250
267
|
} : {}, this.props.captureType === 'image' ? {
|
|
251
268
|
backgroundColor: "white"
|
|
252
269
|
} : {}],
|
|
253
270
|
onPress: this.toggleCapture.bind(this)
|
|
254
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
271
|
+
}, this.getTestProps('capture')), /*#__PURE__*/React.createElement(View, {
|
|
255
272
|
style: [styles.circle, this.props.captureType === 'image' ? {} : styles.innerCircle, this.props.captureType === 'image' ? {
|
|
256
273
|
backgroundColor: "white"
|
|
257
274
|
} : {}]
|
|
258
275
|
})) : null), /*#__PURE__*/React.createElement(View, {
|
|
259
276
|
style: styles.rightWrapper
|
|
260
|
-
}, this.state.showActionBtns ? /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
277
|
+
}, this.state.showActionBtns ? /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
|
261
278
|
onPress: () => {
|
|
262
279
|
this.setState({
|
|
263
280
|
isCaptured: false,
|
|
@@ -270,17 +287,17 @@ export class CameraView extends React.Component {
|
|
|
270
287
|
}
|
|
271
288
|
});
|
|
272
289
|
}
|
|
273
|
-
}, /*#__PURE__*/React.createElement(Ionicons, {
|
|
290
|
+
}, this.getTestProps('ok')), /*#__PURE__*/React.createElement(Ionicons, {
|
|
274
291
|
name: "checkmark-circle",
|
|
275
292
|
size: 32,
|
|
276
293
|
color: "white"
|
|
277
|
-
})) : /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
294
|
+
})) : /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestProps('toggle'), {
|
|
278
295
|
onPress: () => {
|
|
279
296
|
this.setState({
|
|
280
297
|
cameraType: this.state.cameraType === 'back' ? 'front' : 'back'
|
|
281
298
|
});
|
|
282
299
|
}
|
|
283
|
-
}, /*#__PURE__*/React.createElement(Ionicons, {
|
|
300
|
+
}), /*#__PURE__*/React.createElement(Ionicons, {
|
|
284
301
|
name: "camera-reverse",
|
|
285
302
|
size: 32,
|
|
286
303
|
color: "white"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ImageBackground","TouchableOpacity","View","Ionicons","ResizeMode","Video","Camera","CameraType","FileSystem","permissionManager","appDisplayManagerService","styles","preview","top","left","right","flexGrow","backgroundColor","actionBtn","flex","padding","paddingHorizontal","alignSelf","margin","actionBar","flexDirection","justifyContent","position","bottom","leftWrapper","alignItems","midWrapper","rightWrapper","circle","display","outerCircle","borderWidth","height","width","borderRadius","borderColor","innerCircle","CameraService","constructor","displayManager","_defineProperty","back","captureVideo","options","Promise","resolve","reject","requestPermissions","then","destroy","show","content","createElement","CameraView","type","captureType","onSuccess","o","call","videoPath","uri","onCancel","captureImage","params","catch","base64","imagePath","CameraViewProps","CameraViewState","Component","props","camera","recordAsync","response","readAsStringAsync","encoding","setState","cameraContent","isCaptured","state","showActionBtns","recording","stopRecording","toggleCapture","takePicture","startRecord","stopRecord","quality","skipProcessing","onPictureSaved","takePictureAsync","getActionsTemplate","style","onPress","closeView","name","size","color","bind","cameraType","getPreviewTemplate","actions","source","resizeMode","CONTAIN","shouldPlay","useNativeControls","isLooping","render","ref","onCameraReady","cameraService"],"sources":["camera-service.tsx"],"sourcesContent":["import React from \"react\";\nimport { ImageBackground, TouchableOpacity, View, ViewStyle } from \"react-native\";\nimport { Ionicons } from \"@expo/vector-icons\";\nimport { ResizeMode, Video } from \"expo-av\";\nimport { Camera, CameraType } from \"expo-camera\";\nimport * as FileSystem from \"expo-file-system\";\n\nimport { DisplayManager } from \"@wavemaker/app-rn-runtime/core/display.manager\";\nimport { CaptureVideoOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation\";\nimport { CaptureImageOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation\";\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport { CameraInput } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Input } from \"@wavemaker/app-rn-runtime/variables/device/operation.provider\";\nimport appDisplayManagerService from \"@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service\";\nconst styles = {\n preview: {\n top: 0,\n left: 0,\n right: 0,\n flexGrow: 1,\n backgroundColor: 'black'\n },\n actionBtn: {\n flex: 0,\n padding: 15,\n paddingHorizontal: 20,\n alignSelf: 'center',\n margin: 20,\n } as ViewStyle,\n actionBar: {\n flex: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n backgroundColor: 'rgba(0,0,0,0.6)',\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: 20\n } as ViewStyle,\n leftWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-start',\n } as ViewStyle,\n midWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n rightWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-end',\n } as ViewStyle,\n circle: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n outerCircle: {\n borderWidth: 3,\n height: 50,\n width: 50,\n borderRadius: 25,\n borderColor: 'white'\n },\n innerCircle: {\n borderRadius:2,\n height: 20,\n width:20,\n backgroundColor: 'red'\n }\n};\n\nexport interface CameraVideoInput extends Input {}\n\nexport class CameraService {\n private type= CameraType.back;\n\n constructor(private displayManager: DisplayManager) {\n }\n\n public captureVideo(options?: CameraVideoInput): Promise<CaptureVideoOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('video').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView type={this.type} captureType={'video'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n /*o.content().catch(() => {}).then(base64 => {\n resolve({videoPath: o.uri, content: base64 || ''});\n });*/\n resolve({videoPath: o.uri, content: ''});\n }}\n onCancel={() => {\n destroy.call(this.displayManager);\n }}\n ></CameraView>)\n });\n }, reject);\n });\n }\n\n public captureImage(params: CameraInput): Promise<CaptureImageOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('image').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView type={this.type} captureType={'image'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n o.content().catch(() => {}).then(base64 => {\n resolve({imagePath: o.uri, content: base64 || ''});\n });\n }} onCancel={() => {destroy.call(this.displayManager);}}\n ></CameraView>)\n });\n }, reject);\n });\n }\n}\n\ninterface CameraOutput {\n uri: string;\n content: () => Promise<string>;\n}\n\nclass CameraViewProps {\n type: 'front' | 'back' = 'back' as CameraType;\n captureType: 'image' | 'video' = 'image';\n onSuccess: (o: CameraOutput) => any = () => {};\n onCancel: () => any = () => {};\n}\n\nclass CameraViewState {\n recording: boolean = false;\n showActionBtns: boolean = false;\n cameraType: CameraType = CameraType.back;\n isCaptured: boolean = false;\n closeView: boolean = false;\n cameraContent: CameraOutput = {} as CameraOutput;\n}\n\nexport class CameraView extends React.Component<CameraViewProps, CameraViewState> {\n private camera: Camera = {} as Camera;\n\n constructor(props: CameraViewProps) {\n super(props);\n this.state = new CameraViewState();\n }\n\n toggleCapture() {\n if (this.props.captureType === 'image') {\n this.takePicture();\n } else {\n if (!this.state.recording) {\n this.startRecord();\n } else {\n this.stopRecord();\n this.setState({showActionBtns: true} as CameraViewState);\n }\n }\n }\n\n async takePicture() {\n const options = {\n quality: 0.5,\n base64: false,\n skipProcessing: true,\n onPictureSaved: (response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ \n cameraContent: response,\n isCaptured: true,\n showActionBtns: true } as CameraViewState);\n }\n }\n await this.camera.takePictureAsync(options);\n\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n this.setState({showActionBtns: true} as CameraViewState);\n }\n\n // start recording\n startRecord = async () => {\n this.camera.recordAsync().then((response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ cameraContent: response, isCaptured: true } as CameraViewState);\n });\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n\n this.setState({recording: true} as CameraViewState);\n };\n\n // stop recording\n stopRecord = async () => {\n this.camera.stopRecording();\n this.setState({recording: false} as CameraViewState);\n this.setState({showActionBtns: true} as CameraViewState);\n };\n\n getActionsTemplate() {\n return <View style={styles.actionBar}>\n <View style={styles.leftWrapper}>\n <TouchableOpacity\n onPress={() => {\n this.setState({ cameraContent: {uri: ''}, isCaptured: false, closeView: true } as CameraViewState);\n this.props.onCancel();\n }}>\n <Ionicons name='close-circle' size={32} color='white' />\n </TouchableOpacity>\n </View>\n <View style={styles.midWrapper}>\n {!this.state.isCaptured ? <TouchableOpacity style={[styles.circle, styles.outerCircle, this.props.captureType === 'video' && !this.state.recording ? { backgroundColor: \"red\" } : {},\n this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}\n onPress={this.toggleCapture.bind(this)}>\n <View style={[styles.circle as ViewStyle, this.props.captureType === 'image' ? {} : styles.innerCircle, this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}></View>\n </TouchableOpacity> : null}\n </View>\n <View style={styles.rightWrapper}>\n {this.state.showActionBtns ? (<TouchableOpacity\n onPress={() => {\n this.setState({ isCaptured: false, closeView: true } as CameraViewState);\n this.props.onSuccess(this.state.cameraContent);\n this.setState({ cameraContent: {uri: ''} } as CameraViewState);\n }}>\n <Ionicons name='checkmark-circle' size={32} color='white'/>\n </TouchableOpacity>) : (<TouchableOpacity\n onPress={() => {\n this.setState({cameraType: this.state.cameraType === 'back' ? 'front' : 'back'} as CameraViewState);\n }}>\n <Ionicons name='camera-reverse' size={32} color='white' />\n </TouchableOpacity>)}\n </View>\n </View>\n }\n\n getPreviewTemplate(actions: any) {\n return this.props.captureType === 'image' ?\n <ImageBackground source={{uri : this.state.cameraContent.uri}} resizeMode={ResizeMode.CONTAIN} style={{flex: 1}} />\n : <Video\n style={{ flex: 1 }}\n source={{\n uri: this.state.cameraContent.uri,\n }}\n shouldPlay={true}\n useNativeControls\n isLooping\n resizeMode={ResizeMode.CONTAIN}\n ></Video>\n }\n\n render() {\n if (this.state.closeView) {\n return null;\n }\n const actions = this.getActionsTemplate();\n return (\n <View style={styles.preview}>\n {this.state.isCaptured ? (\n this.getPreviewTemplate(actions)\n ) : (\n <Camera type={CameraType[this.state.cameraType]} ref={(ref: Camera) => { this.camera = ref; }}\n style={{flex: 1}}\n onCameraReady={() => {}}>\n\n </Camera>)}\n {actions}\n </View>)\n }\n}\nconst cameraService = new CameraService(appDisplayManagerService);\nexport default cameraService;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","ImageBackground","Platform","TouchableOpacity","View","Ionicons","ResizeMode","Video","Camera","CameraType","FileSystem","permissionManager","appDisplayManagerService","styles","preview","top","left","right","flexGrow","backgroundColor","actionBtn","flex","padding","paddingHorizontal","alignSelf","margin","actionBar","flexDirection","justifyContent","position","bottom","leftWrapper","alignItems","midWrapper","rightWrapper","circle","display","outerCircle","borderWidth","height","width","borderRadius","borderColor","innerCircle","CameraService","constructor","displayManager","_defineProperty","back","captureVideo","options","Promise","resolve","reject","requestPermissions","then","destroy","show","content","createElement","CameraView","testID","type","captureType","onSuccess","o","call","videoPath","uri","onCancel","captureImage","params","catch","base64","imagePath","CameraViewProps","CameraViewState","Component","props","camera","recordAsync","response","readAsStringAsync","encoding","setState","cameraContent","isCaptured","state","showActionBtns","recording","stopRecording","toggleCapture","takePicture","startRecord","stopRecord","getTestProps","suffix","id","OS","accessibilityLabel","accessible","quality","skipProcessing","onPictureSaved","takePictureAsync","getActionsTemplate","style","_extends","onPress","closeView","name","size","color","bind","cameraType","getPreviewTemplate","actions","source","resizeMode","CONTAIN","shouldPlay","useNativeControls","isLooping","render","ref","onCameraReady","cameraService"],"sources":["camera-service.tsx"],"sourcesContent":["import React from \"react\";\nimport { ImageBackground, Platform, TouchableOpacity, View, ViewStyle } from \"react-native\";\nimport { Ionicons } from \"@expo/vector-icons\";\nimport { ResizeMode, Video } from \"expo-av\";\nimport { Camera, CameraType } from \"expo-camera\";\nimport * as FileSystem from \"expo-file-system\";\nimport * as Application from 'expo-application';\n\nimport { DisplayManager } from \"@wavemaker/app-rn-runtime/core/display.manager\";\nimport { CaptureVideoOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation\";\nimport { CaptureImageOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation\";\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport { CameraInput } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Input } from \"@wavemaker/app-rn-runtime/variables/device/operation.provider\";\nimport appDisplayManagerService from \"@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service\";\nconst styles = {\n preview: {\n top: 0,\n left: 0,\n right: 0,\n flexGrow: 1,\n backgroundColor: 'black'\n },\n actionBtn: {\n flex: 0,\n padding: 15,\n paddingHorizontal: 20,\n alignSelf: 'center',\n margin: 20,\n } as ViewStyle,\n actionBar: {\n flex: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n backgroundColor: 'rgba(0,0,0,0.6)',\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: 20\n } as ViewStyle,\n leftWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-start',\n } as ViewStyle,\n midWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n rightWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-end',\n } as ViewStyle,\n circle: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n outerCircle: {\n borderWidth: 3,\n height: 50,\n width: 50,\n borderRadius: 25,\n borderColor: 'white'\n },\n innerCircle: {\n borderRadius:2,\n height: 20,\n width:20,\n backgroundColor: 'red'\n }\n};\n\nexport interface CameraVideoInput extends Input {}\n\nexport class CameraService {\n private type= CameraType.back;\n\n constructor(private displayManager: DisplayManager) {\n }\n\n public captureVideo(options?: CameraVideoInput): Promise<CaptureVideoOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('video').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView testID={\"camera_view\"} type={this.type} captureType={'video'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n /*o.content().catch(() => {}).then(base64 => {\n resolve({videoPath: o.uri, content: base64 || ''});\n });*/\n resolve({videoPath: o.uri, content: ''});\n }}\n onCancel={() => {\n destroy.call(this.displayManager);\n }}\n ></CameraView>)\n });\n }, reject);\n });\n }\n\n public captureImage(params: CameraInput): Promise<CaptureImageOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('image').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView testID={\"camera_view\"} type={this.type} captureType={'image'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n o.content().catch(() => {}).then(base64 => {\n resolve({imagePath: o.uri, content: base64 || ''});\n });\n }} onCancel={() => {destroy.call(this.displayManager);}}\n ></CameraView>)\n });\n }, reject);\n });\n }\n}\n\ninterface CameraOutput {\n uri: string;\n content: () => Promise<string>;\n}\n\nclass CameraViewProps {\n testID: string = 'camera_view';\n type: 'front' | 'back' = 'back' as CameraType;\n captureType: 'image' | 'video' = 'image';\n onSuccess: (o: CameraOutput) => any = () => {};\n onCancel: () => any = () => {};\n}\n\nclass CameraViewState {\n recording: boolean = false;\n showActionBtns: boolean = false;\n cameraType: CameraType = CameraType.back;\n isCaptured: boolean = false;\n closeView: boolean = false;\n cameraContent: CameraOutput = {} as CameraOutput;\n}\n\nexport class CameraView extends React.Component<CameraViewProps, CameraViewState> {\n private camera: Camera = {} as Camera;\n\n constructor(props: CameraViewProps) {\n super(props);\n this.state = new CameraViewState();\n }\n\n toggleCapture() {\n if (this.props.captureType === 'image') {\n this.takePicture();\n } else {\n if (!this.state.recording) {\n this.startRecord();\n } else {\n this.stopRecord();\n this.setState({showActionBtns: true} as CameraViewState);\n }\n }\n }\n\n getTestProps(suffix: string) {\n const id = this.props.testID + (suffix ? '_' + suffix : '');\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n async takePicture() {\n const options = {\n quality: 0.5,\n base64: false,\n skipProcessing: true,\n onPictureSaved: (response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ \n cameraContent: response,\n isCaptured: true,\n showActionBtns: true } as CameraViewState);\n }\n }\n await this.camera.takePictureAsync(options);\n\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n this.setState({showActionBtns: true} as CameraViewState);\n }\n\n // start recording\n startRecord = async () => {\n this.camera.recordAsync().then((response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ cameraContent: response, isCaptured: true } as CameraViewState);\n });\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n\n this.setState({recording: true} as CameraViewState);\n };\n\n // stop recording\n stopRecord = async () => {\n this.camera.stopRecording();\n this.setState({recording: false} as CameraViewState);\n this.setState({showActionBtns: true} as CameraViewState);\n };\n\n getActionsTemplate() {\n return <View style={styles.actionBar}>\n <View style={styles.leftWrapper}>\n <TouchableOpacity\n {...this.getTestProps('close')}\n onPress={() => {\n this.setState({ cameraContent: {uri: ''}, isCaptured: false, closeView: true } as CameraViewState);\n this.props.onCancel();\n }}>\n <Ionicons name='close-circle' size={32} color='white' />\n </TouchableOpacity>\n </View>\n <View style={styles.midWrapper}>\n {!this.state.isCaptured ? <TouchableOpacity style={[styles.circle, styles.outerCircle, this.props.captureType === 'video' && !this.state.recording ? { backgroundColor: \"red\" } : {},\n this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}\n onPress={this.toggleCapture.bind(this)}\n {...this.getTestProps('capture')}>\n <View style={[styles.circle as ViewStyle, this.props.captureType === 'image' ? {} : styles.innerCircle, this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}></View>\n </TouchableOpacity> : null}\n </View>\n <View style={styles.rightWrapper}>\n {this.state.showActionBtns ? (<TouchableOpacity\n onPress={() => {\n this.setState({ isCaptured: false, closeView: true } as CameraViewState);\n this.props.onSuccess(this.state.cameraContent);\n this.setState({ cameraContent: {uri: ''} } as CameraViewState);\n }}\n {...this.getTestProps('ok')}>\n <Ionicons name='checkmark-circle' size={32} color='white'/>\n </TouchableOpacity>) : (<TouchableOpacity\n {...this.getTestProps('toggle')}\n onPress={() => {\n this.setState({cameraType: this.state.cameraType === 'back' ? 'front' : 'back'} as CameraViewState);\n }}>\n <Ionicons name='camera-reverse' size={32} color='white' />\n </TouchableOpacity>)}\n </View>\n </View>\n }\n\n getPreviewTemplate(actions: any) {\n return this.props.captureType === 'image' ?\n <ImageBackground source={{uri : this.state.cameraContent.uri}} resizeMode={ResizeMode.CONTAIN} style={{flex: 1}} />\n : <Video\n style={{ flex: 1 }}\n source={{\n uri: this.state.cameraContent.uri,\n }}\n shouldPlay={true}\n useNativeControls\n isLooping\n resizeMode={ResizeMode.CONTAIN}\n ></Video>\n }\n\n render() {\n if (this.state.closeView) {\n return null;\n }\n const actions = this.getActionsTemplate();\n return (\n <View style={styles.preview}>\n {this.state.isCaptured ? (\n this.getPreviewTemplate(actions)\n ) : (\n <Camera type={CameraType[this.state.cameraType]} ref={(ref: Camera) => { this.camera = ref; }}\n style={{flex: 1}}\n onCameraReady={() => {}}>\n\n </Camera>)}\n {actions}\n </View>)\n }\n}\nconst cameraService = new CameraService(appDisplayManagerService);\nexport default cameraService;\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
2
|
import { Camera } from 'expo-camera';
|
|
2
3
|
import { Ionicons } from '@expo/vector-icons';
|
|
3
4
|
import { BarCodeScanner } from 'expo-barcode-scanner';
|
|
@@ -62,6 +63,19 @@ export class ScanService {
|
|
|
62
63
|
constructor(displayManager) {
|
|
63
64
|
this.displayManager = displayManager;
|
|
64
65
|
}
|
|
66
|
+
getTestProps(suffix) {
|
|
67
|
+
const id = "scan" + (suffix ? '_' + suffix : '');
|
|
68
|
+
if (Platform.OS === 'android' || Platform.OS === 'web') {
|
|
69
|
+
return {
|
|
70
|
+
accessibilityLabel: id,
|
|
71
|
+
testID: id
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
accessible: false,
|
|
76
|
+
testID: id
|
|
77
|
+
};
|
|
78
|
+
}
|
|
65
79
|
scanBarcode(params) {
|
|
66
80
|
const format = (params === null || params === void 0 ? void 0 : params.barcodeFormat) || 'ALL';
|
|
67
81
|
const barcodeFormat = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];
|
|
@@ -91,11 +105,11 @@ export class ScanService {
|
|
|
91
105
|
style: styles.bottomWrapper
|
|
92
106
|
}, /*#__PURE__*/React.createElement(View, {
|
|
93
107
|
style: styles.closeWrapper
|
|
94
|
-
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
108
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestProps('close_button'), {
|
|
95
109
|
onPress: () => {
|
|
96
110
|
destroy.call(this.displayManager);
|
|
97
111
|
}
|
|
98
|
-
}, /*#__PURE__*/React.createElement(Ionicons, {
|
|
112
|
+
}), /*#__PURE__*/React.createElement(Ionicons, {
|
|
99
113
|
name: "close-circle",
|
|
100
114
|
size: 48,
|
|
101
115
|
color: "white"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Camera","Ionicons","BarCodeScanner","Platform","StyleSheet","TouchableOpacity","View","React","permissionManager","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","ScanService","constructor","displayManager","scanBarcode","params","format","barcodeFormat","
|
|
1
|
+
{"version":3,"names":["Camera","Ionicons","BarCodeScanner","Platform","StyleSheet","TouchableOpacity","View","React","permissionManager","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","ScanService","constructor","displayManager","getTestProps","suffix","id","OS","accessibilityLabel","testID","accessible","scanBarcode","params","format","barcodeFormat","undefined","Promise","resolve","reject","requestPermissions","then","destroy","show","content","createElement","barCodeScannerSettings","barCodeTypes","Constants","BarCodeType","onBarCodeScanned","result","call","style","absoluteFillObject","_extends","onPress","name","size","color","response","type","values","Object","index","indexOf","keys","text","data","cancelled","scanService"],"sources":["scan-service.tsx"],"sourcesContent":["import { Camera } from 'expo-camera';\nimport { Ionicons } from '@expo/vector-icons';\nimport { BarCodeScanner } from 'expo-barcode-scanner';\nimport * as Application from 'expo-application';\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';\nimport React from 'react';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { DisplayManager } from '@wavemaker/app-rn-runtime/core/display.manager';\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';\n\ninterface objectMap {\n [key: string]: string\n}\n\nconst barcodeFormatOptions: objectMap = {\n 'ALL': 'ALL',\n 'CODABAR': 'codabar',\n 'CODE_39': 'code39',\n 'CODE_93': 'code93',\n 'CODE_128': 'code128',\n 'DATA_MATRIX': 'datamatrix',\n 'EAN_8': 'ean8',\n 'EAN_13': 'ean13',\n 'ITF': 'itf14',\n 'PDF_417': 'pdf417',\n 'QR_CODE': 'qr',\n 'RSS14': 'rss14',\n 'RSS_EXPANDED': 'rssexpanded',\n 'UPC_E': 'upc_e',\n 'UPC_A': 'upc_a'\n};\nconst opacity = 'rgba(0, 0, 0, 0.6)';\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column'\n },\n closeWrapper: {\n flex: 1,\n justifyContent: 'flex-end',\n alignItems: 'center',\n paddingBottom: 32\n },\n topWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n centerWrapper: {\n flex: 2,\n flexDirection: 'row'\n },\n leftWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n focused: {\n flex: 10\n },\n rightWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n bottomWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n});\n\nexport class ScanService {\n\n constructor(private displayManager: DisplayManager) {}\n\n getTestProps(suffix: string) {\n const id = \"scan\" + (suffix ? '_' + suffix : '');\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public scanBarcode(params: ScanInput): Promise<ScanOutput> {\n const format = params?.barcodeFormat || 'ALL';\n const barcodeFormat: string | undefined = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('camera').then(() => {\n const destroy = this.displayManager.show({\n content: (<Camera\n barCodeScannerSettings={barcodeFormat ? {\n barCodeTypes: [BarCodeScanner.Constants.BarCodeType[barcodeFormat]],\n }: undefined}\n onBarCodeScanned={(result) => {\n destroy.call(this.displayManager);\n resolve(result);\n }}\n style={StyleSheet.absoluteFillObject}\n >\n <View style={styles.topWrapper}>\n </View>\n <View style={styles.centerWrapper}>\n <View style={styles.leftWrapper}/>\n <View style={styles.focused}/>\n <View style={styles.rightWrapper}/>\n </View>\n <View style={styles.bottomWrapper}>\n \n <View style={styles.closeWrapper}>\n <TouchableOpacity\n {... this.getTestProps('close_button')}\n onPress={() => {\n destroy.call(this.displayManager);\n }}>\n <Ionicons name='close-circle' size={48} color='white' />\n </TouchableOpacity>\n </View>\n </View>\n </Camera>)\n });\n }, reject)\n }).then((response: any) => {\n let format;\n if (response.type) {\n const values = Object.values(BarCodeScanner.Constants.BarCodeType);\n const index = values.indexOf(response.type);\n format = index > -1 ? Object.keys(BarCodeScanner.Constants.BarCodeType)[index] : '';\n }\n return Promise.resolve({\n text: response.data,\n format : format || response.type,\n cancelled : false\n });\n });\n }\n}\nconst scanService = new ScanService(appDisplayManagerService);\nexport default scanService;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","React","Component","Dimensions","View","WmWebview","injector","AppDisplayManagerService","windowWidth","get","width","windowHeight","height","WebProcessWebViewProps","constructor","_defineProperty","WebProcessWebView","props","getScriptToInject","process","render","createElement","style","src","incognito","
|
|
1
|
+
{"version":3,"names":["axios","React","Component","Dimensions","View","WmWebview","injector","AppDisplayManagerService","windowWidth","get","width","windowHeight","height","WebProcessWebViewProps","constructor","_defineProperty","WebProcessWebView","props","getScriptToInject","process","render","createElement","style","src","incognito","styles","root","onLoad","e","w","setTimeout","executeScript","then","output","onComplete","WebProcessService","execute","hookUrl","useSystemBrowser","arguments","length","undefined","baseUrl","url","withCredentials","response","executeWithSystemBrowser","data","executeWithInAppBrowser","processInfo","Promise","reject","resolve","destroyFn","show","content","encodeURIComponent","ouput","call"],"sources":["webprocess.service.tsx"],"sourcesContent":["import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { Dimensions, View } from \"react-native\";\n\nimport WmWebview from \"@wavemaker/app-rn-runtime/components/advanced/webview/webview.component\";\nimport AppConfig from \"@wavemaker/app-rn-runtime/core/AppConfig\";\nimport injector from \"@wavemaker/app-rn-runtime/core/injector\";\n\nimport AppDisplayManagerService from \"./app-display-manager.service\";\n\ndeclare const window: any, document: any, alert: any;\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nclass WebProcessWebViewProps {\n src: string = \"\";\n process: string = \"\";\n incognito = false;\n onComplete?: (output: string) => any = null as any;\n}\n \nclass WebProcessWebView extends Component<WebProcessWebViewProps> {\n\n constructor(props: WebProcessWebViewProps) {\n super(props);\n }\n\n private getScriptToInject(process: string): string {\n return `(function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })()`;\n }\n\n render() {\n return(\n <View style={{\n width: windowWidth,\n height: windowHeight\n }}>\n <WmWebview src={this.props.src}\n incognito={this.props.incognito}\n styles={{\n root: {\n width: '100%',\n height: '100%'\n }\n }}\n onLoad={(e, w) => {\n setTimeout(() => {\n w.executeScript(this.getScriptToInject(this.props.process))\n .then((output) => {\n if (output) {\n const onComplete = this.props.onComplete;\n onComplete && onComplete(output as string);\n }\n });\n }, 1000);\n }}></WmWebview>\n </View>\n );\n }\n}\n\nexport class WebProcessService {\n\n baseUrl: string | null = null;\n\n constructor() {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false, incognito = false): Promise<any> {\n if (!this.baseUrl) {\n this.baseUrl = injector.get<AppConfig>('APP_CONFIG').url;\n }\n return axios.get(this.baseUrl + `/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`, {\n withCredentials: true\n })\n .then((response) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(response.data);\n } else {\n return this.executeWithInAppBrowser(response.data, process, incognito);\n }\n }).then(output => {\n return axios.get(this.baseUrl + '/services/webprocess/decode?encodedProcessdata=' + output, {\n withCredentials: true\n });\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return Promise.reject('Web Process in System browser is nor ready yet');\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string, incognito: boolean): Promise<any> {\n return new Promise((resolve, reject) => {\n let destroyFn = () => {};\n destroyFn = AppDisplayManagerService.show({\n content: (\n <WebProcessWebView \n src={this.baseUrl + '/services/webprocess/start?process=' + encodeURIComponent(processInfo)}\n incognito={incognito}\n process={process}\n onComplete={(ouput) => {\n resolve(ouput);\n destroyFn.call(AppDisplayManagerService);\n }}></WebProcessWebView>\n ),\n \n });\n });\n }\n}\n\nexport default new WebProcessService();"],"mappings":"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"}
|
app-rn-runtime/styles/theme.js
CHANGED
|
@@ -2,7 +2,7 @@ var _class;
|
|
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
4
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
5
|
-
import { cloneDeep, forEach, flatten, isArray, isEmpty, isObject, isString, get, reverse } from 'lodash';
|
|
5
|
+
import { cloneDeep, isNil, forEach, flatten, isArray, isEmpty, isObject, isString, get, reverse } from 'lodash';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
|
8
8
|
import EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';
|
|
@@ -127,6 +127,43 @@ export class Theme {
|
|
|
127
127
|
}
|
|
128
128
|
return style;
|
|
129
129
|
}
|
|
130
|
+
cleanseStyleProperties(style) {
|
|
131
|
+
if (!(style && isObject(style)) || isString(style) || isArray(style)) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
style = style;
|
|
135
|
+
if (isObject(style) && !isArray(style)) {
|
|
136
|
+
Object.keys(style).forEach(k => {
|
|
137
|
+
const v = style[k];
|
|
138
|
+
if (isString(v) && v.startsWith('@')) {
|
|
139
|
+
const varValue = ThemeVariables.INSTANCE[v.substring(1)];
|
|
140
|
+
style[k] = isNil(varValue) ? v : varValue;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (!isNil(style['shadowRadius'])) {
|
|
145
|
+
if (style['shadowRadius'] <= 0) {
|
|
146
|
+
style['shadowColor'] = 'transparent';
|
|
147
|
+
} else if (isNil(style['elevation'])) {
|
|
148
|
+
style['elevation'] = 2;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (!isNil(style['margin'])) {
|
|
152
|
+
style['marginLeft'] = style['marginLeft'] || style['margin'];
|
|
153
|
+
style['marginRight'] = style['marginRight'] || style['margin'];
|
|
154
|
+
style['marginTop'] = style['marginTop'] || style['margin'];
|
|
155
|
+
style['marginBottom'] = style['marginBottom'] || style['margin'];
|
|
156
|
+
delete style['margin'];
|
|
157
|
+
}
|
|
158
|
+
if (!isNil(style['padding'])) {
|
|
159
|
+
style['paddingLeft'] = style['paddingLeft'] || style['padding'];
|
|
160
|
+
style['paddingRight'] = style['paddingRight'] || style['padding'];
|
|
161
|
+
style['paddingTop'] = style['paddingTop'] || style['padding'];
|
|
162
|
+
style['paddingBottom'] = style['paddingBottom'] || style['padding'];
|
|
163
|
+
delete style['padding'];
|
|
164
|
+
}
|
|
165
|
+
Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));
|
|
166
|
+
}
|
|
130
167
|
getStyle(name) {
|
|
131
168
|
let style = this.cache[name];
|
|
132
169
|
if (style) {
|
|
@@ -143,6 +180,7 @@ export class Theme {
|
|
|
143
180
|
let clonedStyle = {};
|
|
144
181
|
if (!mediaQuery || matchMedia(mediaQuery).matches) {
|
|
145
182
|
clonedStyle = cloneDeep(this.styles[name]);
|
|
183
|
+
this.cleanseStyleProperties(clonedStyle);
|
|
146
184
|
}
|
|
147
185
|
if (this !== Theme.BASE && isWebPreviewMode()) {
|
|
148
186
|
this.checkStyleProperties('', clonedStyle);
|
|
@@ -167,6 +205,33 @@ export class Theme {
|
|
|
167
205
|
this.parent.children.splice(i, 1);
|
|
168
206
|
}
|
|
169
207
|
}
|
|
208
|
+
getTextStyle(s) {
|
|
209
|
+
if (!s) {
|
|
210
|
+
return {};
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
color: s.color,
|
|
214
|
+
fontFamily: s.fontFamily,
|
|
215
|
+
fontSize: s.fontSize,
|
|
216
|
+
fontStyle: s.fontStyle,
|
|
217
|
+
fontWeight: s.fontWeight,
|
|
218
|
+
includeFontPadding: s.includeFontPadding,
|
|
219
|
+
fontVariant: s.fontVariant,
|
|
220
|
+
letterSpacing: s.letterSpacing,
|
|
221
|
+
lineHeight: s.lineHeight,
|
|
222
|
+
textAlign: s.textAlign,
|
|
223
|
+
textAlignVertical: s.textAlignVertical,
|
|
224
|
+
textDecorationColor: s.textDecorationColor,
|
|
225
|
+
textDecorationStyle: s.textDecorationStyle,
|
|
226
|
+
textShadowColor: s.textShadowColor,
|
|
227
|
+
textShadowOffset: s.textShadowOffset,
|
|
228
|
+
textShadowRadius: s.textShadowRadius,
|
|
229
|
+
textTransform: s.textTransform,
|
|
230
|
+
verticalAlign: s.verticalAlign,
|
|
231
|
+
writingDirection: s.writingDirection,
|
|
232
|
+
userSelect: s.userSelect
|
|
233
|
+
};
|
|
234
|
+
}
|
|
170
235
|
reset(styles) {
|
|
171
236
|
this.styles = {};
|
|
172
237
|
this.clearCache();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneDeep","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_defineProperty","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","arguments","length","undefined","result","collect","mergeStyle","_len","Array","_key","flattenStyles","s","cs","filter","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","reset","destroy","i","splice","themeVariables","CHANGE","_class","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","width","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor","text","userSelect"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, forEach, flatten, isArray, isEmpty, isObject, isString, isFunction, get, reverse } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(name && !isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property in ${this.name}: ${getErrorMessage(name, value)}`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n mergeStyle(...styles: any) {\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n });\n }\n return style;\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n }\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties('', clonedStyle);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn => \n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: AllStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\n\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle & {userSelect?: 'none'| 'text'});\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE);\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }]\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n\n addStyle('hide-context-menu', '', { text: { userSelect: 'none' }});\n});\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_defineProperty","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","arguments","length","undefined","result","collect","mergeStyle","_len","Array","_key","flattenStyles","s","cs","filter","cleanseStyleProperties","startsWith","varValue","substring","i","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","reset","destroy","splice","getTextStyle","color","fontFamily","fontSize","fontStyle","fontWeight","includeFontPadding","fontVariant","letterSpacing","lineHeight","textAlign","textAlignVertical","textDecorationColor","textDecorationStyle","textShadowColor","textShadowOffset","textShadowRadius","textTransform","verticalAlign","writingDirection","userSelect","themeVariables","CHANGE","_class","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","width","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor","text"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, isNil, forEach, flatten, isArray, isEmpty, isObject, isString, isFunction, get, reverse } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(name && !isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property in ${this.name}: ${getErrorMessage(name, value)}`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n mergeStyle(...styles: any) {\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n });\n }\n return style;\n }\n\n cleanseStyleProperties(style: any) {\n if (!(style && isObject(style)) || isString(style) || isArray(style)) {\n return;\n }\n style = style as any;\n if (isObject(style) && !isArray(style)) {\n Object.keys(style).forEach(k => {\n const v = style[k];\n if (isString(v) && v.startsWith('@')) {\n const varValue = (ThemeVariables.INSTANCE as any)[v.substring(1)];\n style[k] = isNil(varValue) ? v : varValue;\n }\n });\n }\n if (!isNil(style['shadowRadius'])) {\n if (style['shadowRadius'] <= 0) {\n style['shadowColor'] = 'transparent';\n } else if (isNil(style['elevation'])) {\n style['elevation'] = 2;\n }\n }\n if (!isNil(style['margin'])) {\n style['marginLeft'] = style['marginLeft'] || style['margin'];\n style['marginRight'] = style['marginRight'] || style['margin'];\n style['marginTop'] = style['marginTop'] || style['margin'];\n style['marginBottom'] = style['marginBottom'] || style['margin'];\n delete style['margin'];\n }\n if (!isNil(style['padding'])) {\n style['paddingLeft'] = style['paddingLeft'] || style['padding'];\n style['paddingRight'] = style['paddingRight'] || style['padding'];\n style['paddingTop'] = style['paddingTop'] || style['padding'];\n style['paddingBottom'] = style['paddingBottom'] || style['padding'];\n delete style['padding'];\n }\n Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n this.cleanseStyleProperties(clonedStyle);\n }\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties('', clonedStyle);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n \n getTextStyle(s: any) {\n if (!s) {\n return {};\n }\n return {\n color: s.color,\n fontFamily: s.fontFamily,\n fontSize: s.fontSize,\n fontStyle: s.fontStyle,\n fontWeight: s.fontWeight,\n includeFontPadding: s.includeFontPadding,\n fontVariant: s.fontVariant,\n letterSpacing: s.letterSpacing,\n lineHeight: s.lineHeight,\n textAlign: s.textAlign,\n textAlignVertical: s.textAlignVertical,\n textDecorationColor: s.textDecorationColor,\n textDecorationStyle: s.textDecorationStyle,\n textShadowColor: s.textShadowColor,\n textShadowOffset: s.textShadowOffset,\n textShadowRadius: s.textShadowRadius,\n textTransform: s.textTransform,\n verticalAlign: s.verticalAlign,\n writingDirection: s.writingDirection,\n userSelect: s.userSelect,\n } as TextStyle;\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn => \n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: AllStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\n\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle & {userSelect?: 'none'| 'text'});\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE);\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }]\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n\n addStyle('hide-context-menu', '', { text: { userSelect: 'none' }});\n});\n\n"],"mappings":"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"}
|