├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── package-lock.json ├── package.json └── www ├── css ├── app.css └── icons.css ├── index.html └── js └── app.js /.editorconfig: -------------------------------------------------------------------------------- 1 | .root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | 39 | www/libs 40 | www/fonts -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Vladimir Kharlampidi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ⛔️ DEPRECATED 2 | 3 | **This repo is deprecated and not mainted any more. Use [Framework7-CLI](https://framework7.io/cli/) instead. Please, don't open new issues and don't send any PRs to this repository** 4 | 5 | # Framework7 Vue Template 6 | 7 | A simple Framework7 Vue setup in a single HTML file 8 | 9 | This template is targeted at beginners who want to start exploring Framework7 & Vue without the distraction of a complicated development environment. 10 | 11 | For advanced features such as asset compilation, hot-reload and CSS extraction, we recommend that more experienced developers use [Framework7 Vue Webpack Template](https://github.com/framework7io/framework7-template-vue-webpack) 12 | 13 | ## Usage 14 | 15 | ### 1. Download this repository 16 | ``` 17 | git clone https://github.com/framework7io/framework7-template-vue-simple my-app 18 | ``` 19 | 20 | Repository will be downloaded into `my-app/` folder 21 | 22 | ### 2. Instal dependencies 23 | 24 | Go to the downloaded repository folder and run: 25 | ``` 26 | npm install 27 | ``` 28 | 29 | This will download latest version of Framework7, Framework7-Vue, Vue (to `/www/libs/`) and required icon fonts (to `/www/fonts/`) 30 | 31 | ### 3. Run the app 32 | 33 | ``` 34 | npm run serve 35 | ``` 36 | 37 | App will be opened in browser at `http://localhost:8080/` 38 | 39 | ## Use with cordova 40 | 41 | Just put the contents of `www` folder in your cordova's project root `www` folder 42 | 43 | ## One command install 44 | 45 | ``` 46 | git clone https://github.com/framework7io/framework7-template-vue-simple my-app && 47 | cd my-app && 48 | npm install && 49 | npm run serve 50 | ``` 51 | 52 | ## Live Preview 53 | 54 | https://framework7io.github.io/framework7-template-vue-simple/ 55 | 56 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "framework7-template-vue-simple", 3 | "version": "2.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "array-find-index": { 8 | "version": "1.0.2", 9 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 10 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 11 | "dev": true 12 | }, 13 | "array-union": { 14 | "version": "1.0.2", 15 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 16 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 17 | "dev": true, 18 | "requires": { 19 | "array-uniq": "^1.0.1" 20 | } 21 | }, 22 | "array-uniq": { 23 | "version": "1.0.3", 24 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 25 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 26 | "dev": true 27 | }, 28 | "arrify": { 29 | "version": "1.0.1", 30 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 31 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 32 | "dev": true 33 | }, 34 | "async": { 35 | "version": "1.5.2", 36 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 37 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 38 | "dev": true 39 | }, 40 | "balanced-match": { 41 | "version": "1.0.0", 42 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 43 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 44 | "dev": true 45 | }, 46 | "brace-expansion": { 47 | "version": "1.1.8", 48 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 49 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 50 | "dev": true, 51 | "requires": { 52 | "balanced-match": "^1.0.0", 53 | "concat-map": "0.0.1" 54 | } 55 | }, 56 | "builtin-modules": { 57 | "version": "1.1.1", 58 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 59 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 60 | "dev": true 61 | }, 62 | "camelcase": { 63 | "version": "2.1.1", 64 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", 65 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", 66 | "dev": true 67 | }, 68 | "camelcase-keys": { 69 | "version": "2.1.0", 70 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", 71 | "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", 72 | "dev": true, 73 | "requires": { 74 | "camelcase": "^2.0.0", 75 | "map-obj": "^1.0.0" 76 | } 77 | }, 78 | "colors": { 79 | "version": "1.0.3", 80 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 81 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", 82 | "dev": true 83 | }, 84 | "concat-map": { 85 | "version": "0.0.1", 86 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 87 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 88 | "dev": true 89 | }, 90 | "core-util-is": { 91 | "version": "1.0.2", 92 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 93 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 94 | "dev": true 95 | }, 96 | "corser": { 97 | "version": "2.0.1", 98 | "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", 99 | "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", 100 | "dev": true 101 | }, 102 | "cp-file": { 103 | "version": "3.2.0", 104 | "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-3.2.0.tgz", 105 | "integrity": "sha1-b4NhYlRiTwrViqSqjQdvAmvn4Yg=", 106 | "dev": true, 107 | "requires": { 108 | "graceful-fs": "^4.1.2", 109 | "mkdirp": "^0.5.0", 110 | "nested-error-stacks": "^1.0.1", 111 | "object-assign": "^4.0.1", 112 | "pify": "^2.3.0", 113 | "pinkie-promise": "^2.0.0", 114 | "readable-stream": "^2.1.4" 115 | } 116 | }, 117 | "cpy": { 118 | "version": "4.0.1", 119 | "resolved": "https://registry.npmjs.org/cpy/-/cpy-4.0.1.tgz", 120 | "integrity": "sha1-tnJn66LzlgugalphrJQDNCKDNCQ=", 121 | "dev": true, 122 | "requires": { 123 | "cp-file": "^3.1.0", 124 | "globby": "^4.0.0", 125 | "meow": "^3.6.0", 126 | "nested-error-stacks": "^1.0.0", 127 | "object-assign": "^4.0.1", 128 | "pinkie-promise": "^2.0.0" 129 | } 130 | }, 131 | "cpy-cli": { 132 | "version": "1.0.1", 133 | "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-1.0.1.tgz", 134 | "integrity": "sha1-Z/taSi3sKMqKv/N13kuecfanVhw=", 135 | "dev": true, 136 | "requires": { 137 | "cpy": "^4.0.0", 138 | "meow": "^3.6.0" 139 | } 140 | }, 141 | "currently-unhandled": { 142 | "version": "0.4.1", 143 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 144 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 145 | "dev": true, 146 | "requires": { 147 | "array-find-index": "^1.0.1" 148 | } 149 | }, 150 | "debug": { 151 | "version": "2.6.9", 152 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 153 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 154 | "dev": true, 155 | "requires": { 156 | "ms": "2.0.0" 157 | } 158 | }, 159 | "decamelize": { 160 | "version": "1.2.0", 161 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 162 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 163 | "dev": true 164 | }, 165 | "dom7": { 166 | "version": "2.1.2", 167 | "resolved": "https://registry.npmjs.org/dom7/-/dom7-2.1.2.tgz", 168 | "integrity": "sha512-cGwWtpu7KY3JnbREGqG4EGC/u+1hyLfWVMqrqRjmwiO8d5i4B+0imLZAQ/cJbiXnjbs0pdIUzcUyeI9BbnyKNg==", 169 | "dev": true, 170 | "requires": { 171 | "ssr-window": "^1.0.1" 172 | } 173 | }, 174 | "ecstatic": { 175 | "version": "2.2.1", 176 | "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-2.2.1.tgz", 177 | "integrity": "sha512-ztE4WqheoWLh3wv+HQwy7dACnvNY620coWpa+XqY6R2cVWgaAT2lUISU1Uf7JpdLLJCURktJOaA9av2AOzsyYQ==", 178 | "dev": true, 179 | "requires": { 180 | "he": "^1.1.1", 181 | "mime": "^1.2.11", 182 | "minimist": "^1.1.0", 183 | "url-join": "^2.0.2" 184 | }, 185 | "dependencies": { 186 | "minimist": { 187 | "version": "1.2.0", 188 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 189 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 190 | "dev": true 191 | } 192 | } 193 | }, 194 | "error-ex": { 195 | "version": "1.3.1", 196 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 197 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 198 | "dev": true, 199 | "requires": { 200 | "is-arrayish": "^0.2.1" 201 | } 202 | }, 203 | "eventemitter3": { 204 | "version": "1.2.0", 205 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", 206 | "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", 207 | "dev": true 208 | }, 209 | "find-up": { 210 | "version": "1.1.2", 211 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 212 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 213 | "dev": true, 214 | "requires": { 215 | "path-exists": "^2.0.0", 216 | "pinkie-promise": "^2.0.0" 217 | } 218 | }, 219 | "framework7": { 220 | "version": "4.0.0", 221 | "resolved": "https://registry.npmjs.org/framework7/-/framework7-4.0.0.tgz", 222 | "integrity": "sha512-XD/2XZxOCqUsmW/O3ds1/QLwPmH+KKNRj6FfZAOHIbNuZooNvZ2udXRdApmrbQxRc83O0BI0JVzXSpG0F1w3rQ==", 223 | "dev": true, 224 | "requires": { 225 | "dom7": "^2.1.2", 226 | "path-to-regexp": "^3.0.0", 227 | "ssr-window": "^1.0.1", 228 | "template7": "^1.4.1" 229 | } 230 | }, 231 | "framework7-icons": { 232 | "version": "2.2.0", 233 | "resolved": "https://registry.npmjs.org/framework7-icons/-/framework7-icons-2.2.0.tgz", 234 | "integrity": "sha512-27r2cyR3JL6KExoTJPNAeqsdTwBTTAj3tBOOZ83pnGokYhDme6av/kUn3xCL7SRvWZg3khdNef06VVty4sEGQg==", 235 | "dev": true 236 | }, 237 | "framework7-vue": { 238 | "version": "4.0.0", 239 | "resolved": "https://registry.npmjs.org/framework7-vue/-/framework7-vue-4.0.0.tgz", 240 | "integrity": "sha512-qZAMUIiQi+3Slb4ttEaTAzQuv+ym9L5pHLo90H3MhUictnTgP+FaXULfK0mfqq+8LqkIY+hX1xCzHYSkA4gGQA==", 241 | "dev": true 242 | }, 243 | "get-stdin": { 244 | "version": "4.0.1", 245 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", 246 | "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", 247 | "dev": true 248 | }, 249 | "glob": { 250 | "version": "6.0.4", 251 | "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", 252 | "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", 253 | "dev": true, 254 | "requires": { 255 | "inflight": "^1.0.4", 256 | "inherits": "2", 257 | "minimatch": "2 || 3", 258 | "once": "^1.3.0", 259 | "path-is-absolute": "^1.0.0" 260 | } 261 | }, 262 | "globby": { 263 | "version": "4.1.0", 264 | "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", 265 | "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=", 266 | "dev": true, 267 | "requires": { 268 | "array-union": "^1.0.1", 269 | "arrify": "^1.0.0", 270 | "glob": "^6.0.1", 271 | "object-assign": "^4.0.1", 272 | "pify": "^2.0.0", 273 | "pinkie-promise": "^2.0.0" 274 | } 275 | }, 276 | "graceful-fs": { 277 | "version": "4.1.11", 278 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 279 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 280 | "dev": true 281 | }, 282 | "he": { 283 | "version": "1.1.1", 284 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 285 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 286 | "dev": true 287 | }, 288 | "hosted-git-info": { 289 | "version": "2.5.0", 290 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", 291 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", 292 | "dev": true 293 | }, 294 | "http-proxy": { 295 | "version": "1.16.2", 296 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", 297 | "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", 298 | "dev": true, 299 | "requires": { 300 | "eventemitter3": "1.x.x", 301 | "requires-port": "1.x.x" 302 | } 303 | }, 304 | "http-server": { 305 | "version": "0.10.0", 306 | "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.10.0.tgz", 307 | "integrity": "sha1-sqRGsWqduH7TxiK6m+sbCFsSNKc=", 308 | "dev": true, 309 | "requires": { 310 | "colors": "1.0.3", 311 | "corser": "~2.0.0", 312 | "ecstatic": "^2.0.0", 313 | "http-proxy": "^1.8.1", 314 | "opener": "~1.4.0", 315 | "optimist": "0.6.x", 316 | "portfinder": "^1.0.13", 317 | "union": "~0.4.3" 318 | } 319 | }, 320 | "indent-string": { 321 | "version": "2.1.0", 322 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 323 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 324 | "dev": true, 325 | "requires": { 326 | "repeating": "^2.0.0" 327 | } 328 | }, 329 | "inflight": { 330 | "version": "1.0.6", 331 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 332 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 333 | "dev": true, 334 | "requires": { 335 | "once": "^1.3.0", 336 | "wrappy": "1" 337 | } 338 | }, 339 | "inherits": { 340 | "version": "2.0.3", 341 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 342 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 343 | "dev": true 344 | }, 345 | "is-arrayish": { 346 | "version": "0.2.1", 347 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 348 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 349 | "dev": true 350 | }, 351 | "is-builtin-module": { 352 | "version": "1.0.0", 353 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 354 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 355 | "dev": true, 356 | "requires": { 357 | "builtin-modules": "^1.0.0" 358 | } 359 | }, 360 | "is-finite": { 361 | "version": "1.0.2", 362 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 363 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 364 | "dev": true, 365 | "requires": { 366 | "number-is-nan": "^1.0.0" 367 | } 368 | }, 369 | "is-utf8": { 370 | "version": "0.2.1", 371 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 372 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 373 | "dev": true 374 | }, 375 | "isarray": { 376 | "version": "1.0.0", 377 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 378 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 379 | "dev": true 380 | }, 381 | "load-json-file": { 382 | "version": "1.1.0", 383 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 384 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 385 | "dev": true, 386 | "requires": { 387 | "graceful-fs": "^4.1.2", 388 | "parse-json": "^2.2.0", 389 | "pify": "^2.0.0", 390 | "pinkie-promise": "^2.0.0", 391 | "strip-bom": "^2.0.0" 392 | } 393 | }, 394 | "loud-rejection": { 395 | "version": "1.6.0", 396 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 397 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 398 | "dev": true, 399 | "requires": { 400 | "currently-unhandled": "^0.4.1", 401 | "signal-exit": "^3.0.0" 402 | } 403 | }, 404 | "map-obj": { 405 | "version": "1.0.1", 406 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 407 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 408 | "dev": true 409 | }, 410 | "material-design-icons": { 411 | "version": "3.0.1", 412 | "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", 413 | "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78=", 414 | "dev": true 415 | }, 416 | "meow": { 417 | "version": "3.7.0", 418 | "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", 419 | "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", 420 | "dev": true, 421 | "requires": { 422 | "camelcase-keys": "^2.0.0", 423 | "decamelize": "^1.1.2", 424 | "loud-rejection": "^1.0.0", 425 | "map-obj": "^1.0.1", 426 | "minimist": "^1.1.3", 427 | "normalize-package-data": "^2.3.4", 428 | "object-assign": "^4.0.1", 429 | "read-pkg-up": "^1.0.1", 430 | "redent": "^1.0.0", 431 | "trim-newlines": "^1.0.0" 432 | }, 433 | "dependencies": { 434 | "minimist": { 435 | "version": "1.2.0", 436 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 437 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 438 | "dev": true 439 | } 440 | } 441 | }, 442 | "mime": { 443 | "version": "1.6.0", 444 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 445 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 446 | "dev": true 447 | }, 448 | "minimatch": { 449 | "version": "3.0.4", 450 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 451 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 452 | "dev": true, 453 | "requires": { 454 | "brace-expansion": "^1.1.7" 455 | } 456 | }, 457 | "minimist": { 458 | "version": "0.0.8", 459 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 460 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 461 | "dev": true 462 | }, 463 | "mkdirp": { 464 | "version": "0.5.1", 465 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 466 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 467 | "dev": true, 468 | "requires": { 469 | "minimist": "0.0.8" 470 | } 471 | }, 472 | "ms": { 473 | "version": "2.0.0", 474 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 475 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 476 | "dev": true 477 | }, 478 | "nested-error-stacks": { 479 | "version": "1.0.2", 480 | "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz", 481 | "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=", 482 | "dev": true, 483 | "requires": { 484 | "inherits": "~2.0.1" 485 | } 486 | }, 487 | "normalize-package-data": { 488 | "version": "2.4.0", 489 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 490 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 491 | "dev": true, 492 | "requires": { 493 | "hosted-git-info": "^2.1.4", 494 | "is-builtin-module": "^1.0.0", 495 | "semver": "2 || 3 || 4 || 5", 496 | "validate-npm-package-license": "^3.0.1" 497 | } 498 | }, 499 | "number-is-nan": { 500 | "version": "1.0.1", 501 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 502 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 503 | "dev": true 504 | }, 505 | "object-assign": { 506 | "version": "4.1.1", 507 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 508 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 509 | "dev": true 510 | }, 511 | "once": { 512 | "version": "1.4.0", 513 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 514 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 515 | "dev": true, 516 | "requires": { 517 | "wrappy": "1" 518 | } 519 | }, 520 | "opener": { 521 | "version": "1.4.3", 522 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", 523 | "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", 524 | "dev": true 525 | }, 526 | "optimist": { 527 | "version": "0.6.1", 528 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 529 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 530 | "dev": true, 531 | "requires": { 532 | "minimist": "~0.0.1", 533 | "wordwrap": "~0.0.2" 534 | } 535 | }, 536 | "parse-json": { 537 | "version": "2.2.0", 538 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 539 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 540 | "dev": true, 541 | "requires": { 542 | "error-ex": "^1.2.0" 543 | } 544 | }, 545 | "path-exists": { 546 | "version": "2.1.0", 547 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 548 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 549 | "dev": true, 550 | "requires": { 551 | "pinkie-promise": "^2.0.0" 552 | } 553 | }, 554 | "path-is-absolute": { 555 | "version": "1.0.1", 556 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 557 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 558 | "dev": true 559 | }, 560 | "path-to-regexp": { 561 | "version": "3.0.0", 562 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.0.0.tgz", 563 | "integrity": "sha512-ZOtfhPttCrqp2M1PBBH4X13XlvnfhIwD7yCLx+GoGoXRPQyxGOTdQMpIzPSPKXAJT/JQrdfFrgdJOyAzvgpQ9A==", 564 | "dev": true 565 | }, 566 | "path-type": { 567 | "version": "1.1.0", 568 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 569 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 570 | "dev": true, 571 | "requires": { 572 | "graceful-fs": "^4.1.2", 573 | "pify": "^2.0.0", 574 | "pinkie-promise": "^2.0.0" 575 | } 576 | }, 577 | "pify": { 578 | "version": "2.3.0", 579 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 580 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 581 | "dev": true 582 | }, 583 | "pinkie": { 584 | "version": "2.0.4", 585 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 586 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 587 | "dev": true 588 | }, 589 | "pinkie-promise": { 590 | "version": "2.0.1", 591 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 592 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 593 | "dev": true, 594 | "requires": { 595 | "pinkie": "^2.0.0" 596 | } 597 | }, 598 | "portfinder": { 599 | "version": "1.0.13", 600 | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", 601 | "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", 602 | "dev": true, 603 | "requires": { 604 | "async": "^1.5.2", 605 | "debug": "^2.2.0", 606 | "mkdirp": "0.5.x" 607 | } 608 | }, 609 | "process-nextick-args": { 610 | "version": "1.0.7", 611 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 612 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 613 | "dev": true 614 | }, 615 | "qs": { 616 | "version": "2.3.3", 617 | "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", 618 | "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=", 619 | "dev": true 620 | }, 621 | "read-pkg": { 622 | "version": "1.1.0", 623 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 624 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 625 | "dev": true, 626 | "requires": { 627 | "load-json-file": "^1.0.0", 628 | "normalize-package-data": "^2.3.2", 629 | "path-type": "^1.0.0" 630 | } 631 | }, 632 | "read-pkg-up": { 633 | "version": "1.0.1", 634 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 635 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 636 | "dev": true, 637 | "requires": { 638 | "find-up": "^1.0.0", 639 | "read-pkg": "^1.0.0" 640 | } 641 | }, 642 | "readable-stream": { 643 | "version": "2.3.3", 644 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 645 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 646 | "dev": true, 647 | "requires": { 648 | "core-util-is": "~1.0.0", 649 | "inherits": "~2.0.3", 650 | "isarray": "~1.0.0", 651 | "process-nextick-args": "~1.0.6", 652 | "safe-buffer": "~5.1.1", 653 | "string_decoder": "~1.0.3", 654 | "util-deprecate": "~1.0.1" 655 | } 656 | }, 657 | "redent": { 658 | "version": "1.0.0", 659 | "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", 660 | "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", 661 | "dev": true, 662 | "requires": { 663 | "indent-string": "^2.1.0", 664 | "strip-indent": "^1.0.1" 665 | } 666 | }, 667 | "repeating": { 668 | "version": "2.0.1", 669 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 670 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 671 | "dev": true, 672 | "requires": { 673 | "is-finite": "^1.0.0" 674 | } 675 | }, 676 | "requires-port": { 677 | "version": "1.0.0", 678 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 679 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 680 | "dev": true 681 | }, 682 | "safe-buffer": { 683 | "version": "5.1.1", 684 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 685 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 686 | "dev": true 687 | }, 688 | "semver": { 689 | "version": "5.5.0", 690 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 691 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", 692 | "dev": true 693 | }, 694 | "signal-exit": { 695 | "version": "3.0.2", 696 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 697 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 698 | "dev": true 699 | }, 700 | "spdx-correct": { 701 | "version": "1.0.2", 702 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", 703 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", 704 | "dev": true, 705 | "requires": { 706 | "spdx-license-ids": "^1.0.2" 707 | } 708 | }, 709 | "spdx-expression-parse": { 710 | "version": "1.0.4", 711 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", 712 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", 713 | "dev": true 714 | }, 715 | "spdx-license-ids": { 716 | "version": "1.2.2", 717 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 718 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 719 | "dev": true 720 | }, 721 | "ssr-window": { 722 | "version": "1.0.1", 723 | "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-1.0.1.tgz", 724 | "integrity": "sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==", 725 | "dev": true 726 | }, 727 | "string_decoder": { 728 | "version": "1.0.3", 729 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 730 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 731 | "dev": true, 732 | "requires": { 733 | "safe-buffer": "~5.1.0" 734 | } 735 | }, 736 | "strip-bom": { 737 | "version": "2.0.0", 738 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 739 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 740 | "dev": true, 741 | "requires": { 742 | "is-utf8": "^0.2.0" 743 | } 744 | }, 745 | "strip-indent": { 746 | "version": "1.0.1", 747 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", 748 | "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", 749 | "dev": true, 750 | "requires": { 751 | "get-stdin": "^4.0.1" 752 | } 753 | }, 754 | "template7": { 755 | "version": "1.4.1", 756 | "resolved": "https://registry.npmjs.org/template7/-/template7-1.4.1.tgz", 757 | "integrity": "sha512-sYZ9Wl5kFuNSvLcMPq8z4oenG7rDho6KnB2vWyvMJCdI1guJhxTEU0TCwr6Nd1Jx34kSOmrpJakMGxJgCc55yg==", 758 | "dev": true 759 | }, 760 | "trim-newlines": { 761 | "version": "1.0.0", 762 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", 763 | "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", 764 | "dev": true 765 | }, 766 | "union": { 767 | "version": "0.4.6", 768 | "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz", 769 | "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=", 770 | "dev": true, 771 | "requires": { 772 | "qs": "~2.3.3" 773 | } 774 | }, 775 | "url-join": { 776 | "version": "2.0.5", 777 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", 778 | "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", 779 | "dev": true 780 | }, 781 | "util-deprecate": { 782 | "version": "1.0.2", 783 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 784 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 785 | "dev": true 786 | }, 787 | "validate-npm-package-license": { 788 | "version": "3.0.1", 789 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", 790 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", 791 | "dev": true, 792 | "requires": { 793 | "spdx-correct": "~1.0.0", 794 | "spdx-expression-parse": "~1.0.0" 795 | } 796 | }, 797 | "vue": { 798 | "version": "2.6.3", 799 | "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.3.tgz", 800 | "integrity": "sha512-yftjtahz4UTAtOlXXuw7UaYD86fWrMDAAzqTdqJJx2FIBqcPmBN6kPBHiBJFGaQELVblb5ijbFMXsx0i0F7q3g==", 801 | "dev": true 802 | }, 803 | "wordwrap": { 804 | "version": "0.0.3", 805 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 806 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 807 | "dev": true 808 | }, 809 | "wrappy": { 810 | "version": "1.0.2", 811 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 812 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 813 | "dev": true 814 | } 815 | } 816 | } 817 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "framework7-template-vue-simple", 3 | "version": "2.0.0", 4 | "description": "Simple Framework7 Vue starter app template", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/framework7io/framework7-template-vue-simple.git" 8 | }, 9 | "scripts": { 10 | "serve": "http-server ./www/ -o -c 1 -a localhost", 11 | "copy-f7": "cpy node_modules/framework7/js/*.* www/libs/framework7/js && cpy node_modules/framework7/css/*.* www/libs/framework7/css && cpy node_modules/framework7-vue/*.* www/libs/framework7-vue/ && cpy node_modules/vue/dist/*.* www/libs/vue/ && cpy node_modules/framework7-icons/fonts/*.* www/fonts && cpy node_modules/material-design-icons/iconfont/*.{eot,ttf,woff,woff2} www/fonts", 12 | "postinstall": "npm run copy-f7" 13 | }, 14 | "keywords": [ 15 | "framework7", 16 | "vue", 17 | "template", 18 | "ios", 19 | "android", 20 | "mobile", 21 | "app", 22 | "cordova", 23 | "phonegap" 24 | ], 25 | "author": "Vladimir Kharlampidi", 26 | "license": "MIT", 27 | "bugs": { 28 | "url": "https://github.com/framework7io/framework7-template-vue-simple/issues" 29 | }, 30 | "homepage": "https://github.com/framework7io/framework7-template-vue-simple#readme", 31 | "devDependencies": { 32 | "cpy-cli": "^1.0.1", 33 | "framework7": "^4.0.0", 34 | "framework7-icons": "^2.2.0", 35 | "framework7-vue": "^4.0.0", 36 | "http-server": "^0.10.0", 37 | "material-design-icons": "^3.0.1", 38 | "vue": "^2.6.3" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /www/css/app.css: -------------------------------------------------------------------------------- 1 | /* Your app styles here */ 2 | -------------------------------------------------------------------------------- /www/css/icons.css: -------------------------------------------------------------------------------- 1 | /* Material Icons Font (for MD theme) */ 2 | @font-face { 3 | font-family: 'Material Icons'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: url(../fonts/MaterialIcons-Regular.eot); /* For IE6-8 */ 7 | src: local('Material Icons'), 8 | local('MaterialIcons-Regular'), 9 | url(../fonts/MaterialIcons-Regular.woff2) format('woff2'), 10 | url(../fonts/MaterialIcons-Regular.woff) format('woff'), 11 | url(../fonts/MaterialIcons-Regular.ttf) format('truetype'); 12 | } 13 | 14 | .material-icons { 15 | font-family: 'Material Icons'; 16 | font-weight: normal; 17 | font-style: normal; 18 | font-size: 24px; /* Preferred icon size */ 19 | display: inline-block; 20 | line-height: 1; 21 | text-transform: none; 22 | letter-spacing: normal; 23 | word-wrap: normal; 24 | white-space: nowrap; 25 | direction: ltr; 26 | 27 | /* Support for all WebKit browsers. */ 28 | -webkit-font-smoothing: antialiased; 29 | /* Support for Safari and Chrome. */ 30 | text-rendering: optimizeLegibility; 31 | 32 | /* Support for Firefox. */ 33 | -moz-osx-font-smoothing: grayscale; 34 | 35 | /* Support for IE. */ 36 | font-feature-settings: 'liga'; 37 | } 38 | 39 | /* Framework7 Icons Font (for iOS theme) */ 40 | @font-face { 41 | font-family: 'Framework7 Icons'; 42 | font-style: normal; 43 | font-weight: 400; 44 | src: url("../fonts/Framework7Icons-Regular.eot"); 45 | src: url("../fonts/Framework7Icons-Regular.woff2") format("woff2"), 46 | url("../fonts/Framework7Icons-Regular.woff") format("woff"), 47 | url("../fonts/Framework7Icons-Regular.ttf") format("truetype"); 48 | } 49 | 50 | .f7-icons { 51 | font-family: 'Framework7 Icons'; 52 | font-weight: normal; 53 | font-style: normal; 54 | font-size: 25px; 55 | line-height: 1; 56 | letter-spacing: normal; 57 | text-transform: none; 58 | display: inline-block; 59 | white-space: nowrap; 60 | word-wrap: normal; 61 | direction: ltr; 62 | -webkit-font-smoothing: antialiased; 63 | text-rendering: optimizeLegibility; 64 | -moz-osx-font-smoothing: grayscale; 65 | -webkit-font-feature-settings: "liga"; 66 | -moz-font-feature-settings: "liga=1"; 67 | -moz-font-feature-settings: "liga"; 68 | font-feature-settings: "liga"; 69 | text-align: center; 70 | } 71 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | My App 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |

Left panel content goes here

39 |
40 | Load page in panel 41 | 42 | 43 | 44 | 45 | Load page in main view 46 | 47 | 49 | 51 | 52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |

Right panel content goes here

63 |
64 | Load page in panel 65 | 66 | 67 | 68 | 69 | Load page in main view 70 | 71 | 73 | 75 | 76 |
77 |
78 |
79 | 80 | 81 | 82 | 83 | 84 | 85 | 87 | 88 | My App 89 | 90 | 92 | 93 | 94 | 95 | Left Link 96 | Right Link 97 | 98 | 99 |

Here is your blank Framework7 app. Let's see what we have here.

100 |
101 | Navigation 102 | 103 | 104 | 105 | 106 | Modals 107 | 108 | 109 | 110 | Popup 111 | 112 | 113 | Login Screen 114 | 115 | 116 | 117 | Panels 118 | 119 | 120 | 121 | Left Panel 122 | 123 | 124 | Right Panel 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 |
133 |
134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | Close 142 | 143 | 144 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Neque, architecto. Cupiditate laudantium rem nesciunt numquam, ipsam. Voluptates omnis, a inventore atque ratione aliquam. Omnis iusto nemo quos ullam obcaecati, quod. 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | Login 154 | 155 | 161 | 167 | 168 | 169 | 170 | 171 |

Click Sign In to close Login Screen

172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 | 180 | 181 | 193 | 194 | 195 | 306 | 307 | 308 | 334 | 335 | 336 | 345 | 346 | 347 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | -------------------------------------------------------------------------------- /www/js/app.js: -------------------------------------------------------------------------------- 1 | // Init F7 Vue Plugin 2 | Framework7.use(Framework7Vue); 3 | 4 | // Init Page Components 5 | Vue.component('page-about', { 6 | template: '#page-about' 7 | }); 8 | Vue.component('page-form', { 9 | template: '#page-form' 10 | }); 11 | Vue.component('page-dynamic-routing', { 12 | template: '#page-dynamic-routing' 13 | }); 14 | Vue.component('page-not-found', { 15 | template: '#page-not-found' 16 | }); 17 | 18 | // Init App 19 | new Vue({ 20 | el: '#app', 21 | data: function () { 22 | return { 23 | // Framework7 parameters here 24 | f7params: { 25 | root: '#app', // App root element 26 | id: 'io.framework7.testapp', // App bundle ID 27 | name: 'Framework7', // App name 28 | theme: 'auto', // Automatic theme detection 29 | // App routes 30 | routes: [ 31 | { 32 | path: '/about/', 33 | component: 'page-about' 34 | }, 35 | { 36 | path: '/form/', 37 | component: 'page-form' 38 | }, 39 | { 40 | path: '/dynamic-route/blog/:blogId/post/:postId/', 41 | component: 'page-dynamic-routing' 42 | }, 43 | { 44 | path: '(.*)', 45 | component: 'page-not-found', 46 | }, 47 | ], 48 | } 49 | } 50 | }, 51 | }); --------------------------------------------------------------------------------