From 67182b57fe4835258dd043ceeaa88cb4315c2633 Mon Sep 17 00:00:00 2001 From: chandu0101 Date: Sun, 11 Oct 2015 12:47:07 +0530 Subject: [PATCH] release 0.1.0 --- .gitignore | 11 +- README.md | 10 +- docs/InteropWithThirdParty.md | 3 + docs/RefsToComponents.md | 8 +- docs/WhyNoDOMDSL.md | 2 +- mobile-examples/README.md | 18 +++ .../sri/mobile/examples/HelloSriMobile.scala | 4 +- .../mobile/examples/movies/MovieCell.scala | 4 +- .../mobile/examples/movies/MovieDetails.scala | 4 +- .../mobile/examples/movies/MoviesApp.scala | 7 +- .../mobile/examples/movies/SearchScreen.scala | 4 +- .../android/DefaultAndroidNavigationBar.scala | 4 +- .../movies/android/SearchBarAndroid.scala | 4 +- .../examples/movies/ios/SearchBarIOS.scala | 4 +- .../examples/router/RouterExampleApp.scala | 9 +- .../router/components/HomeScreen.scala | 4 +- .../examples/uiexplorer/UIExplorerApp.scala | 7 +- .../examples/uiexplorer/UIExplorerBlock.scala | 4 +- .../uiexplorer/UIExplorerListScreen.scala | 4 +- .../examples/uiexplorer/UIExplorerPage.scala | 4 +- .../uiexplorer/apis/AlertIOSExample.scala | 4 +- .../uiexplorer/apis/AsyncStorageExample.scala | 4 +- .../apis/android/AlertIOSExample.scala | 4 +- .../components/ListViewPagingExample.scala | 4 +- .../components/ScrollViewExample.scala | 4 +- .../components/ScrollViewSimpleExample.scala | 4 +- .../components/TextInputExample.scala | 4 +- .../components/TouchableExample.scala | 4 +- .../uiexplorer/components/ViewExample.scala | 4 +- .../android/SwitchAndroidExample.scala | 4 +- .../android/ToolbarAndroidExample.scala | 4 +- .../ios/ActivityIndicatorIOSExample.scala | 4 +- .../components/ios/DatePickerIOSExample.scala | 4 +- .../components/ios/MapViewExample.scala | 4 +- .../components/ios/ModalExample.scala | 4 +- .../components/ios/PickerIOSExample.scala | 4 +- .../{ => ios}/SegmentedControlExample.scala | 6 +- .../components/ios/SliderIOSExample.scala | 4 +- .../components/ios/SwitchIOSExample.scala | 4 +- .../components/ios/TabBarIOSExample.scala | 4 +- .../components/ios/WebViewExample.scala | 4 +- .../components/DefaultNavigationBar.scala | 101 ------------- project/Build.scala | 2 +- universal/README.md | 3 + .../components/DefaultNavigationBar.scala | 4 +- ...eSheet.scala => UniversalStyleSheet.scala} | 4 +- web-examples/package.json | 4 +- .../scala/sri/web/examples/HelloWeb.scala | 4 +- .../main/scala/sri/web/examples/WebApp.scala | 5 +- .../web/examples/uiexplorer/TopNavBar.scala | 60 -------- .../examples/uiexplorer/UIExplorerApp.scala | 19 ++- .../uiexplorer/UIExplorerListScreen.scala | 8 +- .../components/ScrollViewExample.scala | 99 +++++++++++++ .../components/TouchableExample.scala | 136 ++++++++++++++++++ 54 files changed, 385 insertions(+), 269 deletions(-) rename mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/{ => ios}/SegmentedControlExample.scala (97%) delete mode 100644 mobile/src/main/scala/sri/mobile/components/DefaultNavigationBar.scala create mode 100644 universal/README.md rename universal/src/main/scala/sri/universal/styles/{SriStyleSheet.scala => UniversalStyleSheet.scala} (87%) delete mode 100644 web-examples/src/main/scala/sri/web/examples/uiexplorer/TopNavBar.scala create mode 100644 web-examples/src/main/scala/sri/web/examples/uiexplorer/components/ScrollViewExample.scala create mode 100644 web-examples/src/main/scala/sri/web/examples/uiexplorer/components/TouchableExample.scala diff --git a/.gitignore b/.gitignore index e7182dc..cd76804 100644 --- a/.gitignore +++ b/.gitignore @@ -33,14 +33,15 @@ npm-debug.log #mobile -index.ios.js -index.android.js +mobile-examples/index.ios.js +mobile-examples/index.android.js +mobile-examples/android/.gradle +mobile-examples/android/build +mobile-examples/android/app/build #web-examples web-examples/assets/ web-examples/node_modules/ -#relay-web-examples -relay-web-examples/assets/ -relay-web-examples/node_modules/ + diff --git a/README.md b/README.md index 8137b54..3fc70cb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # sri -Sri(scala react interface) is a scalajs library to build truly native cross platform(mobile and web) applications ,its based on [reactjs](http://facebook.github.io/react/) and [react-native](https://facebook.github.io/react-native/) so you must be familiar with them inorder to use this library. +Sri(scala react interface) is a scalajs library to build truly native cross platform(mobile(ios and android) and web) applications ,its based on [reactjs](http://facebook.github.io/react/) and [react-native](https://facebook.github.io/react-native/) so you must be familiar with them inorder to use this library. ![sri](/docs/sri.png) @@ -13,6 +13,7 @@ Sri(scala react interface) is a scalajs library to build truly native cross plat - [Relay](#relay) - [Documentation](#documentation) - [Examples](#examples) +- [Templates](#templates) #Mobile Use this module to build iOS/Android mobile applications @@ -46,4 +47,9 @@ libraryDependencies += "com.github.chandu0101.sri" %%% "relay" % "0.1.0" #Examples - [Mobile Examples](/mobile-examples) - [Web Examples](/web-examples) - - [Relay Web Examples](/relay-web-examples) \ No newline at end of file + - [Relay Web Examples](/relay-web-examples) + +#Templates + - [Mobile App(iOS and Android) Template](https://github.com/chandu0101/sri-mobile-template) + - [Web App Template](https://github.com/chandu0101/sri-web-template) + - [Cross Platform App(mobile(ios and android) and web) Template](https://github.com/chandu0101/sri-cross-platform-template) \ No newline at end of file diff --git a/docs/InteropWithThirdParty.md b/docs/InteropWithThirdParty.md index b461acb..7ba325d 100644 --- a/docs/InteropWithThirdParty.md +++ b/docs/InteropWithThirdParty.md @@ -126,3 +126,6 @@ def render() = View(key= "1")(AwesomeJSCmpWrapper(numberOfLines = 3,testID = "id ##Real World Examples +https://github.com/chandu0101/sri/tree/master/universal/src/main/scala/sri/universal/components + +https://github.com/chandu0101/sri/tree/master/mobile/src/main/scala/sri/mobile/components \ No newline at end of file diff --git a/docs/RefsToComponents.md b/docs/RefsToComponents.md index 6bdd958..928d93f 100644 --- a/docs/RefsToComponents.md +++ b/docs/RefsToComponents.md @@ -24,8 +24,8 @@ object Parent { childRef.hideMe() // invoke actions } } - val factory = getComponentFactory(js.constructorOf[Component], classOf[Component]) - def apply(key: js.UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElementNoProps(factory, key = key, ref = ref) + val ctor = getTypedConstructor(js.constructorOf[Component], classOf[Component]) + def apply(key: js.UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElementNoProps(ctor, key = key, ref = ref) } object Child { @@ -36,8 +36,8 @@ object Child { println(s"Ok done!.") } } - val factory = getComponentFactory(js.constructorOf[Component], classOf[Component]) - def apply(key: js.UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElementNoProps(factory, key = key, ref = ref) + val ctor = getTypedConstructor(js.constructorOf[Component], classOf[Component]) + def apply(key: js.UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElementNoProps(ctor, key = key, ref = ref) } diff --git a/docs/WhyNoDOMDSL.md b/docs/WhyNoDOMDSL.md index 73b8051..191a207 100644 --- a/docs/WhyNoDOMDSL.md +++ b/docs/WhyNoDOMDSL.md @@ -17,7 +17,7 @@ To make this more clear and to make it easier to build more environments that Re >Can someone explain why semantic markup is important? I don't buy the screen reader and search engine arguments anymore. #divallthethings ,In other words, React Native can fix a11y in other ways and hence doesn't need semantic markup. -[Initial web implementation od react-native-animated](https://github.com/facebook/react-native/commit/a50b4ea7b9ecc4c95a38b58f12a71b93ff3a3131) +[Initial web implementation of react-native-animated](https://github.com/facebook/react-native/commit/a50b4ea7b9ecc4c95a38b58f12a71b93ff3a3131) [react-native-for-web](https://github.com/KodersLab/react-native-for-web) diff --git a/mobile-examples/README.md b/mobile-examples/README.md index 8d6ee03..15abce9 100644 --- a/mobile-examples/README.md +++ b/mobile-examples/README.md @@ -1,5 +1,23 @@ # Mobile Examples +# React Native Playground + +```scala + +// in root(sri) + sbt ~fullOptMobile + + // this will generate index.ios.js and index.android.js files + +``` + +1) go to https://rnplay.org/ -> Signin -> NewApp -> name it as `SriMobile` + +2) Replace content of index.io.js and index.android.js files with content from files that are generated using sbt ~fullOptMobile + + +# Simulator/Device + -> Install Node.js 4.0 or greater using [nvm](https://github.com/creationix/nvm#installation) ``` diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/HelloSriMobile.scala b/mobile-examples/src/main/scala/sri/mobile/examples/HelloSriMobile.scala index 549406d..1a1a1aa 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/HelloSriMobile.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/HelloSriMobile.scala @@ -4,7 +4,7 @@ import sri.core.ElementFactory._ import sri.core.ReactComponent import sri.mobile.ReactNative import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -24,7 +24,7 @@ object HelloSriMobile { } } - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flexOne, backgroundColor := "rgb(175, 9, 119)", diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieCell.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieCell.scala index 5e4073f..42fc5f8 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieCell.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieCell.scala @@ -7,7 +7,7 @@ import sri.mobile.examples.movies.MoviesUtil._ import sri.universal.components._ import sri.universal.router import sri.universal.router.UniversalRouterComponent -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -48,7 +48,7 @@ object MovieCell { def apply(movie: js.Dynamic, key: UndefOr[String] = js.undefined, ref: js.Function1[Component, _] = null) = createElement(ctor, movie, key = key, ref = ref) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val textContainer = style( flex := 1 ) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieDetails.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieDetails.scala index 94b5008..b18f384 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieDetails.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MovieDetails.scala @@ -5,7 +5,7 @@ import sri.mobile.ReactNative import sri.mobile.all._ import sri.mobile.examples.movies.MoviesUtil._ import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -95,7 +95,7 @@ object MovieDetails { def apply(movie: js.Dynamic, key: UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElement(ctor, movie, key = key, ref = ref) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val contentContainer = style( padding := 10 diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MoviesApp.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MoviesApp.scala index af91916..f840497 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/MoviesApp.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/MoviesApp.scala @@ -2,11 +2,10 @@ package sri.mobile.examples.movies import sri.core.ReactElement import sri.mobile.all._ -import sri.mobile.components.DefaultNavigationBar import sri.mobile.examples.movies.android.DefaultAndroidNavigationBar -import sri.universal.components.View +import sri.universal.components.{DefaultNavigationBar, View} import sri.universal.router._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js @@ -42,6 +41,6 @@ object MoviesApp { } -object styles extends SriStyleSheet { +object styles extends UniversalStyleSheet { val c = style(flexOne) } \ No newline at end of file diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/SearchScreen.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/SearchScreen.scala index 28fc5a6..90a7699 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/SearchScreen.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/SearchScreen.scala @@ -9,7 +9,7 @@ import sri.mobile.examples.movies.android.SearchBarAndroid import sri.mobile.examples.movies.ios.SearchBarIOS import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.async.Async._ import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow @@ -203,7 +203,7 @@ object SearchScreen { def apply(key: UndefOr[String] = js.undefined, ref: js.Function1[Component, _] = null) = createElementNoProps(ctor, key = key, ref = ref) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style( flex := 1, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/DefaultAndroidNavigationBar.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/DefaultAndroidNavigationBar.scala index e638daa..a06d3b4 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/DefaultAndroidNavigationBar.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/DefaultAndroidNavigationBar.scala @@ -6,7 +6,7 @@ import sri.mobile.components.android.ToolbarAndroid import sri.universal.components._ import sri.universal.router import sri.universal.router.{NavigatorRoute, UniversalRouterComponent, UniversalRouterCtrl} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -43,7 +43,7 @@ object DefaultAndroidNavigationBar { /** * style for navigation bar */ - trait Style extends SriStyleSheet { + trait Style extends UniversalStyleSheet { def toolbar = style( height := 56, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/SearchBarAndroid.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/SearchBarAndroid.scala index b781c1e..9a08453 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/SearchBarAndroid.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/android/SearchBarAndroid.scala @@ -7,7 +7,7 @@ import sri.mobile.components.android.{ProgressBarAndroid, ProgressBarAndroidStyl import sri.mobile.components.{TouchableNativeFeedback, TouchableNativeFeedbackS} import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -58,7 +58,7 @@ object SearchBarAndroid { } } - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val searchBar = style( height := 56, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/movies/ios/SearchBarIOS.scala b/mobile-examples/src/main/scala/sri/mobile/examples/movies/ios/SearchBarIOS.scala index 382fd2d..5738bea 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/movies/ios/SearchBarIOS.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/movies/ios/SearchBarIOS.scala @@ -5,7 +5,7 @@ import sri.mobile.all._ import sri.mobile.components.ios.ActivityIndicatorIOS import sri.universal.ReactEvent import sri.universal.components.{AutoCapitalize, TextInput, View} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -25,7 +25,7 @@ object SearchBarIOS { ) } - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val searchBar = style( padding := 3, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/router/RouterExampleApp.scala b/mobile-examples/src/main/scala/sri/mobile/examples/router/RouterExampleApp.scala index 19b48e1..edc4da3 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/router/RouterExampleApp.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/router/RouterExampleApp.scala @@ -1,13 +1,12 @@ package sri.mobile.examples.router import sri.core.ReactElement -import sri.mobile.components.DefaultNavigationBar -import sri.mobile.components.DefaultNavigationBar.Style import sri.mobile.examples.router.components.{FourthScreen, HomeScreen, Person, SecondScreen} import sri.mobile.examples.router.routes.ThirdModule -import sri.universal.components.View +import sri.universal.components.DefaultNavigationBar.Style +import sri.universal.components.{DefaultNavigationBar, View} import sri.universal.router._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet object RouterExampleApp { @@ -31,7 +30,7 @@ object RouterExampleApp { override val notFound: (StaticPage, NavigatorRoute) = initialRoute override def renderScene(route: NavigatorRoute): ReactElement = { - View(style = SriStyleSheet.wholeContainer)( + View(style = UniversalStyleSheet.wholeContainer)( DefaultNavigationBar(route, CustomNavigationBarTheme), super.renderScene(route) ) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/router/components/HomeScreen.scala b/mobile-examples/src/main/scala/sri/mobile/examples/router/components/HomeScreen.scala index 08ae46f..4232e1b 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/router/components/HomeScreen.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/router/components/HomeScreen.scala @@ -7,7 +7,7 @@ import sri.mobile.examples.router.routes.ThirdModule import sri.universal.components._ import sri.universal.router import sri.universal.router.{UniversalRouterComponent, _} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -59,7 +59,7 @@ object HomeScreen { def apply() = createElementNoProps(ctor) } -object styles extends SriStyleSheet { +object styles extends UniversalStyleSheet { val container = style(flexOne, // alignItems.center, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerApp.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerApp.scala index d0b203a..355ce65 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerApp.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerApp.scala @@ -1,10 +1,9 @@ package sri.mobile.examples.uiexplorer import sri.core.ReactElement -import sri.mobile.components.DefaultNavigationBar -import sri.universal.components.View +import sri.universal.components.{DefaultNavigationBar, View} import sri.universal.router._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet object UIExplorerApp { @@ -20,7 +19,7 @@ object UIExplorerApp { dynamicRoute(UIExplorerDetails, component = (c: ReactElement) => c) override def renderScene(route: NavigatorRoute): ReactElement = { - View(style = SriStyleSheet.wholeContainer)( + View(style = UniversalStyleSheet.wholeContainer)( DefaultNavigationBar(route), super.renderScene(route) ) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerBlock.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerBlock.scala index 64e6dd8..007bdfb 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerBlock.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerBlock.scala @@ -3,7 +3,7 @@ package sri.mobile.examples.uiexplorer import sri.core.ElementFactory._ import sri.core.{ReactComponent, ReactNode} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -11,7 +11,7 @@ import scala.scalajs.js.annotation.ScalaJSDefined object UIExplorerBlock { - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style( borderRadius := 3, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerListScreen.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerListScreen.scala index a1b41fe..00e3e06 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerListScreen.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerListScreen.scala @@ -11,7 +11,7 @@ import sri.mobile.examples.uiexplorer.components.ios._ import sri.universal.components._ import sri.universal.router import sri.universal.router.UniversalRouterComponent -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -141,7 +141,7 @@ object UIExplorerListScreen { } - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val listContainer = style( flex := 1 ) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerPage.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerPage.scala index bd7e900..b14face 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerPage.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/UIExplorerPage.scala @@ -3,14 +3,14 @@ package sri.mobile.examples.uiexplorer import sri.core.ElementFactory._ import sri.core.{ReactComponent, _} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined object UIExplorerPage { - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val wrapper = style( flex := 1) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AlertIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AlertIOSExample.scala index 9bc260b..60b93ba 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AlertIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AlertIOSExample.scala @@ -6,7 +6,7 @@ import sri.mobile.all._ import sri.mobile.apis.AlertButton import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -74,7 +74,7 @@ object AlertIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val alertsContainer = style(backgroundColor := "white", padding := 20) val wrapper = style(borderRadius := 5, marginBottom := 5) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AsyncStorageExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AsyncStorageExample.scala index 1788fa6..4abd080 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AsyncStorageExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/AsyncStorageExample.scala @@ -6,7 +6,7 @@ import sri.mobile.components.ios.{PickerIOS, PickerItemIOS} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.apis.{AsyncStorage, AsyncStorageException} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.async.Async.{async, await} import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow @@ -90,7 +90,7 @@ object AsyncStorageExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { def getColorStyle(c: String) = style(color := c) } diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/android/AlertIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/android/AlertIOSExample.scala index 6850b60..b9199f6 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/android/AlertIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/apis/android/AlertIOSExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.apis.android.ToastAndroid import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -40,7 +40,7 @@ object ToastAndroidExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val text = style(color := "black") } diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ListViewPagingExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ListViewPagingExample.scala index 9fbfb77..217db1f 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ListViewPagingExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ListViewPagingExample.scala @@ -5,7 +5,7 @@ import sri.mobile.ReactNative import sri.mobile.all._ import sri.mobile.examples.uiexplorer.UIExample import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -151,7 +151,7 @@ object ListViewPagingExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val listView = style(backgroundColor := "#B0C4DE") diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewExample.scala index 1f261c9..e2e09ce 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewExample.scala @@ -4,7 +4,7 @@ import sri.core.ElementFactory._ import sri.core.ReactComponent import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -61,7 +61,7 @@ object ScrollViewExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val scrollView = style( backgroundColor := "#6A85B1", diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewSimpleExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewSimpleExample.scala index 6562fb7..e427f38 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewSimpleExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ScrollViewSimpleExample.scala @@ -4,7 +4,7 @@ import sri.core.ElementFactory._ import sri.core.ReactComponent import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.JSConverters.JSRichGenTraversableOnce @@ -33,7 +33,7 @@ object ScrollViewSimpleExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val verticalScrollView = style(margin := 10) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TextInputExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TextInputExample.scala index 92e7378..6534b5f 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TextInputExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TextInputExample.scala @@ -5,7 +5,7 @@ import sri.mobile.all._ import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -121,7 +121,7 @@ object TextInputExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val page = style(paddingBottom := 30) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TouchableExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TouchableExample.scala index 1bee172..c2dd841 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TouchableExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/TouchableExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.ReactNative import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components.{ImageSource, _} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -85,7 +85,7 @@ object TouchableExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val row = style(justifyContent.center, flexDirection.row) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ViewExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ViewExample.scala index fbc7366..4573d47 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ViewExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ViewExample.scala @@ -4,7 +4,7 @@ import sri.core.ElementFactory._ import sri.core.ReactComponent import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components.{View, _} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -40,7 +40,7 @@ object ViewExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flex := 1, backgroundColor := "#F5FCFF") diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/SwitchAndroidExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/SwitchAndroidExample.scala index 1034150..89df07d 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/SwitchAndroidExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/SwitchAndroidExample.scala @@ -4,7 +4,7 @@ import sri.core.ElementFactory._ import sri.core._ import sri.mobile.components.android.SwitchAndroid import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -38,7 +38,7 @@ object SwitchAndroidExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val bottom10 = style(marginBottom := 10) } diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/ToolbarAndroidExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/ToolbarAndroidExample.scala index a37e258..b9c07dc 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/ToolbarAndroidExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/android/ToolbarAndroidExample.scala @@ -5,7 +5,7 @@ import sri.mobile.all._ import sri.mobile.components.android.{SwitchAndroid, ToolbarAndroid, ToolbarAndroidAction, ToolbarAndroidActionShow} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components.{ImageSource, Text, View} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -92,7 +92,7 @@ object ToolbarAndroidExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val toolbar = style(backgroundColor := "#e9eaed", height := 56) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ActivityIndicatorIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ActivityIndicatorIOSExample.scala index 3a5629a..7fda172 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ActivityIndicatorIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ActivityIndicatorIOSExample.scala @@ -6,7 +6,7 @@ import sri.core.ReactComponent import sri.mobile.components.ios.{ActivityIndicatorIOS, ActivityIndicatorIOSSize} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -86,7 +86,7 @@ object ActivityIndicatorIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val centering = style( alignItems.center, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/DatePickerIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/DatePickerIOSExample.scala index be92d6b..6bf345b 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/DatePickerIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/DatePickerIOSExample.scala @@ -6,7 +6,7 @@ import sri.mobile.components.ios.{DatePickerIOS, DatePickerIOSMode, MinuteInterv import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -122,7 +122,7 @@ object DatePickerIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flexOne, paddingTop := 50) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/MapViewExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/MapViewExample.scala index 119b839..57d3d76 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/MapViewExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/MapViewExample.scala @@ -6,7 +6,7 @@ import sri.mobile.components.{MapView, MapViewAnnotation, MapViewRegion} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -177,7 +177,7 @@ object MapViewExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val map = style(height := 150, margin := 10, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ModalExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ModalExample.scala index 93aad56..f308335 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ModalExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/ModalExample.scala @@ -6,7 +6,7 @@ import sri.mobile.components.Modal import sri.mobile.components.ios.SwitchIOS import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -101,7 +101,7 @@ object ModalExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flexOne, justifyContent.center, padding := 20) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/PickerIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/PickerIOSExample.scala index b4ca76d..53dbcf2 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/PickerIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/PickerIOSExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.components.ios.{PickerIOS, PickerItemIOS} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -68,7 +68,7 @@ object PickerIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { } diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/SegmentedControlExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SegmentedControlExample.scala similarity index 97% rename from mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/SegmentedControlExample.scala rename to mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SegmentedControlExample.scala index be13c0d..454a75f 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/SegmentedControlExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SegmentedControlExample.scala @@ -1,11 +1,11 @@ -package sri.mobile.examples.uiexplorer.components +package sri.mobile.examples.uiexplorer.components.ios import sri.core.ElementFactory._ import sri.core.ReactComponent import sri.mobile.components.ios.SegmentedControlIOS import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -149,7 +149,7 @@ object SegmentedControlExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val text = style(fontSize := 14, textAlign.center, diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SliderIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SliderIOSExample.scala index 137633c..d08918d 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SliderIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SliderIOSExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.components.ios.SliderIOS import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -43,7 +43,7 @@ object SliderIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val slider = style(height := 10, margin := 10) val text = style( diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SwitchIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SwitchIOSExample.scala index bdc47f1..b40c79c 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SwitchIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/SwitchIOSExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.components.ios.SwitchIOS import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.UndefOr @@ -171,7 +171,7 @@ object SwitchIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val basicFalseSwitch = style(marginBottom := 10) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/TabBarIOSExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/TabBarIOSExample.scala index c918b5c..0da51a8 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/TabBarIOSExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/TabBarIOSExample.scala @@ -5,7 +5,7 @@ import sri.core.ReactComponent import sri.mobile.components.ios.{SystemIcon, TabBarIOS, TabBarIOSItem} import sri.mobile.examples.uiexplorer.UIExample import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.Dynamic.{literal => json} @@ -64,7 +64,7 @@ object TabBarIOSExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val tabContent = style(flex := 1, alignItems.center) diff --git a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/WebViewExample.scala b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/WebViewExample.scala index 86ff611..afdf503 100644 --- a/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/WebViewExample.scala +++ b/mobile-examples/src/main/scala/sri/mobile/examples/uiexplorer/components/ios/WebViewExample.scala @@ -6,7 +6,7 @@ import sri.mobile.components.{NavigationState, WebView, WebViewM} import sri.mobile.examples.uiexplorer.{UIExample, UIExplorerBlock, UIExplorerPage} import sri.universal.ReactEvent import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -110,7 +110,7 @@ object WebViewExample extends UIExample { val component = createElementNoProps(ctor) - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flex := 1, backgroundColor := HEADER) diff --git a/mobile/src/main/scala/sri/mobile/components/DefaultNavigationBar.scala b/mobile/src/main/scala/sri/mobile/components/DefaultNavigationBar.scala deleted file mode 100644 index dc8d83e..0000000 --- a/mobile/src/main/scala/sri/mobile/components/DefaultNavigationBar.scala +++ /dev/null @@ -1,101 +0,0 @@ -package sri.mobile.components - -import sri.core.ReactElement -import sri.mobile._ -import sri.universal._ -import sri.universal.all._ -import sri.universal.components._ -import sri.universal.router.{NavigatorRoute, UniversalRouterComponent} -import sri.universal.styles.SriStyleSheet - -import scala.scalajs.js -import scala.scalajs.js.annotation.ScalaJSDefined - - -object DefaultNavigationBar { - - - @ScalaJSDefined - class Component extends UniversalRouterComponent[Props, Unit] { - def render() = { - val backbutton: ReactElement = if (showBackButton()) TouchableOpacity(onPress = () => navigateBack())(View(style = props.style.navBarLeftButton)(Text(style = props.style.navBarButtonText)("Back"))) else View(style = props.style.navBarLeftButton)() - View(style = props.style.navBar)( - backbutton, - Text(style = props.style.navBarTitleText)(props.route.title), - View(style = props.style.navBarLeftButton)() - ) - } - } - - /** - * style for navigation bar - */ - trait Style extends SriStyleSheet { - - def navBar = style( - flexDirection.row, - backgroundColor := "rgb(248, 248, 248)", - paddingTop := 30, - height := 64, - paddingBottom := 10, - borderBottomWidth := 1.0 / ReactNative.PixelRatio.get(), - borderBottomColor := "rgb(200, 199, 204)" - ) - - def navBarTitleText = style( - color := "black", - fontWeight.bold, - textAlign.center, - flex := 2, - fontSize := 16) - - def navBarLeftButton = style( - paddingLeft := 10, - width := 50, - overflow.hidden - ) - - def navBarButtonText = style( - fontSize := 16, - textAlign.center, - flex := 2, - color := "rgb(21, 125, 251)") - - } - - object IOSTheme extends Style { - - override val navBar = super.navBar - - override val navBarTitleText = super.navBarTitleText - - override val navBarLeftButton = super.navBarLeftButton - - override val navBarButtonText = super.navBarButtonText - - } - - object AndroidTheme extends Style { - - override val navBar = styleE(super.navBar)(height := 54, backgroundColor := "#a9a9a9", paddingTop := 15) - - override val navBarTitleText = styleE(super.navBarTitleText)(color := "white") - - override val navBarLeftButton = super.navBarLeftButton - - override val navBarButtonText = styleE(super.navBarButtonText)(color := "white") - - - } - - val defaultTheme = if (isIOSPlatform) IOSTheme else AndroidTheme - - case class Props(route: NavigatorRoute, style: Style) - - js.constructorOf[Component].contextTypes = router.routerContextTypes - - val ctor = getTypedConstructor(js.constructorOf[Component], classOf[Component]) - - def apply(route: NavigatorRoute, style: Style = defaultTheme, key: U[String] = js.undefined, ref: js.Function1[Component, _] = null) = createElement(ctor, props = Props(route, style), key = key, ref = ref) - -} diff --git a/project/Build.scala b/project/Build.scala index 49e7584..19ffd95 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -14,7 +14,7 @@ object Sri extends Build { lazy val commonSettings = Seq( organization := "com.github.chandu0101.sri", - version := "0.1.0-SNAPSHOT", + version := "0.1.0", homepage := Some(url("https://github.com/chandu0101/sri")), licenses +=("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0")), scalaVersion := Scala211, diff --git a/universal/README.md b/universal/README.md new file mode 100644 index 0000000..84cb331 --- /dev/null +++ b/universal/README.md @@ -0,0 +1,3 @@ +# Universal + +This module contains components and api's that work both on mobile and web. diff --git a/universal/src/main/scala/sri/universal/components/DefaultNavigationBar.scala b/universal/src/main/scala/sri/universal/components/DefaultNavigationBar.scala index a5ed35e..49d395b 100644 --- a/universal/src/main/scala/sri/universal/components/DefaultNavigationBar.scala +++ b/universal/src/main/scala/sri/universal/components/DefaultNavigationBar.scala @@ -4,7 +4,7 @@ import sri.core.ReactElement import sri.universal._ import sri.universal.all._ import sri.universal.router.{NavigatorRoute, UniversalRouterComponent} -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import scala.scalajs.js import scala.scalajs.js.annotation.ScalaJSDefined @@ -27,7 +27,7 @@ object DefaultNavigationBar { /** * style for navigation bar */ - trait Style extends SriStyleSheet { + trait Style extends UniversalStyleSheet { def navBar = style( flexDirection.row, diff --git a/universal/src/main/scala/sri/universal/styles/SriStyleSheet.scala b/universal/src/main/scala/sri/universal/styles/UniversalStyleSheet.scala similarity index 87% rename from universal/src/main/scala/sri/universal/styles/SriStyleSheet.scala rename to universal/src/main/scala/sri/universal/styles/UniversalStyleSheet.scala index 768b821..024a7cc 100644 --- a/universal/src/main/scala/sri/universal/styles/SriStyleSheet.scala +++ b/universal/src/main/scala/sri/universal/styles/UniversalStyleSheet.scala @@ -4,7 +4,7 @@ import scala.scalajs.js import scala.scalajs.js.JSConverters.JSRichGenMap -trait SriStyleSheet extends NativeAttrs { +trait UniversalStyleSheet extends NativeAttrs { /** if duplicate attrs found then last one wins */ @inline def styleE(maps: js.Dictionary[Any]*)(v: NativeStylePair[_]*) = { maps.fold(js.Dictionary.empty[Any])((d1, d2) => d1.++(d2).toJSDictionary) @@ -19,7 +19,7 @@ trait SriStyleSheet extends NativeAttrs { } } -object SriStyleSheet extends SriStyleSheet { +object UniversalStyleSheet extends UniversalStyleSheet { val wholeContainer = style(flexOne) } diff --git a/web-examples/package.json b/web-examples/package.json index 3192efa..0799cfc 100644 --- a/web-examples/package.json +++ b/web-examples/package.json @@ -33,8 +33,8 @@ }, "dependencies": { "bh-react-navigator": "^0.1.1", - "react": "^0.14.0-rc1", - "react-dom": "^0.14.0-rc1", + "react": "^0.14.0", + "react-dom": "^0.14.0", "react-native-for-web": "^0.1.5" } } diff --git a/web-examples/src/main/scala/sri/web/examples/HelloWeb.scala b/web-examples/src/main/scala/sri/web/examples/HelloWeb.scala index 5d83589..85c2e8a 100644 --- a/web-examples/src/main/scala/sri/web/examples/HelloWeb.scala +++ b/web-examples/src/main/scala/sri/web/examples/HelloWeb.scala @@ -2,7 +2,7 @@ package sri.web.examples import sri.core._ import sri.universal.components._ -import sri.universal.styles.SriStyleSheet +import sri.universal.styles.UniversalStyleSheet import sri.web.all._ import scala.scalajs.js @@ -25,7 +25,7 @@ object HelloWeb { } - object styles extends SriStyleSheet { + object styles extends UniversalStyleSheet { val container = style(flexOne, backgroundColor := "rgb(175, 9, 119)", diff --git a/web-examples/src/main/scala/sri/web/examples/WebApp.scala b/web-examples/src/main/scala/sri/web/examples/WebApp.scala index 3420505..7ffcfc6 100644 --- a/web-examples/src/main/scala/sri/web/examples/WebApp.scala +++ b/web-examples/src/main/scala/sri/web/examples/WebApp.scala @@ -2,6 +2,7 @@ package sri.web.examples import org.scalajs.dom import sri.web.ReactDOM +import sri.web.examples.uiexplorer.UIExplorerApp import scala.scalajs.js.Dynamic.{literal => json} import scala.scalajs.js.JSApp @@ -12,8 +13,8 @@ object WebApp extends JSApp { @JSExport override def main(): Unit = { - ReactDOM.render(HelloWeb(), dom.document.getElementById("app")) - // ReactDOM.render(UIExplorerApp.router, dom.document.getElementById("app")) + // ReactDOM.render(HelloWeb(), dom.document.getElementById("app")) + ReactDOM.render(UIExplorerApp.router, dom.document.getElementById("app")) } diff --git a/web-examples/src/main/scala/sri/web/examples/uiexplorer/TopNavBar.scala b/web-examples/src/main/scala/sri/web/examples/uiexplorer/TopNavBar.scala deleted file mode 100644 index 1b1d252..0000000 --- a/web-examples/src/main/scala/sri/web/examples/uiexplorer/TopNavBar.scala +++ /dev/null @@ -1,60 +0,0 @@ -package sri.web.examples.uiexplorer - - -import sri.core.ElementFactory._ -import sri.universal.components.{Text, TouchableOpacity, View} -import sri.universal.router -import sri.universal.router.UniversalRouterComponent -import sri.web.styles.WebStyleSheet - -import scala.scalajs.js -import scala.scalajs.js.annotation.ScalaJSDefined -import scala.scalajs.js.{UndefOr => U} - - -object TopNavBar { - - object styles extends WebStyleSheet { - - val nav = style(display.flex, - position.fixed, - width := "100%", - top := 0, - flexDirection.row, - backgroundColor := "rgb(208, 18, 123)", - height := "64px", - color := "white", - alignItems.center, - justifyContent.spaceBetween, - zIndex := 100) - - val block = style(flex := 1) - - val back = style(marginLeft := "40px", - width := "50px") - val next = style(width := "50px") - val text = style(color := "white") - - } - - @ScalaJSDefined - class Component extends UniversalRouterComponent[Unit, Unit] { - def render() = View(style = styles.nav)( - View(style = styles.back)( - if (showBackButton()) TouchableOpacity(onPress = () => navigateBack())( - Text(style = styles.text)("Back") - ) - else null - ), - View(style = styles.block)(Text(style = styles.text)("Title")), - View(style = styles.next)(Text(style = styles.text)("")) - ) - } - - - val ctor = getTypedConstructor(js.constructorOf[Component], classOf[Component]) - - js.constructorOf[Component].contextTypes = router.routerContextTypes - - def apply(key: js.UndefOr[String] = js.undefined, ref: js.Function1[Component, _] = null) = createElementNoProps(ctor, key = key, ref = ref) -} diff --git a/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerApp.scala b/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerApp.scala index 9b0b0f8..49fa909 100644 --- a/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerApp.scala +++ b/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerApp.scala @@ -1,7 +1,8 @@ package sri.web.examples.uiexplorer import sri.core.ReactElement -import sri.universal.components.View +import sri.universal.components.DefaultNavigationBar.Style +import sri.universal.components.{DefaultNavigationBar, View} import sri.universal.router._ import sri.web.styles.WebStyleSheet @@ -14,14 +15,13 @@ object UIExplorerApp { object Config extends UniversalRouterConfig { - override val initialRoute = defineInitialRoute(UIExplorerList, title = "Scala.js - UIExplorer", component = UIExplorerListScreen()) + override val initialRoute = defineInitialRoute(UIExplorerList, title = "UIExplorer", component = UIExplorerListScreen()) dynamicRoute(UIExplorerDetails, component = (c: ReactElement) => c) override def renderScene(route: NavigatorRoute): ReactElement = { View(style = WebStyleSheet.wholeContainer)( - // DefaultNavigationBar(route), - TopNavBar(), + DefaultNavigationBar(route,CustomNavigationBarTheme), View(style = UIExplorerListScreen.styles.content)( super.renderScene(route) ) @@ -32,6 +32,17 @@ object UIExplorerApp { override val notFound: (StaticPage, NavigatorRoute) = initialRoute } + object CustomNavigationBarTheme extends Style { + + override val navBar = styleE(super.navBar)(backgroundColor := "rgb(208, 18, 123)", borderBottomColor := "#ED4721") + + override val navBarTitleText = styleE(super.navBarTitleText)(color := "white") + + override val navBarLeftButton = super.navBarLeftButton + + override val navBarButtonText = styleE(super.navBarButtonText)(color := "white") + + } val router = UniversalRouter(Config) diff --git a/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerListScreen.scala b/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerListScreen.scala index cc74a38..d3a5d5d 100644 --- a/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerListScreen.scala +++ b/web-examples/src/main/scala/sri/web/examples/uiexplorer/UIExplorerListScreen.scala @@ -5,7 +5,7 @@ import sri.universal.components.{Text, TouchableOpacity, View} import sri.universal.router import sri.universal.router.UniversalRouterComponent import sri.web.examples.uiexplorer.UIExplorerApp.UIExplorerDetails -import sri.web.examples.uiexplorer.components.{TextInputExample, ViewExample} +import sri.web.examples.uiexplorer.components.{ScrollViewExample, TextInputExample, TouchableExample, ViewExample} import sri.web.styles.WebStyleSheet import scala.scalajs.js @@ -18,7 +18,9 @@ object UIExplorerListScreen { val COMPONENTS: List[UIExample] = List( ViewExample, - TextInputExample + TextInputExample, + TouchableExample, + ScrollViewExample // NavigatorExample ) @@ -40,7 +42,7 @@ object UIExplorerListScreen { def renderRow(example: UIExample) = { View(key = example.title)( - TouchableOpacity(onPress = () => onPressRow(example), style = styles.rowButton, activeOpacity = 0.8)( + TouchableOpacity(onPress = () => onPressRow(example), style = styles.rowButton, activeOpacity = 0.8)( View(style = styles.row)( Text(style = styles.rowTitleText)( example.title diff --git a/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/ScrollViewExample.scala b/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/ScrollViewExample.scala new file mode 100644 index 0000000..a82c822 --- /dev/null +++ b/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/ScrollViewExample.scala @@ -0,0 +1,99 @@ +package sri.web.examples.uiexplorer.components + +import sri.core.ElementFactory._ +import sri.core.ReactComponent +import sri.universal.components._ +import sri.universal.styles.UniversalStyleSheet +import sri.web.examples.uiexplorer.{UIExplorerBlock, UIExplorerPage, UIExample} + +import scala.scalajs.js +import scala.scalajs.js.UndefOr +import scala.scalajs.js.annotation.ScalaJSDefined + +object ScrollViewExample extends UIExample { + + val THUMBS = Seq("https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.1997/p128x128/851549_767334479959628_274486868_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851561_767334496626293_1958532586_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.1997/p128x128/851579_767334503292959_179092627_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851589_767334513292958_1747022277_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851563_767334559959620_1193692107_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851593_767334566626286_1953955109_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851591_767334523292957_797560749_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851567_767334529959623_843148472_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851548_767334489959627_794462220_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851575_767334539959622_441598241_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.1997/p128x128/851573_767334549959621_534583464_n.png", "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/t39.1997/p128x128/851583_767334573292952_1519550680_n.png") + + object THUMB { + + @ScalaJSDefined + class Component extends ReactComponent[String,Unit] { + def render() = View(style = styles.button)( + Image(style = styles.img, source = ImageSource(uri = props))() + ) + } + + val ctor = getTypedConstructor(js.constructorOf[Component],classOf[Component]) + + def apply(url : String, key : UndefOr[String] = js.undefined,ref : js.Function = null) = createElement(ctor,url,key = key) + + } + + + @ScalaJSDefined + class Component extends ReactComponent[Unit,Unit] { + def render() = UIExplorerPage( + UIExplorerBlock("ScrollView Vertical")( + ScrollView(style = styles.scrollView, + contentInset = EdgeInsets(top = -50.0), + scrollEventThrottle = 16, + onScroll = () => println(s"on Scroll!"))( + THUMBS.++(THUMBS).zipWithIndex.map { + case (u, i) => THUMB(u,key = i.toString) + } + ) + ), + UIExplorerBlock("ScrollView horizontal")( + ScrollView(style = styles.horizontalScrollView, + horizontal = true, + scrollEventThrottle = 16, + contentInset = EdgeInsets(top = -50.0), + onScroll = () => println(s"on Scroll!"))( + THUMBS.++(THUMBS).zipWithIndex.map { + case (u, i) => THUMB(u,key = i.toString) + } + ) + ) + ) + } + + val ctor = getTypedConstructor(js.constructorOf[Component],classOf[Component]) + + val component = createElementNoProps(ctor) + + object styles extends UniversalStyleSheet { + + val scrollView = style( + backgroundColor := "#6A85B1", + height := 300 + ) + val horizontalScrollView = styleE(scrollView)(height := 120) + val containerPage = style(height := 50, + width := 50, + backgroundColor := "#527FE4", padding := 5) + + val text = style(fontSize := 20, + color := "#888888", + left := 80, + top := 20, + height := 40) + + val button = style(margin := 7, + padding := 5, + alignItems.center, + backgroundColor := "#eaeaea", + borderRadius := 3) + + val buttonContents = style(flexDirection.row, + width := 64, + height := 64) + + val img = style(width := 64, height := 64) + + + } + + override def title: String = "ScrollView" + + override def description: String = "Component that enables scrolling through child components" +} diff --git a/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/TouchableExample.scala b/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/TouchableExample.scala new file mode 100644 index 0000000..6c79dbf --- /dev/null +++ b/web-examples/src/main/scala/sri/web/examples/uiexplorer/components/TouchableExample.scala @@ -0,0 +1,136 @@ +package sri.web.examples.uiexplorer.components + +import sri.core.ElementFactory._ +import sri.core.ReactComponent +import sri.universal.ReactUniversal +import sri.universal.components.{ImageSource, _} +import sri.universal.styles.UniversalStyleSheet +import sri.web.examples.uiexplorer.{UIExplorerPage, UIExplorerBlock, UIExample} + +import scala.scalajs.js +import scala.scalajs.js.UndefOr +import scala.scalajs.js.annotation.ScalaJSDefined + + +object TouchableExample extends UIExample { + + val heartImage = ImageSource(uri = "https://pbs.twimg.com/media/BlXBfT3CQAA6cVZ.png:small") + + object TouchableFeedbackEvents { + + case class State(eventLog: js.Array[String] = js.Array()) + + @ScalaJSDefined + class Component extends ReactComponent[Unit, State] { + + initialState(State()) + + def render() = View()( + View(style = styles.wrapper)( + TouchableOpacity(style = styles.wrapper, + onPress = () => appendEvent("press"), + onPressIn = () => appendEvent("pressIn"), + onPressOut = () => appendEvent("pressOut"), + onLongPress = () => appendEvent("longPress"))( + Text(style = styles.button)("Press Me") + ) + ), + View(style = styles.eventLogBox)( + state.eventLog.zipWithIndex.map { + case (e, i) => Text(key = i.toString)(e) + } + ) + ) + + def appendEvent(name: String) = { + val eventLog = state.eventLog.slice(0, 5) + setState(state.copy(eventLog = name +: eventLog)) + } + } + + val ctor = getTypedConstructor(js.constructorOf[Component],classOf[Component]) + + def apply(key: UndefOr[String] = js.undefined, ref: js.Function1[Component,_] = null) = createElementNoProps(ctor, key = key, ref = ref) + + + } + + + @ScalaJSDefined + class Component extends ReactComponent[Unit, Unit] { + def render() = UIExplorerPage( + UIExplorerBlock(title = "TouchableHighlight")( + View(style = styles.row)( + TouchableHighlight(style = styles.wrapper, onPress = () => println("stock THW image - highlight"))( + Image(source = heartImage, style = styles.image)() + ), + TouchableHighlight(style = styles.wrapper, + activeOpacity = 1, + underlayColor = "rgb(210, 230, 255)", + onPress = () => println("custom THW text - hightlight"))( + Text(style = styles.text)( + "Tap Here For Custom Highlight!" + ) + ) + ) + ), + UIExplorerBlock(title = "Touchable feedback events")( + TouchableFeedbackEvents() + ) + ) + } + + val ctor = getTypedConstructor(js.constructorOf[Component],classOf[Component]) + + val component = createElementNoProps(ctor) + + + object styles extends UniversalStyleSheet { + + val row = style(justifyContent.center, + flexDirection.row) + + val icon = style(width := 24, + height := 24) + + val image = style(width := 50, + height := 50) + + val text = style(fontSize := 15) + + val button = style(color := "#007AFF") + + val wrapper = style(borderRadius := 8) + + val wrapperCustom = style( + borderRadius := 8, + padding := 6 + ) + val logBox = style( + padding := 20, + margin := 10, + borderWidth := 1.0 / ReactUniversal.PixelRatio.get(), + borderColor := "#f0f0f0", + backgroundColor := "#f9f9f9" + ) + val eventLogBox = style( + padding := 10, + margin := 10, + height := 120, + borderWidth := 1.0 / ReactUniversal.PixelRatio.get(), + borderColor := "#f0f0f0", + backgroundColor := "#f9f9f9" + ) + + val textBlock = style( + fontWeight._500, + color := "blue" + ) + } + + override def title: String = "Touchable*" + + override def description: String = "TouchableHighlight,TouchableOpacity .." + +} +