UNPKG

9.01 kBMarkdownView Raw
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&amp;utm_medium=referral&amp;utm_content=zircleUI/zircleUI&amp;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?
24Check 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
52You 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
54In 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:
81Despite **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
84Please 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
89Just 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)
92Include `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
95NPM or Yarn are the recommended installation method for **zircle-ui**, if you are building medium to large scale applications.
96
97Create a project folder and inside it run:
98
99```bash
100npm install zircle
101# OR
102yarn 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
110There are several options to setup and start using **zircle-ui**.
111
112### - Code Sandbox
113The 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
116After 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
154As 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
156Vue-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
158In the `main.js` file add this code:
159```js{3-5}
160import Vue from 'vue'
161import App from './App'
162import zircle from 'zircle'
163import 'zircle/dist/zircle.css'
164Vue.use(zircle)
165new Vue({
166 render: h => h(App)
167}).$mount('#app')
168```
169
170In 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
191Create 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
201Many 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
204In 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)