├── demo
├── .eslintignore
├── src
│ ├── store
│ │ ├── common
│ │ │ ├── state.js
│ │ │ ├── getters.js
│ │ │ ├── actions.js
│ │ │ ├── mutations.js
│ │ │ └── index.js
│ │ ├── store-flag.d.ts
│ │ └── index.js
│ ├── boot
│ │ └── qflashcard.js
│ ├── App.vue
│ ├── pages
│ │ ├── Error404.vue
│ │ └── Index.vue
│ ├── 404.html
│ ├── components
│ │ ├── ExampleTitle.vue
│ │ └── Hero.vue
│ ├── css
│ │ └── quasar.variables.sass
│ ├── router
│ │ ├── routes.js
│ │ └── index.js
│ ├── utils
│ │ └── page-utils.js
│ ├── assets
│ │ └── page-utils.js
│ ├── index.template.html
│ └── examples
│ │ ├── Fade.vue
│ │ ├── Spin.vue
│ │ ├── Zoom.vue
│ │ └── Nudge.vue
├── public
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── bgimg.jpg
│ ├── icons
│ │ ├── favicon.ico
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── icon-128x128.png
│ │ ├── icon-192x192.png
│ │ ├── icon-256x256.png
│ │ ├── icon-384x384.png
│ │ ├── icon-512x512.png
│ │ ├── ms-icon-144x144.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-167x167.png
│ │ └── apple-icon-180x180.png
│ └── app-logo-128x128.png
├── babel.config.js
├── src-electron
│ ├── icons
│ │ ├── icon.icns
│ │ ├── icon.ico
│ │ └── linux-512x512.png
│ ├── electron-flag.d.ts
│ └── main-process
│ │ ├── electron-main.dev.js
│ │ └── electron-main.js
├── quasar.extensions.json
├── jsconfig.json
├── .editorconfig
├── .postcssrc.js
├── README.md
├── src-ssr
│ ├── ssr-flag.d.ts
│ └── extension.js
├── .gitignore
├── .stylintrc
├── LICENSE
├── package.json
└── .eslintrc.js
├── ui
├── dev
│ ├── src
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── components
│ │ │ └── .gitkeep
│ │ ├── css
│ │ │ ├── app.sass
│ │ │ └── quasar.variables.sass
│ │ ├── boot
│ │ │ └── register.js
│ │ ├── App.vue
│ │ ├── router
│ │ │ ├── routes.js
│ │ │ ├── pages.js
│ │ │ └── index.js
│ │ ├── layouts
│ │ │ └── MyLayout.vue
│ │ ├── pages
│ │ │ └── Index.vue
│ │ └── index.template.html
│ ├── babel.config.js
│ ├── public
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── bgimg.jpg
│ │ ├── icons
│ │ │ ├── favicon.ico
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon-96x96.png
│ │ │ ├── icon-128x128.png
│ │ │ ├── icon-192x192.png
│ │ │ ├── icon-256x256.png
│ │ │ ├── icon-384x384.png
│ │ │ ├── icon-512x512.png
│ │ │ ├── ms-icon-144x144.png
│ │ │ ├── apple-icon-120x120.png
│ │ │ ├── apple-icon-152x152.png
│ │ │ ├── apple-icon-167x167.png
│ │ │ └── apple-icon-180x180.png
│ │ └── app-logo-128x128.png
│ ├── README.md
│ ├── jsconfig.json
│ ├── .editorconfig
│ ├── .postcssrc.js
│ ├── .gitignore
│ ├── package.json
│ └── quasar.conf.js
├── .eslintignore
├── build
│ ├── entry
│ │ ├── index.common.js
│ │ ├── index.esm.js
│ │ └── index.umd.js
│ ├── script.open-umd.js
│ ├── build.api.js
│ ├── script.clean.js
│ ├── config.js
│ ├── index.js
│ ├── utils.js
│ ├── script.app-ext.js
│ └── script.css.js
├── src
│ ├── index.sass
│ ├── components
│ │ ├── QFlashcard.js
│ │ ├── QFlashcard.json
│ │ ├── QFlashcardSection.json
│ │ └── QFlashcardSection.js
│ └── index.js
├── .editorconfig
├── .npmignore
├── LICENSE
├── .eslintrc.js
├── umd-test.html
└── package.json
├── app-extension
├── .eslintignore
├── src
│ ├── boot
│ │ └── register.js
│ └── index.js
├── jsconfig.json
├── .editorconfig
├── .npmignore
├── README.md
├── package.json
└── .eslintrc.js
├── docs
├── 1.jpg
├── 2.jpg
├── bgimg.jpg
├── icons
│ ├── favicon.ico
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ ├── icon-128x128.png
│ ├── icon-192x192.png
│ ├── icon-256x256.png
│ ├── icon-384x384.png
│ ├── icon-512x512.png
│ ├── ms-icon-144x144.png
│ ├── apple-icon-120x120.png
│ ├── apple-icon-152x152.png
│ ├── apple-icon-167x167.png
│ └── apple-icon-180x180.png
├── app-logo-128x128.png
├── css
│ ├── 3.8927fd4c.css
│ ├── 10.5b527357.css
│ ├── 11.045beabb.css
│ ├── 12.e0443bf0.css
│ ├── 13.65616514.css
│ ├── 14.219b4f43.css
│ ├── 15.53aa6129.css
│ ├── 16.3d7a4662.css
│ ├── 17.73711549.css
│ ├── 18.c6deaf1b.css
│ ├── 19.d098af9c.css
│ ├── 20.9dda8ea2.css
│ ├── 21.70c27e91.css
│ ├── 22.eaf3e9f2.css
│ ├── 23.b363096d.css
│ ├── 24.a8902f4c.css
│ ├── 25.7af3ae8e.css
│ ├── 26.f8d2b737.css
│ ├── 5.cafa70cc.css
│ ├── 6.2720d077.css
│ ├── 7.76c9e97e.css
│ ├── 8.ed167725.css
│ └── 9.bd1fd5ac.css
├── fonts
│ ├── fa-brands-400.ee26f57b.woff
│ ├── fa-solid-900.9451d5fe.woff2
│ ├── fa-solid-900.a940d584.woff
│ ├── fa-brands-400.31015e86.woff2
│ ├── fa-regular-400.8b892b79.woff
│ ├── fa-regular-400.c5240512.woff2
│ ├── KFOmCnqEu92Fr1Mu4mxM.49ae34d4.woff
│ ├── KFOkCnqEu92Fr1MmgVxIIzQ.a45108d3.woff
│ ├── KFOlCnqEu92Fr1MmEU9fBBc-.cea99d3e.woff
│ ├── KFOlCnqEu92Fr1MmSU5fBBc-.865f928c.woff
│ ├── KFOlCnqEu92Fr1MmWUlfBBc-.2267169e.woff
│ ├── KFOlCnqEu92Fr1MmYUtfBBc-.bac8362e.woff
│ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNa.2d36eb59.woff
│ └── flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.492281ee.woff2
├── 404.html
├── index.html
└── js
│ ├── 14.012cbef5.js
│ ├── 19.a0d4ecf9.js
│ ├── 25.2aa85f79.js
│ ├── 26.6ff6283a.js
│ ├── 6.2ec8015f.js
│ ├── 9.8389f5e3.js
│ ├── 8.77e272b7.js
│ ├── 10.3847de11.js
│ ├── 13.d72b7adf.js
│ ├── 7.745f1ce9.js
│ ├── 11.36d9f991.js
│ ├── 12.d408aab2.js
│ ├── 17.218629c4.js
│ ├── 18.1ebe0be9.js
│ ├── 22.410aeb5d.js
│ ├── 16.55609c26.js
│ ├── 24.440f80fc.js
│ ├── 15.49795a10.js
│ ├── 20.99a5a92e.js
│ ├── 21.6bdb2a44.js
│ ├── 23.38f9b47b.js
│ ├── 5.c3d42a85.js
│ ├── 38.d071aa32.js
│ ├── 49.a885218c.js
│ ├── 50.b3507191.js
│ ├── 43.c45a757f.js
│ ├── 30.6418220c.js
│ ├── 32.5ee4160d.js
│ ├── 33.60c10af9.js
│ ├── 34.76792697.js
│ ├── 31.0df4a006.js
│ ├── 37.b535e653.js
│ ├── 35.26612176.js
│ ├── 36.6a74c817.js
│ ├── 41.b66af2b7.js
│ └── 42.69bfc60e.js
├── .gitignore
├── .github
├── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
└── FUNDING.yml
├── LICENSE
└── README.md
/demo/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist
2 |
--------------------------------------------------------------------------------
/ui/dev/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/ui/dev/src/components/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app-extension/.eslintignore:
--------------------------------------------------------------------------------
1 | docs
2 |
--------------------------------------------------------------------------------
/ui/.eslintignore:
--------------------------------------------------------------------------------
1 | /docs
2 | /dist
3 |
4 |
--------------------------------------------------------------------------------
/demo/src/store/common/state.js:
--------------------------------------------------------------------------------
1 | export default {
2 | toc: []
3 | }
4 |
--------------------------------------------------------------------------------
/demo/src/store/common/getters.js:
--------------------------------------------------------------------------------
1 | export const toc = (state) => state.toc
2 |
--------------------------------------------------------------------------------
/docs/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/1.jpg
--------------------------------------------------------------------------------
/docs/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/2.jpg
--------------------------------------------------------------------------------
/demo/src/store/common/actions.js:
--------------------------------------------------------------------------------
1 | /*
2 | export function someAction (context) {
3 | }
4 | */
5 |
--------------------------------------------------------------------------------
/ui/dev/src/css/app.sass:
--------------------------------------------------------------------------------
1 | // app global css in Sass form
2 | @import '../../../src/index.sass'
3 |
--------------------------------------------------------------------------------
/docs/bgimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/bgimg.jpg
--------------------------------------------------------------------------------
/ui/build/entry/index.common.js:
--------------------------------------------------------------------------------
1 | import Plugin from '../../src/index'
2 |
3 | export default Plugin
4 |
--------------------------------------------------------------------------------
/demo/public/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/1.jpg
--------------------------------------------------------------------------------
/demo/public/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/2.jpg
--------------------------------------------------------------------------------
/demo/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@quasar/babel-preset-app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/ui/dev/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@quasar/babel-preset-app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/ui/dev/public/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/1.jpg
--------------------------------------------------------------------------------
/ui/dev/public/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/2.jpg
--------------------------------------------------------------------------------
/ui/src/index.sass:
--------------------------------------------------------------------------------
1 | @import 'quasar/src/css/variables.sass'
2 | @import './components/QFlashcard.sass'
3 |
4 |
--------------------------------------------------------------------------------
/demo/public/bgimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/bgimg.jpg
--------------------------------------------------------------------------------
/docs/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/favicon.ico
--------------------------------------------------------------------------------
/ui/dev/public/bgimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/bgimg.jpg
--------------------------------------------------------------------------------
/docs/app-logo-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/app-logo-128x128.png
--------------------------------------------------------------------------------
/docs/css/3.8927fd4c.css:
--------------------------------------------------------------------------------
1 | .example-page{padding:16px 46px;font-weight:300;max-width:900px;margin-left:auto;margin-right:auto}
--------------------------------------------------------------------------------
/docs/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/docs/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/docs/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/docs/icons/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/icon-128x128.png
--------------------------------------------------------------------------------
/docs/icons/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/icon-192x192.png
--------------------------------------------------------------------------------
/docs/icons/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/icon-256x256.png
--------------------------------------------------------------------------------
/docs/icons/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/icon-384x384.png
--------------------------------------------------------------------------------
/docs/icons/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/icon-512x512.png
--------------------------------------------------------------------------------
/ui/dev/README.md:
--------------------------------------------------------------------------------
1 | # Dev app (playground)
2 |
3 | Adding .vue files to src/pages/ will auto-add them to the Index page list.
4 |
--------------------------------------------------------------------------------
/demo/public/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/favicon.ico
--------------------------------------------------------------------------------
/demo/src/store/common/mutations.js:
--------------------------------------------------------------------------------
1 | export const toc = (state, toc) => {
2 | state.toc.splice(0, state.toc.length, ...toc)
3 | }
4 |
--------------------------------------------------------------------------------
/docs/icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/demo/public/app-logo-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/app-logo-128x128.png
--------------------------------------------------------------------------------
/demo/src-electron/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/src-electron/icons/icon.icns
--------------------------------------------------------------------------------
/demo/src-electron/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/src-electron/icons/icon.ico
--------------------------------------------------------------------------------
/docs/icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/docs/icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/docs/icons/apple-icon-167x167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/apple-icon-167x167.png
--------------------------------------------------------------------------------
/docs/icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/ui/build/entry/index.esm.js:
--------------------------------------------------------------------------------
1 | import Plugin from '../../src/index'
2 |
3 | export default Plugin
4 | export * from '../../src/index'
5 |
--------------------------------------------------------------------------------
/ui/dev/public/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/favicon.ico
--------------------------------------------------------------------------------
/demo/public/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/demo/public/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/demo/public/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/demo/public/icons/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/icon-128x128.png
--------------------------------------------------------------------------------
/demo/public/icons/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/icon-192x192.png
--------------------------------------------------------------------------------
/demo/public/icons/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/icon-256x256.png
--------------------------------------------------------------------------------
/demo/public/icons/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/icon-384x384.png
--------------------------------------------------------------------------------
/demo/public/icons/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/icon-512x512.png
--------------------------------------------------------------------------------
/ui/dev/public/app-logo-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/app-logo-128x128.png
--------------------------------------------------------------------------------
/app-extension/src/boot/register.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VuePlugin from '@quasar/quasar-ui-qflashcard'
3 |
4 | Vue.use(VuePlugin)
5 |
--------------------------------------------------------------------------------
/demo/public/icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/docs/fonts/fa-brands-400.ee26f57b.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-brands-400.ee26f57b.woff
--------------------------------------------------------------------------------
/docs/fonts/fa-solid-900.9451d5fe.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-solid-900.9451d5fe.woff2
--------------------------------------------------------------------------------
/docs/fonts/fa-solid-900.a940d584.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-solid-900.a940d584.woff
--------------------------------------------------------------------------------
/ui/dev/public/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/icon-128x128.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/icon-192x192.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/icon-256x256.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/icon-384x384.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/icon-512x512.png
--------------------------------------------------------------------------------
/demo/public/icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/demo/public/icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/demo/public/icons/apple-icon-167x167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/apple-icon-167x167.png
--------------------------------------------------------------------------------
/demo/public/icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/public/icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/demo/src/boot/qflashcard.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VuePlugin from 'ui' // "ui" is aliased in quasar.conf.js
3 |
4 | Vue.use(VuePlugin)
5 |
--------------------------------------------------------------------------------
/docs/fonts/fa-brands-400.31015e86.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-brands-400.31015e86.woff2
--------------------------------------------------------------------------------
/docs/fonts/fa-regular-400.8b892b79.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-regular-400.8b892b79.woff
--------------------------------------------------------------------------------
/docs/fonts/fa-regular-400.c5240512.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/fa-regular-400.c5240512.woff2
--------------------------------------------------------------------------------
/ui/dev/public/icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/ui/dev/src/boot/register.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VuePlugin from 'ui' // "ui" is aliased in quasar.conf.js
3 |
4 | Vue.use(VuePlugin)
5 |
--------------------------------------------------------------------------------
/demo/src-electron/icons/linux-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/demo/src-electron/icons/linux-512x512.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/apple-icon-167x167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/apple-icon-167x167.png
--------------------------------------------------------------------------------
/ui/dev/public/icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/ui/dev/public/icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/docs/fonts/KFOmCnqEu92Fr1Mu4mxM.49ae34d4.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOmCnqEu92Fr1Mu4mxM.49ae34d4.woff
--------------------------------------------------------------------------------
/ui/build/entry/index.umd.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Plugin from '../../src/index'
3 |
4 | Vue.use(Plugin)
5 |
6 | export * from '../../src/index'
7 |
--------------------------------------------------------------------------------
/docs/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.a45108d3.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.a45108d3.woff
--------------------------------------------------------------------------------
/ui/build/script.open-umd.js:
--------------------------------------------------------------------------------
1 | const { resolve } = require('path')
2 | const open = require('open')
3 |
4 | open(
5 | resolve(__dirname, '../umd-test.html')
6 | )
7 |
--------------------------------------------------------------------------------
/docs/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.cea99d3e.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.cea99d3e.woff
--------------------------------------------------------------------------------
/docs/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.865f928c.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.865f928c.woff
--------------------------------------------------------------------------------
/docs/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.2267169e.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.2267169e.woff
--------------------------------------------------------------------------------
/docs/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.bac8362e.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.bac8362e.woff
--------------------------------------------------------------------------------
/docs/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.2d36eb59.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.2d36eb59.woff
--------------------------------------------------------------------------------
/demo/quasar.extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "@quasar/qmarkdown": {
3 | "import_md": true,
4 | "import_vmd": true
5 | },
6 | "json-api-viewer": {},
7 | "example-viewer": {}
8 | }
--------------------------------------------------------------------------------
/docs/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.492281ee.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quasarframework/quasar-ui-qflashcard/HEAD/docs/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.492281ee.woff2
--------------------------------------------------------------------------------
/app-extension/jsconfig.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "target": "es6"
6 | },
7 | "exclude": ["node_modules"],
8 | "include": ["src/**/*"]
9 | }
--------------------------------------------------------------------------------
/ui/dev/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/ui/build/build.api.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | global.rootDir = path.resolve(__dirname, '..')
3 | global.distDir = path.resolve(__dirname, '../dist')
4 |
5 | require('quasar-json-api')()
6 |
--------------------------------------------------------------------------------
/demo/jsconfig.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "target": "es6"
6 | },
7 | "exclude": ["node_modules", ".quasar", "dist"],
8 | "include": ["src/**/*"]
9 | }
--------------------------------------------------------------------------------
/ui/build/script.clean.js:
--------------------------------------------------------------------------------
1 | var
2 | rimraf = require('rimraf'),
3 | path = require('path')
4 |
5 | rimraf.sync(path.resolve(__dirname, '../dist/*'))
6 | console.log(` 💥 Cleaned build artifacts.\n`)
7 |
--------------------------------------------------------------------------------
/ui/dev/jsconfig.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "compilerOptions": {
4 | "module": "commonjs",
5 | "target": "es6"
6 | },
7 | "exclude": ["node_modules", ".quasar", "dist"],
8 | "include": ["src/**/*"]
9 | }
--------------------------------------------------------------------------------
/demo/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/ui/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/ui/dev/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/app-extension/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/demo/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
15 |
--------------------------------------------------------------------------------
/demo/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | plugins: [
5 | // to edit target browsers: use "browserslist" field in package.json
6 | require('autoprefixer')
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/ui/dev/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | plugins: [
5 | // to edit target browsers: use "browserslist" field in package.json
6 | require('autoprefixer')
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .thumbs.db
3 | node_modules
4 | dist
5 | yarn.lock
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Editor directories and files
11 | .idea
12 | .vscode
13 | *.suo
14 | *.ntvs*
15 | *.njsproj
16 | *.sln
17 |
--------------------------------------------------------------------------------
/app-extension/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .thumbs.db
3 | yarn.lock
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Editor directories and files
9 | .idea
10 | .vscode
11 | *.suo
12 | *.ntvs*
13 | *.njsproj
14 | *.sln
15 | .editorconfig
16 | .eslintignore
17 | .eslintrc.js
18 |
--------------------------------------------------------------------------------
/demo/README.md:
--------------------------------------------------------------------------------
1 | # quasar-ui-qflashcard Demo
2 | In order to build the demo, you must first build the UI.
3 | Go to the `ui` folder and `yarn build`. This will create the JSON API in the `ui/dist` folder that the demo needs in order to be built.
4 |
5 | # Building
6 | To build the demo, type `quasar dev`.
7 |
--------------------------------------------------------------------------------
/demo/src/store/common/index.js:
--------------------------------------------------------------------------------
1 | import state from './state'
2 | import * as getters from './getters'
3 | import * as mutations from './mutations'
4 | import * as actions from './actions'
5 |
6 | export default {
7 | namespaced: true,
8 | state,
9 | getters,
10 | mutations,
11 | actions
12 | }
13 |
--------------------------------------------------------------------------------
/demo/src-ssr/ssr-flag.d.ts:
--------------------------------------------------------------------------------
1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
3 | import "quasar/dist/types/feature-flag";
4 |
5 | declare module "quasar/dist/types/feature-flag" {
6 | interface QuasarFeatureFlags {
7 | ssr: true;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/demo/src/store/store-flag.d.ts:
--------------------------------------------------------------------------------
1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
3 | import "quasar/dist/types/feature-flag";
4 |
5 | declare module "quasar/dist/types/feature-flag" {
6 | interface QuasarFeatureFlags {
7 | store: true;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/demo/src-electron/electron-flag.d.ts:
--------------------------------------------------------------------------------
1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
3 | import "quasar/dist/types/feature-flag";
4 |
5 | declare module "quasar/dist/types/feature-flag" {
6 | interface QuasarFeatureFlags {
7 | electron: true;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/ui/src/components/QFlashcard.js:
--------------------------------------------------------------------------------
1 | export default {
2 | name: 'QFlashcard',
3 |
4 | props: {
5 | noHover: Boolean
6 | },
7 |
8 | render (h) {
9 | const slot = this.$slots.default
10 |
11 | return h('div', {
12 | staticClass: 'q-flashcard' + (this.noHover === true ? ' no-hover' : '')
13 | }, slot)
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/ui/dev/.gitignore:
--------------------------------------------------------------------------------
1 | .quasar
2 | .DS_Store
3 | .thumbs.db
4 | node_modules
5 | /dist
6 | /src-cordova/node_modules
7 | /src-cordova/platforms
8 | /src-cordova/plugins
9 | /src-cordova/www
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 |
--------------------------------------------------------------------------------
/demo/.gitignore:
--------------------------------------------------------------------------------
1 | .quasar
2 | .DS_Store
3 | .thumbs.db
4 | node_modules
5 | /dist
6 | /src-cordova/node_modules
7 | /src-cordova/platforms
8 | /src-cordova/plugins
9 | /src-cordova/www
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | yarn.lock
14 |
15 | # Editor directories and files
16 | .idea
17 | .vscode
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 |
--------------------------------------------------------------------------------
/ui/build/config.js:
--------------------------------------------------------------------------------
1 | const { name, author, version } = require('../package.json')
2 | const year = (new Date()).getFullYear()
3 |
4 | module.exports = {
5 | name,
6 | version,
7 | banner:
8 | '/*!\n' +
9 | ' * ' + name + ' v' + version + '\n' +
10 | ' * (c) ' + year + ' ' + author + '\n' +
11 | ' * Released under the MIT License.\n' +
12 | ' */\n'
13 | }
14 |
--------------------------------------------------------------------------------
/ui/dev/src/router/routes.js:
--------------------------------------------------------------------------------
1 | import pages from './pages'
2 |
3 | const children = pages.map(page => ({
4 | path: page.path,
5 | component: () => import('pages/' + page.file + '.vue')
6 | }))
7 |
8 | const routes = [
9 | {
10 | path: '/',
11 | component: () => import('layouts/MyLayout.vue'),
12 | children: [
13 | { path: '', component: () => import('pages/Index.vue') }
14 | ].concat(children)
15 | }
16 | ]
17 |
18 | export default routes
19 |
--------------------------------------------------------------------------------
/ui/src/index.js:
--------------------------------------------------------------------------------
1 | import { version } from '../package.json'
2 | import QFlashcard from './components/QFlashcard'
3 | import QFlashcardSection from './components/QFlashcardSection'
4 |
5 | export {
6 | version,
7 | QFlashcard,
8 | QFlashcardSection
9 | }
10 |
11 | export default {
12 | version,
13 | QFlashcard,
14 | QFlashcardSection,
15 |
16 | install (Vue) {
17 | Vue.component(QFlashcard.name, QFlashcard)
18 | Vue.component(QFlashcardSection.name, QFlashcardSection)
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/ui/.npmignore:
--------------------------------------------------------------------------------
1 | /build
2 | /dev
3 | umd-test.html
4 |
5 | .DS_Store
6 | .thumbs.db
7 | yarn.lock
8 | npm-debug.log*
9 | yarn-debug.log*
10 | yarn-error.log*
11 |
12 | # Editor directories and files
13 | .idea
14 | .vscode
15 | *.suo
16 | *.ntvs*
17 | *.njsproj
18 | *.sln
19 | .editorconfig
20 |
21 | # Linters
22 | .eslintignore
23 | .eslintrc.js
24 | .babelrc
25 |
26 | # Other
27 | /src/components/QFlashcard.json
28 | /src/components/QFlashcardSection.json
29 |
30 | # Testing
31 | /test
32 | .env.jest
33 | jest.config.js
34 |
--------------------------------------------------------------------------------
/demo/src/pages/Error404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
Sorry, nothing here...(404)
10 |
Go back
15 |
16 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/demo/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | import common from './common'
5 |
6 | Vue.use(Vuex)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Store instantiation
11 | */
12 |
13 | export default function (/* { ssrContext } */) {
14 | const Store = new Vuex.Store({
15 | modules: {
16 | common
17 | },
18 |
19 | // enable strict mode (adds overhead!)
20 | // for dev mode only
21 | strict: process.env.DEV
22 | })
23 |
24 | return Store
25 | }
26 |
--------------------------------------------------------------------------------
/ui/src/components/QFlashcard.json:
--------------------------------------------------------------------------------
1 | {
2 | "meta": {
3 | "docsUrl": "https://quasarframework.github.io/quasar-ui-qflashcard/docs"
4 | },
5 | "props": {
6 | "no-hover": {
7 | "type": "Boolean",
8 | "desc": "Turns off mouse hover/touch support. In this case, use the `active` property to control resting/active state",
9 | "category": "behavior"
10 | }
11 | },
12 | "slots": {
13 | "default": {
14 | "desc": "Anything can go into this slot, but one or more QFlashcardSection components are expected"
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/docs/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 404 Redirect
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/demo/src/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 404 Redirect
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/demo/src/components/ExampleTitle.vue:
--------------------------------------------------------------------------------
1 |
2 | {{ title }}
3 |
4 |
5 |
29 |
--------------------------------------------------------------------------------
/demo/src/css/quasar.variables.sass:
--------------------------------------------------------------------------------
1 | // Quasar Stylus Variables
2 | // --------------------------------------------------
3 | // To customize the look and feel of this app, you can override
4 | // the Stylus variables found in Quasar's source Stylus files.
5 |
6 | // Check documentation for full list of Quasar variables
7 |
8 | // It's highly recommended to change the default colors
9 | // to match your app's branding.
10 | // Tip: Use the "Theme Builder" on Quasar's documentation website.
11 |
12 | $primary : #027BE3
13 | $secondary : #26A69A
14 | $accent : #9C27B0
15 |
16 | $positive : #21BA45
17 | $negative : #C10015
18 | $info : #31CCEC
19 | $warning : #F2C037
20 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/ui/src/components/QFlashcardSection.json:
--------------------------------------------------------------------------------
1 | {
2 | "meta": {
3 | "docsUrl": "https://quasarframework.github.io/quasar-ui-qflashcard/docs"
4 | },
5 | "props": {
6 | "transition": {
7 | "type": [ "String", "Array" ],
8 | "desc": "One or more transitions to be used",
9 | "examples": [ "fade-in", "fade-in flip-left-in", "['fade-in', 'flip-left-in']" ],
10 | "category": "behavior"
11 | },
12 | "active": {
13 | "type": "Boolean",
14 | "desc": "Use along with `no-hover` property to control the non-active/active state",
15 | "category": "model"
16 | }
17 | },
18 | "slots": {
19 | "default": {
20 | "desc": "Anything can go into this slot"
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/demo/src/router/routes.js:
--------------------------------------------------------------------------------
1 |
2 | const routes = [
3 | {
4 | path: '/',
5 | redirect: '/docs'
6 | },
7 | {
8 | path: '/docs',
9 | component: () => import('layouts/MainLayout.vue'),
10 | children: [
11 | { path: '', component: () => import('pages/Index.vue') }
12 | ]
13 | },
14 | {
15 | path: '/examples',
16 | component: () => import('layouts/MainLayout.vue'),
17 | children: [
18 | { path: '', component: () => import('pages/Examples.vue') }
19 | ]
20 | }
21 | ]
22 |
23 | // Always leave this as last one
24 | if (process.env.MODE !== 'ssr') {
25 | routes.push({
26 | path: '*',
27 | component: () => import('pages/Error404.vue')
28 | })
29 | }
30 |
31 | export default routes
32 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: [hawkeye64, rstoenescu] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with a single custom sponsorship URL
--------------------------------------------------------------------------------
/ui/dev/src/router/pages.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Export files list for /pages folder
3 | */
4 |
5 | function kebabCase (str) {
6 | const result = str.replace(
7 | /[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,
8 | match => '-' + match.toLowerCase()
9 | )
10 | return (str[0] === str[0].toUpperCase())
11 | ? result.substring(1)
12 | : result
13 | }
14 |
15 | function slugify (str) {
16 | return encodeURIComponent(String(str).trim().replace(/\s+/g, '-'))
17 | }
18 |
19 | export default require.context('../pages', true, /^\.\/.*\.vue$/)
20 | .keys()
21 | .map(page => page.slice(2).replace('.vue', ''))
22 | .filter(page => page !== 'Index')
23 | .map(page => ({
24 | file: page,
25 | title: page + '.vue',
26 | path: slugify(kebabCase(page))
27 | }))
28 |
--------------------------------------------------------------------------------
/ui/dev/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dev",
3 | "version": "1.0.0",
4 | "description": "A Quasar Framework app",
5 | "productName": "Quasar App",
6 | "cordovaId": "org.cordova.quasar.app",
7 | "private": true,
8 | "scripts": {
9 | "dev": "quasar dev",
10 | "dev:ssr": "quasar dev -m ssr",
11 | "dev:ios": "quasar dev -m ios",
12 | "dev:android": "quasar dev -m android",
13 | "dev:electron": "quasar dev -m electron"
14 | },
15 | "dependencies": {
16 | "@quasar/extras": "^1.8.2"
17 | },
18 | "devDependencies": {
19 | "@quasar/app": "^2.0.4"
20 | },
21 | "engines": {
22 | "node": ">= 8.9.0",
23 | "npm": ">= 5.6.0",
24 | "yarn": ">= 1.6.0"
25 | },
26 | "browserslist": [
27 | "last 1 version, not dead, ie >= 11"
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/docs/css/10.5b527357.css:
--------------------------------------------------------------------------------
1 | .description[data-v-e40262ce]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-e40262ce]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-e40262ce]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-e40262ce]{width:100%}.my-button[data-v-e40262ce]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-e40262ce]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/11.045beabb.css:
--------------------------------------------------------------------------------
1 | .description[data-v-2ded76a9]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-2ded76a9]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-2ded76a9]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-2ded76a9]{width:100%}.my-button[data-v-2ded76a9]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-2ded76a9]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/12.e0443bf0.css:
--------------------------------------------------------------------------------
1 | .description[data-v-c5e40ffe]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-c5e40ffe]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-c5e40ffe]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-c5e40ffe]{width:100%}.my-button[data-v-c5e40ffe]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-c5e40ffe]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/13.65616514.css:
--------------------------------------------------------------------------------
1 | .description[data-v-e4173ff0]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-e4173ff0]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-e4173ff0]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-e4173ff0]{width:100%}.my-button[data-v-e4173ff0]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-e4173ff0]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/14.219b4f43.css:
--------------------------------------------------------------------------------
1 | .description[data-v-b77aed48]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-b77aed48]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-b77aed48]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-b77aed48]{width:100%}.my-button[data-v-b77aed48]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-b77aed48]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/15.53aa6129.css:
--------------------------------------------------------------------------------
1 | .description[data-v-4647ceaf]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-4647ceaf]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-4647ceaf]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-4647ceaf]{width:100%}.my-button[data-v-4647ceaf]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-4647ceaf]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/16.3d7a4662.css:
--------------------------------------------------------------------------------
1 | .description[data-v-d2e973ae]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-d2e973ae]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-d2e973ae]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-d2e973ae]{width:100%}.my-button[data-v-d2e973ae]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-d2e973ae]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/17.73711549.css:
--------------------------------------------------------------------------------
1 | .description[data-v-25b1dd2a]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-25b1dd2a]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-25b1dd2a]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-25b1dd2a]{width:100%}.my-button[data-v-25b1dd2a]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-25b1dd2a]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/18.c6deaf1b.css:
--------------------------------------------------------------------------------
1 | .description[data-v-1f0fa0f0]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-1f0fa0f0]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-1f0fa0f0]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-1f0fa0f0]{width:100%}.my-button[data-v-1f0fa0f0]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-1f0fa0f0]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/19.d098af9c.css:
--------------------------------------------------------------------------------
1 | .description[data-v-ee6a1eda]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-ee6a1eda]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-ee6a1eda]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-ee6a1eda]{width:100%}.my-button[data-v-ee6a1eda]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-ee6a1eda]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/20.9dda8ea2.css:
--------------------------------------------------------------------------------
1 | .description[data-v-bd143ec2]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-bd143ec2]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-bd143ec2]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-bd143ec2]{width:100%}.my-button[data-v-bd143ec2]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-bd143ec2]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/21.70c27e91.css:
--------------------------------------------------------------------------------
1 | .description[data-v-96c43fd6]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-96c43fd6]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-96c43fd6]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-96c43fd6]{width:100%}.my-button[data-v-96c43fd6]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-96c43fd6]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/22.eaf3e9f2.css:
--------------------------------------------------------------------------------
1 | .description[data-v-00460dcb]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-00460dcb]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-00460dcb]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-00460dcb]{width:100%}.my-button[data-v-00460dcb]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-00460dcb]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/23.b363096d.css:
--------------------------------------------------------------------------------
1 | .description[data-v-2effcc19]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-2effcc19]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-2effcc19]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-2effcc19]{width:100%}.my-button[data-v-2effcc19]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-2effcc19]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/24.a8902f4c.css:
--------------------------------------------------------------------------------
1 | .description[data-v-6bf53b5a]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-6bf53b5a]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-6bf53b5a]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-6bf53b5a]{width:100%}.my-button[data-v-6bf53b5a]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-6bf53b5a]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/25.7af3ae8e.css:
--------------------------------------------------------------------------------
1 | .description[data-v-5a1b8c56]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-5a1b8c56]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-5a1b8c56]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-5a1b8c56]{width:100%}.my-button[data-v-5a1b8c56]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-5a1b8c56]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/26.f8d2b737.css:
--------------------------------------------------------------------------------
1 | .description[data-v-ba8af636]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-ba8af636]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-ba8af636]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-ba8af636]{width:100%}.my-button[data-v-ba8af636]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-ba8af636]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/5.cafa70cc.css:
--------------------------------------------------------------------------------
1 | .description[data-v-20f3a8ef]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-20f3a8ef]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-20f3a8ef]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-20f3a8ef]{width:100%}.my-button[data-v-20f3a8ef]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-20f3a8ef]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/6.2720d077.css:
--------------------------------------------------------------------------------
1 | .description[data-v-9313e192]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-9313e192]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-9313e192]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-9313e192]{width:100%}.my-button[data-v-9313e192]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-9313e192]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/7.76c9e97e.css:
--------------------------------------------------------------------------------
1 | .description[data-v-3bb6435d]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-3bb6435d]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-3bb6435d]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-3bb6435d]{width:100%}.my-button[data-v-3bb6435d]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-3bb6435d]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/8.ed167725.css:
--------------------------------------------------------------------------------
1 | .description[data-v-735723cc]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-735723cc]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-735723cc]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-735723cc]{width:100%}.my-button[data-v-735723cc]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-735723cc]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/docs/css/9.bd1fd5ac.css:
--------------------------------------------------------------------------------
1 | .description[data-v-59443a66]{padding:10px;background-color:#000;color:#fff;box-shadow:1px 1px 2px #e6e6e6}.my-header[data-v-59443a66]{width:100%;top:0;height:45px;color:#fff;background-color:rgba(0,0,0,0.8);text-transform:uppercase;text-align:center;font-size:17px;margin:20px 0 0 0;padding:10px}.my-text[data-v-59443a66]{width:100%;top:0;height:80px;color:#fff;text-align:center;font-size:12px;margin:60px 0 0 0;padding:20px;line-height:normal;font-family:Georgia,serif;font-style:italic}.my-button-container[data-v-59443a66]{width:100%}.my-button[data-v-59443a66]{text-decoration:none;margin:0 0 20px 0;text-align:center;padding:7px 14px;background-color:#000;color:#fff;text-transform:uppercase;box-shadow:0 0 1px #000;transition-delay:0.2s}.my-button[data-v-59443a66]:hover{box-shadow:0 0 5px #000}
--------------------------------------------------------------------------------
/ui/build/index.js:
--------------------------------------------------------------------------------
1 | process.env.NODE_ENV = 'production'
2 |
3 | const parallel = require('os').cpus().length > 1
4 | const runJob = parallel ? require('child_process').fork : require
5 | const { join } = require('path')
6 | const { createFolder } = require('./utils')
7 | const { green, blue } = require('chalk')
8 |
9 | console.log()
10 |
11 | require('./script.app-ext.js').syncAppExt()
12 | require('./script.clean.js')
13 |
14 | console.log(` 📦 Building ${green('v' + require('../package.json').version)}...${parallel ? blue(' [multi-threaded]') : ''}\n`)
15 |
16 | createFolder('dist')
17 | createFolder('dist/api')
18 | createFolder('dist/vetur')
19 |
20 | // require('./script.javascript')
21 | // require('./script.css')
22 | runJob(join(__dirname, './script.javascript.js'))
23 | runJob(join(__dirname, './script.css.js'))
24 |
--------------------------------------------------------------------------------
/ui/dev/src/css/quasar.variables.sass:
--------------------------------------------------------------------------------
1 | // Quasar Sass (& SCSS) Variables
2 | // --------------------------------------------------
3 | // To customize the look and feel of this app, you can override
4 | // the Stylus variables found in Quasar's source Stylus files.
5 |
6 | // Check documentation for full list of Quasar variables
7 |
8 | // Your own variables (that are declared here) and Quasar's own
9 | // ones will be available out of the box in your .vue/.scss/.sass files
10 |
11 | // It's highly recommended to change the default colors
12 | // to match your app's branding.
13 | // Tip: Use the "Theme Builder" on Quasar's documentation website.
14 |
15 | $primary : #027BE3
16 | $secondary : #26A69A
17 | $accent : #9C27B0
18 |
19 | $positive : #21BA45
20 | $negative : #C10015
21 | $info : #31CCEC
22 | $warning : #F2C037
23 |
--------------------------------------------------------------------------------
/demo/src-ssr/extension.js:
--------------------------------------------------------------------------------
1 | /*
2 | * This file runs in a Node context (it's NOT transpiled by Babel), so use only
3 | * the ES6 features that are supported by your Node version. https://node.green/
4 | *
5 | * WARNING!
6 | * If you import anything from node_modules, then make sure that the package is specified
7 | * in package.json > dependencies and NOT in devDependencies
8 | *
9 | * Note: This file is used for both PRODUCTION & DEVELOPMENT.
10 | * Note: Changes to this file (but not any file it imports!) are picked up by the
11 | * development server, but such updates are costly since the dev-server needs a reboot.
12 | */
13 |
14 | module.exports.extendApp = function ({ app, ssr }) {
15 | /*
16 | Extend the parts of the express app that you
17 | want to use with development server too.
18 |
19 | Example: app.use(), app.get() etc
20 | */
21 | }
22 |
--------------------------------------------------------------------------------
/ui/dev/src/layouts/MyLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
13 |
14 | QFlashcard v{{ version }}
15 |
16 |
17 | Quasar v{{ $q.version }}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
40 |
--------------------------------------------------------------------------------
/demo/src-electron/main-process/electron-main.dev.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file is used specifically and only for development. It installs
3 | * `electron-debug` & `vue-devtools`. There shouldn't be any need to
4 | * modify this file, but it can be used to extend your development
5 | * environment.
6 | */
7 |
8 | import electronDebug from 'electron-debug'
9 | import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
10 | import { app } from 'electron'
11 |
12 | // Install `electron-debug` with `devtron`
13 | electronDebug({ showDevTools: true })
14 |
15 | // Install vuejs devtools
16 | app.whenReady().then(() => {
17 | installExtension(VUEJS_DEVTOOLS)
18 | .then(ext => {
19 | console.log(`Added Extension: ${ext.name}`)
20 | })
21 | .catch(err => {
22 | console.log('An error occurred: ', err)
23 | })
24 | })
25 |
26 | import './electron-main'
27 |
--------------------------------------------------------------------------------
/demo/src/utils/page-utils.js:
--------------------------------------------------------------------------------
1 | export function copyHeading (id, message = 'Anchor has been copied to clipboard.', color = 'white', textColor = 'primary', icon = 'done', position = 'top', timeout = 2000) {
2 | const text = window.location.origin + window.location.pathname + '#' + id
3 |
4 | var textArea = document.createElement('textarea')
5 | textArea.className = 'fixed-top'
6 | textArea.value = text
7 | document.body.appendChild(textArea)
8 | textArea.focus()
9 | textArea.select()
10 |
11 | document.execCommand('copy')
12 | document.body.removeChild(textArea)
13 |
14 | this.$q.notify({
15 | message: message,
16 | color: color,
17 | textColor: textColor,
18 | icon: icon,
19 | position: position,
20 | timeout: timeout
21 | })
22 | }
23 |
24 | export function slugify (str) {
25 | return encodeURIComponent(String(str).trim().replace(/\s+/g, '-'))
26 | }
27 |
--------------------------------------------------------------------------------
/ui/dev/src/pages/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Test pages
5 |
10 |
11 |
12 |
13 |
14 | {{ page.title }}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
33 |
34 |
39 |
--------------------------------------------------------------------------------
/demo/.stylintrc:
--------------------------------------------------------------------------------
1 | {
2 | "blocks": "never",
3 | "brackets": "never",
4 | "colons": "never",
5 | "colors": "always",
6 | "commaSpace": "always",
7 | "commentSpace": "always",
8 | "cssLiteral": "never",
9 | "depthLimit": false,
10 | "duplicates": true,
11 | "efficient": "always",
12 | "extendPref": false,
13 | "globalDupe": true,
14 | "indentPref": 2,
15 | "leadingZero": "never",
16 | "maxErrors": false,
17 | "maxWarnings": false,
18 | "mixed": false,
19 | "namingConvention": false,
20 | "namingConventionStrict": false,
21 | "none": "never",
22 | "noImportant": false,
23 | "parenSpace": "never",
24 | "placeholder": false,
25 | "prefixVarsWithDollar": "always",
26 | "quotePref": "single",
27 | "semicolons": "never",
28 | "sortOrder": false,
29 | "stackedProperties": "never",
30 | "trailingWhitespace": "never",
31 | "universal": "never",
32 | "valid": true,
33 | "zeroUnits": "never",
34 | "zIndexNormalize": false
35 | }
36 |
--------------------------------------------------------------------------------
/app-extension/README.md:
--------------------------------------------------------------------------------
1 | # Quasar App Extension Qflashcard
2 |
3 | The QFlashcard app extension (@quasar/quasar-app-extension-qflashcard) installs and manages the [QFlashcard UI](https://github.com/quasarframework/quasar-ui-qflashcard/tree/dev/ui) component.
4 |
5 | [](https://www.npmjs.com/package/@quasar/quasar-app-extension-qflashcard)
6 | [](https://www.npmjs.com/package/@quasar/quasar-app-extension-qflashcard)
7 |
8 | # Install
9 | ```bash
10 | quasar ext add @quasar/qflashcard
11 | ```
12 | Quasar CLI will retrieve it from NPM and install the extension.
13 |
14 | # Uninstall
15 | ```bash
16 | quasar ext remove @quasar/qflashcard
17 | ```
18 |
19 | # Donate
20 | If you appreciate the work that went into this, please consider donating to [Quasar](https://donate.quasar.dev) or [Jeff](https://github.com/sponsors/hawkeye64).
21 |
22 | # License
23 | MIT (c) Jeff Galbraith
24 |
--------------------------------------------------------------------------------
/ui/dev/src/index.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= htmlWebpackPlugin.options.productName %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) Jeff Galbraith
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
13 | all 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
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/demo/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Jeff Galbraith
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 |
--------------------------------------------------------------------------------
/ui/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) Jeff Galbraith
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
13 | all 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
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | For a legitimate bug, in order to process faster, please go here https://codepen.io/Hawkeye64/pen/qBEPVEG, fork the codepen, add code to reproduce the bug and submit link here (don't forget to save your codepen):
11 |
12 | **Describe the bug**
13 | A clear and concise description of what the bug is.
14 |
15 | **To Reproduce**
16 | Steps to reproduce the behavior:
17 | 1. Go to '...'
18 | 2. Click on '....'
19 | 3. Scroll down to '....'
20 | 4. See error
21 |
22 | **Expected behavior**
23 | A clear and concise description of what you expected to happen.
24 |
25 | **Screenshots**
26 | If applicable, add screenshots to help explain your problem.
27 |
28 | **Desktop (please complete the following information):**
29 | - OS: [e.g. iOS]
30 | - Browser [e.g. chrome, safari]
31 | - Version [e.g. 22]
32 |
33 | **Smartphone (please complete the following information):**
34 | - Device: [e.g. iPhone6]
35 | - OS: [e.g. iOS8.1]
36 | - Browser [e.g. stock browser, safari]
37 | - Version [e.g. 22]
38 |
39 | **Additional context**
40 | Add any other context about the problem here.
41 |
--------------------------------------------------------------------------------
/demo/src/assets/page-utils.js:
--------------------------------------------------------------------------------
1 | export function copyToClipboard (text) {
2 | var textArea = document.createElement('textarea')
3 | textArea.className = 'fixed-top'
4 | textArea.value = text
5 | document.body.appendChild(textArea)
6 | textArea.focus()
7 | textArea.select()
8 |
9 | document.execCommand('copy')
10 | document.body.removeChild(textArea)
11 | }
12 |
13 | export function copyHeading (id) {
14 | const text = window.location.origin + window.location.pathname + '#' + id
15 | const el = document.getElementById(id)
16 |
17 | if (el) {
18 | el.id = ''
19 | }
20 |
21 | window.location.hash = '#' + id
22 |
23 | if (el) {
24 | setTimeout(() => {
25 | el.id = id
26 | }, 300)
27 | }
28 |
29 | copyToClipboard(text)
30 |
31 | this.$q.notify({
32 | message: 'Anchor has been copied to clipboard.',
33 | color: 'white',
34 | textColor: 'primary',
35 | icon: 'done',
36 | position: 'top',
37 | timeout: 2000
38 | })
39 | }
40 |
41 | export function slugify (str) {
42 | return encodeURIComponent(String(str).trim().replace(/\s+/g, '-'))
43 | }
44 |
45 | export function makeUrl (slug) {
46 | window.location = window.location.origin + window.location.pathname + '#' + slug
47 | }
48 |
--------------------------------------------------------------------------------
/ui/dev/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 |
4 | import routes from './routes'
5 |
6 | Vue.use(VueRouter)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Router instantiation
11 | */
12 |
13 | export default function (/* { store, ssrContext } */) {
14 | const Router = new VueRouter({
15 | scrollBehavior: () => ({ x: 0, y: 0 }),
16 | routes,
17 |
18 | // Leave these as is and change from quasar.conf.js instead!
19 | // quasar.conf.js -> build -> vueRouterMode
20 | // quasar.conf.js -> build -> publicPath
21 | mode: process.env.VUE_ROUTER_MODE,
22 | base: process.env.VUE_ROUTER_BASE
23 | })
24 |
25 | // we get each page from server first!
26 | if (process.env.MODE === 'ssr' && process.env.CLIENT) {
27 | console.log('!!!!')
28 | console.log('On route change we deliberately load page from server -- in order to test hydration errors')
29 | console.log('!!!!')
30 |
31 | let reload = false
32 | Router.beforeEach((to, _, next) => {
33 | if (reload) {
34 | window.location.href = to.fullPath
35 | return
36 | }
37 | reload = true
38 | next()
39 | })
40 | }
41 |
42 | return Router
43 | }
44 |
--------------------------------------------------------------------------------
/ui/src/components/QFlashcardSection.js:
--------------------------------------------------------------------------------
1 | export default {
2 | name: 'QFlashcardSection',
3 |
4 | props: {
5 | active: Boolean,
6 | transition: [String, Array]
7 | },
8 |
9 | computed: {
10 | classes () {
11 | if (this.transition === void 0) {
12 | return ''
13 | }
14 | let transition = this.transition
15 | if (typeof transition === 'string') {
16 | if (transition.includes(' ')) {
17 | // now transition is an array and handled below...
18 | transition = this.transition.split(' ')
19 | } else {
20 | return this.__transitionName(transition)
21 | }
22 | }
23 |
24 | if (Array.isArray(transition)) {
25 | return transition
26 | .map(t => this.__transitionName(t))
27 | .join(' ')
28 | }
29 |
30 | return ''
31 | }
32 | },
33 |
34 | methods: {
35 | __transitionName (transition) {
36 | const postfix = this.active === true ? '--active' : ''
37 | return (transition.startsWith('fc-')
38 | ? transition
39 | : 'fc-' + transition) + postfix
40 | }
41 | },
42 |
43 | render (h) {
44 | const slot = this.$slots.default
45 |
46 | return h('div', {
47 | staticClass: 'q-flashcard__section',
48 | class: this.classes
49 | }, slot)
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/app-extension/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@quasar/quasar-app-extension-qflashcard",
3 | "version": "1.0.5",
4 | "description": "A Quasar App Extension",
5 | "author": "Jeff Galbraith ",
6 | "license": "MIT",
7 | "main": "src/index.js",
8 | "scripts": {
9 | "lint": "eslint --ext .js,.vue src",
10 | "lint-fix": "eslint --ext .js,.vue src --fix"
11 | },
12 | "funding": {
13 | "type": "github",
14 | "url": "https://github.com/sponsors/hawkeye64"
15 | },
16 | "publishConfig": {
17 | "access": "public"
18 | },
19 | "bugs": "https://github.com/quasarframework/quasar-ui-qflashcard/issues",
20 | "repository": {
21 | "type": "git",
22 | "url": "git+https://github.com/quasarframework/quasar-ui-qflashcard.git"
23 | },
24 | "homepage": "https://github.com/quasarframework/quasar-ui-qflashcard",
25 | "keywords": [
26 | "quasar",
27 | "quasarframework",
28 | "app",
29 | "app extension",
30 | "extension",
31 | "animation"
32 | ],
33 | "engines": {
34 | "node": ">= 8.9.0",
35 | "npm": ">= 5.6.0",
36 | "yarn": ">= 1.6.0"
37 | },
38 | "dependencies": {
39 | "@quasar/quasar-ui-qflashcard": "^1.0.5"
40 | },
41 | "devDependencies": {
42 | "@vue/eslint-config-standard": "^5.1.2",
43 | "babel-eslint": "^10.1.0",
44 | "eslint": "^7.4.0",
45 | "eslint-loader": "^4.0.2",
46 | "eslint-plugin-vue": "^6.2.2"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/demo/src/index.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= htmlWebpackPlugin.options.productName %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app-extension/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Quasar App Extension index/runner script
3 | * (runs on each dev/build)
4 | *
5 | * Docs: https://quasar.dev/app-extensions/development-guide/index-api
6 | * API: https://github.com/quasarframework/quasar/blob/master/app/lib/app-extension/IndexAPI.js
7 | */
8 |
9 | function extendConf (conf) {
10 | // register our boot file
11 | conf.boot.push('~@quasar/quasar-app-extension-qflashcard/src/boot/register.js')
12 |
13 | // make sure app extension files & ui package gets transpiled
14 | conf.build.transpileDependencies.push(/quasar-app-extension-qflashcard[\\/]src/)
15 | conf.build.transpileDependencies.push(/quasar-ui-qflashcard[\\/]src/)
16 |
17 | // make sure the stylesheet goes through webpack to avoid SSR issues
18 | conf.css.push('~@quasar/quasar-ui-qflashcard/src/index.sass')
19 | }
20 |
21 | module.exports = function (api) {
22 | // Quasar compatibility check; you may need
23 | // hard dependencies, as in a minimum version of the "quasar"
24 | // package or a minimum version of "@quasar/app" CLI
25 | api.compatibleWith('quasar', '^1.5.0')
26 | api.compatibleWith('@quasar/app', '^1.3.0 || ^2.0.0') // needed for describe to work properly
27 |
28 | // Uncomment the line below if you provide a JSON API for your component
29 | api.registerDescribeApi('QFlashcard', '~@quasar/quasar-ui-qflashcard/dist/api/QFlashcard.json')
30 | api.registerDescribeApi('QFlashcardSection', '~@quasar/quasar-ui-qflashcard/dist/api/QFlashcardSection.json')
31 |
32 | // We extend /quasar.conf.js
33 | api.extendQuasarConf(extendConf)
34 | }
35 |
--------------------------------------------------------------------------------
/app-extension/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 |
4 | parserOptions: {
5 | parser: 'babel-eslint',
6 | sourceType: 'module'
7 | },
8 |
9 | env: {
10 | browser: true
11 | },
12 |
13 | extends: [
14 | // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
15 | // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
16 | 'plugin:vue/essential',
17 | '@vue/standard'
18 | ],
19 |
20 | // required to lint *.vue files
21 | plugins: [
22 | 'vue'
23 | ],
24 |
25 | globals: {
26 | 'ga': true, // Google Analytics
27 | 'cordova': true,
28 | '__statics': true,
29 | 'process': true
30 | },
31 |
32 | // add your custom rules here
33 | rules: {
34 | // allow async-await
35 | 'generator-star-spacing': 'off',
36 | // allow paren-less arrow functions
37 | 'arrow-parens': 'off',
38 | 'one-var': 'off',
39 |
40 | 'import/first': 'off',
41 | 'import/named': 'error',
42 | 'import/namespace': 'error',
43 | 'import/default': 'error',
44 | 'import/export': 'error',
45 | 'import/extensions': 'off',
46 | 'import/no-unresolved': 'off',
47 | 'import/no-extraneous-dependencies': 'off',
48 | 'prefer-promise-reject-errors': 'off',
49 |
50 | // allow console.log during development only
51 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
52 | // allow debugger during development only
53 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/ui/build/utils.js:
--------------------------------------------------------------------------------
1 | const
2 | fs = require('fs'),
3 | path = require('path'),
4 | zlib = require('zlib'),
5 | { green, blue, red, cyan } = require('chalk'),
6 | kebabRegex = /[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g
7 |
8 | function getSize (code) {
9 | return (code.length / 1024).toFixed(2) + 'kb'
10 | }
11 |
12 | module.exports.createFolder = function (folder) {
13 | const dir = path.join(__dirname, '..', folder)
14 | if (!fs.existsSync(dir)) {
15 | fs.mkdirSync(dir)
16 | }
17 | }
18 |
19 | module.exports.writeFile = function (dest, code, zip) {
20 | const banner = dest.indexOf('.json') > -1
21 | ? red('[json]')
22 | : dest.indexOf('.js') > -1
23 | ? green('[js] ')
24 | : dest.indexOf('.ts') > -1
25 | ? cyan('[ts] ')
26 | : blue('[css] ')
27 |
28 | return new Promise((resolve, reject) => {
29 | function report (extra) {
30 | console.log(`${banner} ${path.relative(process.cwd(), dest).padEnd(41)} ${getSize(code).padStart(8)}${extra || ''}`)
31 | resolve(code)
32 | }
33 |
34 | fs.writeFile(dest, code, err => {
35 | if (err) return reject(err)
36 | if (zip) {
37 | zlib.gzip(code, (err, zipped) => {
38 | if (err) return reject(err)
39 | report(` (gzipped: ${getSize(zipped).padStart(8)})`)
40 | })
41 | }
42 | else {
43 | report()
44 | }
45 | })
46 | })
47 | }
48 |
49 | module.exports.readFile = function (file) {
50 | return fs.readFileSync(file, 'utf-8')
51 | }
52 |
53 | module.exports.logError = function (err) {
54 | console.error('\n' + red('[Error]'), err)
55 | console.log()
56 | }
57 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > For Quasar v2/Vue v3 compatibility, go to the [next branch](https://github.com/quasarframework/quasar-ui-qflashcard/tree/next).
2 |
3 | QFlashcard (Vue Plugin, UMD and Quasar App Extension)
4 | ===
5 |
6 | 
7 | 
8 | []()
9 | []()
10 |
11 | # Structure
12 |
13 | * [/ui](ui) - standalone npm package
14 | * [/app-extension](app-extension) - Quasar app extension
15 | * [/demo](demo) - docs, demo and examples project
16 | * [live demo](https://quasarframework.github.io/quasar-ui-qflashcard/docs) - live docs, demo and examples
17 |
18 | # Demo Workflow
19 | If you fork or download this project, make sure you have the Quasar CLI globally installed:
20 |
21 | ```
22 | $ npm i -g @quasar/cli
23 | ```
24 |
25 | The workflow to build the demo, on a fresh project, is as follows:
26 | ```
27 | $ cd ui
28 | $ yarn
29 | $ yarn build
30 | $ cd ../demo
31 | $ yarn
32 | $ quasar dev
33 | ```
34 |
35 | # Donate
36 | If you appreciate the work that went into this, please consider donating to [Quasar](https://donate.quasar.dev) or [Jeff](https://github.com/sponsors/hawkeye64).
37 |
38 | # License
39 | MIT (c) Jeff Galbraith
40 |
--------------------------------------------------------------------------------
/ui/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 |
4 | parserOptions: {
5 | parser: 'babel-eslint',
6 | sourceType: 'module'
7 | },
8 |
9 | env: {
10 | browser: true
11 | },
12 |
13 | extends: [
14 | // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
15 | // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
16 | 'plugin:vue/essential',
17 | '@vue/standard',
18 | 'plugin:quasar/standard'
19 | ],
20 |
21 | // required to lint *.vue files
22 | plugins: [
23 | 'vue',
24 | 'quasar'
25 | ],
26 |
27 | globals: {
28 | ga: true, // Google Analytics
29 | cordova: true,
30 | __statics: true,
31 | process: true
32 | },
33 |
34 | // add your custom rules here
35 | rules: {
36 | // allow async-await
37 | 'generator-star-spacing': 'off',
38 | // allow paren-less arrow functions
39 | 'arrow-parens': 'off',
40 | 'one-var': 'off',
41 |
42 | 'import/first': 'off',
43 | 'import/named': 'error',
44 | 'import/namespace': 'error',
45 | 'import/default': 'error',
46 | 'import/export': 'error',
47 | 'import/extensions': 'off',
48 | 'import/no-unresolved': 'off',
49 | 'import/no-extraneous-dependencies': 'off',
50 | 'prefer-promise-reject-errors': 'off',
51 |
52 | 'no-void': 'off',
53 | // allow console.log during development only
54 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
55 | // allow debugger during development only
56 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "0.0.1",
4 | "description": "QFlashcard docs, examples and demo site",
5 | "productName": "QFlashcard demo app",
6 | "cordovaId": "org.cordova.quasar.app",
7 | "author": "Jeff Galbraith ",
8 | "private": true,
9 | "scripts": {
10 | "dev": "quasar dev",
11 | "build-demo": "quasar build && cp ./src/404.html ./dist/spa && rm -rf ../docs && cp -r ./dist/spa/. ../docs",
12 | "lint": "eslint --ext .js,.vue src",
13 | "lint-fix": "eslint --ext .js,.vue src --fix",
14 | "test": "echo \"No test specified\" && exit 0"
15 | },
16 | "dependencies": {
17 | "@quasar/extras": "^1.8.2",
18 | "quasar": "^1.12.10"
19 | },
20 | "devDependencies": {
21 | "@quasar/app": "^2.0.4",
22 | "@quasar/quasar-app-extension-qmarkdown": "^1.0.29",
23 | "@vue/eslint-config-standard": "^5.1.2",
24 | "babel-eslint": "^10.1.0",
25 | "devtron": "^1.4.0",
26 | "electron": "^9.1.0",
27 | "electron-debug": "^3.1.0",
28 | "electron-devtools-installer": "^3.1.0",
29 | "eslint": "=7.4.0",
30 | "eslint-loader": "^4.0.2",
31 | "eslint-plugin-import": "^2.22.0",
32 | "eslint-plugin-node": "^11.1.0",
33 | "eslint-plugin-promise": "^4.2.1",
34 | "eslint-plugin-quasar": "^1.0.0",
35 | "eslint-plugin-standard": "^4.0.1",
36 | "eslint-plugin-vue": "^6.2.2",
37 | "quasar-app-extension-example-viewer": "^0.0.25",
38 | "quasar-app-extension-json-api-viewer": "^1.0.15"
39 | },
40 | "engines": {
41 | "node": ">= 8.9.0",
42 | "npm": ">= 5.6.0",
43 | "yarn": ">= 1.6.0"
44 | },
45 | "browserslist": [
46 | "last 1 version, not dead, ie >= 11"
47 | ]
48 | }
49 |
--------------------------------------------------------------------------------
/demo/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 |
4 | import routes from './routes'
5 |
6 | Vue.use(VueRouter)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Router instantiation
11 | */
12 |
13 | export default function (/* { store, ssrContext } */) {
14 | const Router = new VueRouter({
15 | scrollBehavior (to, _, savedPosition) {
16 | return new Promise(resolve => {
17 | setTimeout(() => {
18 | if (to.hash !== void 0 && to.hash !== '') {
19 | const el = document.getElementById(to.hash.substring(1))
20 |
21 | if (el !== null) {
22 | resolve({ x: 0, y: el.offsetTop - el.scrollHeight })
23 | return
24 | }
25 | }
26 |
27 | resolve(savedPosition || { x: 0, y: 0 })
28 | }, 100)
29 | })
30 | },
31 | routes,
32 |
33 | // Leave these as is and change from quasar.conf.js instead!
34 | // quasar.conf.js -> build -> vueRouterMode
35 | // quasar.conf.js -> build -> publicPath
36 | mode: process.env.VUE_ROUTER_MODE,
37 | base: process.env.VUE_ROUTER_BASE
38 | })
39 |
40 | // we get each page from server first!
41 | if (process.env.MODE === 'ssr' && process.env.CLIENT) {
42 | console.log('!!!!')
43 | console.log('On route change we deliberately load page from server -- in order to test hydration errors')
44 | console.log('!!!!')
45 |
46 | let reload = false
47 | Router.beforeEach((to, _, next) => {
48 | if (reload) {
49 | window.location.href = to.fullPath
50 | return
51 | }
52 | reload = true
53 | next()
54 | })
55 | }
56 |
57 | return Router
58 | }
59 |
--------------------------------------------------------------------------------
/demo/src-electron/main-process/electron-main.js:
--------------------------------------------------------------------------------
1 | import { app, BrowserWindow, nativeTheme } from 'electron'
2 |
3 | try {
4 | if (process.platform === 'win32' && nativeTheme.shouldUseDarkColors === true) {
5 | require('fs').unlinkSync(require('path').join(app.getPath('userData'), 'DevTools Extensions'))
6 | }
7 | } catch (_) { }
8 |
9 | /**
10 | * Set `__statics` path to static files in production;
11 | * The reason we are setting it here is that the path needs to be evaluated at runtime
12 | */
13 | if (process.env.PROD) {
14 | global.__statics = require('path').join(__dirname, 'statics').replace(/\\/g, '\\\\')
15 | }
16 |
17 | let mainWindow
18 |
19 | function createWindow () {
20 | /**
21 | * Initial window options
22 | */
23 | mainWindow = new BrowserWindow({
24 | width: 1000,
25 | height: 600,
26 | useContentSize: true,
27 | webPreferences: {
28 | // Change from /quasar.conf.js > electron > nodeIntegration;
29 | // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
30 | nodeIntegration: QUASAR_NODE_INTEGRATION,
31 | nodeIntegrationInWorker: QUASAR_NODE_INTEGRATION,
32 |
33 | // More info: /quasar-cli/developing-electron-apps/electron-preload-script
34 | // preload: path.resolve(__dirname, 'electron-preload.js')
35 | }
36 | })
37 |
38 | mainWindow.loadURL(process.env.APP_URL)
39 |
40 | mainWindow.on('closed', () => {
41 | mainWindow = null
42 | })
43 | }
44 |
45 | app.on('ready', createWindow)
46 |
47 | app.on('window-all-closed', () => {
48 | if (process.platform !== 'darwin') {
49 | app.quit()
50 | }
51 | })
52 |
53 | app.on('activate', () => {
54 | if (mainWindow === null) {
55 | createWindow()
56 | }
57 | })
58 |
--------------------------------------------------------------------------------
/demo/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 |
4 | parserOptions: {
5 | parser: 'babel-eslint',
6 | sourceType: 'module'
7 | },
8 |
9 | env: {
10 | browser: true
11 | },
12 |
13 | extends: [
14 | // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
15 | // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
16 | 'plugin:vue/essential',
17 | '@vue/standard',
18 | 'plugin:quasar/standard'
19 | ],
20 |
21 | // required to lint *.vue files
22 | plugins: [
23 | 'vue',
24 | 'quasar'
25 | ],
26 |
27 | globals: {
28 | ga: true, // Google Analytics
29 | cordova: true,
30 | __statics: true,
31 | process: true
32 | },
33 |
34 | // add your custom rules here
35 | rules: {
36 | // allow async-await
37 | 'generator-star-spacing': 'off',
38 | // allow paren-less arrow functions
39 | 'arrow-parens': 'off',
40 | 'one-var': 'off',
41 |
42 | 'import/first': 'off',
43 | 'import/named': 'error',
44 | 'import/namespace': 'error',
45 | 'import/default': 'error',
46 | 'import/export': 'error',
47 | 'import/extensions': 'off',
48 | 'import/no-unresolved': 'off',
49 | 'import/no-extraneous-dependencies': 'off',
50 | 'prefer-promise-reject-errors': 'off',
51 |
52 | 'import/no-webpack-loader-syntax': 'off',
53 |
54 | 'quasar/no-invalid-props': 'error',
55 | 'quasar/no-invalid-qfield-usage': 'error',
56 |
57 | 'no-void': 'off',
58 | // allow console.log during development only
59 | // 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
60 | // allow debugger during development only
61 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/docs/js/14.012cbef5.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[14],{"00d8":function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"fade-in",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="fade-in"')])],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"fade-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="fade-out"')])],1)])},s=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(a("cbce"),a("2877")),c=a("9564"),d=a("eebe"),l=a.n(d),u=Object(o["a"])(n,i,s,!1,null,"b77aed48",null);e["default"]=u.exports;l()(u,"components",{QToggle:c["a"]})},"58b5":function(t,e,a){},cbce:function(t,e,a){"use strict";var i=a("58b5"),s=a.n(i);s.a}}]);
--------------------------------------------------------------------------------
/docs/js/19.a0d4ecf9.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[19],{"5bd1":function(t,e,a){},8817:function(t,e,a){"use strict";var i=a("5bd1"),s=a.n(i);s.a},c420:function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"nudge-in",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="nudge-in"')])],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"nudge-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="nudge-out"')])],1)])},s=[],n={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},r=n,o=(a("8817"),a("2877")),c=a("9564"),d=a("eebe"),l=a.n(d),u=Object(o["a"])(r,i,s,!1,null,"ee6a1eda",null);e["default"]=u.exports;l()(u,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/25.2aa85f79.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[25],{"29b4":function(t,e,i){},"3b07":function(t,e,i){"use strict";var s=i("29b4"),a=i.n(s);a.a},"6ba7":function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[i("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[i("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),i("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"spin-in",active:t.active}},[i("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="spin-in"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"spin-out",active:t.active}},[i("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="spin-out"')])],1)])},a=[],n={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},r=n,o=(i("3b07"),i("2877")),c=i("9564"),l=i("eebe"),d=i.n(l),u=Object(o["a"])(r,s,a,!1,null,"5a1b8c56",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/26.6ff6283a.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[26],{"1d5d":function(t,e,a){"use strict";var i=a("c511"),s=a.n(i);s.a},c511:function(t,e,a){},f58d:function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"zoom-in",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="zoom-in"')])],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"zoom-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="zoom-out"')])],1)])},s=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},r=o,n=(a("1d5d"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(n["a"])(r,i,s,!1,null,"ba8af636",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/ui/build/script.app-ext.js:
--------------------------------------------------------------------------------
1 | const
2 | fs = require('fs'),
3 | path = require('path'),
4 | root = path.resolve(__dirname, '../..'),
5 | resolvePath = file => path.resolve(root, file),
6 | { blue } = require('chalk')
7 |
8 | const writeJson = function (file, json) {
9 | return fs.writeFileSync(file, JSON.stringify(json, null, 2) + '\n', 'utf-8')
10 | }
11 |
12 | module.exports.syncAppExt = function (both = true) {
13 | // make sure this project has an app-extension project
14 | const appExtDir = resolvePath('app-extension')
15 | if (!fs.existsSync(appExtDir)) {
16 | return
17 | }
18 |
19 | // make sure this project has an ui project
20 | const uiDir = resolvePath('ui')
21 | if (!fs.existsSync(uiDir)) {
22 | return
23 | }
24 |
25 | // get version and name from ui package.json
26 | const { name, version } = require(resolvePath(resolvePath('ui/package.json')))
27 |
28 | // read app-ext package.json
29 | const appExtFile = resolvePath('app-extension/package.json')
30 | let appExtJson = require(appExtFile),
31 | finished = false
32 |
33 | // sync version numbers
34 | if (both === true) {
35 | appExtJson.version = version
36 | }
37 |
38 | // check dependencies
39 | if (appExtJson.dependencies !== void 0) {
40 | if (appExtJson.dependencies[name] !== void 0) {
41 | appExtJson.dependencies[name] = '^' + version
42 | finished = true
43 | }
44 | }
45 | // check devDependencies, if not finished
46 | if (finished === false && appExtJson.devDependencies !== void 0) {
47 | if (appExtJson.devDependencies[name] !== void 0) {
48 | appExtJson.devDependencies[name] = '^' + version
49 | finished = true
50 | }
51 | }
52 |
53 | if (finished === true) {
54 | writeJson(appExtFile, appExtJson)
55 | console.log(` ⭐️ App Extension version ${blue(appExtJson.name)} synced with UI version.\n`)
56 | return
57 | }
58 |
59 | console.error(` App Extension version and dependency NOT synced.\n`)
60 | }
61 |
--------------------------------------------------------------------------------
/docs/js/6.2ec8015f.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[6],{"56aa":function(t,e,a){"use strict";a.r(e);var o=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"nudge-out",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",attrs:{transition:"slide-up-in",active:t.active}},[a("div",{staticStyle:{"margin-top":"50%",opacity:"0.65"}},[a("q-toolbar",{staticClass:"bg-white text-black q-my-md shadow-2"},[a("q-space"),a("q-btn-toggle",{attrs:{flat:"",stretch:"","toggle-color":"yellow",options:[{label:"Task#1",value:"one"},{label:"Task#2",value:"two"},{label:"Task#3",value:"three"}]},model:{value:t.model,callback:function(e){t.model=e},expression:"model"}})],1)],1)])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Component Demo #2")])],1)])},s=[],l={data:function(){return{model:!1,hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},i=l,n=(a("9b1d"),a("2877")),c=a("9564"),r=a("65c6"),d=a("2c91"),u=a("6a67"),g=a("eebe"),p=a.n(g),v=Object(n["a"])(i,o,s,!1,null,"9313e192",null);e["default"]=v.exports;p()(v,"components",{QToggle:c["a"],QToolbar:r["a"],QSpace:d["a"],QBtnToggle:u["a"]})},"9b1d":function(t,e,a){"use strict";var o=a("ddec"),s=a.n(o);s.a},ddec:function(t,e,a){}}]);
--------------------------------------------------------------------------------
/demo/src/components/Hero.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
44 |
--------------------------------------------------------------------------------
/ui/build/script.css.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const sass = require('node-sass')
3 | const postcss = require('postcss')
4 | const cssnano = require('cssnano')
5 | const rtl = require('postcss-rtl')
6 | const autoprefixer = require('autoprefixer')
7 |
8 | const buildConf = require('./config')
9 | const buildUtils = require('./utils')
10 |
11 | const postCssCompiler = postcss([ autoprefixer ])
12 | const postCssRtlCompiler = postcss([ rtl({}) ])
13 |
14 | const nano = postcss([
15 | cssnano({
16 | preset: ['default', {
17 | mergeLonghand: false,
18 | convertValues: false,
19 | cssDeclarationSorter: false,
20 | reduceTransforms: false
21 | }]
22 | })
23 | ])
24 |
25 | Promise
26 | .all([
27 | generate('src/index.sass', `dist/index`)
28 | ])
29 | .catch(e => {
30 | console.error(e)
31 | process.exit(1)
32 | })
33 |
34 | /**
35 | * Helpers
36 | */
37 |
38 | function resolve (_path) {
39 | return path.resolve(__dirname, '..', _path)
40 | }
41 |
42 | function generate (src, dest) {
43 | src = resolve(src)
44 | dest = resolve(dest)
45 |
46 | return new Promise((resolve, reject) => {
47 | sass.render({ file: src, includePaths: ['node_modules'] }, (err, result) => {
48 | if (err) {
49 | reject(err)
50 | return
51 | }
52 |
53 | resolve(result.css)
54 | })
55 | })
56 | .then(code => buildConf.banner + code)
57 | .then(code => postCssCompiler.process(code, { from: void 0 }))
58 | .then(code => {
59 | code.warnings().forEach(warn => {
60 | console.warn(warn.toString())
61 | })
62 | return code.css
63 | })
64 | .then(code => Promise.all([
65 | generateUMD(dest, code),
66 | postCssRtlCompiler.process(code, { from: void 0 })
67 | .then(code => generateUMD(dest, code.css, '.rtl'))
68 | ]))
69 | }
70 |
71 | function generateUMD (dest, code, ext = '') {
72 | return buildUtils.writeFile(`${dest}${ext}.css`, code, true)
73 | .then(code => nano.process(code, { from: void 0 }))
74 | .then(code => buildUtils.writeFile(`${dest}${ext}.min.css`, code.css, true))
75 | }
76 |
--------------------------------------------------------------------------------
/docs/js/9.8389f5e3.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[9],{4433:function(t,e,a){"use strict";var s=a("9029"),i=a.n(s);i.a},8727:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"fade-out",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"fade-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #3\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #3")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=o,r=(a("4433"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(n,s,i,!1,null,"59443a66",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})},9029:function(t,e,a){}}]);
--------------------------------------------------------------------------------
/docs/js/8.77e272b7.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[8],{"98cb":function(t,e,a){},adbe:function(t,e,a){"use strict";var s=a("98cb"),i=a.n(s);i.a},d185:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"spin-out",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"spin-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #2\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #2")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=o,r=(a("adbe"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(n,s,i,!1,null,"735723cc",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/10.3847de11.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[10],{"48a9":function(t,e,a){},"829e":function(t,e,a){"use strict";var s=a("48a9"),o=a.n(s);o.a},bf9f:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"zoom-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"zoom-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #4\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #4")])],1)])},o=[],i={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=i,r=(a("829e"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(n,s,o,!1,null,"e40262ce",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/13.d72b7adf.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[13],{9755:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"flip-up-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"flip-up-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #7\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #7")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=o,r=(a("a489"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(n,s,i,!1,null,"e4173ff0",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})},"9b01":function(t,e,a){},a489:function(t,e,a){"use strict";var s=a("9b01"),i=a.n(s);i.a}}]);
--------------------------------------------------------------------------------
/docs/js/7.745f1ce9.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[7],{"34b9":function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"flip-left-out",active:t.active}},[a("img",{attrs:{src:"1.jpg",width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"flip-left-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #1\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #1")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=o,r=(a("f6fc"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),f=Object(r["a"])(n,s,i,!1,null,"3bb6435d",null);e["default"]=f.exports;d()(f,"components",{QToggle:c["a"]})},ed8c:function(t,e,a){},f6fc:function(t,e,a){"use strict";var s=a("ed8c"),i=a.n(s);i.a}}]);
--------------------------------------------------------------------------------
/docs/js/11.36d9f991.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[11],{"0faf":function(t,e,a){},a1c1:function(t,e,a){"use strict";var s=a("0faf"),i=a.n(s);i.a},d859:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"slide-right-out",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"slide-right-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #5\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #5")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},r=o,n=(a("a1c1"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),f=Object(n["a"])(r,s,i,!1,null,"2ded76a9",null);e["default"]=f.exports;d()(f,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/12.d408aab2.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[12],{"0163":function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"slide-up-out",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{bottom:"20px",top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"slide-up-in",active:t.active}},[a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{active:t.active}},[t._v("\n Combo Demo #6\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Combo Demo #6")])],1)])},i=[],o={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=o,r=(a("b1d4"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(n,s,i,!1,null,"c5e40ffe",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})},b1d4:function(t,e,a){"use strict";var s=a("e3e3"),i=a.n(s);i.a},e3e3:function(t,e,a){}}]);
--------------------------------------------------------------------------------
/demo/src/pages/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
13 |
14 | # Donate
15 | If you appreciate the work that went into this, please consider donating to [Quasar](https://donate.quasar.dev) or [Jeff](https://github.com/sponsors/hawkeye64).
16 |
17 | ---
18 |
19 | This page created with [QMarkdown](https://quasarframework.github.io/quasar-ui-qmarkdown), another great Quasar App Extension.
20 |
21 |
22 |
27 |
28 |
29 |
30 |
31 |
76 |
--------------------------------------------------------------------------------
/ui/umd-test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | UMD test
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | QFlashcard v{{ version }}
22 |
23 |
24 | Quasar v{{ $q.version }}
25 |
26 |
27 |
28 |
29 |
30 |
31 | In /ui, run: "yarn build"
32 | You need to build & refresh page on each change manually.
33 | Use self-closing tags only!
34 | Example: <my-component></my-component>
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/docs/js/17.218629c4.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[17],{9494:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"nudge-in",active:t.active}},[a("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",attrs:{transition:"fade-in",active:t.active}},[a("div",{staticClass:"fit",staticStyle:{"background-color":"rgba(219,127,8, 0.7)"}}),a("q-flashcard-section",{staticClass:"text-center my-header",attrs:{transition:"drop-down",active:t.active}},[t._v("\n Mashup Demo #1\n ")]),a("q-flashcard-section",{staticClass:"my-text",attrs:{transition:"slide-up-in",active:t.active}},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",attrs:{transition:"fade-in",active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1)],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Mashup Demo #1")])],1)])},i=[],n={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},o=n,r=(a("e917"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(o,s,i,!1,null,"25b1dd2a",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})},b375:function(t,e,a){},e917:function(t,e,a){"use strict";var s=a("b375"),i=a.n(s);i.a}}]);
--------------------------------------------------------------------------------
/docs/js/18.1ebe0be9.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[18],{"054e":function(t,e,a){},"4e1f":function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"['nudge-out', 'fade-out']",active:t.active}},[a("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})]),a("q-flashcard-section",{staticClass:"fit",staticStyle:{top:"0","background-color":"rgba(219,127,8, 0.7)"},attrs:{transition:"fade-in",active:t.active}}),a("q-flashcard-section",{staticClass:"fit",attrs:{transition:"shake-down",active:t.active}},[a("div",{staticClass:"text-center my-header"},[t._v("\n Mashup Demo #2\n ")])]),a("q-flashcard-section",{staticClass:"fit",attrs:{transition:"spin-in",active:t.active}},[a("div",{staticClass:"my-text"},[t._v("\n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n ")])]),a("q-flashcard-section",{staticClass:"fit flex justify-center items-end",staticStyle:{transition:"all 1s ease-in-out !important"},attrs:{transition:"slide-up-in",active:t.active}},[a("a",{staticClass:"my-button",attrs:{href:"#"}},[t._v("Learn More")])])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Mashup Demo #2")])],1)])},i=[],n={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},o=n,r=(a("b633"),a("2877")),c=a("9564"),l=a("eebe"),d=a.n(l),u=Object(r["a"])(o,s,i,!1,null,"1f0fa0f0",null);e["default"]=u.exports;d()(u,"components",{QToggle:c["a"]})},b633:function(t,e,a){"use strict";var s=a("054e"),i=a.n(s);i.a}}]);
--------------------------------------------------------------------------------
/docs/js/22.410aeb5d.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[22],{"566b":function(t,e,s){"use strict";var a=s("6de7"),i=s.n(a);i.a},"6de7":function(t,e,s){},e52c:function(t,e,s){"use strict";s.r(e);var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[s("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[s("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),s("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"shake-left",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="shake-left"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"shake-right",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="shake-right"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"shake-up",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="shake-up"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"shake-down",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="shake-down"')])],1)])},i=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(s("566b"),s("2877")),c=s("9564"),d=s("eebe"),l=s.n(d),h=Object(o["a"])(n,a,i,!1,null,"00460dcb",null);e["default"]=h.exports;l()(h,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/16.55609c26.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[16],{"3bcd":function(t,e,i){"use strict";var s=i("6ccd"),a=i.n(s);a.a},"3e6f":function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[i("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[i("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),i("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-up-in",active:t.active}},[i("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-up-in"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-up-out",active:t.active}},[i("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-up-out"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-down-in",active:t.active}},[i("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-down-in"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-down-out",active:t.active}},[i("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-down-out"')])],1)])},a=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(i("3bcd"),i("2877")),c=i("9564"),d=i("eebe"),l=i.n(d),h=Object(o["a"])(n,s,a,!1,null,"d2e973ae",null);e["default"]=h.exports;l()(h,"components",{QToggle:c["a"]})},"6ccd":function(t,e,i){}}]);
--------------------------------------------------------------------------------
/docs/js/24.440f80fc.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[24],{3423:function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[s("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[s("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),s("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-up-in",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-up-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-up-out",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-up-out"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-down-in",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-down-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-down-out",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-down-out"')])],1)])},a=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(s("7ca8"),s("2877")),c=s("9564"),d=s("eebe"),l=s.n(d),h=Object(o["a"])(n,i,a,!1,null,"6bf53b5a",null);e["default"]=h.exports;l()(h,"components",{QToggle:c["a"]})},"7ca8":function(t,e,s){"use strict";var i=s("dedb"),a=s.n(i);a.a},dedb:function(t,e,s){}}]);
--------------------------------------------------------------------------------
/docs/js/15.49795a10.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[15],{"54a3":function(t,e,i){"use strict";var s=i("dc90"),a=i.n(s);a.a},dc90:function(t,e,i){},fd7b:function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[i("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[i("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),i("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-left-in",active:t.active}},[i("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-left-in"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-left-out",active:t.active}},[i("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-left-out"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-right-in",active:t.active}},[i("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-right-in"')])],1),i("div",{staticClass:"description text-center rounded-borders"},[i("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[i("q-flashcard-section",{attrs:{transition:"flip-right-out",active:t.active}},[i("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),i("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="flip-right-out"')])],1)])},a=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(i("54a3"),i("2877")),c=i("9564"),l=i("eebe"),d=i.n(l),h=Object(o["a"])(n,s,a,!1,null,"4647ceaf",null);e["default"]=h.exports;d()(h,"components",{QToggle:c["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/20.99a5a92e.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[20],{6532:function(t,e,s){"use strict";var i=s("a9bc"),r=s.n(i);r.a},a9bc:function(t,e,s){},e888:function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[s("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[s("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),s("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-left-in",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-left-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-left-out",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-left-out"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-right-in",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-right-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-right-out",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-right-out"')])],1)])},r=[],a={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},o=a,n=(s("6532"),s("2877")),l=s("9564"),c=s("eebe"),d=s.n(c),h=Object(n["a"])(o,i,r,!1,null,"bd143ec2",null);e["default"]=h.exports;d()(h,"components",{QToggle:l["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/21.6bdb2a44.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[21],{"0bc7":function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[s("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[s("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),s("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-top-in",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-top-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-top-out",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-top-out"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-bottom-in",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-bottom-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"roll-bottom-out",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="roll-bottom-out"')])],1)])},a=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},o=r,n=(s("f277"),s("2877")),c=s("9564"),l=s("eebe"),d=s.n(l),h=Object(n["a"])(o,i,a,!1,null,"96c43fd6",null);e["default"]=h.exports;d()(h,"components",{QToggle:c["a"]})},5653:function(t,e,s){},f277:function(t,e,s){"use strict";var i=s("5653"),a=s.n(i);a.a}}]);
--------------------------------------------------------------------------------
/docs/js/23.38f9b47b.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[23],{"2b58":function(t,e,s){},"73ee":function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[s("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[s("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),s("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-left-in",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-left-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-left-out",active:t.active}},[s("img",{attrs:{src:t.getImage(0),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-left-out"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-right-in",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-right-in"')])],1),s("div",{staticClass:"description text-center rounded-borders"},[s("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[s("q-flashcard-section",{attrs:{transition:"slide-right-out",active:t.active}},[s("img",{attrs:{src:t.getImage(1),width:"300",height:"200"}})])],1),s("div",{staticClass:"text-h5 q-pt-sm"},[t._v('transition="slide-right-out"')])],1)])},a=[],r={data:function(){return{hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},n=r,o=(s("774b"),s("2877")),c=s("9564"),l=s("eebe"),d=s.n(l),h=Object(o["a"])(n,i,a,!1,null,"2effcc19",null);e["default"]=h.exports;d()(h,"components",{QToggle:c["a"]})},"774b":function(t,e,s){"use strict";var i=s("2b58"),a=s.n(i);a.a}}]);
--------------------------------------------------------------------------------
/ui/dev/quasar.conf.js:
--------------------------------------------------------------------------------
1 | // Configuration for your app
2 | // https://quasar.dev/quasar-cli/quasar-conf-js
3 |
4 | const path = require('path')
5 |
6 | module.exports = function (ctx) {
7 | return {
8 | // https://quasar.dev/quasar-cli/supporting-ts
9 | supportTS: false,
10 |
11 | // https://quasar.dev/quasar-cli/prefetch-feature
12 | // preFetch: true,
13 |
14 | // app boot file (/src/boot)
15 | // --> boot files are part of "main.js"
16 | boot: [
17 | 'register.js'
18 | ],
19 |
20 | css: [
21 | 'app.sass'
22 | ],
23 |
24 | extras: [
25 | // 'ionicons-v4',
26 | // 'mdi-v4',
27 | 'fontawesome-v5',
28 | // 'eva-icons',
29 | // 'themify',
30 | // 'line-awesome',
31 | // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
32 |
33 | 'roboto-font', // optional, you are not bound to it
34 | 'material-icons' // optional, you are not bound to it
35 | ],
36 |
37 | build: {
38 | vueRouterMode: 'history',
39 |
40 | // transpile: false,
41 |
42 | // Add dependencies for transpiling with Babel (Array of string/regex)
43 | // (from node_modules, which are by default not transpiled).
44 | // Applies only if "transpile" is set to true.
45 | // transpileDependencies: [],
46 |
47 | // vueCompiler: true,
48 | // preloadChunks: true,
49 | // showProgress: false,
50 | // gzip: true,
51 | // analyze: true,
52 |
53 | // Options below are automatically set depending on the env, set them if you want to override
54 | // extractCSS: false,
55 |
56 | chainWebpack (chain) {
57 | chain.resolve.alias.merge({
58 | ui: path.resolve(__dirname, '../src/index.js')
59 | })
60 | }
61 | },
62 |
63 | devServer: {
64 | https: false,
65 | // port: 8080,
66 | open: true // opens browser window automatically
67 | },
68 |
69 | framework: {
70 | iconSet: 'material-icons', // Quasar icon set
71 | lang: 'en-us', // Quasar language pack
72 | config: {
73 | dark: 'auto'
74 | },
75 |
76 | // Possible values for "importStrategy":
77 | // * 'auto' - (DEFAULT) Auto-import needed Quasar components & directives
78 | // * 'all' - Manually specify what to import
79 | importStrategy: '',
80 |
81 | // Quasar plugins
82 | plugins: []
83 | },
84 |
85 | // animations: 'all', // --- includes all animations
86 | animations: []
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/docs/js/5.c3d42a85.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[5],{4842:function(t,e,a){"use strict";var i=a("961d"),s=a.n(i);s.a},"961d":function(t,e,a){},c8a4:function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"q-ma-md row justify-evenly",staticStyle:{"max-width":"700px",width:"100%"}},[a("div",{staticClass:"q-ma-md row justify-center items-center full-width"},[a("q-toggle",{attrs:{label:"Toggle Hover"},model:{value:t.hover,callback:function(e){t.hover=e},expression:"hover"}}),a("q-toggle",{attrs:{label:"Toggle Transitions"},model:{value:t.active,callback:function(e){t.active=e},expression:"active"}})],1),a("div",{staticClass:"description text-center rounded-borders"},[a("q-flashcard",{style:t.style,attrs:{"no-hover":t.hover}},[a("q-flashcard-section",{attrs:{transition:"slide-left-out",active:t.active}},[a("div",{staticClass:"row full-width"},[a("div",{staticClass:"col-6"},[a("img",{staticStyle:{width:"100%","max-width":"100px"},attrs:{src:"wspa-logo.svg"}})]),a("div",{staticClass:"text-center text-black col-6"},[t._v("\n By signing up, you are joining a community of people who are moving the world to protect animals. Join our mailing list to receive email updates about our latest news.\n ")])]),a("div",{staticClass:"row"},[a("a",{staticClass:"my-button",attrs:{href:"https://www.worldanimalprotection.ca/",target:"_blank"}},[t._v("Learn More")])])]),a("q-flashcard-section",{staticClass:"fit",attrs:{transition:"slide-left-in",active:t.active}},[a("div",{staticClass:"q-pa-md q-gutter-sm"},[a("q-input",{attrs:{filled:"",type:"email",hint:"Email"},model:{value:t.email,callback:function(e){t.email=e},expression:"email"}}),a("q-flashcard-section",{staticStyle:{top:"60%"},attrs:{transition:"roll-left-in",active:t.active}},[a("q-btn",{staticClass:"q-mr-sm",attrs:{color:"white","text-color":"black",label:"Submit"}}),a("a",{staticClass:"my-button",attrs:{href:"https://www.worldanimalprotection.ca",target:"_blank"}},[t._v("Learn More")])],1)],1)])],1),a("div",{staticClass:"text-h5 q-pt-sm"},[t._v("Component Demo #1")])],1)])},s=[],l={data:function(){return{email:"",hover:!1,active:!1}},computed:{style:function(){return{width:"320px",height:"220px",backgroundImage:"url('bgimg.jpg')",padding:"10px",border:"10px solid #fff",textAlign:"center",boxShadow:"1px 1px 2px #e6e6e6"}}},methods:{getImage:function(t){return t%2?"1.jpg":"2.jpg"}}},o=l,n=(a("4842"),a("2877")),r=a("9564"),c=a("27f9"),d=a("9c40"),u=a("eebe"),m=a.n(u),p=Object(n["a"])(o,i,s,!1,null,"20f3a8ef",null);e["default"]=p.exports;m()(p,"components",{QToggle:r["a"],QInput:c["a"],QBtn:d["a"]})}}]);
--------------------------------------------------------------------------------
/docs/js/38.d071aa32.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[38],{ba47:function(n,e,t){"use strict";t.r(e),e["default"]='\n \n\n
\n \n \n
\n\n
\n
\n \n \n \n \n
transition="fade-in"
\n
\n\n
\n
\n \n \n \n \n
transition="fade-out"
\n
\n\n
\n \n\n
63 |
64 |
114 |
--------------------------------------------------------------------------------
/demo/src/examples/Spin.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
transition="spin-in"
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
transition="spin-out"
25 |
26 |
27 |
28 |
29 |
30 |
63 |
64 |
114 |
--------------------------------------------------------------------------------
/demo/src/examples/Zoom.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
transition="zoom-in"
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
transition="zoom-out"
25 |
26 |
27 |
28 |
29 |
30 |
63 |
64 |
114 |
--------------------------------------------------------------------------------
/demo/src/examples/Nudge.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
transition="nudge-in"
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
transition="nudge-out"
25 |
26 |
27 |
28 |
29 |
30 |
63 |
64 |
114 |
--------------------------------------------------------------------------------
/docs/js/41.b66af2b7.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[41],{"4e52":function(n,e,t){"use strict";t.r(e),e["default"]='\n \n\n
\n \n \n
\n\n
\n
\n \n \n \n \n
\n \n \n For beautiful eyes, look for the good in others; for beautiful lips, speak only words of kindness; and for poise, walk with the knowledge that you are never alone.\n \n \n Learn More \n \n \n \n
Mashup Demo #1
\n
\n\n
\n \n\n