├── .github
├── issue_template.md
└── pull_request_template.md
├── .gitignore
├── .travis.yml
├── API_DOCUMENTATION.md
├── LICENSE
├── README.md
├── demo-ng
├── App_Resources
│ ├── Android
│ │ ├── app.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── drawable-ldpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── drawable-mdpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── drawable-nodpi
│ │ │ └── splash_screen.xml
│ │ │ ├── drawable-xhdpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── drawable-xxhdpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ ├── background.png
│ │ │ ├── ic_home_filled.png
│ │ │ ├── ic_home_outline.png
│ │ │ ├── icon.png
│ │ │ └── logo.png
│ │ │ ├── values-v21
│ │ │ ├── colors.xml
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ └── styles.xml
│ └── iOS
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── icon-1024.png
│ │ │ ├── icon-29.png
│ │ │ ├── icon-29@2x.png
│ │ │ ├── icon-29@3x.png
│ │ │ ├── icon-40.png
│ │ │ ├── icon-40@2x.png
│ │ │ ├── icon-40@3x.png
│ │ │ ├── icon-60@2x.png
│ │ │ ├── icon-60@3x.png
│ │ │ ├── icon-76.png
│ │ │ ├── icon-76@2x.png
│ │ │ └── icon-83.5@2x.png
│ │ ├── Contents.json
│ │ ├── LaunchImage.launchimage
│ │ │ ├── Contents.json
│ │ │ ├── Default-1125h.png
│ │ │ ├── Default-568h@2x.png
│ │ │ ├── Default-667h@2x.png
│ │ │ ├── Default-736h@3x.png
│ │ │ ├── Default-Landscape-X.png
│ │ │ ├── Default-Landscape.png
│ │ │ ├── Default-Landscape@2x.png
│ │ │ ├── Default-Landscape@3x.png
│ │ │ ├── Default-Portrait.png
│ │ │ ├── Default-Portrait@2x.png
│ │ │ ├── Default.png
│ │ │ └── Default@2x.png
│ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ ├── LaunchScreen.Center.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchScreen-Center.png
│ │ │ └── LaunchScreen-Center@2x.png
│ │ ├── ic_home_filled.imageset
│ │ │ ├── Contents.json
│ │ │ └── ic_home_filled.png
│ │ └── ic_home_outline.imageset
│ │ │ ├── Contents.json
│ │ │ └── ic_home_outline.png
│ │ ├── Info.plist
│ │ ├── LaunchScreen.storyboard
│ │ └── build.xcconfig
├── README.md
├── angular.json
├── nsconfig.json
├── package-lock.json
├── package.json
├── src
│ ├── app.css
│ ├── app
│ │ ├── app.component.html
│ │ ├── app.component.ts
│ │ └── app.module.ts
│ ├── main.ts
│ └── package.json
├── tsconfig.json
└── tsconfig.tns.json
├── demo-vue
├── .gitignore
├── README.md
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── app.gradle
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ ├── drawable-hdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-ldpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-mdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ │ ├── drawable-xhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_filled.png
│ │ │ │ ├── ic_home_outline.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ └── iOS
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-1024.png
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ └── icon-83.5@2x.png
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Default-1125h.png
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Landscape-X.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ └── Default@2x.png
│ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ ├── LaunchScreen.Center.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ ├── ic_home_filled.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── ic_home_filled.png
│ │ │ └── ic_home_outline.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── ic_home_outline.png
│ │ │ ├── Info.plist
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── build.xcconfig
│ ├── app.scss
│ ├── assets
│ │ └── images
│ │ │ └── NativeScript-Vue.png
│ ├── components
│ │ └── App.vue
│ ├── fonts
│ │ └── .gitkeep
│ └── package.json
├── package-lock.json
└── package.json
├── demo
├── README.md
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── app.gradle
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ ├── drawable-hdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-ldpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-mdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ │ ├── drawable-xhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── ic_home_black_24dp.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ └── iOS
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-50.png
│ │ │ │ ├── icon-50@2x.png
│ │ │ │ ├── icon-57.png
│ │ │ │ ├── icon-57@2x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-72.png
│ │ │ │ ├── icon-72@2x.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ └── icon-83.5@2x.png
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ └── Default@2x.png
│ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ ├── LaunchScreen.Center.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ └── ic_home_black_24dp.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── ic_home_black_24dp.png
│ │ │ ├── Info.plist
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── build.xcconfig
│ ├── app.css
│ ├── app.ts
│ ├── main-page.ts
│ ├── main-page.xml
│ ├── main-view-model.ts
│ ├── package.json
│ └── tests
│ │ └── tests.js
├── karma.conf.js
├── package-lock.json
├── package.json
├── references.d.ts
├── tsconfig.json
└── tsconfig.tns.json
├── publish
├── pack.sh
├── package-lock.json
├── package.json
└── publish.sh
├── src
├── .npmignore
├── angular
│ ├── bottombar.directives.d.ts
│ ├── bottombar.directives.ts
│ ├── bottombar.module.d.ts
│ ├── bottombar.module.ts
│ ├── index.d.ts
│ ├── index.ts
│ ├── package.json
│ └── tsconfig.json
├── bottombar-item
│ ├── android
│ │ ├── bottombar-item.d.ts
│ │ └── bottombar-item.ts
│ ├── bottombar-item.base.d.ts
│ ├── bottombar-item.base.ts
│ └── ios
│ │ ├── bottombar-item.d.ts
│ │ └── bottombar-item.ts
├── bottombar.android.ts
├── bottombar.ios.ts
├── bottombar
│ ├── android
│ │ ├── bottombar.d.ts
│ │ └── bottombar.ts
│ ├── bottombar.base.d.ts
│ ├── bottombar.base.ts
│ ├── bottombar.common.d.ts
│ ├── bottombar.common.ts
│ └── ios
│ │ ├── bottombar.d.ts
│ │ └── bottombar.ts
├── e2e
│ ├── bottombar.e2e-spec.ts
│ ├── config
│ │ ├── appium.capabilities.json
│ │ └── mocha.opts
│ ├── setup.d.ts
│ ├── setup.ts
│ └── tsconfig.json
├── index.d.ts
├── package-lock.json
├── package.json
├── platforms
│ └── android
│ │ └── include.gradle
├── references.d.ts
├── screenshots
│ ├── ressources.android.png
│ ├── ressources.ios.png
│ ├── showcase.android.gif
│ └── showcase.ios.gif
├── scripts
│ └── build-native.js
├── tsconfig.json
├── utils
│ ├── android
│ │ ├── utils.d.ts
│ │ └── utils.ts
│ ├── utils.common.d.ts
│ └── utils.common.ts
└── vue
│ ├── index.js
│ └── package.json
└── tslint.json
/.github/issue_template.md:
--------------------------------------------------------------------------------
1 | ### Make sure to check the demo app(s) for sample usage
2 |
3 | ### Make sure to check the existing issues in this repository
4 |
5 | ### If the demo apps cannot help and there is no issue for your problem, tell us about it
6 | Please, ensure your title is less than 63 characters long and starts with a capital
7 | letter.
8 |
9 | ### Which platform(s) does your issue occur on?
10 | - iOS/Android/Both
11 | - iOS/Android versions
12 | - emulator or device. What type of device?
13 |
14 | ### Please, provide the following version numbers that your issue occurs with:
15 |
16 | - CLI: (run `tns --version` to fetch it)
17 | - Cross-platform modules: (check the 'version' attribute in the
18 | `node_modules/tns-core-modules/package.json` file in your project)
19 | - Runtime(s): (look for the `"tns-android"` and `"tns-ios"` properties in the `package.json` file of your project)
20 | - Plugin(s): (look for the version numbers in the `package.json` file of your
21 | project and paste your dependencies and devDependencies here)
22 |
23 | ### Please, tell us how to recreate the issue in as much detail as possible.
24 | Describe the steps to reproduce it.
25 |
26 | ### Is there any code involved?
27 | - provide a code example to recreate the problem
28 | - (EVEN BETTER) provide a .zip with application or refer to a repository with application where the problem is reproducible.
29 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 | ## PR Checklist
11 |
12 | - [ ] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/CONTRIBUTING.md#commit-messages.
13 | - [ ] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it.
14 | - [ ] All existing tests are passing
15 | - [ ] Tests for the changes are included
16 |
17 | ## What is the current behavior?
18 |
19 |
20 | ## What is the new behavior?
21 |
22 |
23 | Fixes/Implements/Closes #[Issue Number].
24 |
25 |
26 |
27 |
36 |
37 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | .idea
3 | .DS_Store
4 | *.esm.json
5 | *.js
6 | *.js.map
7 | *.log
8 | src/*.d.ts
9 | !src/vue/index.js
10 | !src/index.d.ts
11 | !src/references.d.ts
12 | !src/scripts/*.js
13 | !seed-tests/*.js
14 | seed-tests/seed-copy/**/*.*
15 | seed-tests/seed-copy-new-git-repo/**/*.*
16 |
17 | !demo/karma.conf.js
18 | !demo/app/tests/*.js
19 | demo/*.d.ts
20 | !demo/references.d.ts
21 | demo/e2e
22 | demo/lib
23 | demo/platforms
24 | !demo-ng/karma.conf.js
25 | !demo-ng/app/tests/*.js
26 |
27 |
28 | demo-ng/*.d.ts
29 | !demo-ng/references.d.ts
30 | demo-ng/lib
31 | demo-ng/platforms
32 |
33 | demo-vue/*.d.ts
34 | !demo-vue/references.d.ts
35 | demo-vue/lib
36 | demo-vue/platforms
37 |
38 | node_modules
39 | publish/src
40 | publish/package
41 | demo/report/report.html
42 | demo/report/stats.json
43 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | env:
2 | global:
3 | - ANDROID_PACKAGE='app-debug.apk'
4 | - ANDROID_PACKAGE_FOLDER=$TRAVIS_BUILD_DIR/demo/platforms/android/app/build/outputs/apk/debug
5 | - ANDROID_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER/$ANDROID_PACKAGE?overwrite=true"
6 | - IOS_PACKAGE='demo.zip'
7 | - IOS_PACKAGE_FOLDER=$TRAVIS_BUILD_DIR/demo/platforms/ios/build/emulator
8 | - IOS_SAUCE_STORAGE="https://saucelabs.com/rest/v1/storage/$SAUCE_USER/$IOS_PACKAGE?overwrite=true"
9 |
10 | matrix:
11 | include:
12 | - stage: "Lint"
13 | language: node_js
14 | os: linux
15 | node_js: "8"
16 | script: cd src && npm run ci.tslint && cd ../demo && npm run ci.tslint
17 | - stage: "WebPack, Build and Test"
18 | os: osx
19 | env:
20 | - WebPack="iOS"
21 | osx_image: xcode10
22 | language: node_js
23 | node_js: "8"
24 | jdk: oraclejdk8
25 | before_install: pip install six
26 | script: cd demo && npm run build.ci.iosOnly && npm i && tns build ios --bundle --env.uglify
27 | - language: android
28 | os: linux
29 | env:
30 | - WebPack="Android"
31 | jdk: oraclejdk8
32 | before_install: nvm install 8
33 | script: cd demo && npm run build.ci.plugin && npm i && tns build android --bundle --env.uglify --env.snapshot
34 | - language: android
35 | env:
36 | - BuildAndroid="28"
37 | os: linux
38 | jdk: oraclejdk8
39 | before_install: nvm install stable
40 | script:
41 | - cd src && npm run clean.ci && npm run tsc && cd ../demo && npm run clean && tns build android
42 | - "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $ANDROID_SAUCE_STORAGE --data-binary @$ANDROID_PACKAGE_FOLDER/$ANDROID_PACKAGE.apk"
43 | - os: osx
44 | env:
45 | - BuildiOS="12"
46 | - Xcode="10.0"
47 | osx_image: xcode10
48 | language: node_js
49 | node_js: "8"
50 | jdk: oraclejdk8
51 | before_install: pip install six
52 | script:
53 | - cd src && npm run clean.ci && npm run tsc && cd ../demo && npm run clean && tns build ios
54 | - cd $IOS_PACKAGE_FOLDER && zip -r $IOS_PACKAGE demo.app
55 | - "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $IOS_SAUCE_STORAGE --data-binary @$IOS_PACKAGE_FOLDER/$IOS_PACKAGE"
56 | - os: linux
57 | language: android
58 | dist: precise
59 | sudo: required
60 | jdk: oraclejdk8
61 | before_script:
62 | - echo no | android create avd --force -n test -t android-21 -b armeabi-v7a
63 | - emulator -avd test -no-audio -no-window &
64 | - android-wait-for-emulator
65 | before_install:
66 | - nvm install 8
67 | script: cd src && npm run test.ci.android
68 | - os: osx
69 | language: node_js
70 | node_js: "8"
71 | jdk: oraclejdk8
72 | before_install: pip install six
73 | osx_image: xcode10
74 | script: cd src && npm run test.ci.ios
75 | # Waiting to get access to an open source Sauce Labs account
76 | # - stage: "UI Tests"
77 | # env: Android="23"
78 | # language: node_js
79 | # os: linux
80 | # node_js: "8"
81 | # script:
82 | # - npm i -g appium
83 | # - cd demo && npm i
84 | # - travis_retry npm run e2e -- --runType sauce.android24 --sauceLab --reuseDevice --appPath $ANDROID_PACKAGE
85 | # - os: linux
86 | # env:
87 | # - iOS="12.1"
88 | # language: node_js
89 | # node_js: "8"
90 | # script:
91 | # - npm i -g appium
92 | # - cd demo && npm run clean && npm i
93 | # - travis_wait travis_retry npm run e2e -- --runType sauce.iPhone6.110 --sauceLab --reuseDevice --appPath $IOS_PACKAGE
94 |
95 | android:
96 | components:
97 | - tools
98 | - platform-tools
99 | - build-tools-28.0.2
100 | - android-28
101 | - android-26
102 | - extra-android-m2repository
103 | - sys-img-armeabi-v7a-android-21
104 |
105 | install:
106 | - echo no | npm install -g nativescript
107 | - tns usage-reporting disable
108 | - tns error-reporting disable
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.npmjs.com/package/nativescript-bottombar)
2 | [](https://www.npmjs.com/package/nativescript-bottombar)
3 | [](https://twitter.com/_rhanb)
4 |
5 | [](https://travis-ci.org/rhanb/nativescript-bottombar)
6 | 
7 | 
8 |
9 | [](https://nodei.co/npm/nativescript-bottombar/)
10 |
11 |
12 | # NativeScript BottomBar :beers::fire::fr:
13 |
14 |
15 | NativeScript plugin for [BottomNavigationView](https://github.com/aurelhubert/ahbottomnavigation) and [UITabBar](https://developer.apple.com/documentation/uikit/uitabbar).
16 |
17 | PS: To have a material design on iOS too, free to use the plugin [nativescript-bottom-navigation](https://github.com/henrychavez/nativescript-bottom-navigation/)
18 |
19 | No third libraries are used in this plugin, wich means this plugin is lightweight because only javascript files will be added to your app.
20 |
21 | iOS | Android
22 | -------- | ---------
23 |  | 
24 |
25 | ## Installation
26 |
27 | `tns plugin add nativescript-bottombar@next`
28 |
29 | ## Usage
30 |
31 | [API documentation](/API_DOCUMENTATION.md)
32 |
33 | - [Angular](/demo-ng/README.md)
34 | - [Vue](/demo-vue/README.md)
35 | - [{N} core](/demo/README.md)
36 |
37 | ## Common Usage
38 |
39 | ### Icons
40 |
41 | The properties `icon` and `checkedIcon` supports the following path formats:
42 |
43 | - `~/`: relative path to the app folder
44 | - `res://`: icons must be in the App_Resources folder as follow
45 |
46 |
47 | | iOS | Android |
48 | |:-------------------------------------------:|-----------------------------------------------------|
49 | |  |  |
50 |
51 | ### Ripple effect color on Android
52 |
53 | To change the color of the ripple effect when an item is tapped, please add the following item to your `AppTheme` inside your `App_Resources` > `Android` > `src` > `main` > `res` > `values` > `styles.xml` file with the desired `color` resource.
54 |
55 | ```XML
56 |
57 |
60 | ```
61 |
62 | ### Android support
63 |
64 | You will need Support Library APIs v28 installed on your developer machine to be able to successfully use this plugin. If you already use the latest {N} version `5.0`, you should be good to go.
65 |
66 | ## More details
67 |
68 | [API documentation](/API_DOCUMENTATION.md)
69 |
70 | ### TODO
71 |
72 | - [ ] Allow to hide/show the `BottomBar`
73 | - [ ] Expose more `BottomBarItem` customisation (font, position, etc..)
74 | - [ ] Expose selection indicator on `iOS`
75 | - [ ] Implement more `unit` tests and `e2e` tests
76 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // implementation 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | // If you want to add something to be applied before applying plugins' include.gradle files
9 | // e.g. project.ext.googlePlayServicesVersion = "15.0.1"
10 | // create a file named before-plugins.gradle in the current directory and place it there
11 |
12 | android {
13 | defaultConfig {
14 | generatedDensities = []
15 | }
16 | aaptOptions {
17 | additionalParameters "--no-version-vectors"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
20 |
21 |
24 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/Android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "60x60",
35 | "idiom" : "iphone",
36 | "filename" : "icon-60@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "60x60",
41 | "idiom" : "iphone",
42 | "filename" : "icon-60@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "29x29",
47 | "idiom" : "ipad",
48 | "filename" : "icon-29.png",
49 | "scale" : "1x"
50 | },
51 | {
52 | "size" : "29x29",
53 | "idiom" : "ipad",
54 | "filename" : "icon-29@2x.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "40x40",
59 | "idiom" : "ipad",
60 | "filename" : "icon-40.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "40x40",
65 | "idiom" : "ipad",
66 | "filename" : "icon-40@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "76x76",
71 | "idiom" : "ipad",
72 | "filename" : "icon-76.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "76x76",
77 | "idiom" : "ipad",
78 | "filename" : "icon-76@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "83.5x83.5",
83 | "idiom" : "ipad",
84 | "filename" : "icon-83.5@2x.png",
85 | "scale" : "2x"
86 | },
87 | {
88 | "size" : "1024x1024",
89 | "idiom" : "ios-marketing",
90 | "filename" : "icon-1024.png",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "ic_home_filled.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "filename": "ic_home_filled.png",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "universal",
15 | "filename": "ic_home_filled.png",
16 | "scale": "3x"
17 | }
18 | ],
19 | "info": {
20 | "version": 1,
21 | "author": "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "ic_home_outline.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "filename": "ic_home_outline.png",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "universal",
15 | "filename": "ic_home_outline.png",
16 | "scale": "3x"
17 | }
18 | ],
19 | "info": {
20 | "version": 1,
21 | "author": "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-ng/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/demo-ng/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/demo-ng/README.md:
--------------------------------------------------------------------------------
1 | # Nativescript Bottombar usage with Angular
2 |
3 | ### Module
4 | ```typescript
5 | import { BottomBarModule } from 'nativescript-bottombar/angular';
6 |
7 | @NgModule({
8 | bootstrap: [
9 | ...
10 | ],
11 | imports: [
12 | ...
13 | BottomBarModule
14 | ],
15 | declarations: [
16 | ...
17 | ]
18 | })
19 | ```
20 |
21 | ### XML
22 |
23 | ```xml
24 |
25 |
26 |
27 |
28 |
32 |
37 |
38 |
44 |
45 |
51 |
52 |
53 |
54 | ```
55 | ### Component
56 |
57 | ```typescript
58 | import { Component } from "@angular/core";
59 | import { BottomBar, LABEL_VISIBILITY, TabSelectedEventData } from 'nativescript-bottombar';
60 |
61 | @Component({
62 | selector: "ns-app",
63 | moduleId: module.id,
64 | templateUrl: "./app.component.html",
65 | styles: [`
66 | BottomBar {
67 | inactive-tint-color: #B98AF9;
68 | active-tint-color: #FFFFFF;
69 | bar-background-color: #6800F4;
70 | }
71 | `]
72 | })
73 | export class AppComponent {
74 | private bottomBar: BottomBar;
75 | labelVisibility: LABEL_VISIBILITY;
76 |
77 | constructor() {
78 | this.labelVisibility = LABEL_VISIBILITY.SELECTED;
79 | }
80 |
81 | tabSelected(event: TabSelectedEventData) {
82 | console.dir(event);
83 | }
84 |
85 | barLoaded(event) {
86 | this.bottomBar = event.object;
87 | }
88 | }
89 | ```
90 |
91 | ## Common Usage
92 |
93 | ### Icons
94 |
95 | The properties `icon` and `checkedIcon` supports the following path formats:
96 |
97 | - `~/`: relative path to the app folder
98 | - `res://`: icons must be in the App_Resources folder as follow
99 |
100 |
101 | | iOS | Android |
102 | |:-------------------------------------------:|-----------------------------------------------------|
103 | |  |  |
104 |
105 | ### Ripple effect color on Android
106 |
107 | To change the color of the ripple effect when an item is tapped, please add the following item to your `AppTheme` inside your `App_Resources` > `Android` > `src` > `main` > `res` > `values` > `styles.xml` file with the desired `color` resource.
108 |
109 | ```XML
110 |
111 |
114 | ```
115 |
116 | ## More details
117 |
118 | [API documentation](/API_DOCUMENTATION.md)
--------------------------------------------------------------------------------
/demo-ng/angular.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 | "version": 1,
4 | "newProjectRoot": "projects",
5 | "cli": {
6 | "defaultCollection": "@nativescript/schematics"
7 | },
8 | "projects": {
9 | "hello-world": {
10 | "root": "",
11 | "sourceRoot": "src",
12 | "projectType": "application",
13 | "prefix": "ns"
14 | }
15 | },
16 | "defaultProject": "hello-world"
17 | }
18 |
--------------------------------------------------------------------------------
/demo-ng/nsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "appResourcesPath": "App_Resources",
3 | "appPath": "src"
4 | }
5 |
--------------------------------------------------------------------------------
/demo-ng/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "nativescript": {
3 | "id": "org.nativescript.demong",
4 | "tns-android": {
5 | "version": "4.2.0"
6 | },
7 | "tns-ios": {
8 | "version": "4.2.0"
9 | }
10 | },
11 | "description": "NativeScript Application",
12 | "license": "SEE LICENSE IN ",
13 | "repository": "",
14 | "dependencies": {
15 | "@angular/animations": "~7.0.0",
16 | "@angular/common": "~7.0.0",
17 | "@angular/compiler": "~7.0.0",
18 | "@angular/core": "~7.0.0",
19 | "@angular/forms": "~7.0.0",
20 | "@angular/http": "~7.0.0",
21 | "@angular/platform-browser": "~7.0.0",
22 | "@angular/platform-browser-dynamic": "~7.0.0",
23 | "@angular/router": "~7.0.0",
24 | "nativescript-angular": "~7.0.0",
25 | "nativescript-bottombar": "file:../src",
26 | "nativescript-theme-core": "~1.0.4",
27 | "reflect-metadata": "~0.1.8",
28 | "rxjs": "~6.3.0",
29 | "tns-core-modules": "^4.2.0",
30 | "zone.js": "^0.8.26"
31 | },
32 | "devDependencies": {
33 | "@angular/compiler-cli": "~7.0.0",
34 | "@nativescript/schematics": "~0.4.0",
35 | "@ngtools/webpack": "~7.0.0",
36 | "@types/chai": "~4.1.3",
37 | "@types/mocha": "~5.2.1",
38 | "@types/node": "^7.0.5",
39 | "nativescript-dev-typescript": "~0.7.0",
40 | "nativescript-dev-webpack": "~0.18.0",
41 | "typescript": "^3.1.6"
42 | },
43 | "readme": "NativeScript Application",
44 | "scripts": {
45 | "e2e": "tsc -p e2e && mocha --opts ./e2e/config/mocha.opts",
46 | "e2e-watch": "tsc -p e2e --watch"
47 | }
48 | }
--------------------------------------------------------------------------------
/demo-ng/src/app.css:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.css file is where you place CSS rules that
3 | you would like to apply to your entire application. Check out
4 | http://docs.nativescript.org/ui/styling for a full list of the CSS
5 | selectors and properties you can use to style UI components.
6 |
7 | /*
8 | In many cases you may want to use the NativeScript core theme instead
9 | of writing your own CSS rules. For a full list of class names in the theme
10 | refer to http://docs.nativescript.org/ui/theme.
11 | */
12 | @import '~nativescript-theme-core/css/core.light.css';
13 |
--------------------------------------------------------------------------------
/demo-ng/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demo-ng/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from "@angular/core";
2 | import { BottomBar, LABEL_VISIBILITY, TabSelectedEventData } from 'nativescript-bottombar';
3 |
4 | @Component({
5 | selector: "ns-app",
6 | moduleId: module.id,
7 | templateUrl: "./app.component.html",
8 | styles: [`
9 | BottomBar {
10 | inactive-tint-color: #B98AF9;
11 | active-tint-color: #FFFFFF;
12 | bar-background-color: #6800F4;
13 | }
14 | `]
15 | })
16 | export class AppComponent {
17 | private bottomBar: BottomBar;
18 | labelVisibility: LABEL_VISIBILITY;
19 |
20 | constructor() {
21 | this.labelVisibility = LABEL_VISIBILITY.SELECTED;
22 | }
23 |
24 | tabSelected(event: TabSelectedEventData) {
25 | console.dir(event);
26 | }
27 |
28 | barLoaded(event) {
29 | this.bottomBar = event.object;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/demo-ng/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2 | import { NativeScriptModule } from "nativescript-angular/nativescript.module";
3 |
4 | import { BottomBarModule } from 'nativescript-bottombar/angular';
5 |
6 | import { AppComponent } from "./app.component";
7 |
8 | // Uncomment and add to NgModule imports if you need to use two-way binding
9 | // import { NativeScriptFormsModule } from "nativescript-angular/forms";
10 |
11 | // Uncomment and add to NgModule imports if you need to use the HttpClient wrapper
12 | // import { NativeScriptHttpClientModule } from "nativescript-angular/http-client";
13 |
14 | @NgModule({
15 | bootstrap: [
16 | AppComponent
17 | ],
18 | imports: [
19 | NativeScriptModule,
20 | BottomBarModule
21 | ],
22 | declarations: [
23 | AppComponent
24 | ],
25 | providers: [],
26 | schemas: [
27 | NO_ERRORS_SCHEMA
28 | ]
29 | })
30 | /*
31 | Pass your application module to the bootstrapModule function located in main.ts to start your app
32 | */
33 | export class AppModule { }
34 |
--------------------------------------------------------------------------------
/demo-ng/src/main.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScriptDynamic } from "nativescript-angular/platform";
3 |
4 | import { AppModule } from "./app/app.module";
5 |
6 | // A traditional NativeScript application starts by initializing global objects, setting up global CSS rules, creating, and navigating to the main page.
7 | // Angular applications need to take care of their own initialization: modules, components, directives, routes, DI providers.
8 | // A NativeScript Angular app needs to make both paradigms work together, so we provide a wrapper platform object, platformNativeScriptDynamic,
9 | // that sets up a NativeScript application and can bootstrap the Angular framework.
10 | platformNativeScriptDynamic().bootstrapModule(AppModule);
11 |
--------------------------------------------------------------------------------
/demo-ng/src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "main.js",
3 | "android": {
4 | "v8Flags": "--expose_gc"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo-ng/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "noEmitHelpers": true,
8 | "noEmitOnError": true,
9 | "lib": [
10 | "es6",
11 | "dom",
12 | "es2015.iterable"
13 | ],
14 | "baseUrl": ".",
15 | "paths": {
16 | "~/*": [
17 | "src/*"
18 | ],
19 | "*": [
20 | "./node_modules/tns-core-modules/*",
21 | "./node_modules/*"
22 | ]
23 | }
24 | },
25 | "exclude": [
26 | "node_modules",
27 | "../src/node_modules",
28 | "../e2e",
29 | "platforms"
30 | ]
31 | }
--------------------------------------------------------------------------------
/demo-ng/tsconfig.tns.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "module": "es2015",
5 | "moduleResolution": "node"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/demo-vue/.gitignore:
--------------------------------------------------------------------------------
1 | # JetBrains project files
2 | .idea
3 |
4 | # NPM
5 | node_modules
6 |
7 | # NativeScript application
8 | hooks
9 | platforms
10 |
--------------------------------------------------------------------------------
/demo-vue/README.md:
--------------------------------------------------------------------------------
1 | # Nativescript Bottombar usage with Vue
2 |
3 | ### Main file
4 |
5 | ```javascript
6 | import Vue from 'nativescript-vue'
7 | import App from './components/App'
8 |
9 | require('nativescript-bottombar/vue').register(Vue);
10 |
11 | // Prints Vue logs when --env.production is *NOT* set while building
12 | Vue.config.silent = (TNS_ENV === 'production')
13 |
14 | new Vue({
15 | render: h => h('frame', [h(App)])
16 | }).$start()
17 | ```
18 |
19 | ### Component
20 |
21 | - template
22 | ```xml
23 |
24 |
25 |
26 |
27 |
28 |
32 |
37 |
38 |
43 |
44 |
49 |
50 |
51 |
52 |
53 |
54 | ```
55 |
56 | - script
57 | ```typescript
58 |
73 | ```
74 |
75 | - style
76 | ```css
77 |
97 | ```
98 |
99 | ## Common Usage
100 |
101 | ### Icons
102 |
103 | The properties `icon` and `checkedIcon` supports the following path formats:
104 |
105 | - `~/`: relative path to the app folder
106 | - `res://`: icons must be in the App_Resources folder as follow
107 |
108 |
109 | | iOS | Android |
110 | |:-------------------------------------------:|-----------------------------------------------------|
111 | |  |  |
112 |
113 | ### Ripple effect color on Android
114 |
115 | To change the color of the ripple effect when an item is tapped, please add the following item to your `AppTheme` inside your `App_Resources` > `Android` > `src` > `main` > `res` > `values` > `styles.xml` file with the desired `color` resource.
116 |
117 | ```XML
118 |
119 |
122 | ```
123 |
124 | ## More details
125 |
126 | [API documentation](/API_DOCUMENTATION.md)
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | android {
4 | defaultConfig {
5 | generatedDensities = []
6 | applicationId = "__PACKAGE__"
7 | }
8 | aaptOptions {
9 | additionalParameters "--no-version-vectors"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values-v21/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | NativeScript-Vue Application
4 | NativeScript-Vue Application
5 |
6 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #53ba82
5 | #33B5E5
6 | #272734
7 |
8 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | NativeScript-Vue Application
4 | NativeScript-Vue Application
5 |
6 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/Android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
17 |
18 |
20 |
21 |
22 |
29 |
30 |
32 |
33 |
34 |
39 |
40 |
42 |
43 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "60x60",
35 | "idiom" : "iphone",
36 | "filename" : "icon-60@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "60x60",
41 | "idiom" : "iphone",
42 | "filename" : "icon-60@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "29x29",
47 | "idiom" : "ipad",
48 | "filename" : "icon-29.png",
49 | "scale" : "1x"
50 | },
51 | {
52 | "size" : "29x29",
53 | "idiom" : "ipad",
54 | "filename" : "icon-29@2x.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "40x40",
59 | "idiom" : "ipad",
60 | "filename" : "icon-40.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "40x40",
65 | "idiom" : "ipad",
66 | "filename" : "icon-40@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "76x76",
71 | "idiom" : "ipad",
72 | "filename" : "icon-76.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "76x76",
77 | "idiom" : "ipad",
78 | "filename" : "icon-76@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "83.5x83.5",
83 | "idiom" : "ipad",
84 | "filename" : "icon-83.5@2x.png",
85 | "scale" : "2x"
86 | },
87 | {
88 | "size" : "1024x1024",
89 | "idiom" : "ios-marketing",
90 | "filename" : "icon-1024.png",
91 | "scale" : "1x"
92 | }
93 | ],
94 | "info" : {
95 | "version" : 1,
96 | "author" : "xcode"
97 | }
98 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "ic_home_filled.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "filename": "ic_home_filled.png",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "universal",
15 | "filename": "ic_home_filled.png",
16 | "scale": "3x"
17 | }
18 | ],
19 | "info": {
20 | "version": 1,
21 | "author": "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/ic_home_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_filled.imageset/ic_home_filled.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "ic_home_outline.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "filename": "ic_home_outline.png",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "universal",
15 | "filename": "ic_home_outline.png",
16 | "scale": "3x"
17 | }
18 | ],
19 | "info": {
20 | "version": 1,
21 | "author": "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/ic_home_outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/App_Resources/iOS/Assets.xcassets/ic_home_outline.imageset/ic_home_outline.png
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | NativeScript-Vue Application
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo-vue/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/demo-vue/app/app.scss:
--------------------------------------------------------------------------------
1 | // NativeScript core theme
2 | // @see https://docs.nativescript.org/ui/theme
3 | @import '~nativescript-theme-core/scss/dark';
4 |
5 | // Override variables here
6 |
7 | @import '~nativescript-theme-core/scss/index';
8 |
9 | // Global SCSS styling
10 | // @see https://docs.nativescript.org/ui/styling
11 |
--------------------------------------------------------------------------------
/demo-vue/app/assets/images/NativeScript-Vue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/assets/images/NativeScript-Vue.png
--------------------------------------------------------------------------------
/demo-vue/app/components/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
33 |
34 |
55 |
--------------------------------------------------------------------------------
/demo-vue/app/fonts/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo-vue/app/fonts/.gitkeep
--------------------------------------------------------------------------------
/demo-vue/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "android": {
3 | "v8Flags": "--expose_gc"
4 | },
5 | "main": "main",
6 | "name": "demo-vue",
7 | "version": "1.0.0"
8 | }
9 |
--------------------------------------------------------------------------------
/demo-vue/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo-vue",
3 | "version": "1.0.0",
4 | "description": "A native application built with NativeScript-Vue",
5 | "author": "rhanb ",
6 | "license": "MIT",
7 | "nativescript": {
8 | "id": "org.nativescript.application",
9 | "tns-ios": {
10 | "version": "5.0.0"
11 | },
12 | "tns-android": {
13 | "version": "5.0.0"
14 | }
15 | },
16 | "dependencies": {
17 | "nativescript-bottombar": "file:../src",
18 | "nativescript-theme-core": "^1.0.4",
19 | "nativescript-vue": "^2.0.0",
20 | "tns-core-modules": "^5.0.2"
21 | },
22 | "devDependencies": {
23 | "@babel/core": "^7.0.0",
24 | "@babel/preset-env": "^7.0.0",
25 | "babel-loader": "^8.0.2",
26 | "babel-traverse": "6.26.0",
27 | "babel-types": "6.26.0",
28 | "babylon": "6.18.0",
29 | "clean-webpack-plugin": "^0.1.19",
30 | "copy-webpack-plugin": "^4.5.2",
31 | "css-loader": "^1.0.0",
32 | "lazy": "1.0.11",
33 | "nativescript-dev-webpack": "next",
34 | "nativescript-vue-template-compiler": "^2.0.0",
35 | "nativescript-worker-loader": "~0.9.0",
36 | "node-sass": "^4.9.2",
37 | "sass-loader": "^7.1.0",
38 | "terser-webpack-plugin": "^1.1.0",
39 | "vue-loader": "^15.2.6",
40 | "webpack": "^4.16.4",
41 | "webpack-bundle-analyzer": "~2.13.1",
42 | "webpack-cli": "^3.1.0"
43 | }
44 | }
--------------------------------------------------------------------------------
/demo/README.md:
--------------------------------------------------------------------------------
1 | # Nativescript Bottombar usage with Typescript
2 |
3 | ### XML
4 |
5 | ```xml
6 |
8 |
9 |
10 |
11 |
12 |
16 |
22 |
23 |
28 |
29 |
34 |
35 |
36 |
37 |
38 | ```
39 |
40 | ### Model
41 |
42 | ```typescript
43 | import { TabSelectedEventData, BottomBar } from 'nativescript-bottombar';
44 |
45 | export class HelloWorldModel extends Observable {
46 | private _bottomBar: BottomBar;
47 |
48 | constructor() {
49 | super();
50 | }
51 |
52 | public bottomBarLoaded(event) {
53 | console.dir(event);
54 | this._bottomBar = event.object;
55 | }
56 |
57 | bottomBarItemSelected(event: TabSelectedEventData) {
58 | console.dir(event);
59 | }
60 | }
61 | ```
62 |
63 | ## Common Usage
64 |
65 | ### Icons
66 |
67 | The properties `icon` and `checkedIcon` supports the following path formats:
68 |
69 | - `~/`: relative path to the app folder
70 | - `res://`: icons must be in the App_Resources folder as follow
71 |
72 |
73 | | iOS | Android |
74 | |:-------------------------------------------:|-----------------------------------------------------|
75 | |  |  |
76 |
77 | ### Ripple effect color on Android
78 |
79 | To change the color of the ripple effect when an item is tapped, please add the following item to your `AppTheme` inside your `App_Resources` > `Android` > `src` > `main` > `res` > `values` > `styles.xml` file with the desired `color` resource.
80 |
81 | ```XML
82 |
83 |
86 | ```
87 |
88 | ## More details
89 |
90 | [API documentation](/API_DOCUMENTATION.md)
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "org.nativescript.demo"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "57x57",
35 | "idiom" : "iphone",
36 | "filename" : "icon-57.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "size" : "57x57",
41 | "idiom" : "iphone",
42 | "filename" : "icon-57@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "icon-60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "icon-60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "29x29",
59 | "idiom" : "ipad",
60 | "filename" : "icon-29.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "icon-29@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "40x40",
71 | "idiom" : "ipad",
72 | "filename" : "icon-40.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "icon-40@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "50x50",
83 | "idiom" : "ipad",
84 | "filename" : "icon-50.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "50x50",
89 | "idiom" : "ipad",
90 | "filename" : "icon-50@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "72x72",
95 | "idiom" : "ipad",
96 | "filename" : "icon-72.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "72x72",
101 | "idiom" : "ipad",
102 | "filename" : "icon-72@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "76x76",
107 | "idiom" : "ipad",
108 | "filename" : "icon-76.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "76x76",
113 | "idiom" : "ipad",
114 | "filename" : "icon-76@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "83.5x83.5",
119 | "idiom" : "ipad",
120 | "filename" : "icon-83.5@2x.png",
121 | "scale" : "2x"
122 | }
123 | ],
124 | "info" : {
125 | "version" : 1,
126 | "author" : "xcode"
127 | }
128 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/ic_home_black_24dp.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "ic_home_black_24dp.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "filename": "ic_home_black_24dp.png",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "universal",
15 | "filename": "ic_home_black_24dp.png",
16 | "scale": "3x"
17 | }
18 | ],
19 | "info": {
20 | "version": 1,
21 | "author": "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/ic_home_black_24dp.imageset/ic_home_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhanb/nativescript-bottombar/d5261332c809c524c7c937b4193de891a232b27c/demo/app/App_Resources/iOS/Assets.xcassets/ic_home_black_24dp.imageset/ic_home_black_24dp.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
5 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
6 |
--------------------------------------------------------------------------------
/demo/app/app.css:
--------------------------------------------------------------------------------
1 | @import '~nativescript-theme-core/css/core.light.css';
2 |
3 | BottomBar {
4 | active-tint-color: #022733;
5 | bar-background-color: #F8FAFD;
6 | inactive-tint-color: #5CB85C;
7 | }
--------------------------------------------------------------------------------
/demo/app/app.ts:
--------------------------------------------------------------------------------
1 | import * as application from 'tns-core-modules/application';
2 | application.start({ moduleName: "main-page" });
3 |
--------------------------------------------------------------------------------
/demo/app/main-page.ts:
--------------------------------------------------------------------------------
1 | import * as observable from 'tns-core-modules/data/observable';
2 | import * as pages from 'tns-core-modules/ui/page';
3 | import {HelloWorldModel} from './main-view-model';
4 |
5 | // Event handler for Page 'loaded' event attached in main-page.xml
6 | export function pageLoaded(args: observable.EventData) {
7 | // Get the event sender
8 | let page = args.object;
9 | page.bindingContext = new HelloWorldModel();
10 | }
11 |
--------------------------------------------------------------------------------
/demo/app/main-page.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/demo/app/main-view-model.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from 'tns-core-modules/data/observable';
2 | import { TabSelectedEventData, BottomBar } from 'nativescript-bottombar';
3 | import { Color } from 'tns-core-modules/color/color';
4 |
5 | export class HelloWorldModel extends Observable {
6 | private _bottomBar: BottomBar;
7 |
8 | constructor() {
9 | super();
10 | }
11 |
12 | public bottomBarLoaded(event) {
13 | console.dir(event);
14 | this._bottomBar = event.object;
15 | }
16 |
17 | bottomBarItemSelected(event: TabSelectedEventData) {
18 | console.dir(event);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/demo/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tns-template-hello-world-ts",
3 | "main": "app.js",
4 | "version": "1.6.0",
5 | "author": {
6 | "name": "Telerik",
7 | "email": "support@telerik.com"
8 | },
9 | "description": "Nativescript hello-world-ts project template",
10 | "license": "Apache-2.0",
11 | "keywords": [
12 | "telerik",
13 | "mobile",
14 | "nativescript",
15 | "{N}",
16 | "tns",
17 | "appbuilder",
18 | "template"
19 | ],
20 | "repository": {
21 | "type": "git",
22 | "url": "git+ssh://git@github.com/NativeScript/template-hello-world-ts.git"
23 | },
24 | "bugs": {
25 | "url": "https://github.com/NativeScript/template-hello-world-ts/issues"
26 | },
27 | "homepage": "https://github.com/NativeScript/template-hello-world-ts",
28 | "android": {
29 | "v8Flags": "--expose_gc",
30 | "requireModules": ["nativescript-bottombar"]
31 | },
32 | "devDependencies": {
33 | "nativescript-dev-typescript": "^0.3.0"
34 | },
35 | "_id": "tns-template-hello-world-ts@1.6.0",
36 | "_shasum": "a567c2b9a56024818c06596dab9629d155c5b8a8",
37 | "_resolved": "https://registry.npmjs.org/tns-template-hello-world-ts/-/tns-template-hello-world-ts-1.6.0.tgz",
38 | "_from": "tns-template-hello-world-ts@latest",
39 | "scripts": {
40 | "build.plugin": "cd ../src && npm run build",
41 | "ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'"
42 | },
43 | "_npmVersion": "2.14.7",
44 | "_nodeVersion": "4.2.2",
45 | "_npmUser": {
46 | "name": "enchev",
47 | "email": "vladimir.enchev@gmail.com"
48 | },
49 | "dist": {
50 | "shasum": "a567c2b9a56024818c06596dab9629d155c5b8a8",
51 | "tarball": "http://registry.npmjs.org/tns-template-hello-world-ts/-/tns-template-hello-world-ts-1.6.0.tgz"
52 | },
53 | "maintainers": [
54 | {
55 | "name": "enchev",
56 | "email": "vladimir.enchev@gmail.com"
57 | },
58 | {
59 | "name": "erjangavalji",
60 | "email": "erjan.gavalji@gmail.com"
61 | },
62 | {
63 | "name": "fatme",
64 | "email": "hfatme@gmail.com"
65 | },
66 | {
67 | "name": "hdeshev",
68 | "email": "hristo@deshev.com"
69 | },
70 | {
71 | "name": "kerezov",
72 | "email": "d.kerezov@gmail.com"
73 | },
74 | {
75 | "name": "ligaz",
76 | "email": "stefan.dobrev@gmail.com"
77 | },
78 | {
79 | "name": "nsndeck",
80 | "email": "nedyalko.nikolov@telerik.com"
81 | },
82 | {
83 | "name": "rosen-vladimirov",
84 | "email": "rosen.vladimirov.91@gmail.com"
85 | },
86 | {
87 | "name": "sdobrev",
88 | "email": "stefan.dobrev@gmail.com"
89 | },
90 | {
91 | "name": "tailsu",
92 | "email": "tailsu@gmail.com"
93 | },
94 | {
95 | "name": "teobugslayer",
96 | "email": "teobugslayer@gmail.com"
97 | },
98 | {
99 | "name": "valio.stoychev",
100 | "email": "valio.stoychev@gmail.com"
101 | }
102 | ],
103 | "_npmOperationalInternal": {
104 | "host": "packages-5-east.internal.npmjs.com",
105 | "tmp": "tmp/tns-template-hello-world-ts-1.6.0.tgz_1455717516189_0.6427943941671401"
106 | },
107 | "directories": {},
108 | "readme": "ERROR: No README data found!"
109 | }
110 |
--------------------------------------------------------------------------------
/demo/app/tests/tests.js:
--------------------------------------------------------------------------------
1 | const nativescriptBottombar = require('nativescript-bottombar');
2 | const bottomBar = createBottomBar();
3 |
4 | /**
5 | *
7 |
8 |
9 |
10 |
11 | */
12 | function createBottomBar() {
13 | const bar = new nativescriptBottombar.BottomBar();
14 | const items = [];
15 | for (let i = 0; i < 3; i++) {
16 | const item = new nativescriptBottombar.BottomBarItem();
17 | item.icon = 'ic_home_black_24dp';
18 | item.title = ['Home', i].join(' ');
19 | item.badge = i.toString();
20 | items.push(item);
21 | }
22 | bar.items = items;
23 | return items;
24 | }
25 |
26 | describe("should be loaded", function() {
27 | it("exists", function() {
28 | console.dir(bottomBar);
29 | // expect(bottomBar.isLoaded).toBe(true);
30 | });
31 | });
--------------------------------------------------------------------------------
/demo/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | config.set({
3 |
4 | // base path that will be used to resolve all patterns (eg. files, exclude)
5 | basePath: '',
6 |
7 |
8 | // frameworks to use
9 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
10 | frameworks: ['jasmine'],
11 |
12 |
13 | // list of files / patterns to load in the browser
14 | files: [
15 | 'app/**/*.js'
16 | ],
17 |
18 |
19 | // list of files to exclude
20 | exclude: [
21 | ],
22 |
23 |
24 | // preprocess matching files before serving them to the browser
25 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
26 | preprocessors: {
27 | },
28 |
29 |
30 | // test results reporter to use
31 | // possible values: 'dots', 'progress'
32 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
33 | reporters: ['progress'],
34 |
35 |
36 | // web server port
37 | port: 9876,
38 |
39 |
40 | // enable / disable colors in the output (reporters and logs)
41 | colors: true,
42 |
43 |
44 | // level of logging
45 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
46 | logLevel: config.LOG_INFO,
47 |
48 |
49 | // enable / disable watching file and executing tests whenever any file changes
50 | autoWatch: true,
51 |
52 |
53 | // start these browsers
54 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
55 | browsers: [],
56 |
57 | customLaunchers: {
58 | android: {
59 | base: 'NS',
60 | platform: 'android'
61 | },
62 | ios: {
63 | base: 'NS',
64 | platform: 'ios'
65 | },
66 | ios_simulator: {
67 | base: 'NS',
68 | platform: 'ios',
69 | arguments: ['--emulator']
70 | }
71 | },
72 |
73 | // Continuous Integration mode
74 | // if true, Karma captures browsers, runs the tests and exits
75 | singleRun: true
76 | });
77 | };
78 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "nativescript": {
3 | "id": "org.nativescript.demo",
4 | "tns-ios": {
5 | "version": "5.0.0"
6 | },
7 | "tns-android": {
8 | "version": "5.0.0"
9 | }
10 | },
11 | "dependencies": {
12 | "nativescript-bottombar": "file:../src",
13 | "nativescript-theme-core": "^1.0.4",
14 | "nativescript-unit-test-runner": "^0.3.4",
15 | "tns-core-modules": "^5.0.5"
16 | },
17 | "devDependencies": {
18 | "@types/chai": "~4.1.3",
19 | "@types/mocha": "~5.2.1",
20 | "@types/node": "^7.0.5",
21 | "jasmine-core": "^2.5.2",
22 | "karma": "^1.3.0",
23 | "karma-jasmine": "^1.0.2",
24 | "karma-nativescript-launcher": "^0.4.0",
25 | "nativescript-css-loader": "~0.26.1",
26 | "nativescript-dev-appium": "^4.0.9",
27 | "nativescript-dev-typescript": "~0.7.4",
28 | "nativescript-dev-webpack": "~0.17.0",
29 | "tns-platform-declarations": "^5.0.0",
30 | "tslint": "~5.11.0",
31 | "typescript": "~2.8.2"
32 | },
33 | "scripts": {
34 | "clean": "npx rimraf package-lock.json node_modules",
35 | "build.plugin": "npm run clean && cd ../src && npm run build",
36 | "build.ci.plugin": "npm run clean && cd ../src && npm run build.ci",
37 | "build.ci.iosOnly": "npm run clean && cd ../src && npm run build.ci.iosOnly",
38 | "ci.tslint": "npm run clean && npm i && tslint --config '../tslint.json' 'app/**/*.ts'",
39 | "e2e": "npx rimraf e2e && cp -R ../src/e2e ./e2e && tsc -p e2e && mocha --opts ./e2e/config/mocha.opts",
40 | "e2e.android": "tns build android && npm run e2e",
41 | "e2e.ios": "tns build ios && npm run e2e"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/demo/references.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "declaration": false,
6 | "removeComments": true,
7 | "noLib": false,
8 | "emitDecoratorMetadata": true,
9 | "experimentalDecorators": true,
10 | "lib": [
11 | "es6",
12 | "dom"
13 | ],
14 | "pretty": true,
15 | "allowUnreachableCode": false,
16 | "allowUnusedLabels": false,
17 | "noEmitHelpers": true,
18 | "noEmitOnError": false,
19 | "noImplicitAny": false,
20 | "noImplicitReturns": true,
21 | "noImplicitUseStrict": false,
22 | "noFallthroughCasesInSwitch": true,
23 | "baseUrl": ".",
24 | "paths": {
25 | "*": [
26 | "./node_modules/*"
27 | ],
28 | "~/*": [
29 | "app/*"
30 | ]
31 | }
32 | },
33 | "include": [
34 | "../src",
35 | "**/*"
36 | ],
37 | "exclude": [
38 | "../src/node_modules",
39 | "../src/angular",
40 | "../src/e2e",
41 | "node_modules",
42 | "platforms"
43 | ],
44 | "compileOnSave": false
45 | }
--------------------------------------------------------------------------------
/demo/tsconfig.tns.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "module": "es2015",
5 | "moduleResolution": "node"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/publish/pack.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SOURCE_DIR=../src;
4 | TO_SOURCE_DIR=src;
5 | PACK_DIR=package;
6 | ROOT_DIR=..;
7 | PUBLISH=--publish
8 |
9 | install(){
10 | npm i
11 | }
12 |
13 | pack() {
14 |
15 | echo 'Clearing /src and /package...'
16 | node_modules/.bin/rimraf "$TO_SOURCE_DIR"
17 | node_modules/.bin/rimraf "$PACK_DIR"
18 |
19 | # copy src
20 | echo 'Copying src...'
21 | node_modules/.bin/ncp "$SOURCE_DIR" "$TO_SOURCE_DIR"
22 |
23 | # copy README & LICENSE to src
24 | echo 'Copying README and LICENSE to /src...'
25 | node_modules/.bin/ncp "$ROOT_DIR"/LICENSE "$TO_SOURCE_DIR"/LICENSE
26 | node_modules/.bin/ncp "$ROOT_DIR"/README.md "$TO_SOURCE_DIR"/README.md
27 |
28 | # compile package and copy files required by npm
29 | echo 'Building /src...'
30 | cd "$TO_SOURCE_DIR"
31 | node_modules/.bin/tsc
32 | cd ..
33 |
34 | echo 'Creating package...'
35 | # create package dir
36 | mkdir "$PACK_DIR"
37 |
38 | # create the package
39 | cd "$PACK_DIR"
40 | npm pack ../"$TO_SOURCE_DIR"
41 |
42 | # delete source directory used to create the package
43 | cd ..
44 | node_modules/.bin/rimraf "$TO_SOURCE_DIR"
45 | }
46 |
47 | install && pack
--------------------------------------------------------------------------------
/publish/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-publish",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "balanced-match": {
8 | "version": "1.0.0",
9 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
10 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
11 | "dev": true
12 | },
13 | "brace-expansion": {
14 | "version": "1.1.11",
15 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
16 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
17 | "dev": true,
18 | "requires": {
19 | "balanced-match": "^1.0.0",
20 | "concat-map": "0.0.1"
21 | }
22 | },
23 | "concat-map": {
24 | "version": "0.0.1",
25 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
26 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
27 | "dev": true
28 | },
29 | "fs.realpath": {
30 | "version": "1.0.0",
31 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
32 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
33 | "dev": true
34 | },
35 | "glob": {
36 | "version": "7.1.3",
37 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
38 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
39 | "dev": true,
40 | "requires": {
41 | "fs.realpath": "^1.0.0",
42 | "inflight": "^1.0.4",
43 | "inherits": "2",
44 | "minimatch": "^3.0.4",
45 | "once": "^1.3.0",
46 | "path-is-absolute": "^1.0.0"
47 | }
48 | },
49 | "inflight": {
50 | "version": "1.0.6",
51 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
52 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
53 | "dev": true,
54 | "requires": {
55 | "once": "^1.3.0",
56 | "wrappy": "1"
57 | }
58 | },
59 | "inherits": {
60 | "version": "2.0.3",
61 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
62 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
63 | "dev": true
64 | },
65 | "minimatch": {
66 | "version": "3.0.4",
67 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
68 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
69 | "dev": true,
70 | "requires": {
71 | "brace-expansion": "^1.1.7"
72 | }
73 | },
74 | "ncp": {
75 | "version": "2.0.0",
76 | "resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
77 | "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
78 | "dev": true
79 | },
80 | "once": {
81 | "version": "1.4.0",
82 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
83 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
84 | "dev": true,
85 | "requires": {
86 | "wrappy": "1"
87 | }
88 | },
89 | "path-is-absolute": {
90 | "version": "1.0.1",
91 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
92 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
93 | "dev": true
94 | },
95 | "rimraf": {
96 | "version": "2.6.2",
97 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
98 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
99 | "dev": true,
100 | "requires": {
101 | "glob": "^7.0.5"
102 | }
103 | },
104 | "wrappy": {
105 | "version": "1.0.2",
106 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
107 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
108 | "dev": true
109 | }
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/publish/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-publish",
3 | "version": "1.0.0",
4 | "description": "Publish helper",
5 | "devDependencies": {
6 | "ncp": "^2.0.0",
7 | "rimraf": "^2.5.0"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/publish/publish.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # https://gist.github.com/schmich/d04acc4b02b45e489f329cfdf3280a3f
3 |
4 | PACK_DIR=package;
5 |
6 | publish() {
7 | cd $PACK_DIR
8 | echo 'Publishing to npm...'
9 | npm publish *.tgz
10 | }
11 |
12 | ./pack.sh && publish
--------------------------------------------------------------------------------
/src/.npmignore:
--------------------------------------------------------------------------------
1 | *.map
2 | *.ts
3 | !*.d.ts
4 | tsconfig.json
5 | screenshots
6 | e2e
7 | scripts/*
8 | platforms/android/*
9 | !platforms/android/include.gradle
10 | !platforms/android/*.aar
11 | !platforms/android/*.jar
--------------------------------------------------------------------------------
/src/angular/bottombar.directives.d.ts:
--------------------------------------------------------------------------------
1 | export declare class BottomBarDirective {
2 | }
3 | export declare class BottomBarItemDirective {
4 | }
5 | export declare const DIRECTIVES: (typeof BottomBarDirective)[];
6 |
--------------------------------------------------------------------------------
/src/angular/bottombar.directives.ts:
--------------------------------------------------------------------------------
1 | import { Directive } from "@angular/core";
2 |
3 | @Directive({
4 | selector: "BottomBar"
5 | })
6 | export class BottomBarDirective { }
7 |
8 | @Directive({
9 | selector: "BottomBarItem"
10 | })
11 | export class BottomBarItemDirective { }
12 |
13 | export const DIRECTIVES = [
14 | BottomBarDirective,
15 | BottomBarItemDirective
16 | ];
--------------------------------------------------------------------------------
/src/angular/bottombar.module.d.ts:
--------------------------------------------------------------------------------
1 | export declare class BottomBarModule {
2 | }
3 |
--------------------------------------------------------------------------------
/src/angular/bottombar.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { registerElement } from 'nativescript-angular/element-registry';
3 |
4 | import { BottomBar, BottomBarItem } from '../';
5 | import { DIRECTIVES } from './bottombar.directives';
6 |
7 | @NgModule({
8 | declarations: DIRECTIVES,
9 | exports: DIRECTIVES
10 | })
11 | export class BottomBarModule {}
12 |
13 | registerElement('BottomBar', () => BottomBar);
14 | registerElement('BottomBarItem', () => BottomBarItem);
--------------------------------------------------------------------------------
/src/angular/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from './bottombar.module';
2 |
--------------------------------------------------------------------------------
/src/angular/index.ts:
--------------------------------------------------------------------------------
1 | export * from './bottombar.module';
--------------------------------------------------------------------------------
/src/angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-bottombar",
3 | "main": "index.js"
4 | }
--------------------------------------------------------------------------------
/src/angular/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "experimentalDecorators": true
5 | }
6 | }
--------------------------------------------------------------------------------
/src/bottombar-item/android/bottombar-item.d.ts:
--------------------------------------------------------------------------------
1 | import { Label } from 'tns-core-modules/ui/label/label';
2 | import { BottomBarItemBase } from '../bottombar-item.base';
3 | import { MenuItemType } from '../../bottombar.android';
4 | import { BottomNavigationViewType } from '../../bottombar/android/bottombar';
5 | export declare class BottomBarItem extends BottomBarItemBase {
6 | nativeView: MenuItemType;
7 | _badgeView: Label;
8 | readonly android: MenuItemType;
9 | initNativeView(): void;
10 | icon: string;
11 | title: string;
12 | checkedIcon: string;
13 | badge: string;
14 | badgeBackgroundColor: string;
15 | setViewBadge(bottomBar?: BottomNavigationViewType, context?: any): void;
16 | createViewBadge(bottomBar: BottomNavigationViewType, context: any): Label;
17 | }
18 |
--------------------------------------------------------------------------------
/src/bottombar-item/android/bottombar-item.ts:
--------------------------------------------------------------------------------
1 | import { Label } from 'tns-core-modules/ui/label/label';
2 | import { Color } from 'tns-core-modules/color/color';
3 |
4 | import { BottomBarItemBase } from '../bottombar-item.base';
5 | import { MenuItemType } from '../../bottombar.android';
6 | import { BottomNavigationViewType } from '../../bottombar/android/bottombar';
7 | import { createIconsStateListDrawable } from '../../utils/android/utils';
8 |
9 | export class BottomBarItem extends BottomBarItemBase {
10 | nativeView: MenuItemType;
11 | _badgeView: Label;
12 | get android(): MenuItemType {
13 | return this.nativeView;
14 | }
15 |
16 | initNativeView() {
17 | // calling setNativeView triggers the
18 | // error 'nativeViewProtected.isClickable is not a function'
19 | this.nativeViewProtected.isClickable = () => true;
20 | super.initNativeView();
21 | }
22 |
23 | set icon(image: string) {
24 | if (this._icon !== image) {
25 | this._icon = image;
26 | if (this.nativeView) {
27 | this.nativeView
28 | .setIcon(createIconsStateListDrawable(this._icon, this._checkedIcon));
29 | }
30 | }
31 | }
32 |
33 | set title(value: string) {
34 | if (this._title !== value) {
35 | this._title = value;
36 | if (this.nativeView) {
37 | this.nativeView.setTitle(this._title);
38 | }
39 | }
40 | }
41 |
42 | set checkedIcon(image: string) {
43 | if (this._checkedIcon !== image) {
44 | this._checkedIcon = image;
45 | if (this.nativeView) {
46 | this.nativeView
47 | .setIcon(createIconsStateListDrawable(this._icon, this._checkedIcon));
48 | }
49 | }
50 | }
51 |
52 | set badge(value: string) {
53 | if (this._badge !== value) {
54 | this._badge = value;
55 | this.setViewBadge();
56 | }
57 | }
58 |
59 | set badgeBackgroundColor(color: string) {
60 | if (this._badgeBackgroundColor !== color) {
61 | this._badgeBackgroundColor = color;
62 | this.setViewBadge();
63 | }
64 | }
65 |
66 |
67 | setViewBadge(bottomBar?: BottomNavigationViewType, context?: any) {
68 | if (!this._badgeView) {
69 | if (bottomBar && context) {
70 | this._badgeView = this.createViewBadge(bottomBar, context);
71 | }
72 | } else {
73 | if (this._badge) {
74 | this._badgeView.text = this._badge;
75 | if (this._badgeView.visibility === 'hidden') {
76 | this._badgeView.visibility = 'visible';
77 | }
78 | } else {
79 | this._badgeView.visibility = 'hidden';
80 | }
81 |
82 | if (this._badgeBackgroundColor) {
83 | this._badgeView.backgroundColor = this._badgeBackgroundColor;
84 | }
85 | }
86 | }
87 |
88 | createViewBadge(bottomBar: BottomNavigationViewType, context: any): Label {
89 | const textView = new Label();
90 | textView.text = this._badge ? this._badge : '';
91 | textView.textAlignment = textView.horizontalAlignment = 'center';
92 | textView.fontSize = 8;
93 | textView.color = new Color('white');
94 | textView.backgroundColor = this._badgeBackgroundColor
95 | ? this._badgeBackgroundColor
96 | : 'red';
97 | textView.borderRadius = '10';
98 | textView.width = 13;
99 | textView.height = 13;
100 | textView.marginLeft = 10;
101 | textView.marginTop = 5;
102 | textView._setupUI(context);
103 | textView.onLoaded();
104 |
105 | const itemView = (bottomBar.getChildAt(0) as any)
106 | .getChildAt(this.index);
107 |
108 | itemView.addView(textView.android);
109 |
110 | return textView;
111 | }
112 | }
--------------------------------------------------------------------------------
/src/bottombar-item/bottombar-item.base.d.ts:
--------------------------------------------------------------------------------
1 | import { View } from 'tns-core-modules/ui/core/view';
2 | export declare class BottomBarItemBase extends View {
3 | index?: number;
4 | _title: string;
5 | readonly title: string;
6 | _badge: string;
7 | readonly badge: string;
8 | _icon: string;
9 | readonly icon: string;
10 | _checkedIcon?: string;
11 | readonly checkedIcon: string;
12 | _badgeBackgroundColor?: string;
13 | readonly badgeBackgroundColor: string;
14 | }
15 |
--------------------------------------------------------------------------------
/src/bottombar-item/bottombar-item.base.ts:
--------------------------------------------------------------------------------
1 | import { View } from 'tns-core-modules/ui/core/view';
2 |
3 | export class BottomBarItemBase extends View {
4 | index?: number;
5 |
6 | _title: string;
7 | get title(): string {
8 | return this._title;
9 | }
10 |
11 | _badge: string;
12 | get badge(): string {
13 | return this._badge;
14 | }
15 |
16 | _icon: string;
17 | get icon(): string {
18 | return this._icon;
19 | }
20 |
21 | _checkedIcon?: string;
22 | get checkedIcon(): string {
23 | return this._checkedIcon;
24 | }
25 |
26 | _badgeBackgroundColor?: string;
27 | get badgeBackgroundColor(): string {
28 | return this._badgeBackgroundColor;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/bottombar-item/ios/bottombar-item.d.ts:
--------------------------------------------------------------------------------
1 | import { BottomBarItemBase } from '../bottombar-item.base';
2 | export declare class BottomBarItem extends BottomBarItemBase {
3 | nativeView: UITabBarItem;
4 | readonly ios: UITabBarItem;
5 | icon: string;
6 | title: string;
7 | checkedIcon: string;
8 | badge: string;
9 | badgeBackgroundColor: string;
10 | }
11 |
--------------------------------------------------------------------------------
/src/bottombar-item/ios/bottombar-item.ts:
--------------------------------------------------------------------------------
1 | import { Color } from 'tns-core-modules/color/color';
2 |
3 | import { BottomBarItemBase } from '../bottombar-item.base';
4 | import { imageConverter } from '../../utils/utils.common';
5 |
6 | export class BottomBarItem extends BottomBarItemBase {
7 | nativeView: UITabBarItem;
8 |
9 | get ios(): UITabBarItem {
10 | return this.nativeView;
11 | }
12 |
13 | set icon(image: string) {
14 | if (this._icon !== image) {
15 | this._icon = image;
16 | if (this.nativeView) {
17 | this.nativeView.image = imageConverter(this._icon).ios;
18 | }
19 | }
20 | }
21 |
22 | set title(value: string) {
23 | if (this._title !== value) {
24 | this._title = value;
25 | if (this.nativeView) {
26 | this.nativeView.title = this._title;
27 | }
28 | }
29 | }
30 |
31 | set checkedIcon(image: string) {
32 | if (this._checkedIcon !== image) {
33 | this._checkedIcon = image;
34 | if (this.nativeView) {
35 | this.nativeView.selectedImage = imageConverter(this._checkedIcon).ios;
36 | }
37 | }
38 | }
39 |
40 | set badge(value: string) {
41 | if (this._badge !== value) {
42 | this._badge = value;
43 | if (this.nativeView) {
44 | // Need to be null to remove badge
45 | this.nativeView.badgeValue = this._badge === ''
46 | ? null
47 | : this._badge;
48 | }
49 | }
50 | }
51 |
52 | set badgeBackgroundColor(color: string) {
53 | if (this._badgeBackgroundColor !== color) {
54 | this._badgeBackgroundColor = color;
55 | if (this.nativeView) {
56 | this.nativeView.badgeColor = new Color(color).ios;
57 | }
58 | }
59 | }
60 | }
--------------------------------------------------------------------------------
/src/bottombar.android.ts:
--------------------------------------------------------------------------------
1 | export * from './bottombar-item/bottombar-item.base';
2 | export * from './bottombar-item/android/bottombar-item';
3 |
4 | export * from './bottombar/bottombar.common';
5 | export * from './bottombar/bottombar.base';
6 | export * from './bottombar/android/bottombar';
--------------------------------------------------------------------------------
/src/bottombar.ios.ts:
--------------------------------------------------------------------------------
1 | export * from './bottombar-item/bottombar-item.base';
2 | export * from './bottombar-item/ios/bottombar-item';
3 |
4 | export * from './bottombar/bottombar.common';
5 | export * from './bottombar/bottombar.base';
6 | export * from './bottombar/ios/bottombar';
7 |
--------------------------------------------------------------------------------
/src/bottombar/android/bottombar.d.ts:
--------------------------------------------------------------------------------
1 | import { BottomBarBase } from '../bottombar.base';
2 | import { BottomBarItem } from '../../bottombar-item/android/bottombar-item';
3 | export declare type BottomNavigationViewType = android.support.design.widget.BottomNavigationView;
4 | export declare type MenuItemType = android.view.MenuItem;
5 | export declare type MenuType = android.view.Menu;
6 | export declare class BottomBar extends BottomBarBase {
7 | nativeView: BottomNavigationViewType;
8 | _items: BottomBarItem[];
9 | readonly android: globalAndroid.support.design.widget.BottomNavigationView;
10 | createNativeView(): BottomNavigationViewType;
11 | _addChildFromBuilder(name: string, value: BottomBarItem): void;
12 | private createItem(item, id, bottomBar);
13 | protected createItems(bottomNavigationView: BottomNavigationViewType): void;
14 | private createBadges(bottomNavigationView);
15 | private setItemsColorStateList(activeTintColor, inactiveTintColor, bottomBarValue?);
16 | onTabSelected(index: number): void;
17 | private getItemByIndex(index);
18 | selectItem(index: number): void;
19 | }
20 |
--------------------------------------------------------------------------------
/src/bottombar/bottombar.base.d.ts:
--------------------------------------------------------------------------------
1 | import { CssProperty, Style, Color, AddChildFromBuilder, Property, View } from 'tns-core-modules/ui/core/view';
2 | import { BottomBarItemBase } from '../bottombar-item/bottombar-item.base';
3 | import { LABEL_VISIBILITY } from './bottombar.common';
4 | export declare namespace knownCollections {
5 | const items = "items";
6 | }
7 | export declare abstract class BottomBarBase extends View implements AddChildFromBuilder {
8 | protected _items: BottomBarItemBase[];
9 | readonly items: BottomBarItemBase[];
10 | selectedIndex: number;
11 | inactiveTintColor: Color;
12 | activeTintColor: Color;
13 | barBackgroundColor: Color;
14 | constructor();
15 | abstract _addChildFromBuilder(name: string, value: BottomBarItemBase): void;
16 | abstract selectItem(index: number): void;
17 | onTabSelected(newIndex: number): void;
18 | }
19 | export declare const items: Property;
20 | export declare const androidLabelVisibility: Property;
21 | declare module 'tns-core-modules/ui/styling/style' {
22 | interface Style {
23 | inactiveTintColor: Color;
24 | barBackgroundColor: Color;
25 | activeTintColor: Color;
26 | }
27 | }
28 | export declare const inactiveTintColor: CssProperty