├── .github └── workflows │ └── build.yml ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── demo-ng ├── app │ ├── App_Resources │ │ ├── Android │ │ │ ├── app.gradle │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-ldpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-nodpi │ │ │ │ └── splash_screen.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── background.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 │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ └── build.xcconfig │ ├── app.component.ts │ ├── app.css │ ├── app.module.ts │ ├── app.routing.ts │ ├── item │ │ ├── item-detail.component.html │ │ ├── item-detail.component.ts │ │ ├── item.service.ts │ │ ├── item.ts │ │ ├── items.component.html │ │ ├── items.component.ts │ │ └── radio-option.ts │ └── main.ts ├── nativescript.config.ts ├── ngcc.config.js ├── package.json ├── references.d.ts ├── tsconfig.json └── webpack.config.js ├── demo ├── app │ ├── App_Resources │ │ ├── Android │ │ │ ├── app.gradle │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-ldpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-nodpi │ │ │ │ ├── custom_checkbox.xml │ │ │ │ └── splash_screen.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── green_check.png │ │ │ │ ├── ic_checkbox_disabled_checked.png │ │ │ │ ├── ic_checkbox_disabled_not_checked.png │ │ │ │ ├── ic_checkbox_enabled_checked.png │ │ │ │ ├── ic_checkbox_enabled_not_checked.png │ │ │ │ ├── icon.png │ │ │ │ ├── logo.png │ │ │ │ └── nstudio.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 │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ ├── build.xcconfig │ │ │ └── nstudio.png │ ├── app-root.xml │ ├── app.css │ ├── app.ts │ ├── main-page.css │ ├── main-page.ts │ ├── main-page.xml │ └── main-view-model.ts ├── nativescript.config.ts ├── package.json ├── tsconfig.json └── webpack.config.js ├── package.json ├── publish ├── pack.sh ├── package.json └── publish.sh ├── screens ├── checkbox.gif ├── iosCheckbox.gif ├── nstudio-banner.png └── radiobuttons.png ├── src ├── .npmignore ├── angular │ ├── dist │ │ ├── index.d.ts │ │ ├── nativescript-checkbox-angular.metadata.json │ │ └── package.json │ ├── index.d.ts │ ├── index.d.ts.map │ ├── index.ts │ └── package.json ├── checkbox-common.ts ├── checkbox.android.ts ├── checkbox.ios.ts ├── index.d.ts ├── package.json ├── platforms │ └── ios │ │ └── Podfile ├── references.d.ts ├── tsconfig.aot.json ├── tsconfig.json └── typings │ └── BEMCheckBox.d.ts └── tslint.json /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build CI 2 | 3 | # Trigger the workflow on push 4 | on: [push] 5 | 6 | jobs: 7 | job1: 8 | name: Android Builds & Test 9 | runs-on: macos-latest 10 | steps: 11 | - uses: actions/checkout@v1 12 | - uses: actions/setup-java@v1 13 | with: 14 | java-version: 1.8 15 | 16 | - name: Base Setup 17 | run: npm run ci.base.setup 18 | 19 | - name: Lint 20 | run: npm run ci.tslint 21 | 22 | - name: Build Vanilla Android Demo App 23 | run: npm run ci.vanilla.android.build 24 | 25 | # - name: Install Android sdkmanager 26 | # run: | 27 | # wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip 28 | # sudo unzip -d $ANDROID_HOME android-sdk.zip > /dev/null 29 | # - name: Install required Android tools 30 | # run: | 31 | # echo "y" | sudo $ANDROID_HOME/tools/bin/sdkmanager "ndk;${ANDROID_NDK}" > /dev/null 32 | # - name: Android Test 33 | # run: | 34 | # echo no | android create avd --force -n test -b armeabi-v7a 35 | # emulator -avd test -no-audio -no-window & 36 | # android-wait-for-emulator 37 | # cd src && npm i && npm run tsc && cd ../demo && tns build android 38 | # tns test android --justlaunch 39 | 40 | job2: 41 | name: iOS Builds & Test 42 | runs-on: macos-latest 43 | steps: 44 | - uses: actions/checkout@v1 45 | 46 | - name: Base Setup 47 | run: npm run ci.base.setup && npm run ci.pip.install 48 | 49 | - name: Build Vanilla iOS Demo App 50 | run: npm run ci.vanilla.ios.build 51 | # - name: iOS Test 52 | # run: | 53 | # cd src && npm i && npm run tsc && cd ../demo && tns build ios 54 | # tns test ios --justlaunch 55 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | platforms 2 | node_modules 3 | hooks 4 | .vscode/ 5 | .idea/ 6 | *.DS_Store 7 | bin 8 | package-lock.json 9 | 10 | *.js 11 | *.js.map 12 | *.log 13 | *.d.ts 14 | *.tgz 15 | 16 | demo/lib 17 | demo/app/*.js 18 | demo/*.d.ts 19 | demo/platforms 20 | demo/node_modules 21 | demo/.vscode 22 | demo-ng/app/*.js 23 | demo-ng/*.d.ts 24 | demo-ng/platforms 25 | demo-ng/node_modules 26 | demo-ng/.vscode 27 | src/angular/index.d.ts 28 | src/angular/index.metadata.json 29 | 30 | !webpack.*.js 31 | !index.d.ts 32 | !src/*.d.ts 33 | !references.d.ts 34 | !src/typings/* 35 | !demo-ng/ngcc.config.js 36 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "arrowParens": "avoid" 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | nativescript-checkbox 4 | Copyright (c) 2019, nStudio LLC. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in 8 | the Software without restriction, including without limitation the rights to 9 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | the Software, and to permit persons to whom the Software is furnished to do so, 11 | subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

NativeScript Checkbox

3 |
4 |

A NativeScript plugin to provide a checkbox widget, radio buttons are also possible.

5 | 6 |

7 | 8 | Action Build 9 | 10 | 11 | npm 12 | 13 | 14 | stars 15 | 16 |
17 |

18 | 19 | --- 20 | 21 | ### Installation 22 | 23 | From your command prompt/terminal go to your app's root folder and execute: 24 | 25 | #### NativeScript 7+: 26 | 27 | ```bash 28 | ns plugin add @nstudio/nativescript-checkbox 29 | ``` 30 | 31 | #### NativeScript prior to 7: 32 | 33 | ```bash 34 | tns plugin add @nstudio/nativescript-checkbox@1.0.0 35 | ``` 36 | 37 | #### Platform controls used: 38 | 39 | | Android | iOS | 40 | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------- | 41 | | [Android CheckBox](https://developer.android.com/reference/android/widget/CheckBox.html) | [BEMCheckBox](http://cocoapods.org/pods/BEMCheckBox) | 42 | 43 | ## Sample Usage 44 | 45 | | Android Sample | iOS Sample | 46 | | ---------------------------------- | ------------------------------------- | 47 | | ![Sample1](./screens/checkbox.gif) | ![Sample2](./screens/iosCheckbox.gif) | 48 | 49 | ## Usage 50 | 51 | ### 52 | 53 | ```XML 54 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | ``` 64 | 65 | ### 66 | 67 | ```typescript 68 | 69 | import { CheckBox } from '@nstudio/nativescript-checkbox'; 70 | import { topmost } from '@nativescript/core/ui/frame'; 71 | 72 | public toggleCheck() { 73 | const checkBox = topmost().getViewById('yourCheckBoxId'); 74 | checkBox.toggle(); 75 | } 76 | 77 | public getCheckProp() { 78 | const checkBox = topmost().getViewById('yourCheckBoxId'); 79 | console.log('checked prop value = ' + checkBox.checked); 80 | } 81 | 82 | ``` 83 | 84 | ### Angular Usage Sample: 85 | 86 | ```typescript 87 | import { TNSCheckBoxModule } from '@nstudio/nativescript-checkbox/angular'; 88 | 89 | @NgModule({ 90 | imports: [TNSCheckBoxModule] 91 | // etc. 92 | }) 93 | export class YourModule {} 94 | 95 | // component: 96 | export class SomeComponent { 97 | @ViewChild('CB1') FirstCheckBox: ElementRef; 98 | constructor() {} 99 | public toggleCheck() { 100 | this.FirstCheckBox.nativeElement.toggle(); 101 | } 102 | 103 | public getCheckProp() { 104 | console.log( 105 | 'checked prop value = ' + this.FirstCheckBox.nativeElement.checked 106 | ); 107 | } 108 | } 109 | ``` 110 | 111 | ```html 112 | 113 | 114 | 115 | 116 | 117 | ``` 118 | 119 | ### NativeScript-Vue Usage Sample 120 | 121 | In your `main.js` (The file where the root Vue instance is created) register the element 122 | 123 | ```js 124 | Vue.registerElement( 125 | 'CheckBox', 126 | () => require('@nstudio/nativescript-checkbox').CheckBox, 127 | { 128 | model: { 129 | prop: 'checked', 130 | event: 'checkedChange' 131 | } 132 | } 133 | ); 134 | ``` 135 | 136 | And in your template, use it as: 137 | 138 | ```html 139 | 140 | ``` 141 | 142 | Use `checked` instead of `v-model`. [See #99](https://github.com/nstudio/nativescript-checkbox/issues/99). 143 | 144 | ## Properties 145 | 146 | - **checked** - boolean 147 | - **text** - text to use with the checkbox 148 | - **fillColor** - Color of the checkbox element 149 | - **boxType** - Either 'square' (default) or 'circle'. It's recommended to use 'circle' for radiobuttons. Note that plugin version 3.0.0 switched the default for iOS to 'square' for alignment with Android. Still want `circle` on iOS and `square` on Android? Just make the `boxType` value conditional. 150 | 151 | ## Events 152 | 153 | - **checkedChange** - Use a reference to the CheckBox component to grab it's `checked` property when this event fires to see the new value. 154 | 155 | ## API 156 | 157 | - **toggle()** - Change the checked state of the view to the inverse of its current state. 158 | 159 | ## Css Styling 160 | 161 | - **color** - set the text label color 162 | - **font-size** - checkbox is sized to text from here : default 15 163 | - **border-width** - set the line width of the checkbox element: iOS only 164 | 165 | ## Styling [Android] 166 | 167 | - **checkStyle** - set to the name of your drawable 168 | - **checkPadding** - set the padding of the checkbox 169 | 170 | Add the following to `app/App_Resources/Android/drawable/checkbox_grey.xml` 171 | 172 | ```xml 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | ``` 182 | 183 | ## Radiobuttons, anyone? 184 | 185 | Want to use radiobutton behavior for your checkboxes (only one option possible within a group)? 186 | Set `boxType="circle"` and check out the second tab in the [Angular demo](demo-ng/), here's a screenshot: 187 | 188 | 189 | 190 | ## Contributing & Running Demo Apps 191 | 192 | - Execute from root: 193 | - For android: `npm run demo.android` 194 | - For iOS: `npm run demo.ios` 195 | - `npm run demo.ng.android` (for angular android) 196 | - `npm run demo.ng.ios` (for angular ios) 197 | -------------------------------------------------------------------------------- /demo-ng/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.demong" 12 | } 13 | aaptOptions { 14 | additionalParameters "--no-version-vectors" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /demo-ng/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-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/Android/src/main/res/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /demo-ng/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-ng/app/App_Resources/Android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /demo-ng/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-ng/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-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "extent" : "full-screen", 5 | "idiom" : "iphone", 6 | "subtype" : "736h", 7 | "filename" : "Default-736h@3x.png", 8 | "minimum-system-version" : "8.0", 9 | "orientation" : "portrait", 10 | "scale" : "3x" 11 | }, 12 | { 13 | "extent" : "full-screen", 14 | "idiom" : "iphone", 15 | "subtype" : "736h", 16 | "filename" : "Default-Landscape@3x.png", 17 | "minimum-system-version" : "8.0", 18 | "orientation" : "landscape", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "extent" : "full-screen", 23 | "idiom" : "iphone", 24 | "subtype" : "667h", 25 | "filename" : "Default-667h@2x.png", 26 | "minimum-system-version" : "8.0", 27 | "orientation" : "portrait", 28 | "scale" : "2x" 29 | }, 30 | { 31 | "orientation" : "portrait", 32 | "idiom" : "iphone", 33 | "filename" : "Default@2x.png", 34 | "extent" : "full-screen", 35 | "minimum-system-version" : "7.0", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "extent" : "full-screen", 40 | "idiom" : "iphone", 41 | "subtype" : "retina4", 42 | "filename" : "Default-568h@2x.png", 43 | "minimum-system-version" : "7.0", 44 | "orientation" : "portrait", 45 | "scale" : "2x" 46 | }, 47 | { 48 | "orientation" : "portrait", 49 | "idiom" : "ipad", 50 | "filename" : "Default-Portrait.png", 51 | "extent" : "full-screen", 52 | "minimum-system-version" : "7.0", 53 | "scale" : "1x" 54 | }, 55 | { 56 | "orientation" : "landscape", 57 | "idiom" : "ipad", 58 | "filename" : "Default-Landscape.png", 59 | "extent" : "full-screen", 60 | "minimum-system-version" : "7.0", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "orientation" : "portrait", 65 | "idiom" : "ipad", 66 | "filename" : "Default-Portrait@2x.png", 67 | "extent" : "full-screen", 68 | "minimum-system-version" : "7.0", 69 | "scale" : "2x" 70 | }, 71 | { 72 | "orientation" : "landscape", 73 | "idiom" : "ipad", 74 | "filename" : "Default-Landscape@2x.png", 75 | "extent" : "full-screen", 76 | "minimum-system-version" : "7.0", 77 | "scale" : "2x" 78 | }, 79 | { 80 | "orientation" : "portrait", 81 | "idiom" : "iphone", 82 | "filename" : "Default.png", 83 | "extent" : "full-screen", 84 | "scale" : "1x" 85 | }, 86 | { 87 | "orientation" : "portrait", 88 | "idiom" : "iphone", 89 | "filename" : "Default@2x.png", 90 | "extent" : "full-screen", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "orientation" : "portrait", 95 | "idiom" : "iphone", 96 | "filename" : "Default-568h@2x.png", 97 | "extent" : "full-screen", 98 | "subtype" : "retina4", 99 | "scale" : "2x" 100 | }, 101 | { 102 | "orientation" : "portrait", 103 | "idiom" : "ipad", 104 | "extent" : "to-status-bar", 105 | "scale" : "1x" 106 | }, 107 | { 108 | "orientation" : "portrait", 109 | "idiom" : "ipad", 110 | "filename" : "Default-Portrait.png", 111 | "extent" : "full-screen", 112 | "scale" : "1x" 113 | }, 114 | { 115 | "orientation" : "landscape", 116 | "idiom" : "ipad", 117 | "extent" : "to-status-bar", 118 | "scale" : "1x" 119 | }, 120 | { 121 | "orientation" : "landscape", 122 | "idiom" : "ipad", 123 | "filename" : "Default-Landscape.png", 124 | "extent" : "full-screen", 125 | "scale" : "1x" 126 | }, 127 | { 128 | "orientation" : "portrait", 129 | "idiom" : "ipad", 130 | "extent" : "to-status-bar", 131 | "scale" : "2x" 132 | }, 133 | { 134 | "orientation" : "portrait", 135 | "idiom" : "ipad", 136 | "filename" : "Default-Portrait@2x.png", 137 | "extent" : "full-screen", 138 | "scale" : "2x" 139 | }, 140 | { 141 | "orientation" : "landscape", 142 | "idiom" : "ipad", 143 | "extent" : "to-status-bar", 144 | "scale" : "2x" 145 | }, 146 | { 147 | "orientation" : "landscape", 148 | "idiom" : "ipad", 149 | "filename" : "Default-Landscape@2x.png", 150 | "extent" : "full-screen", 151 | "scale" : "2x" 152 | } 153 | ], 154 | "info" : { 155 | "version" : 1, 156 | "author" : "xcode" 157 | } 158 | } -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /demo-ng/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-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /demo-ng/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-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo-ng/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /demo-ng/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-ng/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-ng/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-ng/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'ns-app', 5 | template: '' 6 | }) 7 | export class AppComponent {} 8 | -------------------------------------------------------------------------------- /demo-ng/app/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 | 14 | .checkbox { 15 | font-size: 30; 16 | } 17 | -------------------------------------------------------------------------------- /demo-ng/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core'; 2 | import { ReactiveFormsModule } from '@angular/forms'; 3 | import { NativeScriptModule } from '@nativescript/angular'; 4 | import { TNSCheckBoxModule } from '@nstudio/nativescript-checkbox/angular'; 5 | import { AppComponent } from './app.component'; 6 | import { AppRoutingModule } from './app.routing'; 7 | import { ItemDetailComponent } from './item/item-detail.component'; 8 | import { ItemService } from './item/item.service'; 9 | import { ItemsComponent } from './item/items.component'; 10 | 11 | @NgModule({ 12 | bootstrap: [AppComponent], 13 | imports: [ 14 | NativeScriptModule, 15 | AppRoutingModule, 16 | TNSCheckBoxModule, 17 | ReactiveFormsModule 18 | ], 19 | declarations: [AppComponent, ItemsComponent, ItemDetailComponent], 20 | providers: [ItemService], 21 | schemas: [NO_ERRORS_SCHEMA] 22 | }) 23 | export class AppModule {} 24 | -------------------------------------------------------------------------------- /demo-ng/app/app.routing.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes } from '@angular/router'; 3 | import { NativeScriptRouterModule } from '@nativescript/angular'; 4 | import { ItemDetailComponent } from './item/item-detail.component'; 5 | import { ItemsComponent } from './item/items.component'; 6 | 7 | const routes: Routes = [ 8 | { path: '', redirectTo: '/items', pathMatch: 'full' }, 9 | { path: 'items', component: ItemsComponent }, 10 | { path: 'item/:id', component: ItemDetailComponent } 11 | ]; 12 | 13 | @NgModule({ 14 | imports: [NativeScriptRouterModule.forRoot(routes)], 15 | exports: [NativeScriptRouterModule] 16 | }) 17 | export class AppRoutingModule {} 18 | -------------------------------------------------------------------------------- /demo-ng/app/item/item-detail.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-ng/app/item/item-detail.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { ActivatedRoute } from '@angular/router'; 3 | import { Item } from './item'; 4 | import { ItemService } from './item.service'; 5 | 6 | @Component({ 7 | selector: 'ns-details', 8 | moduleId: module.id, 9 | templateUrl: './item-detail.component.html' 10 | }) 11 | export class ItemDetailComponent implements OnInit { 12 | item: Item; 13 | 14 | constructor( 15 | private itemService: ItemService, 16 | private route: ActivatedRoute 17 | ) {} 18 | 19 | ngOnInit(): void { 20 | const id = +this.route.snapshot.params['id']; 21 | this.item = this.itemService.getItem(id); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /demo-ng/app/item/item.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { Item } from './item'; 3 | 4 | @Injectable() 5 | export class ItemService { 6 | private items = new Array( 7 | { id: 1, name: 'Ter Stegen', role: 'Goalkeeper' }, 8 | { id: 3, name: 'Piqué', role: 'Defender' }, 9 | { id: 4, name: 'I. Rakitic', role: 'Midfielder' }, 10 | { id: 5, name: 'Sergio', role: 'Midfielder' }, 11 | { id: 6, name: 'Denis Suárez', role: 'Midfielder' }, 12 | { id: 7, name: 'Arda', role: 'Midfielder' }, 13 | { id: 8, name: 'A. Iniesta', role: 'Midfielder' }, 14 | { id: 9, name: 'Suárez', role: 'Forward' }, 15 | { id: 10, name: 'Messi', role: 'Forward' }, 16 | { id: 11, name: 'Neymar', role: 'Forward' }, 17 | { id: 12, name: 'Rafinha', role: 'Midfielder' }, 18 | { id: 13, name: 'Cillessen', role: 'Goalkeeper' }, 19 | { id: 14, name: 'Mascherano', role: 'Defender' }, 20 | { id: 17, name: 'Paco Alcácer', role: 'Forward' }, 21 | { id: 18, name: 'Jordi Alba', role: 'Defender' }, 22 | { id: 19, name: 'Digne', role: 'Defender' }, 23 | { id: 20, name: 'Sergi Roberto', role: 'Midfielder' }, 24 | { id: 21, name: 'André Gomes', role: 'Midfielder' }, 25 | { id: 22, name: 'Aleix Vidal', role: 'Midfielder' }, 26 | { id: 23, name: 'Umtiti', role: 'Defender' }, 27 | { id: 24, name: 'Mathieu', role: 'Defender' }, 28 | { id: 25, name: 'Masip', role: 'Goalkeeper' } 29 | ); 30 | 31 | getItems(): Item[] { 32 | return this.items; 33 | } 34 | 35 | getItem(id: number): Item { 36 | return this.items.filter(item => item.id === id)[0]; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /demo-ng/app/item/item.ts: -------------------------------------------------------------------------------- 1 | export class Item { 2 | id: number; 3 | name: string; 4 | role: string; 5 | } 6 | -------------------------------------------------------------------------------- /demo-ng/app/item/items.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | 24 | 30 | 34 | 35 | 36 | 37 | 42 | 43 | 44 | 45 | 46 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 63 | 64 | 65 | 74 | 75 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /demo-ng/app/item/items.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; 3 | import { Item } from './item'; 4 | import { ItemService } from './item.service'; 5 | import { RadioOption } from './radio-option'; 6 | 7 | @Component({ 8 | selector: 'ns-items', 9 | moduleId: module.id, 10 | templateUrl: './items.component.html' 11 | }) 12 | export class ItemsComponent implements OnInit { 13 | formGroup: FormGroup; 14 | checkTest: boolean; 15 | items: Item[]; 16 | radioOptions?: Array; 17 | 18 | constructor( 19 | private formBuilder: FormBuilder, 20 | private itemService: ItemService 21 | ) {} 22 | 23 | ngOnInit(): void { 24 | this.formGroup = this.formBuilder.group({ 25 | testCheck: [ 26 | { 27 | value: true, 28 | disabled: false 29 | }, 30 | [Validators.required] 31 | ] 32 | }); 33 | 34 | this.items = this.itemService.getItems(); 35 | 36 | // Plain ol' inline Array definition coming up :) 37 | this.radioOptions = [ 38 | new RadioOption('Radio option 1'), 39 | new RadioOption('Radio option 2'), 40 | new RadioOption('Radio option 3') 41 | ]; 42 | } 43 | 44 | public checkedChange(modelRef) { 45 | console.log('checkedChange:', modelRef.checked); 46 | } 47 | 48 | public submit() { 49 | console.log('NgModel value:', this.checkTest); 50 | console.log( 51 | 'Reactive FormGroup value:', 52 | this.formGroup.get('testCheck').value 53 | ); 54 | } 55 | 56 | changeCheckedRadio(radioOption: RadioOption): void { 57 | radioOption.selected = !radioOption.selected; 58 | 59 | if (!radioOption.selected) { 60 | return; 61 | } 62 | 63 | // uncheck all other options 64 | this.radioOptions.forEach(option => { 65 | if (option.text !== radioOption.text) { 66 | option.selected = false; 67 | } 68 | }); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /demo-ng/app/item/radio-option.ts: -------------------------------------------------------------------------------- 1 | export class RadioOption { 2 | text: string; 3 | selected: boolean = false; 4 | 5 | constructor(text: string) { 6 | this.text = text; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /demo-ng/app/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'; 3 | import { AppModule } from './app.module'; 4 | 5 | platformNativeScriptDynamic().bootstrapModule(AppModule); 6 | -------------------------------------------------------------------------------- /demo-ng/nativescript.config.ts: -------------------------------------------------------------------------------- 1 | import { NativeScriptConfig } from '@nativescript/core'; 2 | 3 | export default { 4 | id: 'org.nativescript.demong', 5 | appResourcesPath: 'app/App_Resources', 6 | android: { 7 | v8Flags: '--expose_gc', 8 | markingMode: 'none' 9 | }, 10 | appPath: 'app' 11 | } as NativeScriptConfig; 12 | -------------------------------------------------------------------------------- /demo-ng/ngcc.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | packages: { 3 | '@nativescript/angular': { 4 | entryPoints: { 5 | '.': { 6 | override: { 7 | main: './index.js', 8 | typings: './index.d.ts', 9 | }, 10 | ignoreMissingDependencies: true, 11 | }, 12 | }, 13 | ignorableDeepImportMatchers: [ 14 | /zone.js\//, 15 | /tns-core-modules\//, 16 | /@nativescript\/core\//, 17 | ], 18 | }, 19 | '@nstudio/nativescript-checkbox': { 20 | entryPoints: { 21 | angular: { 22 | override: { 23 | main: './index.js', 24 | typings: './index.d.ts', 25 | }, 26 | ignoreMissingDependencies: true, 27 | }, 28 | }, 29 | ignorableDeepImportMatchers: [ 30 | /tns-core-modules\//, 31 | /@nativescript\/core\//, 32 | /@nativescript\/angular\// 33 | ], 34 | }, 35 | }, 36 | }; 37 | -------------------------------------------------------------------------------- /demo-ng/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "clean": "npx rimraf hooks platforms node_modules package-lock.json && npm i", 4 | "ngcc": "ngcc --properties es2015 module main --first-only", 5 | "postinstall": "npm run ngcc", 6 | "ios": "ns debug ios --env.aot --no-hmr --emulator", 7 | "android": "ns debug android --env.aot --no-hmr --emulator" 8 | }, 9 | "dependencies": { 10 | "@angular/animations": "10.0.0", 11 | "@angular/common": "10.0.0", 12 | "@angular/compiler": "10.0.0", 13 | "@angular/core": "10.0.0", 14 | "@angular/forms": "10.0.0", 15 | "@angular/platform-browser-dynamic": "10.0.0", 16 | "@angular/platform-browser": "10.0.0", 17 | "@angular/router": "10.0.0", 18 | "@nativescript/angular": "10.0.0", 19 | "@nativescript/core": "7.0.0", 20 | "@nativescript/webpack": "3.0.0", 21 | "@nstudio/nativescript-checkbox": "file:../src", 22 | "nativescript-theme-core": "~1.0.6", 23 | "reflect-metadata": "~0.1.12", 24 | "rxjs": "6.6.0", 25 | "zone.js": "0.11.1" 26 | }, 27 | "devDependencies": { 28 | "@angular/compiler-cli": "10.0.0", 29 | "@nativescript/android": "7.0.0", 30 | "@nativescript/types": "7.0.0", 31 | "@ngtools/webpack": "10.0.0", 32 | "typescript": "3.9.7" 33 | }, 34 | "main": "main.js" 35 | } 36 | -------------------------------------------------------------------------------- /demo-ng/references.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /demo-ng/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "target": "es2017", 5 | "experimentalDecorators": true, 6 | "emitDecoratorMetadata": true, 7 | "noEmitHelpers": true, 8 | "noEmitOnError": true, 9 | "skipLibCheck": true, 10 | "lib": ["es2017", "dom", "es6"], 11 | "baseUrl": ".", 12 | "moduleResolution": "node", 13 | "removeComments": false 14 | }, 15 | "files": ["./app/main.ts"], 16 | "include": ["./references.d.ts"], 17 | "exclude": ["node_modules", "platforms", "e2e"] 18 | } 19 | -------------------------------------------------------------------------------- /demo-ng/webpack.config.js: -------------------------------------------------------------------------------- 1 | const { join, relative, resolve, sep, dirname } = require('path'); 2 | const fs = require('fs'); 3 | 4 | const webpack = require('webpack'); 5 | const nsWebpack = require('@nativescript/webpack'); 6 | const nativescriptTarget = require('@nativescript/webpack/nativescript-target'); 7 | const { 8 | nsSupportHmrNg 9 | } = require('@nativescript/webpack/transformers/ns-support-hmr-ng'); 10 | const { nsTransformNativeClassesNg } = require("@nativescript/webpack/transformers/ns-transform-native-classes-ng"); 11 | const { 12 | getMainModulePath 13 | } = require('@nativescript/webpack/utils/ast-utils'); 14 | const { getNoEmitOnErrorFromTSConfig, getCompilerOptionsFromTSConfig } = require("@nativescript/webpack/utils/tsconfig-utils"); 15 | const { CleanWebpackPlugin } = require('clean-webpack-plugin'); 16 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 17 | const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); 18 | const { 19 | NativeScriptWorkerPlugin 20 | } = require('nativescript-worker-loader/NativeScriptWorkerPlugin'); 21 | const TerserPlugin = require('terser-webpack-plugin'); 22 | const { 23 | getAngularCompilerPlugin 24 | } = require('@nativescript/webpack/plugins/NativeScriptAngularCompilerPlugin'); 25 | const hashSalt = Date.now().toString(); 26 | 27 | module.exports = env => { 28 | // Add your custom Activities, Services and other Android app components here. 29 | const appComponents = [ 30 | "@nativescript/core/ui/frame", "@nativescript/core/ui/frame/activity" 31 | ]; 32 | 33 | const platform = env && ((env.android && 'android') || (env.ios && 'ios')); 34 | if (!platform) { 35 | throw new Error('You need to provide a target platform!'); 36 | } 37 | 38 | const AngularCompilerPlugin = getAngularCompilerPlugin(platform); 39 | const projectRoot = __dirname; 40 | 41 | // Default destination inside platforms//... 42 | const dist = resolve( 43 | projectRoot, 44 | nsWebpack.getAppPath(platform, projectRoot) 45 | ); 46 | 47 | const { 48 | // The 'appPath' and 'appResourcesPath' values are fetched from 49 | // the nsconfig.json configuration file 50 | // when bundling with `tns run android|ios --bundle`. 51 | appPath = 'src', 52 | appResourcesPath = 'App_Resources', 53 | 54 | // You can provide the following flags when running 'tns run android|ios' 55 | snapshot, // --env.snapshot, 56 | production, // --env.production 57 | uglify, // --env.uglify 58 | report, // --env.report 59 | sourceMap, // --env.sourceMap 60 | hiddenSourceMap, // --env.hiddenSourceMap 61 | hmr, // --env.hmr, 62 | unitTesting, // --env.unitTesting 63 | testing, // --env.testing 64 | verbose, // --env.verbose 65 | ci, // --env.ci 66 | snapshotInDocker, // --env.snapshotInDocker 67 | skipSnapshotTools, // --env.skipSnapshotTools 68 | compileSnapshot // --env.compileSnapshot 69 | } = env; 70 | 71 | const useLibs = compileSnapshot; 72 | const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; 73 | const externals = nsWebpack.getConvertedExternals(env.externals); 74 | const appFullPath = resolve(projectRoot, appPath); 75 | const appResourcesFullPath = resolve(projectRoot, appResourcesPath); 76 | let tsConfigName = 'tsconfig.json'; 77 | let tsConfigTnsName = 'tsconfig.tns.json'; 78 | let tsConfigPath = resolve(projectRoot, tsConfigName); 79 | const tsConfigTnsPath = resolve(projectRoot, tsConfigTnsName); 80 | if (fs.existsSync(tsConfigTnsPath)) { 81 | // still support shared angular app configurations 82 | tsConfigName = tsConfigTnsName; 83 | tsConfigPath = tsConfigTnsPath; 84 | } 85 | const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; 86 | const entryPath = `.${sep}${entryModule}`; 87 | const entries = { bundle: entryPath }; 88 | const areCoreModulesExternal = 89 | Array.isArray(env.externals) && 90 | env.externals.some(e => e.indexOf('@nativescript') > -1); 91 | if (platform === 'ios' && !areCoreModulesExternal && !testing) { 92 | entries['tns_modules/@nativescript/core/inspector_modules'] = 93 | 'inspector_modules'; 94 | } 95 | 96 | const compilerOptions = getCompilerOptionsFromTSConfig(tsConfigPath); 97 | nsWebpack.processTsPathsForScopedModules({ compilerOptions }); 98 | nsWebpack.processTsPathsForScopedAngular({ compilerOptions }); 99 | 100 | const ngCompilerTransformers = [nsTransformNativeClassesNg]; 101 | const additionalLazyModuleResources = []; 102 | 103 | const copyIgnore = { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }; 104 | const copyTargets = [ 105 | { from: 'assets/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, 106 | { from: 'fonts/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } }, 107 | ]; 108 | 109 | if (!production) { 110 | // for development purposes only 111 | // for example, include mock json folder 112 | // copyTargets.push({ from: 'tools/mockdata', to: 'assets/mockdata' }); 113 | 114 | if (hmr) { 115 | ngCompilerTransformers.push(nsSupportHmrNg); 116 | } 117 | } 118 | 119 | // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used 120 | // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes 121 | // fixes https://github.com/NativeScript/nativescript-cli/issues/4024 122 | if (env.externals && env.externals.indexOf('@angular/core') > -1) { 123 | const appModuleRelativePath = getMainModulePath( 124 | resolve(appFullPath, entryModule), 125 | tsConfigName 126 | ); 127 | if (appModuleRelativePath) { 128 | const appModuleFolderPath = dirname( 129 | resolve(appFullPath, appModuleRelativePath) 130 | ); 131 | // include the new lazy loader path in the allowed ones 132 | additionalLazyModuleResources.push(appModuleFolderPath); 133 | } 134 | } 135 | 136 | const ngCompilerPlugin = new AngularCompilerPlugin({ 137 | hostReplacementPaths: nsWebpack.getResolver([platform, 'tns']), 138 | platformTransformers: ngCompilerTransformers.map(t => 139 | t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot) 140 | ), 141 | mainPath: join(appFullPath, entryModule), 142 | tsConfigPath, 143 | skipCodeGeneration: false, 144 | sourceMap: !!isAnySourceMapEnabled, 145 | additionalLazyModuleResources: additionalLazyModuleResources, 146 | compilerOptions: { paths: compilerOptions.paths } 147 | }); 148 | 149 | let sourceMapFilename = nsWebpack.getSourceMapFilename( 150 | hiddenSourceMap, 151 | __dirname, 152 | dist 153 | ); 154 | 155 | const itemsToClean = [`${dist}/**/*`]; 156 | if (platform === 'android') { 157 | itemsToClean.push( 158 | `${join( 159 | projectRoot, 160 | 'platforms', 161 | 'android', 162 | 'app', 163 | 'src', 164 | 'main', 165 | 'assets', 166 | 'snapshots' 167 | )}` 168 | ); 169 | itemsToClean.push( 170 | `${join( 171 | projectRoot, 172 | 'platforms', 173 | 'android', 174 | 'app', 175 | 'build', 176 | 'configurations', 177 | 'nativescript-android-snapshot' 178 | )}` 179 | ); 180 | } 181 | 182 | const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigName); 183 | 184 | nsWebpack.processAppComponents(appComponents, platform); 185 | const config = { 186 | mode: production ? 'production' : 'development', 187 | context: appFullPath, 188 | externals, 189 | watchOptions: { 190 | ignored: [ 191 | appResourcesFullPath, 192 | // Don't watch hidden files 193 | '**/.*' 194 | ] 195 | }, 196 | target: nativescriptTarget, 197 | entry: entries, 198 | output: { 199 | pathinfo: false, 200 | path: dist, 201 | sourceMapFilename, 202 | libraryTarget: 'commonjs2', 203 | filename: '[name].js', 204 | globalObject: 'global', 205 | hashSalt 206 | }, 207 | resolve: { 208 | extensions: ['.ts', '.js', '.scss', '.css'], 209 | // Resolve {N} system modules from @nativescript/core 210 | modules: [ 211 | resolve(__dirname, 'node_modules/@nativescript/core'), 212 | resolve(__dirname, 'node_modules'), 213 | 'node_modules/@nativescript/core', 214 | 'node_modules' 215 | ], 216 | alias: { 217 | '~/package.json': resolve(projectRoot, 'package.json'), 218 | '~': appFullPath, 219 | "tns-core-modules": "@nativescript/core", 220 | "nativescript-angular": "@nativescript/angular" 221 | }, 222 | symlinks: true 223 | }, 224 | resolveLoader: { 225 | symlinks: false 226 | }, 227 | node: { 228 | // Disable node shims that conflict with NativeScript 229 | http: false, 230 | timers: false, 231 | setImmediate: false, 232 | fs: 'empty', 233 | __dirname: false 234 | }, 235 | devtool: hiddenSourceMap 236 | ? 'hidden-source-map' 237 | : sourceMap 238 | ? 'inline-source-map' 239 | : 'none', 240 | optimization: { 241 | runtimeChunk: 'single', 242 | noEmitOnErrors: noEmitOnErrorFromTSConfig, 243 | splitChunks: { 244 | cacheGroups: { 245 | vendor: { 246 | name: 'vendor', 247 | chunks: 'all', 248 | test: (module, chunks) => { 249 | const moduleName = module.nameForCondition 250 | ? module.nameForCondition() 251 | : ''; 252 | return ( 253 | /[\\/]node_modules[\\/]/.test(moduleName) || 254 | appComponents.some(comp => comp === moduleName) 255 | ); 256 | }, 257 | enforce: true 258 | } 259 | } 260 | }, 261 | minimize: !!uglify, 262 | minimizer: [ 263 | new TerserPlugin({ 264 | parallel: true, 265 | cache: !ci, 266 | sourceMap: isAnySourceMapEnabled, 267 | terserOptions: { 268 | output: { 269 | comments: false, 270 | semicolons: !isAnySourceMapEnabled 271 | }, 272 | compress: { 273 | // The Android SBG has problems parsing the output 274 | // when these options are enabled 275 | collapse_vars: platform !== 'android', 276 | sequences: platform !== 'android', 277 | // custom 278 | drop_console: true, 279 | drop_debugger: true, 280 | ecma: 6, 281 | keep_infinity: platform === 'android', // for Chrome/V8 282 | reduce_funcs: platform !== 'android', // for Chrome/V8 283 | global_defs: { 284 | __UGLIFIED__: true 285 | } 286 | }, 287 | // custom 288 | ecma: 6, 289 | safari10: platform !== 'android' 290 | } 291 | }) 292 | ] 293 | }, 294 | module: { 295 | rules: [ 296 | { 297 | include: join(appFullPath, entryPath), 298 | use: [ 299 | // Require all Android app components 300 | platform === 'android' && { 301 | loader: '@nativescript/webpack/helpers/android-app-components-loader', 302 | options: { modules: appComponents } 303 | }, 304 | 305 | { 306 | loader: '@nativescript/webpack/bundle-config-loader', 307 | options: { 308 | angular: true, 309 | loadCss: !snapshot, // load the application css if in debug mode 310 | unitTesting, 311 | appFullPath, 312 | projectRoot, 313 | ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform) 314 | } 315 | } 316 | ].filter(loader => !!loader) 317 | }, 318 | 319 | { test: /\.html$|\.xml$/, use: 'raw-loader' }, 320 | 321 | { 322 | test: /[\/|\\]app\.css$/, 323 | use: [ 324 | '@nativescript/webpack/helpers/style-hot-loader', 325 | { 326 | loader: "@nativescript/webpack/helpers/css2json-loader", 327 | options: { useForImports: true } 328 | }, 329 | ], 330 | }, 331 | { 332 | test: /[\/|\\]app\.scss$/, 333 | use: [ 334 | '@nativescript/webpack/helpers/style-hot-loader', 335 | { 336 | loader: "@nativescript/webpack/helpers/css2json-loader", 337 | options: { useForImports: true } 338 | }, 339 | 'sass-loader', 340 | ], 341 | }, 342 | 343 | // Angular components reference css files and their imports using raw-loader 344 | { test: /\.css$/, exclude: /[\/|\\]app\.css$/, use: 'raw-loader' }, 345 | { 346 | test: /\.scss$/, 347 | exclude: /[\/|\\]app\.scss$/, 348 | use: ['raw-loader', 'resolve-url-loader', 'sass-loader'] 349 | }, 350 | 351 | { 352 | test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/, 353 | use: [ 354 | '@nativescript/webpack/helpers/moduleid-compat-loader', 355 | '@nativescript/webpack/helpers/lazy-ngmodule-hot-loader', 356 | '@ngtools/webpack' 357 | ] 358 | }, 359 | 360 | // Mark files inside `@angular/core` as using SystemJS style dynamic imports. 361 | // Removing this will cause deprecation warnings to appear. 362 | { 363 | test: /[\/\\]@angular[\/\\]core[\/\\].+\.js$/, 364 | parser: { system: true } 365 | } 366 | ] 367 | }, 368 | plugins: [ 369 | // Define useful constants like TNS_WEBPACK 370 | new webpack.DefinePlugin({ 371 | 'global.TNS_WEBPACK': 'true', 372 | 'global.isAndroid': platform === 'android', 373 | 'global.isIOS': platform === 'ios', 374 | process: 'global.process' 375 | }), 376 | // Remove all files from the out dir. 377 | new CleanWebpackPlugin({ 378 | cleanOnceBeforeBuildPatterns: itemsToClean, 379 | verbose: !!verbose 380 | }), 381 | // Copy assets 382 | new CopyWebpackPlugin({ 383 | patterns: copyTargets, 384 | }), 385 | new nsWebpack.GenerateNativeScriptEntryPointsPlugin('bundle'), 386 | // For instructions on how to set up workers with webpack 387 | // check out https://github.com/nativescript/worker-loader 388 | new NativeScriptWorkerPlugin(), 389 | ngCompilerPlugin, 390 | // Does IPC communication with the {N} CLI to notify events when running in watch mode. 391 | new nsWebpack.WatchStateLoggerPlugin() 392 | ] 393 | }; 394 | 395 | if (report) { 396 | // Generate report files for bundles content 397 | config.plugins.push( 398 | new BundleAnalyzerPlugin({ 399 | analyzerMode: 'static', 400 | openAnalyzer: false, 401 | generateStatsFile: true, 402 | reportFilename: resolve(projectRoot, 'report', `report.html`), 403 | statsFilename: resolve(projectRoot, 'report', `stats.json`) 404 | }) 405 | ); 406 | } 407 | 408 | if (snapshot) { 409 | config.plugins.push( 410 | new nsWebpack.NativeScriptSnapshotPlugin({ 411 | chunk: 'vendor', 412 | angular: true, 413 | requireModules: [ 414 | 'reflect-metadata', 415 | '@angular/platform-browser', 416 | '@angular/core', 417 | '@angular/common', 418 | '@angular/router', 419 | '@nativescript/angular' 420 | ], 421 | projectRoot, 422 | webpackConfig: config, 423 | snapshotInDocker, 424 | skipSnapshotTools, 425 | useLibs 426 | }) 427 | ); 428 | } 429 | 430 | if (!production && hmr) { 431 | config.plugins.push(new webpack.HotModuleReplacementPlugin()); 432 | } 433 | 434 | return config; 435 | }; -------------------------------------------------------------------------------- /demo/app/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 | android { 9 | defaultConfig { 10 | generatedDensities = [] 11 | } 12 | aaptOptions { 13 | additionalParameters "--no-version-vectors" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-nodpi/custom_checkbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/green_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/green_check.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_disabled_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_disabled_checked.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_disabled_not_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_disabled_not_checked.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_enabled_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_enabled_checked.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_enabled_not_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checkbox_enabled_not_checked.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/nstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/nstudio.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" : "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/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "extent" : "full-screen", 5 | "idiom" : "iphone", 6 | "subtype" : "2436h", 7 | "filename" : "Default-1125h.png", 8 | "minimum-system-version" : "11.0", 9 | "orientation" : "portrait", 10 | "scale" : "3x" 11 | }, 12 | { 13 | "orientation" : "landscape", 14 | "idiom" : "iphone", 15 | "extent" : "full-screen", 16 | "filename" : "Default-Landscape-X.png", 17 | "minimum-system-version" : "11.0", 18 | "subtype" : "2436h", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "extent" : "full-screen", 23 | "idiom" : "iphone", 24 | "subtype" : "736h", 25 | "filename" : "Default-736h@3x.png", 26 | "minimum-system-version" : "8.0", 27 | "orientation" : "portrait", 28 | "scale" : "3x" 29 | }, 30 | { 31 | "extent" : "full-screen", 32 | "idiom" : "iphone", 33 | "subtype" : "736h", 34 | "filename" : "Default-Landscape@3x.png", 35 | "minimum-system-version" : "8.0", 36 | "orientation" : "landscape", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "extent" : "full-screen", 41 | "idiom" : "iphone", 42 | "subtype" : "667h", 43 | "filename" : "Default-667h@2x.png", 44 | "minimum-system-version" : "8.0", 45 | "orientation" : "portrait", 46 | "scale" : "2x" 47 | }, 48 | { 49 | "orientation" : "portrait", 50 | "idiom" : "iphone", 51 | "filename" : "Default@2x.png", 52 | "extent" : "full-screen", 53 | "minimum-system-version" : "7.0", 54 | "scale" : "2x" 55 | }, 56 | { 57 | "extent" : "full-screen", 58 | "idiom" : "iphone", 59 | "subtype" : "retina4", 60 | "filename" : "Default-568h@2x.png", 61 | "minimum-system-version" : "7.0", 62 | "orientation" : "portrait", 63 | "scale" : "2x" 64 | }, 65 | { 66 | "orientation" : "portrait", 67 | "idiom" : "ipad", 68 | "filename" : "Default-Portrait.png", 69 | "extent" : "full-screen", 70 | "minimum-system-version" : "7.0", 71 | "scale" : "1x" 72 | }, 73 | { 74 | "orientation" : "landscape", 75 | "idiom" : "ipad", 76 | "filename" : "Default-Landscape.png", 77 | "extent" : "full-screen", 78 | "minimum-system-version" : "7.0", 79 | "scale" : "1x" 80 | }, 81 | { 82 | "orientation" : "portrait", 83 | "idiom" : "ipad", 84 | "filename" : "Default-Portrait@2x.png", 85 | "extent" : "full-screen", 86 | "minimum-system-version" : "7.0", 87 | "scale" : "2x" 88 | }, 89 | { 90 | "orientation" : "landscape", 91 | "idiom" : "ipad", 92 | "filename" : "Default-Landscape@2x.png", 93 | "extent" : "full-screen", 94 | "minimum-system-version" : "7.0", 95 | "scale" : "2x" 96 | }, 97 | { 98 | "orientation" : "portrait", 99 | "idiom" : "iphone", 100 | "filename" : "Default.png", 101 | "extent" : "full-screen", 102 | "scale" : "1x" 103 | }, 104 | { 105 | "orientation" : "portrait", 106 | "idiom" : "iphone", 107 | "filename" : "Default@2x.png", 108 | "extent" : "full-screen", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "orientation" : "portrait", 113 | "idiom" : "iphone", 114 | "filename" : "Default-568h@2x.png", 115 | "extent" : "full-screen", 116 | "subtype" : "retina4", 117 | "scale" : "2x" 118 | }, 119 | { 120 | "orientation" : "portrait", 121 | "idiom" : "ipad", 122 | "extent" : "to-status-bar", 123 | "scale" : "1x" 124 | }, 125 | { 126 | "orientation" : "portrait", 127 | "idiom" : "ipad", 128 | "filename" : "Default-Portrait.png", 129 | "extent" : "full-screen", 130 | "scale" : "1x" 131 | }, 132 | { 133 | "orientation" : "landscape", 134 | "idiom" : "ipad", 135 | "extent" : "to-status-bar", 136 | "scale" : "1x" 137 | }, 138 | { 139 | "orientation" : "landscape", 140 | "idiom" : "ipad", 141 | "filename" : "Default-Landscape.png", 142 | "extent" : "full-screen", 143 | "scale" : "1x" 144 | }, 145 | { 146 | "orientation" : "portrait", 147 | "idiom" : "ipad", 148 | "extent" : "to-status-bar", 149 | "scale" : "2x" 150 | }, 151 | { 152 | "orientation" : "portrait", 153 | "idiom" : "ipad", 154 | "filename" : "Default-Portrait@2x.png", 155 | "extent" : "full-screen", 156 | "scale" : "2x" 157 | }, 158 | { 159 | "orientation" : "landscape", 160 | "idiom" : "ipad", 161 | "extent" : "to-status-bar", 162 | "scale" : "2x" 163 | }, 164 | { 165 | "orientation" : "landscape", 166 | "idiom" : "ipad", 167 | "filename" : "Default-Landscape@2x.png", 168 | "extent" : "full-screen", 169 | "scale" : "2x" 170 | } 171 | ], 172 | "info" : { 173 | "version" : 1, 174 | "author" : "xcode" 175 | } 176 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/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/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.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 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /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 | // 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/app/App_Resources/iOS/nstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nstudio/nativescript-checkbox/7c047bc6532bed0ab45e156ecd749e3e8453d729/demo/app/App_Resources/iOS/nstudio.png -------------------------------------------------------------------------------- /demo/app/app-root.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demo/app/app.css: -------------------------------------------------------------------------------- 1 | @import '~nativescript-theme-core/css/core.light.css'; 2 | 3 | Page { 4 | background-color: #282e48; 5 | color: #fff; 6 | } 7 | 8 | ActionBar { 9 | background-color: #fff; 10 | color: #3f3f3f; 11 | } 12 | 13 | .tab-item { 14 | color: #fff; 15 | background-color: #fff000; 16 | } 17 | 18 | #wrapper { 19 | padding: 10; 20 | width: 100%; 21 | } 22 | 23 | .title { 24 | font-size: 12; 25 | horizontal-align: left; 26 | color: #83889e; 27 | margin-bottom: 10; 28 | } 29 | 30 | label { 31 | vertical-align: center; 32 | } 33 | 34 | .button { 35 | vertical-align: center; 36 | horizontal-align: right; 37 | background-color: #5fbce6; 38 | color: #fff; 39 | border-radius: 4; 40 | font-size: 10; 41 | padding: 5 9; 42 | } 43 | 44 | .message { 45 | font-size: 14; 46 | color: #83889e; 47 | horizontal-align: left; 48 | margin-top: 5; 49 | } 50 | 51 | CheckBox { 52 | vertical-align: center; 53 | color: white; 54 | font-size: 20; 55 | } 56 | 57 | .demosection { 58 | margin-bottom: 50; 59 | horizontal-align: left; 60 | } 61 | 62 | .listitem { 63 | vertical-align: center; 64 | horizontal-align: left; 65 | margin-bottom: 10; 66 | width: 100%; 67 | background-color: transparent; 68 | } 69 | 70 | .title { 71 | } 72 | -------------------------------------------------------------------------------- /demo/app/app.ts: -------------------------------------------------------------------------------- 1 | import { Application } from '@nativescript/core'; 2 | 3 | Application.run({ moduleName: 'app-root' }); 4 | -------------------------------------------------------------------------------- /demo/app/main-page.css: -------------------------------------------------------------------------------- 1 | #tabViewContainer { 2 | background-color: #363b58; 3 | color: #fff; 4 | } 5 | 6 | ListView { 7 | background-color: transparent; 8 | color: #fff; 9 | } 10 | 11 | .list-check { 12 | font-weight: bold; 13 | font-size: 18; 14 | margin: 2%, 0, 2%, 2%; 15 | } 16 | 17 | .list-item { 18 | padding: 10 10; 19 | } 20 | 21 | .fontBig { 22 | font-size: 34; 23 | } 24 | -------------------------------------------------------------------------------- /demo/app/main-page.ts: -------------------------------------------------------------------------------- 1 | import { 2 | Application, 3 | Color, 4 | Device, 5 | EventData, 6 | isAndroid, 7 | Label, 8 | Page 9 | } from '@nativescript/core'; 10 | import { CheckBox } from '@nstudio/nativescript-checkbox'; 11 | import { DataItem, HelloWorldModel } from './main-view-model'; 12 | 13 | let page: Page; 14 | let model: HelloWorldModel; 15 | 16 | // Event handler for Page "loaded" event attached in main-page.xml 17 | export function onNavigatedTo(args: EventData) { 18 | // Get the event sender 19 | page = args.object as Page; 20 | model = new HelloWorldModel(); 21 | page.bindingContext = model; 22 | 23 | // Not related to checkboxes 24 | if (isAndroid && Device.sdkVersion >= '21') { 25 | const window = Application.android.startActivity.getWindow(); 26 | window.setStatusBarColor(new Color('#3f3f3f').android); 27 | } 28 | } 29 | 30 | export function disabledTapTestCheck() { 31 | const tapTestCheck = page.getViewById('tapTestCheck') as CheckBox; 32 | tapTestCheck.isEnabled = !tapTestCheck.isEnabled; 33 | } 34 | 35 | export function onToggleTest(args) { 36 | console.log('toggle tap'); 37 | const toggleTest = page.getViewById('toggleTest') as CheckBox; 38 | toggleTest.toggle(); 39 | } 40 | 41 | export function onCustomCheckStateChange(args) { 42 | console.log('toggle enabled state tap'); 43 | const toggleTest = page.getViewById('toggleTest') as CheckBox; 44 | toggleTest.isEnabled = !toggleTest.isEnabled; 45 | } 46 | 47 | export function onTapTest(args) { 48 | console.log('tap event test'); 49 | const box = args.object as CheckBox; 50 | model.updateMessage(box.checked); 51 | } 52 | 53 | export function onRepeaterItemTap(args: any) { 54 | const label =