All Projects → xizon → Uix Kit

xizon / Uix Kit

Licence: mit
A free UI toolkit based on some common libraries for building beautiful responsive website, compatible with Bootstrap v4.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Uix Kit

Material Design For Bootstrap
Important! A new UI Kit version for Bootstrap 5 is available. Access the latest free version via the link below.
Stars: ✭ 9,463 (+2875.79%)
Mutual labels:  design, uikit, bootstrap, frontend, bootstrap4
Patternfly Design
Use this repo to file all new feature or design change requests for the PatternFly project
Stars: ✭ 82 (-74.21%)
Mutual labels:  design, ui-components, front-end, front-end-development
Fast
Develop, build, deploy, redeploy, and teardown frontend projects fast.
Stars: ✭ 126 (-60.38%)
Mutual labels:  frontend, sass, front-end, front-end-development
Snapchat Clone
👻 A SnapChat clone built with React, Redux and Typescript. Styled with SASS. Tested with Cypress, Jest and Enzyme. Linted with Eslint and formatted with Prettier!
Stars: ✭ 770 (+142.14%)
Mutual labels:  frontend, sass, front-end, front-end-development
Vue Bootstrap With Material Design
Vue Bootstrap with Material Design - Powerful and free UI KIT
Stars: ✭ 803 (+152.52%)
Mutual labels:  design, bootstrap, frontend, bootstrap4
100 Days Of Code Frontend
Curriculum for learning front-end development during #100DaysOfCode.
Stars: ✭ 2,419 (+660.69%)
Mutual labels:  bootstrap, sass, front-end, front-end-development
Quick Free Bootstrap Theme
Free Bootstrap 4 Theme perfect for building responsive, mobile-first projects on the web suitable for businesses, startups, and agencies.
Stars: ✭ 31 (-90.25%)
Mutual labels:  uikit, ui-components, website, bootstrap4
Shards Ui
🎨Shards is a beautiful & modern Bootstrap 4 UI kit packed with extra templates and components.
Stars: ✭ 1,718 (+440.25%)
Mutual labels:  uikit, bootstrap, sass, bootstrap4
Boomerang Free Bootstrap Ui Kit
Boomerang is a high quality UI Kit built on top of the well known Bootstrap 4 Framework. This theme was designed as its own extended version of Bootstrap with multiple functionalities and controls added, extended color palette and beautiful typography.
Stars: ✭ 196 (-38.36%)
Mutual labels:  uikit, ui-components, bootstrap, website
React Bootstrap With Material Design
React Bootstrap with Material Design - Powerful and free UI KIT
Stars: ✭ 1,119 (+251.89%)
Mutual labels:  design, uikit, bootstrap, bootstrap4
Light dark toggle
An awesome flutter app which artistically animates light and dark mode 😍
Stars: ✭ 175 (-44.97%)
Mutual labels:  design, uikit, ui-components
Class101 Ui
💅A React-based UI Component Library.
Stars: ✭ 102 (-67.92%)
Mutual labels:  design, uikit, ui-components
Portfolio
📰 Meu portfólio criado com o objetivo de mostrar meus projetos recentes e futuros ao longo da minha carreira.
Stars: ✭ 178 (-44.03%)
Mutual labels:  design, front-end, front-end-development
Mini.css
A minimal, responsive, style-agnostic CSS framework!
Stars: ✭ 2,938 (+823.9%)
Mutual labels:  frontend, sass, front-end
Bootstrap Italia
Bootstrap Italia è un tema Bootstrap 4 conforme alle linee guida di design per i servizi web della PA
Stars: ✭ 193 (-39.31%)
Mutual labels:  design, frontend, bootstrap4
Kandinsky
Проект Кандинский. Красивый сайт для НКО
Stars: ✭ 27 (-91.51%)
Mutual labels:  wordpress, design, website
Bootstrap Blocks Wordpress Plugin
Bootstrap Gutenberg Blocks for WordPress
Stars: ✭ 143 (-55.03%)
Mutual labels:  wordpress, bootstrap, bootstrap4
Bootstrap Xd
Bootstrap Design Template — Assets Library — for Adobe XD
Stars: ✭ 74 (-76.73%)
Mutual labels:  design, uikit, bootstrap4
Calcite Maps
A Bootstrap theme for designing, styling and creating modern map apps.
Stars: ✭ 232 (-27.04%)
Mutual labels:  design, bootstrap, sass
Sage
WordPress starter theme with a modern development workflow
Stars: ✭ 11,531 (+3526.1%)
Mutual labels:  wordpress, bootstrap, bootstrap4

Uix Kit

Make over 120+ components to wear again and again!


Uix Kit is not a framework, just a UI toolkit based on some common libraries for building beautiful responsive website.

Uix Kit isn't a reusable component structure, mostly custom CSS and JavaScript based. Definitely interesting, and if you're developing mostly web content and not applications this is particularly useful. It is a web dev build tool/scaffold that does not depend on any framework. You can import any external libraries/frameworks or native ES Modules for production.

The generated core file in the dist directory can be used separately in any website. Support JS, HTML, and SASS component library automatically packaged. Automatically convert ES6 JS to ES5 using Babel in this scaffold.

Uix Kit is now in Long Term Support (LTS) mode.



Demo

https://xizon.github.io/uix-kit/examples/

GitHub pages can only serve static content, and there is no way to run PHP or get AJAX request on the pages. You need to visit the link below to see some special demos 👇

https://uiux.cc/uix-kit

Table of Contents

Getting Started with Videos

https://www.youtube.com/watch?v=aRDY9Cr-1-E

Why use it

  • Not a reusable component structure
  • Not a JavaScript framework
  • Webpack-based dev environment which is an intuitive toolkit system
  • Use any JavaScript libraries in your favorite way to build styles and animation scripts
  • Suitable for developing Visual Interaction websites and WordPress templates
  • W3C standard and SEO
  • Control scope with BEM naming, so the core Uix Kit project is not in conflict with the other projects
  • Automatically generate a table of contents for each module comment of the name
  • Each module consists of SASS / SCSS, JavaScript and HTML files
  • Make a foundation for the React architecture
  • Compatible with Bootstrap 4.x
  • Provides a common web page components and layouts
  • Using ES6 to import or export multiple modules, the third-party plugins could adopt pure file merger method and do not import and export
  • The complete directory of examples in order to develop a responsive website independently without Node.js dev environment

Installation And Test

quick overview 1

quick overview 2

You will need to have node setup on your machine. That will output the built distributables to ./dist/* and ./examples/*.html.

Step 1. Use NPM (Locate your current directory of project, and enter the following command.) or download the latest version from Github. For nodejs you have to install some dependencies.

$ sudo npm install uix-kit

Or clone the repo to get all source files including build scripts:

$ git clone git://github.com/xizon/uix-kit.git

Step 2. First, using an absolute path into your "uix-kit/" folder directory.

$ cd /{your_directory}/uix-kit

Step 3. Before doing all dev stuff make sure you have Node 10+ installed. After that, run the following code in the main directory to install the node module dependencies.

$ sudo npm install --only=dev --unsafe-perm --production

Step 4. When you’re ready to deploy to production, create a minified bundle with:

$ npm run build

Step 5. When you have done, this will spin up a server that can be accessed at

http://localhost:8080/examples/

Note:

a) ERROR: npm update check failed.

$ sudo chown -R $USER:$(id -gn $USER) /Users/{username}/.config

b) How to use modules?

You could custom modules of what to import in src/components/_app-load.js and src/components/_app-load-rtl.js. Because the modules are imported too much, you need to wait at least 5.5 seconds (default value). You can set the compilation wait time in the webpack.config.js according to the imported modules you want.

c) Site Info Configuration

You can update the Placeholders in Templates by modifying the Site Info configuration of package.json. Like this:

{
  "author": "UIUX Lab",
  "name": "uix-kit",
  "email": "[email protected]",
  "version": "1.0.0",
  "projectName": "Uix Kit",
  "createdInfo": "UIUX Lab (https://uiux.cc)",
  "projectURL": "https://uiux.cc",
  "description": "A free web kits for fast web design and development, compatible with Bootstrap v4.",
  ...
}

How To Use

1. HTML Structure

<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
	<meta charset="utf-8" />
	<title>Web Site Title</title>
	
	<!-- Compatibility Settings
	============================================= -->
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<!-- Compatibility Settings end -->

	<!-- Core & Theme CSS
	============================================= -->

	<!-- Basic  -->
	<link rel="stylesheet" href="assets/css/bootstrap.min.css?ver=4.2.1" media="all"/>
	<link rel="stylesheet" href="assets/css/video.min.css?ver=7.4.1" media="all"/>


	<!-- Icons  -->
	<link rel="stylesheet" href="assets/fonts/fontawesome/css/all.min.css?ver=5.7.0">
	<link rel="stylesheet" href="assets/fonts/fontawesome/css/v4-shims.min.css?ver=5.7.0">


	<!-- Theme  -->
	<link rel="stylesheet" href="../dist/css/uix-kit.min.css?ver=1.0.0"/>


	<!--[if lt IE 10]>
	<link rel="stylesheet" href="assets/css/IE.css?ver=1.0.0" />
	<![endif]-->


	<!-- Core & Theme CSS  end -->
	<!-- Vendor
	============================================= -->
	<script src="assets/js/wp-jquery/jquery.min.js?ver=3.3.1"></script>
	<script src="assets/js/wp-jquery/jquery.migrate.min.js?ver=1.4.1"></script>
    <script src="assets/js/min/modernizr.min.js?ver=3.5.0"></script>
	<!-- Vendor  end -->

	<!-- Break free from CSS prefix hell!
	============================================= -->
	<script src="assets/js/min/prefixfree.min.js?ver=1.0.7"></script>

</head> 

<body> 
	
	{your_html_codes_here}
	
	
	<!-- Vendor -->
    <script src="assets/js/min/axios.min.js?ver=0.19.2"></script>
	<script src="assets/js/min/jquery.waitforimages.min.js?ver=1.0"></script>
	<script src="assets/js/min/video.min.js?ver=7.4.1"></script>
	<script src="assets/js/min/template7.min.js?ver=1.2.5"></script>
	<script src="assets/js/min/TweenMax.min.js?ver=2.0.2"></script>
	<script src="assets/js/min/pixi.min.js?ver=4.8.4"></script>
	<script src="assets/js/min/three.min.js?ver=r99"></script>
	<script src="assets/js/min/anime.min.js?ver=2.2.0"></script>
	<script src="assets/js/min/hammer.min.js?ver=2.0.8"></script>
	<script src="assets/js/min/muuri.min.js?ver=0.7.1"></script>

	<!-- Your Plugins & Theme Scripts
	============================================= -->
	<script>
        /*
        * Some global vars. DO NOT change these variables names. 
        * These variables are being used in `uix-kit.min.js`.
        *    
        */ 
		var REVISION     = "1.0.0",
			APP_ROOTPATH = {
				"templateUrl" : "", //If the file is in the root directory, you can leave it empty. If in another directory, you can write: "/blog"
				"homeUrl"     : "",  //Eg. https://uiux.cc
				"ajaxUrl"     : ""   //Eg. https://uiux.cc/wp-admin/admin-ajax.php
			};
        

        /*
        * Fixed a bug that Cannot read property 'fn' of undefined for jQuery 1.xx.x.
        *    
        */
        window.$ = window.jQuery;
	</script>
	<script src="../dist/js/uix-kit.min.js?ver=1.0.0"></script>
	
</body>

</html>

2. File Structures

uix-kit/
├── README.md   --------------------------- # Main Documentation
├── CHANGELOG.md   ------------------------ # Changelog
├── CONTRIBUTING.md   --------------------- # External resource references
├── LICENSE     --------------------------- # License
├── webpack.config.js  -------------------- # Webpack scaffold configuration file
├── package.json  ------------------------- # Project configuration file (site info can be modified here)
├── package-lock.json
├── dist/
│   ├── css/
│   │   ├── uix-kit.css  ------------------ # Main css file
│   │   ├── uix-kit.css.map
│   │   ├── uix-kit.min.css  -------------- # Main css file which is used for production
│   │   ├── uix-kit.min.css.map
│   │   ├── uix-kit-rtl.css   ------------- # Main RTL css file
│   │   ├── uix-kit-rtl.css.map
│   │   ├── uix-kit-rtl.min.css   --------- # Main RTL css file which is used for production
│   │   └── uix-kit-rtl.min.css.map
│   └── js/
│   │   ├── uix-kit.js   ------------------ # Main js file
│   │   ├── uix-kit.js.map
│   │   ├── uix-kit.min.js  --------------- # Main js file which is used for production
│   │   ├── uix-kit.min.js.map
│   │   ├── uix-kit-rtl.js
│   │   ├── uix-kit-rtl.js.map
│   │   ├── uix-kit-rtl.min.js
│   │   └── uix-kit-rtl.min.js.map
├── misc/                
│   ├── screenshots/  --------------------- # Screenshots
│   └── grid/ ----------------------------- # PSD grid system
├── src/
│   ├── third-party-plugins/  ------------------------- # Third-party plugins
│   ├── components/
│   │   ├── _app-load.js  ------------- # Import your modules to be used
│   │   ├── _app-load-rtl.js  --------- # Import your RTL modules to be used
│   │   ├── _global/ ------------------ # Generic modules
│   │   ├── _main/  ------------------- # Customization site file directory (for secondary or new website development)
│   │   └── */  ----------------------- # Core functional modules
├── examples/                                
│   ├── *.html  --------------------------- # HTML templates
│   └── assets/  -------------------------- # Static resource directory
│   │       ├── css/
│   │       ├── fonts/
│   │       ├── images/
│   │       ├── videos/
│   │       ├── models/
│   │       ├── json/
│   │       └── js/
└──

3. PSD Grid Templates

You can download the corresponding .PSD grid files.

  • misc/grid/bootstrap3_1170_grid_web.psd (Default Container: 1170px)
  • misc/grid/bootstrap3_1278_grid_web.psd (XL Container: 1278px)
  • misc/grid/bootstrap3_1410_grid_web.psd (XXL Container: 1410px)

How to Create a Custom Module

Assuming you are in your application's root directory and want to create components inside src/components/ as you show above. You can create a new directory and name it demo-module.

👇👇👇

Here’s a sample custom module directory structure, I’ve included some examples of files that would sit inside of each folder:

uix-kit/
├── src/
│   ├── components/
│   │     ├── _app-load.js
│   │     ├── _app-load-rtl.js
│   │     └── demo-module/
│   │              ├── scss/*.scss
│   │              ├── scss-rtl/*.scss
│   │              ├── js/*.js
│   │              └── *.html
└──

Step 1. Inside that folder create two sub folders: /scss and /js. If you need to support RTL, create another /scss-rtl.

Step 2. Create a SASS/SCSS file. Go into the src/components/demo-module/scss/ folder and create a file called: _style.scss. Please import global variables or functions. Here's an example:

/* ====================================================== 
   <!-- Demo Module Stylesheets --> 
/* ====================================================== */
@import '@uixkit/core/_global/scss/_variable-and-mixin.scss';

.app-demo {
	font-size: $basic-font-size;
    text-align: left;
}

Step 2-2 (Optional). Alright, so if you need to support RTL. You need create a new SASS/SCSS file. Go into the src/components/demo-module/scss-rtl/ folder and create a file called: _style.scss. Like this:

/* ====================================================== 
   <!-- Demo Module Stylesheets --> 
/* ====================================================== */
@import '@uixkit/core/_global/scss/_variable-and-mixin.scss';

.app-demo {
    text-align: right;
}

Step 3. Create a JS file. Go into the src/components/demo-module/js/ folder and create a file called: index.js. In order to make it work we need to import the global variables or functions in file index.js.

Simultaneously, Now you’re ready to import your Stylesheets to use with this component. Import SASS/SCSS file in src/components/demo-module/js/index.js.

Like this:.

/* 
 *************************************
 * <!-- Demo Module Scripts  -->
 *************************************
 */
import {
    templateUrl,
    homeUrl,
    ajaxUrl,
    browser,
    UixModuleInstance,
    UixGUID,
    UixMath,
    UixCssProperty
} from '@uixkit/core/_global/js';

import '../scss/_style.scss';

export const DEMO_MODULE = ( ( module, $, window, document ) => {
	if ( window.DEMO_MODULE === null ) return false;

    module.DEMO_MODULE               = module.DEMO_MODULE || {};
    module.DEMO_MODULE.version       = '0.0.1';
    
    
    // executes when HTML-Document is loaded and DOM is ready
    module.DEMO_MODULE.documentReady = function( $ ) {
		/* 
		 ---------------------------
		 Function Name
		 ---------------------------
		 */ 
		// your code here...
	
    };
    module.components.documentReady.push( module.DEMO_MODULE.documentReady );
	
    
    
    // executes when complete page is fully loaded, including all frames, objects and images
    module.DEMO_MODULE.pageLoaded    = function() {
		/* 
		 ---------------------------
		 Function Name
		 ---------------------------
		 */ 
		 // your code here...
		
    };
    module.components.pageLoaded.push( module.DEMO_MODULE.pageLoaded );	


	return class DEMO_MODULE {
		constructor() {
			this.module = module;
		}
	};
})( UixModuleInstance, jQuery, window, document );

Step 4. So far, to dynamically import the module you just created in src/components/_app-load.js. The simplest version directly imports the default:

import DEMO_MODULE from '@uixkit/core/demo-module/js';

Step 4-2 (Optional). If you need to support RTL, in src/components/_app-load-rtl.js. like this:

import '@uixkit/core/demo-module/scss-rtl/_style.scss';

These RTL modules do not need JavaScript.

Step 5 (Optional). You could also create an HTML file to run the demo of this module separately, all HTML files will be automatically exported into the directory examples/. The demo code of the HTML file is as follows:

<!DOCTYPE html>
<html lang="@@{website_lang}" dir="@@{website_dirLTR}">
<head>
	<meta charset="@@{website_charset}" />
	<title>Demo Module - @@{website_title}</title>	
	@@include('./src/components/_global/include-header.html')
</head>  
<body class="page">
     
    @@include('./src/components/_global/include-loader.html')
    @@include('./src/components/_global/include-toggle-trigger.html')
 
    <div class="uix-wrapper">
        <!-- Header Area
        ============================================= -->      
        <header class="uix-header__container">
             <div class="uix-header">
                 <div class="container">
                        @@include('./src/components/_global/include-brand.html')
                        @@include('./src/components/_global/include-menu.html')
                  </div>
                  <!-- .container end -->
                  
                  <div class="uix-clearfix"></div>
             </div>
        
        </header>
        <div class="uix-header__placeholder js-uix-header__placeholder-autoheight"></div>
    
		<main id="uix-maincontent">
			<!-- Content   
			====================================================== -->
			<section class="uix-spacing--s uix-spacing--no-bottom">
				<div class="container">
					<div class="row">
						<div class="col-12">
							<h3>Demo Module</h3>
							<hr>
						</div>
					</div>
				</div>
			</section>
			
		   <!-- Content  
			====================================================== -->
			<section class="uix-spacing--s">
				<div class="container uix-t-c">
                    <div class="row">
                        <div class="col-12">
                            ...
                        </div>
                    </div>
				</div>
			</section>   
		</main> 
        
        @@include('./src/components/_global/include-copyright.html')
        
    </div>
    <!-- .uix-wrapper end -->
        
    @@include('./src/components/_global/include-footer.html')

Note 💡: You could call a specified module script which is commonly used for callbacks of AJAX request from Asynchronous method. The demo code is here:

import { UixModuleInstance } from '@uixkit/core/_global/js';

if ( UixModuleInstance.DEMO_MODULE ) UixModuleInstance.DEMO_MODULE.pageLoaded();
if ( UixModuleInstance.DEMO_MODULE ) UixModuleInstance.DEMO_MODULE.documentReady($);

Since Uix Kit is not a JavaScript framework, you could use any third-party libraries to build your custom module styles and animation scripts in the most intuitive way.

Contributing

Finding bugs, sending pull requests or improving our docs - any contribution is welcome and highly appreciated. To get started, head over to our contribution guidelines. Thanks!

Changelog

releases

Browser Support

Chrome Firefox Edge IE Safari Opera iOS Android
45+ ✔ 38+ ✔ 12+ ✔ 9+ ✔ 9.1+ ✔ 30+ ✔ 10+ ✔ 4.4+ ✔

Licensing

Licensed under the MIT.

Buy Me a Coffee

Donations would be more than welcome :)

Donate

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].