1 | <p align="center">
|
2 | <a href="http://zircle.io">
|
3 | <img src="https://raw.githubusercontent.com/zircleUI/docs/gh-pages/zircle-ui-blue.png" width="200">
|
4 | </a>
|
5 | </p>
|
6 |
|
7 | <p align="center">
|
8 | A frontend library to develop zoomable user interfaces.
|
9 | </p>
|
10 |
|
11 | <p align="center">
|
12 | <a href="https://www.npmjs.com/package/zircle"><img src="https://img.shields.io/npm/v/zircle.svg"></a>
|
13 | <a href="https://vuejs.org/"><img alt="npm" src="https://img.shields.io/badge/vue-2.x-brightgreen.svg"></a>
|
14 | <a href="https://www.npmjs.com/package/zircle"><img alt="downloads" src="https://img.shields.io/npm/dm/zircle.svg?style=flat"></a>
|
15 | <a href="https://www.codacy.com/gh/zircleUI/zircleUI/dashboard?utm_source=github.com&utm_medium=referral&utm_content=zircleUI/zircleUI&utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/88ef4dd3011f43f4ae54eaf69f071dd4"/></a>
|
16 | </p>
|
17 |
|
18 | <p align="center">
|
19 | Like it? Get involved, fork it or leave a star. <a href="https://github.com/zircleUI/zircleUI/stargazers"> <img src="https://img.shields.io/github/stars/zircleUI/zircleUI.svg?label=%E2%98%85%20Stars&logo=-&style=social"></a>
|
20 |
|
21 | </p>
|
22 |
|
23 | ## Using Vue 3?
|
24 | Check out [zircleui/vue3 branch](https://github.com/zircleUI/zircleUI/tree/vue3)
|
25 |
|
26 | ## Breaking news!
|
27 |
|
28 | > I've been working on a new zooming engine.
|
29 | >
|
30 | > Give **Zumly** a try and joing our community at https://zumly.org!
|
31 |
|
32 | ## What is zircle-ui?
|
33 |
|
34 | **Zircle-ui** is an experimental frontend library to develop [zoomable user interfaces (ZUI)](https://en.wikipedia.org/wiki/Zooming_user_interface). It is based on [vue.js](https://vuejs.org/) and JavaScript and comes with a set of components to create unconventional user interfaces.
|
35 |
|
36 | <img src="https://raw.githubusercontent.com/zircleUI/docs/gh-pages/final.gif" width="100%" style="border-radius: 6px;" alt="demo">
|
37 |
|
38 | ## Features
|
39 |
|
40 | - **Zoomable UI/UX:** Enjoy a different UI/UX with the built-in zoomable navigation.
|
41 |
|
42 | - **Circles everywhere:** Breaking away from the conventional UI with a circular UI Kit.
|
43 |
|
44 | - **Responsive:** zircle-ui works pretty well on mobile devices and big screens.
|
45 |
|
46 | - **Customizable themes:** Aren't the integrated color themes enough? No problem, it is easy to create new ones.
|
47 |
|
48 | - **Zero-conf routes:** Using Vue-router? Let **zircle-ui** handles the routes for you.
|
49 |
|
50 | ## When to use zircle-ui?
|
51 |
|
52 | You can try **zircle-ui** to develop a wide range of applications, such as: dashboards, health/fitness trackers, IOT hubs or controllers, contact management, information and entertainment, interactive menus, etc.
|
53 |
|
54 | In general, using **zircle-ui** should be fine if your application is highly interactive and you need to intuitively view and control information without loosing the user’s attention.
|
55 |
|
56 | ## About zircle-ui
|
57 | **Zircle-ui** is the first [Open Source Project](https://opensource.guide/starting-a-project/) I've made and it was possible thanks to the Open Source community, specially the [Vue](https://vuejs.org) community. In retribution, I've created a project of the highest quality I could within my limitations since I'm not a professional developer.
|
58 |
|
59 | **Zircle-ui** intends to promote approach in the universe of UIs. My main motivation is believing there is room for a new UI/UX not constrained to grid layouts or to squared shapes.
|
60 |
|
61 | **Zircle-ui** was inspired by the idea underneath some really awesome projects and articles like [prezi](https://www.prezi.com), [impress.js](https://github.com/impress/impress.js), [tizen](https://www.tizen.org/), [zoomooz](http://jaukia.github.io/zoomooz/), [creativebloq's article](https://www.creativebloq.com/create-zoomable-user-interface-css-transforms-9114269), [google maps](http://maps.google.com), [bootstrap](https://getbootstrap.com/), [UIKit](https://getuikit.com/) and [bulma](https://bulma.io) among others.
|
62 |
|
63 | ---
|
64 | ## Table of contents
|
65 | - [Status](#status-beta)
|
66 | - [Documentation, examples and tutorial](#documentation-examples-and-tutorial)
|
67 | - [Installation](#installation)
|
68 | * [Direct download](#--direct-download)
|
69 | * [Content delivery networks (CDN)](#--content-delivery-networks-cdn)
|
70 | * [NPM or Yarn](#--npm-or-yarn)
|
71 | - [Quick Start](#quick-start)
|
72 | * [Code Sandbox](#--code-sandbox)
|
73 | * [Browser](#--browser)
|
74 | * [Single File Components and vue-cli](#--single-file-components-and-vue-cli)
|
75 | - [Contributing](#contributing)
|
76 | - [License](#license)
|
77 |
|
78 | ---
|
79 |
|
80 | ## Status:
|
81 | Despite **zircle-ui** could be considered **stable**, it will remains as beta for a while because I would like to hear feedbacks regarding its usability.
|
82 |
|
83 | ## Documentation, examples and tutorial
|
84 | Please checkout [**https://zircleui.github.io/docs/**](https://zircleui.github.io/docs/) to learn how to use **zircle-ui**. For early **zircle-ui** users a **easy-to-follow migration guide** [is available here](https://zircleui.github.io/docs/guide/migration.html)
|
85 |
|
86 | ## Installation
|
87 |
|
88 | ### - Direct download
|
89 | Just download **zircle-ui** from [Github](https://github.com/zircleUI/zircleUI/tree/master/dist). You need to download the zircle.umd.js or the zircle.umd.min.js file along with the zircle.css file.
|
90 |
|
91 | ### - Content delivery networks (CDN)
|
92 | Include `https://unpkg.com/zircle` in your project with `<script>` tag. With CDN you will have the latest version of **zircle-ui** as soon as it is published to NPM. You can also browse the source of the npm package at [https://unpkg.com/zircle/](https://unpkg.com/zircle/)
|
93 |
|
94 | ### - NPM or Yarn
|
95 | NPM or Yarn are the recommended installation method for **zircle-ui**, if you are building medium to large scale applications.
|
96 |
|
97 | Create a project folder and inside it run:
|
98 |
|
99 | ```bash
|
100 | npm install zircle
|
101 | # OR
|
102 | yarn add zircle
|
103 | ```
|
104 |
|
105 | > - [Install Vue.js](https://vuejs.org/v2/guide/installation.html) before **zircle-ui**.
|
106 | > - For small applications or prototyping you can directly use **zircle-ui** into a browser and for more complex apps you can use **zircle-ui** with [Single File Components (SFC)](https://vuejs.org/v2/guide/single-file-components.html).
|
107 |
|
108 |
|
109 | ## Quick Start
|
110 | There are several options to setup and start using **zircle-ui**.
|
111 |
|
112 | ### - Code Sandbox
|
113 | The easiest way to try and start using **zircle-ui** is using [JSFiddle](https://jsfiddle.net/tinchox5/37mr5324/) or [Codepen](https://codepen.io/zircle/pen/ypZdWZ). For **zircle-ui** projects based on vue-cli 3 you can try [CodeSandbox](https://codesandbox.io/s/y26p3q79k9)
|
114 |
|
115 | ### - Browser
|
116 | After you have installed **zicle ui** using [direct download](#--direct-download) or [CDN](#--content-delivery-networks-cdn), the following starter template creates a Vue Instance and provides `<z-canvas>` component to start the development of your **zircle-ui** application.
|
117 |
|
118 | ```html
|
119 | <!DOCTYPE html>
|
120 | <html>
|
121 | <head>
|
122 | <!-- Vue.js -->
|
123 | <script type="text/javascript" src="https://unpkg.com/vue"></script>
|
124 |
|
125 | <!-- Zircle from CDN-->
|
126 | <script type="text/javascript" src="https://unpkg.com/zircle"></script>
|
127 | <link href="https://unpkg.com/zircle/dist/zircle.css" rel="stylesheet">
|
128 |
|
129 | </head>
|
130 | <body>
|
131 | <div id="app">
|
132 | <z-canvas :views="$options.components"></z-canvas>
|
133 | </div>
|
134 |
|
135 | <script>
|
136 | const home = {
|
137 | template: `<z-view> Hello World! </z-view>`
|
138 | }
|
139 | new Vue({
|
140 | el: '#app',
|
141 | components: {
|
142 | home
|
143 | },
|
144 | mounted () {
|
145 | this.$zircle.setView('home')
|
146 | }
|
147 | })
|
148 | </script>
|
149 | </body>
|
150 | </html>
|
151 | ```
|
152 |
|
153 | ### - Single File Components and vue-cli
|
154 | As Vue documentation explains, with the previous setup you can work very well for small to medium-sized projects. However, in more complex projects it is better to use [Single File Components (SFC)](https://vuejs.org/v2/guide/single-file-components.html).
|
155 |
|
156 | Vue-cli is a powerful tool to develop complex projects. So, after you have installed and run vue-cli as it is described in the [official Vue cli docs](https://cli.vuejs.org/guide/installation.html), you can install **zircle-ui** with [NPM or Yarn](#--npm-or-yarn) and add the following code to your vue-cli project:
|
157 |
|
158 | In the `main.js` file add this code:
|
159 | ```js{3-5}
|
160 | import Vue from 'vue'
|
161 | import App from './App'
|
162 | import zircle from 'zircle'
|
163 | import 'zircle/dist/zircle.css'
|
164 | Vue.use(zircle)
|
165 | new Vue({
|
166 | render: h => h(App)
|
167 | }).$mount('#app')
|
168 | ```
|
169 |
|
170 | In the `App.vue` file add this code:
|
171 | ```vue
|
172 | <template>
|
173 | <div id="app">
|
174 | <z-canvas :views="$options.components"></z-canvas>
|
175 | </div>
|
176 | </template>
|
177 |
|
178 | <script>
|
179 | import home from './components/home'
|
180 | export default {
|
181 | components: {
|
182 | home
|
183 | },
|
184 | mounted () {
|
185 | this.$zircle.setView('home')
|
186 | }
|
187 | }
|
188 | </script>
|
189 | ```
|
190 |
|
191 | Create the `home.vue` view in the **/components** folder:
|
192 | ```vue
|
193 | <template>
|
194 | <z-view>
|
195 | This screen was zirclelized!
|
196 | </z-view>
|
197 | </template>
|
198 | ```
|
199 |
|
200 | ## Contributing
|
201 | Many things could be improved and enriched with you collaboration no matter if you are a developer or not. [Here you will find](https://zircleui.github.io/docs/contribute/) some guidelines for inspiration.
|
202 |
|
203 | ## Dedication
|
204 | In memory of my dad Néstor
|
205 |
|
206 | ## License
|
207 | [MIT Licensed | Copyright © 2017 - present | Juan Martín Muda](https://raw.githubusercontent.com/zircleUI/zircleUI/master/LICENSE)
|