12
.gitignore
vendored
|
@ -1,11 +1,15 @@
|
|||
prepros-6\.config
|
||||
|
||||
docs/v3/index-splash-o2\.jpg
|
||||
|
||||
docs/v3/index-splash-o1\.jpg
|
||||
|
||||
dist/mini-doc\.min\.css
|
||||
|
||||
dist/mini-doc\.css
|
||||
|
||||
docs/v3/index-splash-o1\.jpg
|
||||
|
||||
docs/v3/index-splash-o2\.jpg
|
||||
|
||||
docs/v3/responsive-original\.svg
|
||||
|
||||
docs/v3/index-splash_original\.jpg
|
||||
|
||||
node_modules
|
||||
|
|
12
README.md
|
@ -4,8 +4,7 @@ A minimal, responsive, style-agnostic CSS framework
|
|||
|
||||
[![npm](https://img.shields.io/npm/v/mini.css.svg)](https://www.npmjs.com/package/mini.css)
|
||||
[![license](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/Chalarangelo/mini.css/blob/master/LICENSE)
|
||||
[![website](https://img.shields.io/badge/website-online-green.svg)](https://chalarangelo.github.io/mini.css/)
|
||||
[![Gitter](https://img.shields.io/gitter/room/minicss/Lobby.svg)](https://gitter.im/minicss/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[![website](https://img.shields.io/badge/website-online-green.svg)](https://minicss.org)
|
||||
|
||||
![Logo](/docs/page_thumb.png)
|
||||
|
||||
|
@ -30,9 +29,9 @@ npm install mini.css
|
|||
yarn add mini.css
|
||||
bower install mini.css
|
||||
```
|
||||
2. Pick one of the available [flavors](https://chalarangelo.github.io/mini.css/flavors.html) and use its CSS file.
|
||||
2. Pick one of the available [flavors](https://minicss.org/flavors) and use its CSS file.
|
||||
|
||||
3. Start working on your project. Detailed documentation is available on the framework's [website](https://chalarangelo.github.io/mini.css/modules.html), so be sure to check it out.
|
||||
3. Start working on your project. Detailed documentation is available on the framework's [website](https://minicss.org/docs), so be sure to check it out.
|
||||
|
||||
#### Method 2: Use GitCDN
|
||||
|
||||
|
@ -58,9 +57,9 @@ If you would rather use an older version of the framework, you should head over
|
|||
|
||||
## Flavors & customizaton
|
||||
|
||||
*Flavors* are one of the key features of **mini.css**, allowing you to customize your website's design and make your project stand out. We provide you with a few pre-defined [flavors](https://chalarangelo.github.io/mini.css/flavors.html) that might suit your needs and will help you figure out how to use the framework and create websites and apps with it.
|
||||
*Flavors* are one of the key features of **mini.css**, allowing you to customize your website's design and make your project stand out. We provide you with a few pre-defined [flavors](https://minicss.org/flavors#prebuilt-flavors) that might suit your needs and will help you figure out how to use the framework and create websites and apps with it.
|
||||
|
||||
But you can easily build you own flavors by editing a flavor file and customizing almost everything. For more information, head over to the [Customization page](https://chalarangelo.github.io/mini.css/customization/index.html) and build your own flavor the way you like it.
|
||||
But you can easily build you own flavors by using our [flavor generator tool](https://minicss.org/flavors#build-your-own-flavor), which allows you to customize almost everything. Take your time and create the perfect flavo to suit your needs.
|
||||
|
||||
---
|
||||
|
||||
|
@ -78,7 +77,6 @@ The team behind **mini.css** is as follows:
|
|||
- Angelos Chalaris ([@chalarangelo](https://github.com/Chalarangelo)) - Sass archmage, project manager
|
||||
|
||||
Special thanks to these fine folks for helping in the development of **mini.css**:
|
||||
- Angeliki Daskalakis ([@angiedaskalakis](https://github.com/AngieDaskalakis)) - Author of the [Sucroa](https://github.com/Chalarangelo/mini.css/blob/master/dist/mini-sucroa.css) flavor
|
||||
- [@tphecca](https://github.com/tphecca) - Author of the [Nord](https://github.com/Chalarangelo/mini.css/blob/master/dist/mini-nord.css) flavor
|
||||
- [Per Harald Borgen](https://scrimba.com/perborgen) - Introductory video creator
|
||||
- Rory Primrose ([@roryprimrose](https://github.com/roryprimrose)) - Code restructure
|
||||
|
|
2566
dist/mini-dark.css
vendored
2
dist/mini-dark.min.css
vendored
2558
dist/mini-default.css
vendored
2
dist/mini-default.min.css
vendored
1427
dist/mini-lite.css
vendored
1
dist/mini-lite.min.css
vendored
2734
dist/mini-nord.css
vendored
2
dist/mini-nord.min.css
vendored
1404
dist/mini-pwa.css
vendored
1
dist/mini-pwa.min.css
vendored
2154
dist/mini-sucroa.css
vendored
1
dist/mini-sucroa.min.css
vendored
2
docs/FileSaver.min.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
|
||||
var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,a=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},s="application/octet-stream",d=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,d)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(a){u(a)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,d){if(!d){t=p(t)}var v=this,w=t.type,m=w===s,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&i)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;a(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define("FileSaver.js",function(){return saveAs})}
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 9 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 7.6 KiB |
265
docs/build-docs.js
Normal file
|
@ -0,0 +1,265 @@
|
|||
var fs = require('fs');
|
||||
var version = require('./vinf'); // Gets version info.
|
||||
var frameworkUrl = `"https://cdnjs.cloudflare.com/ajax/libs/mini.css/${version.version.slice(1)}/mini-default.css"`;
|
||||
// INDEX
|
||||
|
||||
var indexHtml = `<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata:400,700|Poppins:400,400i,500,700,700i&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./style.min.css">
|
||||
<title>mini.css - Minimal, responsive, style-agnostic CSS framework</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites.">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, toolkit">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
</head>
|
||||
<body>
|
||||
<div class="index-splash">
|
||||
<div class="index-splash-image no-filter"></div>
|
||||
<div class="index-splash-image"></div>
|
||||
<h1 class="splash">mini<small>.css</small></h1>
|
||||
<p class="splash">minimal, responsive, style-agnostic <br>CSS framework</p>
|
||||
<p id="version-info">${version.version}</p>
|
||||
<a class="button splash" href="docs">Get started</a>
|
||||
</div>
|
||||
<header class="row sticky">
|
||||
<span class="col-md-1 col-lg-2"></span>
|
||||
<span class="logo col-sm-3 col-md">mini.css</span>
|
||||
<a class="button col-sm col-md" href="docs">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
|
||||
<span> Docs</span></a>
|
||||
<a class="button col-sm col-md" href="https://github.com/Chalarangelo/mini.css" target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
<span> Github</span></a>
|
||||
<a class="button col-sm col-md" href="flavors">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34"></path><polygon points="18 2 22 6 12 16 8 16 8 12 18 2"></polygon></svg>
|
||||
<span> Flavors</span></a>
|
||||
<span class="col-md-1 col-lg-2"></span>
|
||||
</header>
|
||||
<div class="row padded">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<img src="./responsive.svg" class="feature-image">
|
||||
<h2 class="feature-header">Fast and Responsive</h2><br>
|
||||
<p>Want to build websites that look beautiful on any and all devices, but also load fast on mobile connections? Then <strong>mini.css</strong> is the right tool for you! Its tiny size (under 10KB gzipped), along with its <strong>responsive grid</strong> and modern components ensures that all your users are satisfied and can access your website anytime, anywhere. Bridging the gap between fully-featured frameworks (e.g. Bootstrap and Semantic UI) and micro frameworks (e.g. Milligram and Pure.CSS), <strong>mini.css</strong> packs a lot of features in a small package, while it relies solely on CSS, meaning you do not have to worry about any conflicts with other Javascript libraries you might be using.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row padded alt-back">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<img src="./tailored.svg" class="feature-image">
|
||||
<h2 class="feature-header">Tailored to Your Needs</h2><br>
|
||||
<p>Creating a CSS framework that caters to everyone's needs is no easy task, but <strong>mini.css</strong> manages to rise to the occasion by providing extensive and coherent documentation in combination with templates, examples and semantic HTML5 markup. Modern UX patterns and accessibility guidelines are well-documented and can be used out of the box, using one of the unique <strong>flavors</strong> that the framework provides. If you still want more, you can create your own custom flavor or tweak an existing one just by opening its CSS file and changing a few custom properties. It's that simple! </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row padded primary-section">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<h2 class="feature-header">Get started now!</h2><br>
|
||||
<p>Head over to the <a href="docs">documentation</a> to learn how to get started using <strong>mini.css</strong>, as well as what flavors and components are availble and how to use them to create the website or web app you've always wanted. If you like the framework and want to support it, remember to to star it on Github. It means a lot to us and it only takes a couple of seconds!</p>
|
||||
<p style="text-align:center;"><a href="docs" class="button">Get started</a></p>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" target="_blank" class="centered">mini.css on Github</a>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="row"><div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2"><p style="text-align: justify;"><strong>mini.css</strong> was designed and built by <a href="https://github.com/Chalarangelo" target="_blank">@Chalarangelo</a>. Source code licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>.</p><p>Icons provided by <a href="https://feathericons.com/" target="_blank">Feather</a>. Photo by <a href="https://unsplash.com/photos/vjMgqUkS8q8" target="_blank">Christopher Gower</a> on <a href="https://unsplash.com" target="_blank">Unsplash</a>.</p></div></footer>
|
||||
</body>
|
||||
</html>`;
|
||||
|
||||
var indexOutputPath = './docs/index.html'; // This path is relative to package.json.
|
||||
|
||||
fs.writeFile(indexOutputPath,
|
||||
`${indexHtml}`,
|
||||
function(err) { if(err) return console.log(err); console.log("Index file generated!"); }
|
||||
);
|
||||
|
||||
// DOCUMENTATION
|
||||
var docFragments = require('./doc-fragments/docFragments'); // Gets all document fragments as a list.
|
||||
var docOutputPath = './docs/docs.html'; // This path is relative to package.json.
|
||||
|
||||
const FEATHER_BANNER = `<a href="https://feathericons.com/" class="section double-padded" id="feather-banner" target="_blank" rel="noopener"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f8f8f8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17" y1="15" x2="9" y2="15"></line></svg> Powered by Feather</a>`;
|
||||
|
||||
var documentStart = `<!DOCTYPE html><html lang="en"><head>
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata:400,700|Poppins:400,400i,500,700,700i&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./style.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.0.4/fuse.min.js"></script>
|
||||
<title>mini.css - Docs</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites.">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, toolkit">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
</head><body>`;
|
||||
var documentEnd = `</body></html>`;
|
||||
|
||||
var appShellStart = `<div id="root"><header class="row">
|
||||
<span class="logo col-sm-3 col-md">mini.css</span>
|
||||
<a class="button col-sm col-md" href="https://github.com/Chalarangelo/mini.css" target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
<span> Github</span></a>
|
||||
<a class="button col-sm col-md" href="flavors">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34"></path><polygon points="18 2 22 6 12 16 8 16 8 12 18 2"></polygon></svg>
|
||||
<span> Flavors</span></a>
|
||||
<label for="doc-drawer-checkbox" class="button drawer-toggle col-sm"></label>
|
||||
</header>
|
||||
<div class="row" id="doc-wrapper">`;
|
||||
var appShellEnd = `</div></div>`;
|
||||
|
||||
var appSidebarStart = `<input id="doc-drawer-checkbox" class="drawer" value="on" type="checkbox">
|
||||
<nav class="col-md-4 col-lg-3" id="nav-drawer"><h3>Menu</h3><label for="doc-drawer-checkbox" class="button drawer-close"></label><div><input style="width: 100%; margin: 0px;" placeholder="Search..." type="search" id="search-bar" oninput="search()"></div>`;
|
||||
var appSidebarEnd = `<span id="no-results">No results found</span></nav>`;
|
||||
|
||||
var mainStart = `<main class="col-sm-12 col-md-8 col-lg-9" id="doc-content">`;
|
||||
var mainEnd = `<footer><p><strong>mini.css</strong> was designed and built by <a href="https://github.com/Chalarangelo" target="_blank">@Chalarangelo</a>. Source code licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>.</p><p>Icons provided by <a href="https://feathericons.com/" target="_blank">Feather</a>. Search powered by <a href="http://fusejs.io/" target="_blank">Fuse.js</a>.</p></footer></main>`;
|
||||
|
||||
var documentationFragments = docFragments.map(f => buildFragment(f)).join('<br/>');
|
||||
var documentationLinks = docFragments.map(f => buildLink(f)).join('');
|
||||
var documentationSearch = `<script>
|
||||
// Search script
|
||||
var docs= [${docFragments.map(f => stripData(f))}];
|
||||
var options = {threshold:0.4, keys:["keys"]};
|
||||
var fuse = new Fuse(docs,options);
|
||||
function search(){
|
||||
var query = document.getElementById('search-bar').value;
|
||||
if(query.length){
|
||||
var result = fuse.search(query);
|
||||
if(result.length){
|
||||
var resIds = result.map(function(item){
|
||||
return ':not(#link-to-'+item.id+')';
|
||||
}).join('');
|
||||
document.getElementById('search-style').innerHTML = '#no-results{display:none;}#nav-drawer a'+resIds+'{display:none;}';
|
||||
}
|
||||
else {
|
||||
document.getElementById('search-style').innerHTML = '#nav-drawer a{display:none;}#no-results{display:block;}';
|
||||
}
|
||||
}
|
||||
else{
|
||||
document.getElementById('search-style').innerHTML = '#no-results{display:none;}';
|
||||
}
|
||||
}
|
||||
// Codepen prefill script
|
||||
var el = document.querySelectorAll('.prefiller-example > pre');
|
||||
el.forEach(e => e.innerHTML = '<form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">' +
|
||||
'<input type="hidden" name="data" value=\\\'' + JSON.stringify({
|
||||
html : e.innerText,
|
||||
css_external : ${frameworkUrl}
|
||||
}).replace(/"/g, """)
|
||||
.replace(/'/g, "'") + '\\\'>' +
|
||||
'<input type="image" class="codepen-link" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23424242%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolygon%20points%3D%2212%202%2022%208.5%2022%2015.5%2012%2022%202%2015.5%202%208.5%2012%202%22%3E%3C%2Fpolygon%3E%3Cline%20x1%3D%2212%22%20y1%3D%2222%22%20x2%3D%2212%22%20y2%3D%2215.5%22%3E%3C%2Fline%3E%3Cpolyline%20points%3D%2222%208.5%2012%2015.5%202%208.5%22%3E%3C%2Fpolyline%3E%3Cpolyline%20points%3D%222%2015.5%2012%208.5%2022%2015.5%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2212%22%20y1%3D%222%22%20x2%3D%2212%22%20y2%3D%228.5%22%3E%3C%2Fline%3E%3C%2Fsvg%3E" width="40" height="40" value="Open in Codepen">' +
|
||||
'</form>' + e.innerHTML);
|
||||
</script>
|
||||
<style id="search-style">#no-results{display:none;}</style>`;
|
||||
|
||||
function buildFragment(fragment){
|
||||
var fragmentHtml = `<div id="${fragment.id}" class="card fluid">
|
||||
<h2 class="section double-padded">${fragment.title}</h2>
|
||||
${fragment.id === 'icons'?FEATHER_BANNER:''}
|
||||
<div class="section">${fragment.description}</div>
|
||||
${fragment.example?`<div class="section"><h3>Example</h3>${fragment.example}</div>`:''}
|
||||
${fragment.samples.length?`<div class="section double-padded prefiller-example"><h3>Sample code</h3>${fragment.samples.join('')}</div>`:''}
|
||||
${fragment.modifiers.length?
|
||||
`<div class="section double-padded prefiller-example"><h3>Modifiers</h3>
|
||||
${fragment.modifiers.map(m => `<h4>${m.title}</h4>${m.description}${m.example?`<h5>Example</h5>${m.example}`:''}${m.samples.length?`<h5>Sample code</h5>${m.samples.join('')}`:''}`).join('<br/>')}</div>`:''}
|
||||
${fragment.dos.length||fragment.donts.length?
|
||||
`<div class="section double-padded"><h3>Best practices</h3>${[fragment.dos.map(d => `<div class="row dodos"><div class="col-sm-12 col-md-6">${d.sample}</div><div class="col-sm-12 col-md-6"><p><mark class="do">Do:</mark> ${d.description}</p></div></div>`).join('<br/>'),fragment.donts.map(d => `<div class="row dodos"><div class="col-sm-12 col-md-6">${d.sample}</div><div class="col-sm-12 col-md-6"><p><mark class="dont">Don't:</mark> ${d.description}</p></div></div>`).join('<br/>')].join('')}</div>`
|
||||
:''}
|
||||
${fragment.notes.length?`<div class="section double-padded"><h3>Notes</h3><ul>${fragment.notes.map(n => `<li>${n}</li>`).join('')}</ul></div>`:''}
|
||||
${fragment.customization.length?`<div class="section double-padded"><h3>Customization</h3><ul>${fragment.customization.map(s => `<li>${s}</li>`).join('')}</ul></div>`:''}
|
||||
</div>`;
|
||||
return fragmentHtml;
|
||||
}
|
||||
|
||||
function buildLink(fragment){
|
||||
return `<a href="#${fragment.id}" id="link-to-${fragment.id}">${fragment.title}</a>`;
|
||||
}
|
||||
|
||||
function stripData(fragment){
|
||||
return `{id: "${fragment.id}", keys: [${fragment.keywords.map(k=>`"${k}"`)}] }`;
|
||||
}
|
||||
|
||||
fs.writeFile(docOutputPath,
|
||||
`${documentStart}${appShellStart}
|
||||
${appSidebarStart}${documentationLinks}${appSidebarEnd}
|
||||
${mainStart}${documentationFragments}${mainEnd}
|
||||
${appShellEnd}
|
||||
${documentationSearch}
|
||||
${documentEnd}`,
|
||||
function(err) { if(err) return console.log(err); console.log("Documentation file generated!"); }
|
||||
);
|
||||
|
||||
// CUSTOMIZATION
|
||||
var custFragments = require('./doc-fragments/customizationFragments'); // Gets all customization fragments as a list.
|
||||
var custOutputPath = './docs/flavors.html'; // This path is relative to package.json.
|
||||
|
||||
var customizationStart = `<!DOCTYPE html><html lang="en"><head>
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata:400,700|Poppins:400,400i,500,700,700i&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./style.min.css">
|
||||
<title>mini.css - Flavors</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites.">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, toolkit">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
<script src="./jszip.min.js"></script>
|
||||
<script src="./FileSaver.min.js"></script>
|
||||
<script src="./sass.js"></script>
|
||||
</head><body>`;
|
||||
var customizationEnd = `</body></html>`;
|
||||
|
||||
var customizationAppShellStart = `<div id="root"><header class="row">
|
||||
<span class="logo col-sm-3 col-md">mini.css</span>
|
||||
<a class="button col-sm col-md" href="https://github.com/Chalarangelo/mini.css" target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
<span> Github</span></a>
|
||||
<a class="button col-sm col-md" href="docs">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
|
||||
<span> Docs</span></a>
|
||||
<label for="doc-drawer-checkbox" class="button drawer-toggle col-sm"></label>
|
||||
</header>
|
||||
<div class="row" id="doc-wrapper">`;
|
||||
var customizationAppShellEnd = `</div></div>`;
|
||||
|
||||
var customizationAppSidebarStart = `<input id="doc-drawer-checkbox" class="drawer" value="on" type="checkbox">
|
||||
<nav class="col-md-4 col-lg-3" id="nav-drawer"><h3>Menu</h3><label for="doc-drawer-checkbox" class="button drawer-close"></label>`;
|
||||
var customizationAppSidebarEnd = `</nav>`;
|
||||
|
||||
var customizationMainStart = `<main class="col-sm-12 col-md-8 col-lg-9" id="doc-content">`;
|
||||
var customizationMainEnd = `<footer><p><strong>mini.css</strong> was designed and built by <a href="https://github.com/Chalarangelo" target="_blank">@Chalarangelo</a>. Source code licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>.</p><p>Icons provided by <a href="https://feathericons.com/" target="_blank">Feather</a>. Flavor generation powered by <a href="http://sass.js.org/" target="_blank">Sass.js</a> and <a href="https://stuk.github.io/jszip/" target="_blank">JSZip</a>.</p></footer></main>`;
|
||||
|
||||
var customizationFragments = custFragments.map(f => buildCustomizationFragment(f)).join('<br/>');
|
||||
var customizationLinks = [buildLink(custFragments[0]), buildLink(custFragments[1]), '<hr style="padding:0;"/>', ...custFragments[2].sections.map(f => buildLink(f))].join('');
|
||||
|
||||
function buildCustomizationFragment(fragment){
|
||||
var fragmentHtml = `<div id="${fragment.id}" class="card fluid">
|
||||
<h2 class="section double-padded">${fragment.title}</h2>${fragment.content}
|
||||
</div>`;
|
||||
return fragmentHtml;
|
||||
}
|
||||
|
||||
fs.writeFile(custOutputPath,
|
||||
`${customizationStart}${customizationAppShellStart}
|
||||
${customizationAppSidebarStart}${customizationLinks}${customizationAppSidebarEnd}
|
||||
${customizationMainStart}${customizationFragments}${customizationMainEnd}
|
||||
${customizationAppShellEnd}
|
||||
${customizationEnd}`,
|
||||
function(err) { if(err) return console.log(err); console.log("Flavors file generated!"); }
|
||||
);
|
||||
|
||||
var miniSassFiles = ['_contextual_mixins', '_contextual', '_core', '_icon', '_input_control_mixins', '_input_control', '_layout_mixins', '_layout', '_navigation', '_progress_mixins', '_progress', '_table', '_utility'];
|
||||
|
||||
miniSassFiles.forEach(f => fs.createReadStream(`./src/mini/${f}.scss`).pipe(fs.createWriteStream(`./docs/mini/${f}.scss`)));
|
||||
|
||||
var flavorFiles = ['mini-default', 'mini-dark', 'mini-nord'];
|
||||
|
||||
flavorFiles.forEach(f => {
|
||||
fs.createReadStream(`./src/flavors/${f}.scss`).pipe(fs.createWriteStream(`./docs/flavorFiles/${f}.scss`));
|
||||
fs.createReadStream(`./dist/${f}.css`).pipe(fs.createWriteStream(`./docs/flavorFiles/${f}.css`));
|
||||
fs.createReadStream(`./dist/${f}.min.css`).pipe(fs.createWriteStream(`./docs/flavorFiles/${f}.min.css`));
|
||||
});
|
1757
docs/doc-fragments/buildYourOwnFlavor.js
Normal file
58
docs/doc-fragments/buttons.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
module.exports = {
|
||||
id: 'buttons',
|
||||
title: 'Buttons',
|
||||
keywords: [`button`, `input`, `reset`, `submit`, `link`, `a`, `label`, `primary`, `secondary`, `tertiary`, `aria`, `small`, `large`, `inverse`],
|
||||
description: `<p>Buttons and button-like input elements have been styled by default to be consistent across browsers. You can also style other elements, such as links or form labels, to look like buttons, using the appropriate class (<code>.button</code>) or the <a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_button_role" target="_blank">button</a> role.</p>`,
|
||||
example: `<button class="doc">Button</button><a href="#" class="button doc">Link</a><label class="button doc">Label</label><button disabled class="doc">Disabled</button>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><button></span>Button<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"button"</span> <span class="highlight-b">value</span>=<span class="highlight-c">"Button"</span><span class="highlight-a"> /></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"reset"</span> <span class="highlight-b">value</span>=<span class="highlight-c">"Button"</span><span class="highlight-a"> /></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"submit"</span> <span class="highlight-b">value</span>=<span class="highlight-c">"Button"</span><span class="highlight-a"> /></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Link<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">role</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Link<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Label<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">role</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Label<span class="highlight-a"></label></span></span></pre>`],
|
||||
notes: [
|
||||
`It is recommended to use the button role instead of the provided class, if you want your custom buttons to be fully accessible.`
|
||||
],
|
||||
customization: [
|
||||
`Text color for buttons can be changed by changing the value of the <code>--button-fore-color</code> variable.`,
|
||||
`Background color for buttons can be changed by changing the value of the <code>--button-back-color</code> variable.`,
|
||||
`Border color for buttons can be changed by changing the value of the <code>--button-border-color</code> variable.`,
|
||||
`Background and border color for focused buttons can be changed by changing the values of the <code>--button-hover-back-color</code> and <code>--button-hover-border-color</code> variables respectively.`,
|
||||
`You can customize the colors of different color variants by changing the values of the related variables in their respective definitions.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: '<p>To make your buttons stand out, you can give them a primary (<code>.primary</code>), secondary (<code>.secondary</code>), tertiary (<code>.tertiary</code>) or inversed (<code>.inverse</code>) color palette.</p>',
|
||||
example: `<button class="primary doc">Primary</button><button class="secondary doc">Secondary</button><button class="tertiary doc">Tertiary</button><button class="inverse doc">Inverse</button>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"primary"</span><span class="highlight-a">></span>Primary<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"secondary"</span><span class="highlight-a">></span>Secondary<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tertiary"</span><span class="highlight-a">></span>Tertiary<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"inverse"</span><span class="highlight-a">></span>Inverse<span class="highlight-a"></button></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Size variants',
|
||||
description: `<p>You can make buttons smaller (<code>.small</code>) or larger (<code>.large</code>), by applying the appropriate modifier.</p>`,
|
||||
example: `<button class="small doc">Small</button><button class="large doc">Large</button>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"small"</span><span class="highlight-a">></span>Small<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"large"</span><span class="highlight-a">></span>Large<span class="highlight-a"></button></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [{
|
||||
description: `File upload inputs are not styled by default, due to inconsistencies in how browsers handle them. If you want them to look like other buttons, you can hide them and use a linked label.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"file"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"file-input"</span> <span class="highlight-b">style</span>=<span class="highlight-c">"display:none"</span><span class="highlight-a"> /></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"file-input"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Upload file<span class="highlight-a"></label></span></span></pre>`
|
||||
}],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid applying multiple modifiers of the same type on the same button.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"primary inverse"</span><span class="highlight-a">></span>Button<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><button</span> <span class="highlight-b">class</span>=<span class="highlight-c">"small large"</span><span class="highlight-a">></span>Button<span class="highlight-a"></button></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
85
docs/doc-fragments/cardSections.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
module.exports = {
|
||||
id: 'card-sections',
|
||||
title: 'Card sections',
|
||||
keywords: [`card`, `row`, `section`, `container`, `col`, `column`, `media`, `double-padded`, `dark`],
|
||||
description: '<p>Card content is usually organized in smaller sections (<code>.section</code>) to be more easily digestible. A card section can be any valid HTML5 element with the appropriate class applied to it.</p>',
|
||||
example: `<div class="container" style="padding: 0.25rem"><div class="row"><div class="col-sm-12">
|
||||
<div class="card fluid" style="margin: 0.5rem 0.25rem"><h3 class="doc section">Title section</h3><p class="doc section">This is a section with some textual content.</p></div>
|
||||
</div></div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`],
|
||||
notes: [
|
||||
`While not mandatory, it is highly suggested that you wrap all of your cards' contents in one or more sections.`,
|
||||
`Remember that a section can be any valid HTML5 element, so you can apply them to headings, paragraphs, input elements etc.`,
|
||||
`Media sections have a default height of <code>200px</code>.`,
|
||||
`Due to the media sections using <a href="http://caniuse.com/#feat=object-fit" target="_blank"><code>object-fit</code></a>, you might want to use a polyfill for better browser support (recommended: <a href="https://github.com/bfred-it/object-fit-images" target="_blank">image polyfill</a>, <a href="https://github.com/jonathantneal/fitie" target="_blank">video polyfill</a>).`,
|
||||
`Depending on the source website, some embedded videos might not display properly as media sections.`
|
||||
],
|
||||
customization: [
|
||||
`Text color for cards and card sections can be changed by changing the value of the <code>--card-fore-color</code> variable.`,
|
||||
`Background color for cards and card sections can be changed by changing the value of the <code>--card-back-color</code> variable.`,
|
||||
`Border color for cards and card sections can be changed by changing the value of the <code>--card-border-color</code> variable.`,
|
||||
`You can customize the colors of different color variants by changing the values of the related variables in their respective definitions.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Media sections',
|
||||
description: '<p>You can create sections for media (<code>.media</code>), such as images or videos (using an <code><img></code> or a <code><iframe></code> element respectively). These sections are styled appropriately for presentation of media content, meaning that the content will scale appropriately to fill up the available space.</p>',
|
||||
example: `<div class="container" style="padding: 0.25rem;"><div class="row">
|
||||
<div class="card"><div class="section"><h3 class="doc">Card with image</h3></div><img class="section media" src="https://placehold.it/800x600" alt="placeholder"></div>
|
||||
<div class="card"><div class="section"><h3 class="doc">Card with video</h3></div><iframe class="section media" width="1280" height="720" src="https://www.youtube.com/embed/ScMzIvxBSi4"></iframe></div>
|
||||
</div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><img</span> <span class="highlight-b">src</span>=<span class="highlight-c">"image.png"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section media"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: '<p>You can create sections with a darker (<code>.dark</code>) background, by applying the appropriate modifier.</p>',
|
||||
example: `<div class="container" style="padding: 0.25rem;"><div class="row">
|
||||
<div class="card"><div class="section"><h3 class="doc">Normal section</h3></div><div class="section dark"><h3 class="doc">Dark section</h3></div></div>
|
||||
</div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section dark"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Additional spacing',
|
||||
description: '<p>You can create sections with additional spacing (<code>.double-padded</code>), by applying the appropriate modifier.</p>',
|
||||
example: `<div class="container" style="padding: 0.25rem;"><div class="row">
|
||||
<div class="card"><div class="section"><h3 class="doc">Normal spacing</h3></div><div class="section double-padded"><h3 class="doc">Additional spacing</h3></div></div>
|
||||
</div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section double-padded"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid mixing regular content with content in sections. Instead, wrap all of your card's contents in sections.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This should have been a section!<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
/*
|
||||
Modifiers:
|
||||
{
|
||||
title : '',
|
||||
description: '',
|
||||
example: '',
|
||||
samples: []
|
||||
}
|
||||
Dos/Donts:
|
||||
{
|
||||
description: '',
|
||||
sample: ''
|
||||
}
|
||||
*/
|
89
docs/doc-fragments/cards.js
Normal file
|
@ -0,0 +1,89 @@
|
|||
module.exports = {
|
||||
id: 'cards',
|
||||
title: 'Cards',
|
||||
keywords: [`card`, `row`, `section`, `container`, `col`, `column`, `small`, `large`, `fluid`, `warning`, `error`],
|
||||
description: `<p><strong>mini.css</strong> provides you with cards (<code>.card</code>), general-purpose containers that help you organize the content of your web apps. Cards should be used in combination with the <a href="#grid">grid system</a>, meaning that they need to be placed inside a grid's rows to work properly. Layouts created with cards are responsive, realigning according to the available size on the screen.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem"><div class="row">
|
||||
<div class="card"><div class="section"><h3 class="doc">Card 1</h3><p class="doc">This is a basic card with some sample content.</p></div></div>
|
||||
<div class="card"><div class="section"><h3 class="doc">Card 2</h3><p class="doc">This is another card with some sample content.</p></div></div>
|
||||
<div class="card"><div class="section"><h3 class="doc">Card 3</h3><p class="doc">This is one more card with some sample content.</p></div></div>
|
||||
</div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`],
|
||||
notes: [`Due to the fact that fluid cards stretch to fill their parent container, they might not fully respect their margins sometimes, although this should not cause any noticable problems in your web apps' layouts.`],
|
||||
customization: [
|
||||
`Text color for cards can be changed by changing the value of the <code>--card-fore-color</code> variable.`,
|
||||
`Background color for cards can be changed by changing the value of the <code>--card-back-color</code> variable.`,
|
||||
`Border color for cards can be changed by changing the value of the <code>--card-border-color</code> variable.`,
|
||||
`You can customize the colors of different color variants by changing the values of the related variables in their respective definitions.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Alternative sizes',
|
||||
description: `<p>You can create small (<code>.small</code>, <code>240px</code> wide) or large (<code>.large</code>, <code>480px</code> wide) cards by applying the appropriate modifiers to a card. Apart from that, you can also create fluid (<code>.fluid</code>) cards, that take up as much space as is available, however you will have to place these cards inside a grid layout's columns, effectively adding one extra step for them to display properly.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem"><div class="row">
|
||||
<div class="card small"><div class="section"><h3 class="doc">Small Card</h3><p class="doc">Small cards are <code>240px</code> wide.</p></div></div>
|
||||
<div class="card large"><div class="section"><h3 class="doc">Large Card</h3><p class="doc">Large cards are <code>480px</code> wide.</p></div></div>
|
||||
<div class="col-sm-12 col-md-10 col-lg-8">
|
||||
<div class="card fluid" style="margin: 0.5rem 0.25rem;"><div class="section"><h3 class="doc">Fluid Card</h3><p class="doc">Fluid cards scale their width based on the column that contains them.</p></div></div>
|
||||
</div></div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card small"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card large"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card fluid"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: `<p>You can display warning (<code>.warning</code>) or error (<code>.error</code>) messages using cards, simply by adding the appropriate color modifiers to a card.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem"><div class="row">
|
||||
<div class="card warning"><div class="section"><h3 class="doc">Warning Card</h3><p class="doc">Warning cards are used to display important information to users.</p></div></div>
|
||||
<div class="card error"><div class="section"><h3 class="doc">Error Card</h3><p class="doc">Error cards are used to display error messages to users.</p></div></div>
|
||||
</div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card warning"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card error"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [
|
||||
{
|
||||
description: `You can create rows inside a card, which can in turn contain other cards.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: [
|
||||
{
|
||||
description: `An element cannot be a card and a row or column at the same time.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card row"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card col-sm"</span><span class="highlight-a">></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Never forget to wrap your cards inside a row and your fluid cards inside a row and a column.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Try not to combine fixed-width and fluid cards. Instead, combine fixed-width cards with columns and place fluid cards inside them.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card fluid"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid applying two color modifiers on the same card.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card warning error"</span><span class="highlight-a">></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
51
docs/doc-fragments/codeAndQuotations.js
Normal file
|
@ -0,0 +1,51 @@
|
|||
module.exports = {
|
||||
id: 'code-and-quotations',
|
||||
title: 'Code & quotations',
|
||||
keywords: [`code`, `pre`, `kbd`, `blockquote`, `quotation`],
|
||||
description: '<p>Code blocks and quotation elements are styled using custom rules that help make them stand out from the rest of the text, while inline code and keyboard input tags are minimally styled, aiming not to break the flow of regular text.</p>',
|
||||
example: `<p class="doc">This is some text with some inline <code class="doc">source code</code> and some keyboard <kbd class="doc">input</kbd>.</p>
|
||||
<pre class="doc">function sum(num1, num2){
|
||||
return num1 + num2;
|
||||
}</pre>
|
||||
<blockquote cite="www.quotation.source" class="doc">This is some text quoted from elsewhere.</blockquote>`,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><p></span>This is some text with some inline <span class="highlight-a"><code></span>source code<span class="highlight-a"></code></span> and some keyboard <span class="highlight-a"><kbd></span>input<span class="highlight-a"></kbd></span>.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><pre></span>function sum(num1, num2){</span>
|
||||
<span class="code-line"> return num1 + num2;</span>
|
||||
<span class="code-line">}<span class="highlight-a"></pre></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><blockquote</span> <span class="highlight-b">cite</span>=<span class="highlight-c">"www.quotation.source"</span><span class="highlight-a">></span>This is some text quoted from elsewhere.<span class="highlight-a"></blockquote></span></span></pre>`
|
||||
],
|
||||
notes: [
|
||||
`The <code>cite</code> attribute of <code><blockquote></code> elements is not mandatory and can be omitted. The element's sizing will be automatically adjusted according to the presence of the <code>cite</code> attribute.`
|
||||
],
|
||||
customization: [
|
||||
`Text color can be changed globally by changing the value of the <code>--fore-color</code> variable. This will affect the text color of <code><code></code> and <code><pre></code> elements and background color of <code><kbd></code> elements.`,
|
||||
`Background color can be changed globally by changing the value of the <code>--back-color</code> variable. This will affect the background color of <code><blockquote></code> elements and text color of <code><kbd></code>.`,
|
||||
`You can change the background color of <code><code></code> and <code><pre></code> elements by changing the value of the <code>--secondary-back-color</code> variable.`,
|
||||
`You can change the text color of <code><blockquote></code> elements by changing the value of the <code>--secondary-fore-color</code> variable.`,
|
||||
`You can change the border color of <code><pre></code> and <code><blockquote></code> elements by changing the value of the <code>--secondary-border-color</code> variable.`,
|
||||
`You can change the border color of the left border of <code><pre></code> elements by changing the value of the <code>--pre-color</code> variable.`,
|
||||
`You can change the border color of the left border of <code><blockquote></code> elements by changing the value of the <code>--blockquote-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
||||
|
||||
/*
|
||||
Modifiers:
|
||||
{
|
||||
title : '',
|
||||
description: '',
|
||||
example: '',
|
||||
samples: []
|
||||
}
|
||||
Dos/Donts:
|
||||
{
|
||||
description: '',
|
||||
sample: ''
|
||||
}
|
||||
*/
|
39
docs/doc-fragments/commonTextualElements.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
module.exports = {
|
||||
id: 'common-textual-elements',
|
||||
title: 'Common textual elements',
|
||||
tag: 'p',
|
||||
keywords: ['p', 'paragraph', 'text', 'textual elements', 'strong', 'bold', 'b', 'em', 'i', 'emphasis', 'italics', 'small', 'a', 'link', 'hr', 'horizontal rule', 'sub', 'subscript', 'sup', 'exponent', 'superscript', 'normalize', 'reset'],
|
||||
description: `<p><strong>mini.css</strong> utilizes the ruleset of <a href="http://necolas.github.io/normalize.css/" target="_blank">Normalize.css</a> v7.0.0 to reliably deal with inconsistencies between browsers, while applying some tasteful defaults on top, such as using <a href="https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/" target="_blank">native font stack</a> to figure out the best font for each device, setting the background and foreground colors, as well as the size of the text to <code>16px</code> and its line height to <code>1.5</code>.</p>
|
||||
<p>All of the most common HTML5 elements, such as paragraphs, links, bold, small and slanted text, have been styled by default using clean, modern typography to make your pages look cool and stand out from the rest of the internet.</p>`,
|
||||
example: `<p class="doc">This is a paragraph with some sample text. Did you know that the latest version of <strong class="doc">mini.css</strong> is codenamed <em class="doc">Gluon</em>? Well, now you do!</p><hr class="doc"/><p><small class="doc">Remember that <strong class="doc">mini.css</strong> is totally free, no fine print involved!</small></p>`,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><p></span>This is a paragraph. with some <span class="highlight-a"><strong></span>bold text<span class="highlight-a"></strong></span> and some <span class="highlight-a"><em></span>italics text<span class="highlight-a"></em></span>.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>This is a link.<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><small></span>This is some small text.<span class="highlight-a"></small></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><sub></span>Subscript<span class="highlight-a"></sub></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><sup></span>Superscript<span class="highlight-a"></sup></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><hr/></span></span></pre>`
|
||||
],
|
||||
notes: [
|
||||
|
||||
],
|
||||
customization: [
|
||||
`Text color can be changed globally by changing the value of the <code>--fore-color</code> variable.`,
|
||||
`Background color can be changed globally by changing the value of the <code>--back-color</code> variable.`,
|
||||
`Border color can be changed globally by changing the value of the <code>--border-color</code> variable. This affects the color of <code><hr></code> elements.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`You can change the color of links by changing the values of the <code>--a-link-color</code> and <code>--a-visited-color</code> variables.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: [
|
||||
{description: `Avoid altering the base font size of <code>16px</code> directly in your CSS code, as it can cause problems with the display of certain elements.`,
|
||||
sample:
|
||||
`<pre><span class="code-line"><span class="highlight-c">/* Do not do this (use Sass instead) */</span></span>
|
||||
<span class="code-line"><span class="highlight-a">html</span> {</span>
|
||||
<span class="code-line"> font-size: <span class="highlight-b">14px</span>;</span>
|
||||
<span class="code-line">}</span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
5
docs/doc-fragments/customizationFragments.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
var premadeFlavors = require('./premadeFlavors');
|
||||
var buildYourOwn = require('./buildYourOwnFlavor');
|
||||
var flavorTools = require('./flavorTools');
|
||||
|
||||
module.exports = [premadeFlavors, flavorTools, buildYourOwn]
|
41
docs/doc-fragments/docFragments.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
var gettingStarted = require('./gettingStarted');
|
||||
var commonTextualElements = require('./commonTextualElements');
|
||||
var headings = require('./headings');
|
||||
var lists = require('./lists');
|
||||
var images = require('./images');
|
||||
var codeAndQuotations = require('./codeAndQuotations');
|
||||
var grid = require('./grid');
|
||||
var cards = require('./cards');
|
||||
var cardSections = require('./cardSections');
|
||||
var formsAndInput = require('./formsAndInput');
|
||||
var buttons = require('./buttons');
|
||||
var inputGrouping = require('./inputGrouping');
|
||||
var header = require('./header');
|
||||
var navigationBar = require('./navigationBar');
|
||||
var footer = require('./footer');
|
||||
var drawer = require('./drawer');
|
||||
var tables = require('./tables');
|
||||
var textHighlighting = require('./textHighlighting');
|
||||
var toasts = require('./toasts');
|
||||
var tooltips = require('./tooltips');
|
||||
var modalDialogs = require('./modalDialogs');
|
||||
var spoilersAndAccordions = require('./spoilersAndAccordions');
|
||||
var progressBars = require('./progressBars');
|
||||
var donutSpinners = require('./donutSpinners');
|
||||
var icons = require('./icons');
|
||||
var visibilityHelpers = require('./visibilityHelpers');
|
||||
var elementDecorators = require('./elementDecorators');
|
||||
var responsiveSpacingAndSizing = require('./responsiveSpacingAndSizing');
|
||||
|
||||
module.exports = [
|
||||
gettingStarted,
|
||||
commonTextualElements, headings, images, lists, codeAndQuotations,
|
||||
grid, cards, cardSections,
|
||||
formsAndInput, buttons, inputGrouping,
|
||||
header, navigationBar, footer, drawer,
|
||||
tables,
|
||||
textHighlighting, toasts, tooltips, modalDialogs, spoilersAndAccordions,
|
||||
progressBars, donutSpinners,
|
||||
icons,
|
||||
visibilityHelpers, elementDecorators, responsiveSpacingAndSizing
|
||||
]
|
38
docs/doc-fragments/donutSpinners.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
module.exports = {
|
||||
id: 'donut-spinners',
|
||||
title: 'Donut spinners',
|
||||
keywords: [`spinner`, `donut`, `loading`, `progress`, `primary`, `secondary`, `tertiary`, `inline`, `animation`, `animated`],
|
||||
description: `<p><strong>mini.css</strong> provides you with animated loading indicators (<code>.spinner</code>), which you can use to indicate that some content is loading.</p>`,
|
||||
example: `<div class="spinner"></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner"</span><span class="highlight-a">></div></span></span></pre>`],
|
||||
notes: [`You can use either a <code><div></code> or a <code><span></code> element to create a donut spinner.`,
|
||||
`You can add the <code>role="progressbar"</code> attribute to spinner donut elements to increase accessibility.`,
|
||||
`You can inline donut spinners inside a paragraph or some other textual content.`],
|
||||
customization: [
|
||||
`Foreground color for donut spinners can be changed by changing the value of the <code>--spinner-fore-color</code> variable.`,
|
||||
`Background color for donut spinners can be changed by changing the value of the <code>--spinner-back-color</code> variable.`,
|
||||
`You can customize the colors of different color variants by changing the values of the related variables in their respective definitions.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: `<p>You can create primary, secondary or tertiary (<code>.primary</code>, <code>.secondary</code>, <code>.tertiary</code>) donut spinners, simply by adding the appropriate color modifier.</p>`,
|
||||
example: `<span class="spinner primary"></span><span class="spinner secondary"></span><span class="spinner tertiary"></span>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner primary"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner secondary"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner tertiary"</span><span class="highlight-a">></div></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid inserting text inside donut spinners.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner"</span><span class="highlight-a">></span>Don't place text here.<span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid applying two color modifiers on the same donut spinner.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"spinner primary secondary"</span><span class="highlight-a">></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
84
docs/doc-fragments/drawer.js
Normal file
|
@ -0,0 +1,84 @@
|
|||
module.exports = {
|
||||
id: 'drawer',
|
||||
title: 'Menu drawer',
|
||||
keywords: [`drawer`, `checkbox`, `toggle`, `close`, `drawer-toggle`, `drawer-close`, `menu`, `navigation`, `hamburger`],
|
||||
description: `<p>The drawer component of <strong>mini.css</strong> is used to create responsive navigation menus for your web apps. It is composed of three components - the drawer, the toggle button and the close button:</p>
|
||||
<ul><li>To create a drawer, simply create a checkbox input, applying the appropriate class to it (<code>.drawer</code>), immediately followed by a container of your liking (e.g. a <code><div></code> or <code><nav></code>). The former serves as your drawer's control, while the latter is the actual drawer container.</li>
|
||||
<li>Create a label anywhere outside your drawer's container for the checkbox controlling your drawer, applying the appropriate class (<code>.drawer-toggle</code>). This will serve as the toggle button for your drawer menu.</li>
|
||||
<li>Finally, inside your drawer's container, add another label for the checkbox controlling your drawer, applying the appropriate class (<code>.drawer-close</code>). This will serve as the close button for your drawer menu.</li>
|
||||
</ul>`,
|
||||
example: `<div style="height: 8rem; position: relative; text-align: center;"><br>
|
||||
<style>.drawer + .demo { position: absolute; height: 8rem; z-index: 0; top: 0; right: calc(0rem - 320px - 0.5rem); padding: 0.5rem; text-align: left;} [type="checkbox"]:checked.drawer + .demo { z-index: 1001; margin-right: 0.5rem;}</style>
|
||||
<label for="demo-toggle" class="button drawer-toggle persistent doc"></label>
|
||||
<input type="checkbox" id="demo-toggle" class="drawer persistent"> <div class="demo doc">
|
||||
<label for="demo-toggle" class="drawer-close doc"></label><a href="#" class="doc">Home</a><br/> <a href="#" class="doc">News</a><br/>
|
||||
<a href="#" class="doc">About</a><br/> <a href="#" class="doc">Contact</a><br/></div>
|
||||
</div>`,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-toggle"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-close"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
],
|
||||
notes: [
|
||||
`Drawer menus are responsive by default and will expand into normal containers on screens larger or equal to <code>768px</code> wide.`,
|
||||
`It is highly recommended to place your drawer's toggle button inside your web app's header element.`,
|
||||
`You can combine the navigation bar element with the drawer menu for better results.`,
|
||||
`Remember to apply the appropriate classes to any and all elements, as indicated in the examples. Failing to do so will result in the drawer menu not rendering or behaving properly.`
|
||||
],
|
||||
customization: [
|
||||
`Text color can be changed globally by changing the value of the <code>--fore-color</code> variable. This will affect the text color of the toggle button and items inside the drawer container.`,
|
||||
`Background color for the drawer container can be changed by changing the value of the <code>--drawer-back-color</code> variable.`,
|
||||
`Border color for the drawer container can be changed by changing the value of the <code>--drawer-border-color</code> variable.`,
|
||||
`Text color for the drawer close button can be changed by changing the values of the <code>--drawer-close-color</code>.`,
|
||||
`Background color for the drawer close button when focused or hovered over can be changed by changing the values of the <code>--drawer-hover-back-color</code>.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : `Persistent drawer`,
|
||||
description: `<p>If you want your drawer menus to not expand into normal containers on larger screens, simply add the appropriate modifier (<code>.persistent</code>) on the checkbox controlling the drawer and its toggle button.</p>`,
|
||||
example: ``,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-toggle persistent"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer persistent"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-close"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
]
|
||||
}
|
||||
],
|
||||
dos: [
|
||||
{
|
||||
description: `You can combine the drawer menu with the <a href="#grid">grid system</a> to create responsive menus that are part of the layout of your web app.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-md-4"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-close"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-8"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Page content<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: [
|
||||
{
|
||||
description: `You should not place anything between the checkbox controlling the drawer and the container.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-c"><!-- Do not place other stuff between these --></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"drawer-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"drawer-close"</span><span class="highlight-a">></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
27
docs/doc-fragments/elementDecorators.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
module.exports = {
|
||||
id: 'element-decorators',
|
||||
title: 'Element decorators',
|
||||
keywords: ['border','border-radius', 'bordered', 'rounded', 'circular', 'shadowed', 'utility'],
|
||||
description: '<p>You can apply generic borders, shadows or border radiuses to any element, by using the appropriate class (<code>.bordered</code>, <code>.shadowed</code>, <code>.rounded</code> or <code>.circular</code>).</p>',
|
||||
example: '<button class="bordered doc">Bordered button</button><button class="primary bordered doc">Bordered button</button><button class="shadowed doc">Shadowed button</button><br/><p><img src="https://placehold.it/200x200?text=rounded" alt="placeholder" class="rounded"> <img src="https://placehold.it/200x200?text=circular" alt="placeholder" class="circular"></p>',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"bordered"</span><span class="highlight-a">></span>Bordered element.<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"shadowed"</span><span class="highlight-a">></span>Shadowed element.<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"rounded"</span><span class="highlight-a">></span>Rounded element.<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"circular"</span><span class="highlight-a">></span>Circular element.<span class="highlight-a"></span></span></span></pre>`],
|
||||
notes: [
|
||||
'Element decorators use <code>!important</code> declarations to override any other styles, so exercise caution when using them.',
|
||||
'Element decorators can be used with pretty much every element or component that is available.'
|
||||
],
|
||||
customization: [
|
||||
`Boder color for the generic border decorator can be changed by changing the value of the <code>--generic-border-color</code> variable.`,
|
||||
`Box shadow style for the generic shadow can be changed by changing the value of the <code>--generic-box-shadow</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid applying the <code>.rounded</code> and <code>.circular</code> decorators on the same element.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"rounded circular"</span><span class="highlight-a">></span>Do not do this.<span class="highlight-a"></span></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
13
docs/doc-fragments/flavorTools.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
var version = require('../vinf').version;
|
||||
module.exports = {
|
||||
id: 'flavor-tools',
|
||||
title: 'Complementary tools',
|
||||
content: `<div class="section"><p>Building a custom flavor can be complex, even with the amount of streamlining we have provided. We have hand-picked the following tools to assist you in creating the perfect flavor for your needs:</p>
|
||||
<ul>
|
||||
<li><a href="https://coolors.co/" rel="noopener" target="_blank">Coolors - Color schemes generator</a></li>
|
||||
<li><a href="https://uigradients.com/#PlayingwithReds" rel="noopener" target="_blank">uiGradients - Beautiful colored gradients</a></li>
|
||||
<li><a href="https://www.cssmatic.com/box-shadow" rel="noopener" target="_blank">Box shadow generator</a></li>
|
||||
<li><a href="https://www.webpagefx.com/web-design/hex-to-rgb/" rel="noopener" target="_blank">HEX to RGB converter</a></li>
|
||||
<li><a href="http://www.colorzilla.com/gradient-editor/" rel="noopener" target="_blank">Gradient generator</a></li>
|
||||
</ul></div>`
|
||||
}
|
30
docs/doc-fragments/footer.js
Normal file
|
@ -0,0 +1,30 @@
|
|||
module.exports = {
|
||||
id: 'footer',
|
||||
title: 'Footer',
|
||||
keywords: [`navigation`, `footer`, `sticky`, `link`],
|
||||
description: `<p>The footer element has been minimally styled, aiming to provide you with a clean base to create your web apps' footers.</p>`,
|
||||
example: `<footer> <p class="doc">© 2016-2017 Web Corporation | <a href="#" class="doc">About</a> | <a href="#" class="doc">Terms of use</a></p> </footer>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><footer></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Footer text<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></footer></span></span></pre>`],
|
||||
notes: [],
|
||||
customization: [
|
||||
`Text color for the footer can be changed by changing the value of the <code>--footer-fore-color</code> variable.`,
|
||||
`Background color for the footer can be changed by changing the value of the <code>--footer-back-color</code> variable.`,
|
||||
`Border color for the footer can be changed by changing the value of the <code>--footer-border-color</code> variable.`,
|
||||
`Text color for links inside the footer can be changed by changing the value of the <code>--footer-link-color</code> variable.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Sticky footer',
|
||||
description: `<p>You can make your web app's footer sticky (<code>.sticky</code>), by applying the appropriate modifier.</p>`,
|
||||
example: '',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><footer</span> <span class="highlight-b">class</span>=<span class="highlight-c">"sticky"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Footer text<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></footer></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
76
docs/doc-fragments/formsAndInput.js
Normal file
|
@ -0,0 +1,76 @@
|
|||
module.exports = {
|
||||
id: 'forms-and-input',
|
||||
title: 'Forms & input',
|
||||
keywords: [`form`, `fieldset`, `legend`, `input`, `type`, `text`, `checkbox`, `radio`, `email`, `password`, `tel`, `input-group`, `input group`, `row`, `col`, `column`, `vertical`, `fluid`, `file`, `upload`, `select`, `textarea`, `option`, `label`],
|
||||
description: `<p>Forms, labels and common HTML5 input elements have been styled using clean, modern rules, improving the accessibility and usability of your web apps' forms.</p>`,
|
||||
example: `<form><fieldset><legend class="doc">Sample form</legend>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-text" class="doc">Text</label></div>
|
||||
<div class="col-sm-12 col-md"><input type="text" placeholder="Text" id="sf1-text" style="width:85%;" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-pwd" class="doc">Password</label></div>
|
||||
<div class="col-sm-12 col-md"><input type="password" placeholder="Password" id="sf1-pwd" style="width:85%;" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-num" class="doc">Number</label></div>
|
||||
<div class="col-sm-12 col-md"><input type="number" value="42" id="sf1-num" style="width:85%;" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-select" class="doc">Select</label></div>
|
||||
<div class="col-sm-12 col-md"><select id="sf1-select" style="width:85%;" class="doc"><option class="doc">Apples</option><option class="doc">Oranges</option></select></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-check" class="doc">Checkbox</label></div>
|
||||
<div class="col-sm-12 col-md"><input type="checkbox" autocomplete="off" id="sf1-check" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-radio" class="doc">Radio</label></div>
|
||||
<div class="col-sm-12 col-md"><input type="radio" autocomplete="off" id="sf1-radio" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-textarea" class="doc">Textarea</label></div>
|
||||
<div class="col-sm-12 col-md"><textarea class="doc" style="width:85%;" placeholder="Textarea"></textarea></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-invalid" class="doc">Invalid</label></div>
|
||||
<div class="col-sm-12 col-md"><input value="Invalid" id="sf1-invalid" style="width:85%;" class="doc"></div>
|
||||
<script>document.getElementById("sf1-invalid").setCustomValidity("This field is invalid");</script></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-disabled" class="doc">Disabled</label></div>
|
||||
<div class="col-sm-12 col-md"><input disabled value="Disabled" id="sf1-disabled" style="width:85%;" class="doc"></div></div>
|
||||
<div class="row responsive-label"><div class="col-sm-12 col-md-3"><label for="sf1-readonly" class="doc">Readonly</label></div>
|
||||
<div class="col-sm-12 col-md"><input readonly value="Readonly" id="sf1-readonly" style="width:85%;" class="doc"></div></div>
|
||||
</fieldset></form>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><form></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><fieldset></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><legend></span>Simple form<span class="highlight-a"></legend></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"password"</span><span class="highlight-a">></span>Password<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"password"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"password"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Password"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></fieldset></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></form></span></span></pre>`],
|
||||
notes: [
|
||||
`Using the <code><fieldset></code> and <code><legend></code> elements is highly recommended, as it improves semantic markup and accessibility.`,
|
||||
`Some input elements, such as date & time, color and range types, are not supported and, as a result, do not have a default style defined for them. You can define said styles manually if you need to use them in your web app.`
|
||||
],
|
||||
customization: [
|
||||
`Text color for forms and legend elements can be changed by changing the value of the <code>--form-fore-color</code> variable.`,
|
||||
`Background color for forms can be changed by changing the value of the <code>--form-back-color</code> variable.`,
|
||||
`Border color for forms and fieldset elements can be changed by changing the value of the <code>--form-border-color</code> variable.`,
|
||||
`Text color for input elements can be changed by changing the value of the <code>--input-fore-color</code> variable.`,
|
||||
`Background color for input elements can be changed by changing the value of the <code>--input-back-color</code> variable.`,
|
||||
`Border color for input elements can be changed by changing the value of the <code>--input-border-color</code> variable.`,
|
||||
`Border color for focused and invalid input elements can be changed by changing the value of the <code>--input-focus-color</code> and <code>--input-invalid-color</code> variables respectively.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [
|
||||
{
|
||||
description: 'Form inputs are inline by defaut, however you can combine forms with the <a href="#grid">grid system</a> to create aligned forms.',
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><form></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><fieldset></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><legend></span>Simple form<span class="highlight-a"></legend></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-6"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-6"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"password"</span><span class="highlight-a">></span>Password<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"password"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"password"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Password"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></fieldset></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></form></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: []
|
||||
}
|
29
docs/doc-fragments/gettingStarted.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
var version = require('../vinf').version;
|
||||
module.exports = {
|
||||
id: 'getting-started',
|
||||
title: 'Getting started',
|
||||
keywords: ['html', 'viewport', 'head', 'meta', 'getting started', 'introduction', 'browser support', 'installation', 'usage', 'setup', 'cdn', 'npm', 'yarn'],
|
||||
description: `<p>You can get started using <strong>mini.css</strong> in one of many ways. It is published on <strong>npm</strong> and <strong>yarn</strong>, so you can easily download it, using your preferred package manager:</p>
|
||||
<div class="row"><div class="col-sm-12 col-md"><pre>npm install mini.css</pre></div><div class="col-sm-12 col-md"><pre>yarn add mini.css</pre></div></div>
|
||||
<br/><p>Alternatively, you can use either <strong>rawgit</strong> or <strong>cdnjs</strong> to import <strong>mini.css</strong> into your HTML page's <code><head></code> tag:</p>
|
||||
<pre><link rel="stylesheet" href="https://cdn.rawgit.com/Chalarangelo/mini.css/${version}/dist/mini-default.min.css"></pre>
|
||||
<pre><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mini.css/${version}/mini-default.min.css"></pre>
|
||||
<br/><p>After adding <strong>mini.css</strong> to your project, remember to also add the following line inside your HTML page's <code><head></code> tag to utilize the viewport meta tag:</p>
|
||||
<pre><meta name="viewport" content="width=device-width, initial-scale=1"></pre>
|
||||
<br/><p><strong>mini.css</strong> is crafted with long-term support in mind, so expect it to be compatible with all modern browsers, as well as their future versions. However, most legacy and proxy browsers, such as Internet Explorer, Opera Mini, IE Mobile and UC Browser are not officially supported, meaning certain features may not be displayed properly or behave exactly as expected.</p><br/>
|
||||
<figure class="container"><div class="row">
|
||||
<div class="col-sm" style="text-align:center; background: #35BCE6; padding: 1rem;"><img src="browser-logos/edge_128x128.png" alt="edge"><br/><h3><small> Edge<sup style="-0.675em"><i class="fa fa-lg fa-exclamation" aria-hidden="true" style="font-size: 80%;"></i></sup></small>15</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FF742E; padding: 1rem;"><img src="browser-logos/firefox_128x128.png" alt="firefox"><br/><h3><small> Firefox</small>35</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FFE270; padding: 1rem;"><img src="browser-logos/chrome_128x128.png" alt="chrome"><br/><h3><small> Chrome</small>49</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #00D0FF; padding: 1rem;"><img src="browser-logos/safari_128x128.png" alt="safari"><br/><h3><small> Safari</small>9.1</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FF6E6E; padding: 1rem;"><img src="browser-logos/opera_128x128.png" alt="opera"><br/><h3><small> Opera</small>36</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #0F98E0; padding: 1rem;"><img src="browser-logos/android_128x128.png" alt="android"><br/><h3><small> Android</small>56</h3></div>
|
||||
</div><figcaption>Browser versions officially supported</figcaption></figure><br/>`,
|
||||
example: '',
|
||||
samples: [],
|
||||
notes: [],
|
||||
customization: [],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
245
docs/doc-fragments/grid.js
Normal file
|
@ -0,0 +1,245 @@
|
|||
module.exports = {
|
||||
id: 'grid',
|
||||
title: 'Grid system',
|
||||
keywords: [`grid`, `grid system`, `col`, `column`, `layout`, `row`, `container`, `small`, `medium`, `large`, `sm`, `md`, `lg`, `cols`, `predefined`, `offset`, `order`, `reorder`, `first`, `last`, `normal`],
|
||||
description: `<p>The grid system of <strong>mini.css</strong> utilizes the <a href="https://css-tricks.com/snippets/css/a-guide-to-flexbox/" target="_blank">Flexbox layout</a> to provide you with a simple, modern, responsive layout system for your web apps. Like most modern CSS frameworks' grid systems, it is composed of three main components - containers, rows and columns:</p>
|
||||
<ul><li>The container (<code>.container</code>) is the outermost layer of the grid system and serves as a fluid wrapper, which can be used as the basis for your layout.</li>
|
||||
<li>Inside the container, you can add one or more rows (<code>.row</code>), which will in turn house the columns.</li>
|
||||
<li>Columns (<code>col-*-*</code>) are placed inside rows and they can be customized to display differently on different screen sizes, make use of fluid layouts, use offsets or change ordering.</li></ul>`,
|
||||
example: `<div class="container" style="padding: 0.25rem">
|
||||
<div class="row"><div class="col-sm-1"><div class="box-colored">1</div></div><div class="col-sm-11"><div class="box-colored">11</div></div></div>
|
||||
<div class="row"><div class="col-sm-2"><div class="box-colored">2</div></div><div class="col-sm-10"><div class="box-colored">10</div></div></div>
|
||||
<div class="row"><div class="col-sm-3"><div class="box-colored">3</div></div><div class="col-sm-9"><div class="box-colored">9</div></div></div>
|
||||
<div class="row"><div class="col-sm-4"><div class="box-colored">4</div></div><div class="col-sm-8"><div class="box-colored">8</div></div></div>
|
||||
<div class="row"><div class="col-sm-5"><div class="box-colored">5</div></div><div class="col-sm-7"><div class="box-colored">7</div></div></div>
|
||||
<div class="row"><div class="col-sm-6"><div class="box-colored">6</div></div><div class="col-sm-6"><div class="box-colored">6</div></div></div>
|
||||
<div class="row"><div class="col-sm-12"><div class="box-colored">12</div></div></div>
|
||||
<div class="row"><div class="col-sm"><div class="box-colored">fluid</div></div><div class="col-sm"><div class="box-colored">fluid</div></div></div>
|
||||
</div>`,
|
||||
samples: [`
|
||||
<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"container"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-1"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-11"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-2"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-10"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-3"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-9"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-4"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-8"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-5"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-7"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-6"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-6"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></span><span class="highlight-a"></div></span> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>
|
||||
`,
|
||||
`<p>You can use the grid system to create a responsive <a href="https://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/" target="_blank">media object</a> in one of many ways. Below is a simple example of a two-column media object with an image and some text:
|
||||
<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-2"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><img</span> <span class="highlight-b">src</span>=<span class="highlight-c">"image.png"</span> <span class="highlight-b">alt</span>=<span class="highlight-c">"Image description"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><h2></span>Media object heading<span class="highlight-a"></h2></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Media object content...<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
],
|
||||
notes: [
|
||||
`<strong>mini.css</strong> uses a mobile-first approach in its grid system, so you do not have to rewrite the same layout for all three screen sizes. Leaving a column's size, offset or order unspecified for a screen size will use the style applied for the previous largest screen size recursively. This also applies to predefined layouts.`,
|
||||
`The specific breakpoints for small, medium and large screen sizes are as follows:
|
||||
<ul>
|
||||
<li>small: less than <code>768px</code> wide</li>
|
||||
<li>medium: more than or equal to <code>768px</code> wide and less than <code>1280px</code> wide</li>
|
||||
<li>large: <code>1280px</code> wide or more</li>
|
||||
</ul>`,
|
||||
`In many cases, you can omit the container and just use rows and columns. You only need to make sure that all of your rows have the same parent element.`,
|
||||
`You can use fluid columns to create columns whose width is not a multiple of 1/12th of the screen's width (e.g. if you have 7 fluid columns in a row, each one of them will be 1/7th of the screen's width).`,
|
||||
`Predefined layouts can be combined with most of the features of the grid system, such as offsets and reordering, however they do not combine very well with regular columns.`,
|
||||
`You should only apply offset and reordering modifiers to the columns that you need and for the screen sizes that are necessary. Remember to also specify a column width or use a predefined layout before applying these modifiers.`
|
||||
],
|
||||
customization: [
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable. This only affects the padding of the container.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title: `Screen sizes and width`,
|
||||
description: `<p>Each column class is defined by specifying a screen size (small - <code>sm</code>, medium - <code>md</code> or large - <code>lg</code>) and a column width (a value between <code>1</code> and <code>12</code> or you can omit it for a fluid column), separated by dashes (e.g. <code>.col-sm-6</code> for a 6-wide column on a small screen). Using these you can apply different layouts for different screen sizes, by altering the width of columns, using multiple classes. Note that column widths are applied recursively, meaning that if you do not specify a width for a specific screen size the column will use the width applied for the previous largest screen size.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md">
|
||||
<div class="row"><div class="col-sm"><h6 style="text-align:center">Small screen layout</h6></div></div>
|
||||
<div class="row"><div class="col-sm"><div class="box-colored">sm-12</div></div></div>
|
||||
<div class="row"><div class="col-sm-12"><div class="box-colored" style="height: 3.75rem">sm-12 md-8</div></div><div class="col-sm-12"><div class="box-colored" style="height: 2rem">sm-12 md-4</div></div></div>
|
||||
<div class="row"><div class="col-sm"><div class="box-colored">sm-12</div></div></div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md">
|
||||
<div class="row"><div class="col-sm"><h6 style="text-align:center">Medium/Large screen layout</h6></div></div>
|
||||
<div class="row"><div class="col-sm"><div class="box-colored">sm-12</div></div></div>
|
||||
<div class="row"><div class="col-sm-8"><div class="box-colored" style="height: 8rem">sm-12 md-8</div></div><div class="col-sm-4"><div class="box-colored" style="height: 8rem">sm-12 md-4</div></div></div>
|
||||
<div class="row"><div class="col-sm"><div class="box-colored">sm-12</div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"container"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-3 col-lg-2"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-5 col-lg-7"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-4 col-lg-3"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span>></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-lg-10"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-4 col-md"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title: `Predefined layouts`,
|
||||
description: `<p>Rows can be modified to apply predefined layouts to the columns inside them, effectively reducing the amount of work required for simple layouts. To create a predefined layout, you can add a class to a row (<code>.cols-*-*</code>), specifying a screen size and width for the columns inside it (or omitting the width for fluid columns), similarly to the way columns are defined (e.g. <code>.row.cols-sm-6</code> will cause all elements inside the row to be 6-wide on a small screen). Columns inside a predefined layout do not require any further classes to display and, much like normal column layouts, their widths are applied recursively.</p>`,
|
||||
example: '',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row cols-sm-6"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This paragraph is inside a 6-wide column.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This paragraph is inside a 6-wide column.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title: `Column offsets`,
|
||||
description: `<p>Columns can be moved to the right, by applying offset classes (<code>.col-*-offset-*</code>), defining a screen size and an offset (a value between <code>0</code> and <code>11</code>, e.g. <code>.col-sm-offset-3</code> will move a column 25% to the right on a small screen). Like all other column modifiers, offsets are applied recursively.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem">
|
||||
<div class="row"><div class="col-sm col-sm-offset-11"><div class="box-colored">11</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-10"><div class="box-colored">10</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-9"><div class="box-colored">9</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-8"><div class="box-colored">8</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-7"><div class="box-colored">7</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-6"><div class="box-colored">6</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-5"><div class="box-colored">5</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-4"><div class="box-colored">4</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-3"><div class="box-colored">3</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-2"><div class="box-colored">2</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-1"><div class="box-colored">1</div></div></div>
|
||||
<div class="row"><div class="col-sm col-sm-offset-0"><div class="box-colored">0</div></div></div>
|
||||
</div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-8 col-sm-offset-2 col-md-offset-1 col-lg-offset-0"</span><span class="highlight-a">></div></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-sm-offset-3 col-md-offset-4 col-lg-offset-0"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-4 col-md-offset-5"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title: `Column reordering`,
|
||||
description: `<p>Columns can be reordered on different screen sizes, by applying a reordering class (<code>.col-*-*</code>), defining a screen size and the order (first, normal or last, e.g. <code>.col-sm-last</code> will move a column to the end of its row on a small screen). Like all other column modifiers, reordering is applied recursively.</p>`,
|
||||
example: `<div class="container" style="padding: 0.25rem">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md">
|
||||
<div class="row"><div class="col-sm"><h6 style="text-align:center">Small screen layout</h6></div></div>
|
||||
<div class="row"><div class="col-sm-4"><div class="box-colored">md-last</div></div><div class="col-sm-4"><div class="box-colored"> </div></div><div class="col-sm-4"><div class="box-colored">md-first</div></div></div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md">
|
||||
<div class="row"><div class="col-sm"><h6 style="text-align:center">Medium/Large screen layout</h6></div></div>
|
||||
<div class="row"><div class="col-sm-4"><div class="box-colored">md-first</div></div><div class="col-sm-4"><div class="box-colored"> </div></div><div class="col-sm-4"><div class="box-colored">md-last</div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-md-last col-lg-normal"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-sm-first col-md-last"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-md-first col-lg-normal"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [
|
||||
{
|
||||
description: `A column can contain a container or a row inside it, or even be a row at the same time. In the latter case, it will act as a column for its parent row and as a row for its children.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-3"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"container"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-3"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-3 row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-6"</span><span class="highlight-a">></div> <div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-6"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `You can mix fluid columns with fixed, if you like. Fluid columns will adapt to the size of the container left for them. You can also use columns whose total width exceeds <code>12</code> (100%). The remaining content will flow below the rest, allowing you to specify multiple blocks of content inside the same row if you need to.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></div> <div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-4"</span><span class="highlight-a">></span><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `You can change the layout of your content for different displays, laying out your content vertically on smaller screens or horizontally on larger screens. If your columns exceed a total width of <code>12</code> (100%) on some displays, they will wrap accordingly.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-6"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-12 col-md-6"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `You do not need to specify a column's width or reapply offset and reordering modifiers if they are the same as the previous screen size.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm col-lg-3 col-md-last"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-6 col-md-offset-2"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `You can add multiple predefined layout classes for different screen sizes, allowing you to build responsive predefined layouts.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row cols-sm-12 cols-md-6"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></div></span> <span class="highlight-a"><div></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `To remove a previously applied offset from a column (i.e. one applied from the layout from a smaller screen size) or to make sure no offsets are active on a column, you can set its offset to <code>0</code> for a specific screen size. Similarly, to remove previously applied reordering modifiers from a column, you can set its order to <code>normal</code>.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-8 col-sm-offset-1 col-md-offset-0"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm-last col-md-normal"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid placing a column directly inside another column. Always use a row to wrap columns, instead.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid mixing rows and columns with normal content that is not wrapped on the respective level of the grid layout.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"container"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Do not do this.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>Do not do this.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Never omit the class that specifies a column's width for the small screen size. You can omit all other classes and modifiers, except for this. This also applies to predefined layouts.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-md"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row cols-md"</span><span class="highlight-a">></div></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid combining normal column width modifiers with predefined layouts, as the predefined layout will most likely override the width modifier of the column.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row cols-sm-6"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"row cols-sm-4"</span><span class="highlight-a">></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
46
docs/doc-fragments/header.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
module.exports = {
|
||||
id: 'header',
|
||||
title: 'Header',
|
||||
keywords: [`navigation`, `header`, `sticky`, `button`, `logo`, `link`],
|
||||
description: `<p>The header element has been minimally styled, allowing you to create modern headers for your web apps. A header can include a logo element (<code>.logo</code>), as well as buttons, links and labels, styled as buttons (<code>.button</code>).</p>`,
|
||||
example: `<header>
|
||||
<a href="#" class="logo" class="doc">Logo</a> <button class="doc">Home</button>
|
||||
<a href="#" class="button doc">News</a>
|
||||
<button class="doc">About</button> <button class="doc">Contact</button>
|
||||
</header>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><header></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"logo"</span><span class="highlight-a">></span>Logo<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><button></span>Download<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></header></span></span></pre>`],
|
||||
notes: [`The header element is partially responsive on smaller screens, displaying a scrollbar indicating that there is more content off-screen.`,
|
||||
`The header element can be a row in a <a href="grid">grid system</a>, allowing you to create responsive headers.`],
|
||||
customization: [
|
||||
`Text color for the header can be changed by changing the value of the <code>--header-fore-color</code> variable.`,
|
||||
`Background color for the header can be changed by changing the value of the <code>--header-back-color</code> variable.`,
|
||||
`Border color for the header can be changed by changing the value of the <code>--header-border-color</code> variable.`,
|
||||
`Background color for focused buttons inside the header can be changed by changing the value of the <code>--header-hover-back-color</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Sticky header',
|
||||
description: `<p>You can make your web app's header sticky (<code>.sticky</code>), by applying the appropriate modifier.</p>`,
|
||||
example: '',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><header</span> <span class="highlight-b">class</span>=<span class="highlight-c">"sticky"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"logo"</span><span class="highlight-a">></span>Logo<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><button></span>Download<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></header></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `You should not apply a <code>.button</code> class to the logo of your header, but you must make sure that all other elements inside the header are styled as buttons.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><header></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button logo"</span><span class="highlight-a">></span>Logo<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Home<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></header></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
31
docs/doc-fragments/headings.js
Normal file
|
@ -0,0 +1,31 @@
|
|||
module.exports = {
|
||||
id: 'heading',
|
||||
title: 'Headings',
|
||||
keywords: [`heading`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `small`, `title`, `subtitle`, `subheading`],
|
||||
description: `<p>All of the HTML5 heading elements are styled, using a customizable ratio and simple rules, providing a clean base for your web app's titles. Apart from the headings themselves, customized rules are provided for displaying subheadings or explanatory text below your web app's headings.</p>`,
|
||||
example: `<div class="row"><div class="col-sm-12 col-md-6 col-md-first"><h1 class="doc">Heading 1<small class="doc">Subheading</small></h1></div>
|
||||
<div class="col-sm-12 col-md-6"><h2 class="doc">Heading 2<small class="doc">Subheading</small></h2></div>
|
||||
<div class="col-sm-12 col-md-6 col-md-last"><h3 class="doc">Heading 3<small class="doc">Subheading</small></h3></div>
|
||||
<div class="col-sm-12 col-md-6 col-md-first"><h4 class="doc">Heading 4<small class="doc">Subheading</small></h4></div>
|
||||
<div class="col-sm-12 col-md-6"><h5 class="doc">Heading 5<small class="doc">Subheading</small></h5></div>
|
||||
<div class="col-sm-12 col-md-6 col-md-last"><h6 class="doc">Heading 6<small class="doc">Subheading</small></h6></div></div>`,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><h1></span>Heading 1 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h1></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><h2></span>Heading 2 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h2></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><h3></span>Heading 3 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h3></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><h4></span>Heading 4 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h4></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><h5></span>Heading 5 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h5></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><h6></span>Heading 6 <span class="highlight-a"><small></span>Subheading<span class="highlight-a"></small></h6></span></span></pre>
|
||||
`
|
||||
],
|
||||
notes: [],
|
||||
customization: [
|
||||
`Text color can be changed globally by changing the value of the <code>--fore-color</code> variable. This will affect the color of the headings' main text.`,
|
||||
`Secondary text color can be changed globally by changing the value of the <code>--secondary-fore-color</code> variable. This will affect the color of subheadings.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`You can change the ratio of headings' size by chaning the value of the <code>--heading-ratio</code> variable. Bear in mind that the value of this variable must be unitless to work properly.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
73
docs/doc-fragments/icons.js
Normal file
|
@ -0,0 +1,73 @@
|
|||
module.exports = {
|
||||
id: 'icons',
|
||||
title: 'Icons',
|
||||
keywords: [`icon`, `svg`, `feather`, `icons`],
|
||||
description: `<p><strong>mini.css</strong> comes with a set of 20 commonly-used icons (courtesy of <a href="https://feathericons.com/" target="_blank" rel="noopener">Feather</a>) that you can use anywhere in your web apps, utilizing the appropriate class for each icon.</p>`,
|
||||
example: `<div class="row icon-row">
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-alert"></span> .icon-alert</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-bookmark"></span> .icon-bookmark</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-calendar"></span> .icon-calendar</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-cart"></span> .icon-cart</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-credit"></span> .icon-credit</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-edit"></span> .icon-edit</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-help"></span> .icon-help</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-home"></span> .icon-home</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-info"></span> .icon-info</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-link"></span> .icon-link</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-location"></span> .icon-location</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-lock"></span> .icon-lock</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-mail"></span> .icon-mail</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-phone"></span> .icon-phone</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-rss"></span> .icon-rss</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-search"></span> .icon-search</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-settings"></span> .icon-settings</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-share"></span> .icon-share</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-upload"></span> .icon-upload</p></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-3"><p class="doc bordered rounded"><span class="icon-user"></span> .icon-user</p></div>
|
||||
</div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-alert"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-bookmark"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-calendar"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-cart"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-credit"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-edit"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-help"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-home"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-info"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-link"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-location"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-lock"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-mail"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-phone"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-rss"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-search"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-settings"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-share"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-upload"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-user"</span><span class="highlight-a">></span></span></span></pre>`],
|
||||
notes: [`You can only use a <code><span></code> element to create an icon.`,
|
||||
`You can inline icons inside a paragraph or pretty much any other textual content. Icons scale relative to their parent element.`],
|
||||
customization: [
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: `<p>You can create secondary or inverse (<code>.secondary</code>, <code>.inverse</code>) icons, simply by adding the appropriate color modifier.</p>`,
|
||||
example: `<p style="padding: 0.5rem;" class="doc">This is a <span class="icon-home secondary"></span> secondary icon, which has a lighter color.</p><p style="background: #111; color: #f8f8f8; padding: 0.5rem;" class="doc">This is an <span class="icon-home inverse"></span> inverse icon.</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-alert secondary"</span><span class="highlight-a">></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-alert inverse"</span><span class="highlight-a">></span></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid inserting text inside icon elements.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-alert"</span><span class="highlight-a">></span>Don't place text here.<span class="highlight-a"></span></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid applying two color modifiers on the same icon.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"icon-alert inverse secondary"</span><span class="highlight-a">></span></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
21
docs/doc-fragments/images.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
module.exports = {
|
||||
id: 'images-captions',
|
||||
title: 'Images & captions',
|
||||
keywords: [`img`, `image`, `responsive`, `responsiveness`, `caption`, `figure`, `figcaption`],
|
||||
description: `<p>Image elements are responsive by default, automatically scaling down as necessary to display properly on smaller devices. Images retain their original aspect ratio and they will never scale above their original size.</p>
|
||||
<p>If you want to add captions to images, you can use HTML5 figure elements, along with their related captions.</p>`,
|
||||
example: '<figure><img src="https://placehold.it/800x600" alt="placeholder"><figcaption class="doc">Image caption</figcaption></figure>',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><img</span> <span class="highlight-b">src</span>=<span class="highlight-c">"image.png"</span> <span class="highlight-b">alt</span>=<span class="highlight-c">"Image description"</span><span class="highlight-a">/></span></span></pre>`,
|
||||
`<pre><span class="code-line"><span class="highlight-a"><figure></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><img</span> <span class="highlight-b">src</span>=<span class="highlight-c">"image.png"</span> <span class="highlight-b">alt</span>=<span class="highlight-c">"Image description"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><figcaption></span>Image caption<span class="highlight-a"></figcaption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></figure></span></span></pre>`],
|
||||
notes: [`While not mandatory, it is considered a good practice to always add a <code>alt</code> attribute to image elements on your web apps.`],
|
||||
customization: [
|
||||
`You can change the text color of <code><figcaption></code> elements by changing the value of the <code>--secondary-fore-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
68
docs/doc-fragments/inputGrouping.js
Normal file
|
@ -0,0 +1,68 @@
|
|||
module.exports = {
|
||||
id: 'input-grouping',
|
||||
title: 'Input grouping',
|
||||
keywords: [`input group`, `input-group`, `vertical`, `fluid`, `input`, `button`, `button group`, `button-group`],
|
||||
description: `<p>You can ensure that input elements and labels display together on the same line, by grouping them together (<code>.input-group</code>). You can also group buttons together, using a different grouping class (<code>.button-group</code>).</p>`,
|
||||
example: `<form>
|
||||
<fieldset>
|
||||
<legend class="doc">Grouped inputs</legend>
|
||||
<div class="input-group"><label for="gi1-un" class="doc">Username</label> <input type="email" value="" id="gi1-un" placeholder="Username" class="doc"></div><br/>
|
||||
<div class="input-group"><label for="gi1-pwd" class="doc">Password</label> <input type="password" value="" id="gi1-pwd" placeholder="Password" class="doc"></div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<div class="button-group"><button class="doc">Buttons</button><button class="doc">can be</button><button class="doc">grouped</button></div>`,
|
||||
samples: [
|
||||
`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"input-group"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`,
|
||||
`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"button-group"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><button></span>Button<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><button></span>Button<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><button></span>Button<span class="highlight-a"></button></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
],
|
||||
notes: [`It is highly recommended that you do not place checkboxes or radio buttons inside fluid or vertical input groups.`,
|
||||
`Button groups will display horizontally on medium and large screens, but collapse into a vertical view on small screens.`],
|
||||
customization: [],
|
||||
modifiers: [
|
||||
{
|
||||
title : `Fluid & vertical grouping`,
|
||||
description: `<p>You can make your input groups fluid (<code>.fluid</code>) or vertical (<code>.vertical</code>), by applying the appropriate modifiers.</p>`,
|
||||
example: `<form>
|
||||
<fieldset>
|
||||
<legend class="doc">Fluid input groups</legend>
|
||||
<div class="input-group fluid"><label for="gi2-un" class="doc">Username</label> <input type="email" value="" id="gi2-un" placeholder="Username" class="doc"></div>
|
||||
<div class="input-group fluid"><label for="gi2-pwd" class="doc">Password</label> <input type="password" value="" id="gi2-pwd" placeholder="Password" class="doc"></div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form>
|
||||
<fieldset>
|
||||
<legend class="doc">Vertical input groups</legend>
|
||||
<div class="input-group vertical"><label for="gi3-un" class="doc">Username</label> <input type="email" value="" id="gi3-un" placeholder="Username" class="doc"></div>
|
||||
<div class="input-group vertical"><label for="gi3-pwd" class="doc">Password</label> <input type="password" value="" id="gi3-pwd" placeholder="Password" class="doc"></div>
|
||||
</fieldset>
|
||||
</form>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"input-group fluid"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"input-group vertical"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid combining input groups with the <a href="#grid">grid system</a>, as there might be overlapping styles.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"input-group row"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"col-sm"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"username"</span><span class="highlight-a">></span>Username<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"text"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"Username"</span> <span class="highlight-b">placeholder</span>=<span class="highlight-c">"Username"</span><span class="highlight-a">/></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
28
docs/doc-fragments/lists.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
module.exports = {
|
||||
id: 'lists',
|
||||
title: 'Lists',
|
||||
keywords: [`list`, `ul`, `ol`, `li`],
|
||||
description: `<p>List elements, both unordered and ordered, are minimally styled to match with the rest of the framework's aesthetics. Their margins and padding are reset to properly align with the rest of the common HTML5 elements, providing a stable foundation for all of your web app's lists.</p>`,
|
||||
example: `<ul class="doc"><li class="doc">Apple</li><li class="doc">Orange</li><li class="doc">Strawberry</li></ul><br/>
|
||||
<ol class="doc"><li class="doc">Wake up</li><li class="doc">Eat breakfast</li><li class="doc">Go to work</li></ol>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><ul></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Apple<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Orange<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Strawberry<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></ul></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><ol></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Wake up<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Eat breakfast<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><li></span>Go to work<span class="highlight-a"></li></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></ol></span></span></pre>`],
|
||||
notes: [],
|
||||
customization: [
|
||||
`Text color can be changed globally by changing the value of the <code>--fore-color</code> variable.`,
|
||||
`Background color can be changed globally by changing the value of the <code>--back-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
62
docs/doc-fragments/modalDialogs.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
module.exports = {
|
||||
id: 'modal-dialogs',
|
||||
title: 'Modal dialogs',
|
||||
keywords: [`modal`, `dialog`, `contextual`, `alert`, `notification`],
|
||||
description: `<p><strong>mini.css</strong> provides you with a modal dialog component to display messages to users. It is composed of three components - the modal dialog, the toggle button and the close button:</p>
|
||||
<ul><li>To create a modal dialog, simply create a checkbox input, applying the appropriate class to it (<code>.modal</code>), immediately followed by a <code><div></code> container. The former serves as your modal dialog's control, while the latter is the actual modal dialog container.</li>
|
||||
<li>Create a label anywhere outside your modal dialog's container for the checkbox controlling your modal dialog. This will serve as the toggle button for your modal dialog.</li>
|
||||
<li>Finally, inside your modal dialog's container, add another label for the checkbox controlling your modal dialog, applying the appropriate class (.modal-close). This will serve as the close button for your modal dialog.</li>
|
||||
</ul>`,
|
||||
example: `<input type="checkbox" class="modal" id="modal-example"><div class="modal doc"><div class="card doc"><label for="modal-example" class="modal-close doc"></label><h3 class="section double-padded doc">Modal</h3><p class="section double-padded doc">This is a modal dialog!</p></div></div><label for="modal-example" class="button doc">Show modal dialog</label>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"modal-control"</span><span class="highlight-a">></span>Show modal<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"></span>
|
||||
<span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal-close"</span> <span class="highlight-a">></span><span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><h3</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></span>Modal<span class="highlight-a"></h3></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></span>This is a modal dialog!<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`],
|
||||
notes: [
|
||||
`Modal dialogs should be used in combination with the <a href="#card">card</a> component for best results.`,
|
||||
`Remember to apply the appropriate classes to any and all elements, as indicated in the examples. Failing to do so will result in the modal dialog not rendering or behaving properly.`,
|
||||
`You can omit the toggle for the modal dialog and use Javascript to show/hide it, instead. You can also use any correctly linked label inside the modal dialog to change its state.`
|
||||
],
|
||||
customization: [
|
||||
`Background color for the modal dialog overlay can be changed by changing the value of <code>--modal-overlay-color</code>.`,
|
||||
`Text color for the modal dialog close button can be changed by changing the value of the <code>--modal-close-color</code>.`,
|
||||
`Background color for the modal dialog close button when focused or hovered over can be changed by changing the value of the <code>--modal-close-hover-color</code>.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [
|
||||
{
|
||||
description: `You can use the <code>role="dialog"</code> to add accessibility to your modal dialogs. Remember to properly label it and manage keyboard focus, as required.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">role</span>=<span class="highlight-c">"dialog"</span> <span class="highlight-b">aria-labelledby</span>=<span class="highlight-c">"dialog-title"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal-close"</span> <span class="highlight-a">></span><span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><h3</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"dialog-title"</span><span class="highlight-a">></span>Modal<span class="highlight-a"></h3></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></span>This is a modal dialog!<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: [
|
||||
{
|
||||
description: `You should not place anything between the checkbox controlling the modal dialog and the container.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-c"><!-- Do not place other stuff between these --></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"card"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"modal-control"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"modal-close"</span> <span class="highlight-a">></span><span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><h3</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></span>Modal<span class="highlight-a"></h3></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"section"</span><span class="highlight-a">></span>This is a modal dialog!<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
49
docs/doc-fragments/navigationBar.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
module.exports = {
|
||||
id: 'navigation-bar',
|
||||
title: 'Navigation bar',
|
||||
keywords: [`navigation`, `bar`, `nav`, `link`],
|
||||
description: `<p>The navigation bar element has been minimally styled, allowing you to create simple vertical navigation menus for your web apps. Apart from styling from links, custom classes (<code>.sublink-1</code> and <code>.sublink-2</code>) are provided for creating navigation trees.</p>`,
|
||||
example: `<nav>
|
||||
<a href="#" class="doc">Home</a> <span class="doc">News</span>
|
||||
<a href="#" class="sublink-1 doc">New Courses</a> <a href="#" class="sublink-1 doc">Certifications</a>
|
||||
<span class="sublink-1 doc">Events</span> <a href="#" class="sublink-2 doc">Course Showcase - 12th, Dec</a>
|
||||
<a href="#" class="sublink-2 doc">Staff AMA - 16th, Dec</a> <a href="#" class="sublink-1 doc">Policy Update</a>
|
||||
<a href="#" class="doc">About</a> <a href="#" class="doc">Contact</a>
|
||||
</nav>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><nav></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span><span class="highlight-a">></span>Category 1<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><span></span>Category 2<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"sublink-1"</span><span class="highlight-a">></span>Item 2.1<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"sublink-1"</span><span class="highlight-a">></span>Category 2.2<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><a</span> <span class="highlight-b">href</span>=<span class="highlight-c">"#"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"sublink-2"</span><span class="highlight-a">></span>Item 2.2.1<span class="highlight-a"></a></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></nav></span></span></pre>`],
|
||||
notes: [`It is recommended that you combine the navigation bar element with the <a href="#grid">grid system</a> to create responsive navigation menus for your web apps.`],
|
||||
customization: [
|
||||
`Text color for navigation bars can be changed by changing the value of the <code>--nav-fore-color</code> variable.`,
|
||||
`Background color for navigation bars can be changed by changing the value of the <code>--nav-back-color</code> variable.`,
|
||||
`Border color for navigation bars can be changed by changing the value of the <code>--nav-border-color</code> variable.`,
|
||||
`Background color for focused buttons inside navigation bars can be changed by changing the value of the <code>--nav-hover-back-color</code> variable.`,
|
||||
`Text color for links inside navigation bars can be changed by changing the value of the <code>--nav-link-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
||||
|
||||
/*
|
||||
Modifiers:
|
||||
{
|
||||
title : '',
|
||||
description: '',
|
||||
example: '',
|
||||
samples: []
|
||||
}
|
||||
Dos/Donts:
|
||||
{
|
||||
description: '',
|
||||
sample: ''
|
||||
}
|
||||
*/
|
11
docs/doc-fragments/premadeFlavors.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
var version = require('../vinf').version;
|
||||
module.exports = {
|
||||
id: 'prebuilt-flavors',
|
||||
title: 'Prebuilt flavors',
|
||||
content: `<div class="section"><p><strong>mini.css</strong> comes with a few prebuild flavors out of the box, so you can get started without having to finetune every little aspect of your CSS framework:</p>
|
||||
<ul>
|
||||
<li>Default: <a href="flavorFiles/mini-default.scss" download>SCSS file</a> - <a href="flavorFiles/mini-default.css" download>CSS file</a> - <a href="flavorFiles/mini-default.min.css" download>CSS file (minified)</a></li>
|
||||
<li>Dark: <a href="flavorFiles/mini-dark.scss" download>SCSS file</a> - <a href="flavorFiles/mini-dark.css" download>CSS file</a> - <a href="flavorFiles/mini-dark.min.css" download>CSS file (minified)</a></li>
|
||||
<li>Nord: <a href="flavorFiles/mini-nord.scss" download>SCSS file</a> - <a href="flavorFiles/mini-nord.css" download>CSS file</a> - <a href="flavorFiles/mini-nord.min.css" download>CSS file (minified)</a></li>
|
||||
</ul></div>`
|
||||
}
|
44
docs/doc-fragments/progressBars.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
module.exports = {
|
||||
id: 'progress-bars',
|
||||
title: 'Progress bars',
|
||||
keywords: [`progress`, `bar`, `primary`, `secondary`, `tertiary`, `inline`],
|
||||
description: `<p>Progress bars are minimally styled to match with the rest of the framework's aesthetics and be consistent across all modern browsers.</p>`,
|
||||
example: `<progress value="450" max="1000"></progress>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span><span class="highlight-a">></progress></span></span></pre>`],
|
||||
notes: [`Progress bars are designed to work with a <code>max="1000"</code> attribute, as this covers the most common use-cases.`],
|
||||
customization: [
|
||||
`Foreground color for progress bars can be changed by changing the value of the <code>--progress-fore-color</code> variable.`,
|
||||
`Background color for progress bars can be changed by changing the value of the <code>--progress-back-color</code> variable.`,
|
||||
`You can customize the colors of different color variants by changing the values of the related variables in their respective definitions.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Inline progress bars',
|
||||
description: `<p>You can create inline progress bars (<code>.inline</code>), by applying the appropriate modifier.</p>`,
|
||||
example: `<p class="doc"><progress value="450" max="1000" class="inline"></progress> 45% completed...</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"inline"</span><span class="highlight-a">></progress></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: `<p>You can create primary, secondary or tertiary (<code>.primary</code>, <code>.secondary</code>, <code>.tertiary</code>) progress bars, simply by adding the appropriate color modifier.</p>`,
|
||||
example: `<progress value="450" max="1000" class="primary"></progress><progress value="450" max="1000" class="secondary"></progress><progress value="450" max="1000" class="tertiary"></progress>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"primary"</span><span class="highlight-a">></progress></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"secondary"</span><span class="highlight-a">></progress></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tertiary"</span><span class="highlight-a">></progress></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid using different values than <code>1000</code> for progress bars' <code>max</code> attribute, as well as floating point values for either <code>max</code> or <code>value</code>.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"45"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"100"</span><span class="highlight-a">></progress></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450.0"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000.0"</span><span class="highlight-a">></progress></span></span></pre>`
|
||||
},
|
||||
{
|
||||
description: `Avoid applying two color modifiers on the same progress bar.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><progress</span> <span class="highlight-b">value</span>=<span class="highlight-c">"450"</span> <span class="highlight-b">max</span>=<span class="highlight-c">"1000"</span> <span class="highlight-b">class</span>=<span class="highlight-c">"primary secondary"</span><span class="highlight-a">></progress></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
20
docs/doc-fragments/responsiveSpacingAndSizing.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
module.exports = {
|
||||
id: 'responsive-spacing-sizing',
|
||||
title: 'Responsive spacing & sizing',
|
||||
keywords: ['responsiveness', 'margin', 'padding', 'responsive-margin', 'responsive-margin'],
|
||||
description: '<p>You can make elements\' spacing or sizing responsive by applying the appropriate class (<code>.responsive-margin</code> or <code>.responsive-padding</code>).</p>',
|
||||
example: '',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"responsive-margin"</span><span class="highlight-a">></span>Responsive margin.<span class="highlight-a"></span></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"responsive-padding"</span><span class="highlight-a">></span>Responsive padding.<span class="highlight-a"></span></span></span></pre>`],
|
||||
notes: [
|
||||
'Responsive spacing and sizing modifiers use <code>!important</code> declarations to override any other styles, so exercise caution when using them.',
|
||||
'Responsive spacing and sizing modifiers are independent, meaning that hiding or visually hiding an element in one screen size will not affect its visibility in any other screen size.'
|
||||
],
|
||||
customization: [
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable, affecting the responsive spacing modifier. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable, affecting the responsive sizing modifier.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
68
docs/doc-fragments/spoilersAndAccordions.js
Normal file
|
@ -0,0 +1,68 @@
|
|||
module.exports = {
|
||||
id: 'spoilers-and-accordions',
|
||||
title: 'Spoilers & accordions',
|
||||
keywords: [`spoiler`, `collapse`, `accordion`, `contextual`, `vertical tabs`],
|
||||
description: `<p><strong>mini.css</strong> provides you with accessible spoilers and accordions. They are composed of two components - the wrapper, the toggle button and the content container:</p>
|
||||
<ul><li>To create a collapsible spoiler, simply create a <code><div></code>, applying the appropriate class to it (<code>.collapse</code>). This serves as the wrapper for the collapsible spoiler.</li>
|
||||
<li>Inside the wrapper, create a checkbox or radio input, immediately followed by a <code><label></code> for the checkbox. The former serves as your collapsible spoiler's control, while the latter is the toggle button for your collapsible spoiler.</li>
|
||||
<li>Create a <code><div></code> right after the <code><label></code>. This will serve as the container for the collapsible content.</li>
|
||||
</ul>
|
||||
<p>If you want to create an accordion, simply repeat the last two steps above for each section of the accordion. In order to make collapsible spoilers and accordions fully accessible, it is highly recommended to add the <code>aria-hidden="true"</code> attribute to all labels and inputs that control the behavior of these components.</p>`,
|
||||
example: `<div class="collapse"><input type="checkbox" id="collapse-example1" checked aria-hidden="true"><label for="collapse-example1" aria-hidden="true">Collapse section 1</label><div><p>This is the first section of the collapse</p></div><input type="checkbox" id="collapse-example2" aria-hidden="true"><label for="collapse-example2" aria-hidden="true">Collapse section 2</label><div><p>This is the second section of the collapse</p></div></div><br/>
|
||||
<div class="collapse"><input type="radio" name="accordion" id="accordion-example1" checked aria-hidden="true"><label for="accordion-example1" aria-hidden="true">Accordion section 1</label><div><p>This is the first section of the accordion</p></div><input type="radio" name="accordion" id="accordion-example2" aria-hidden="true"><label for="accordion-example2" aria-hidden="true">Accordion section 2</label><div><p>This is the second section of the accordion</p></div></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"collapse"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"collapse-section1"</span> <span class="highlight-b">checked</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"collapse-section1"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span>Collapse section 1<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This is the first section of the collapse<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"collapse-section2"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"collapse-section2"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span>Collapse section 2<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This is the second section of the collapse<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`,
|
||||
`<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"collapse"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"radio"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"accordion-section1"</span> <span class="highlight-b">checked</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span> <span class="highlight-b">name</span>=<span class="highlight-c">"accordion"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"accordion-section1"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span>Accordion section 1<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This is the first section of the accordion<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"radio"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"accordion-section2"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span> <span class="highlight-b">name</span>=<span class="highlight-c">"accordion"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"accordion-section2"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span>Accordion section 2<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This is the second section of the accordion<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`],
|
||||
notes: [
|
||||
`Make sure all the radio buttons in the same accordion have the same <code>name</code>.`,
|
||||
`If you want a collapsible spoiler or an accordion section to be expanded by default, you can add the <code>checked</code> attribute to the respective collapsible spooiler's or section's control.`,
|
||||
`The <code>max-height</code> of the content container is <code>400px</code>.`,
|
||||
`Using the <code>aria-hidden="true"</code> attribute is highly recommended, as screen readers will ignore the controls of the collapsible spoiler or accordion and read all the contained content normally.`
|
||||
],
|
||||
customization: [
|
||||
`Background color, text color and background color on hover for the collapsible spoiler's labels can be changed by changing the values of <code>--collapse-label-back-color</code>, <code>--collapse-label-fore-color</code> and <code>--collapse-label-hover-back-color</code> respectively.`,
|
||||
`Border color for the collapsible spoiler can be changed by changing the value of the <code>--collapse-border-color</code>.`,
|
||||
`Background color for the collapsible spoiler's content can be changed by changing the value of the <code>--collapse-content-back-color</code>.`,
|
||||
`Background color and border for the spoiler's content selected labels can be changed by changing the values of the <code>--collapse-selected-label-back-color</code> and <code>--collapse-selected-label-border-color</code> respectively.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `You should not place anything between the checkbox controlling the collapsible spoiler and its label or between the label and the content container.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><div</span> <span class="highlight-b">class</span>=<span class="highlight-c">"collapse"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><input</span> <span class="highlight-b">type</span>=<span class="highlight-c">"checkbox"</span> <span class="highlight-b">id</span>=<span class="highlight-c">"collapse-section1"</span> <span class="highlight-b">checked</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"> <span class="highlight-c"><!-- Do not place other stuff between these --></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><label</span> <span class="highlight-b">for</span>=<span class="highlight-c">"collapse-section1"</span> <span class="highlight-b">aria-hidden</span>=<span class="highlight-c">"true"</span><span class="highlight-a">></span>Collapse section 1<span class="highlight-a"></label></span></span>
|
||||
<span class="code-line"> <span class="highlight-c"><!-- Do not place other stuff between these --></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><div></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><p></span>This is the first section of the collapse<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"></div></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></div></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
208
docs/doc-fragments/tables.js
Normal file
|
@ -0,0 +1,208 @@
|
|||
module.exports = {
|
||||
id: 'tables',
|
||||
title: 'Tables',
|
||||
keywords: [`table`, `caption`, `thead`, `tbody`, `tr`, `th`, `td`, `horizontal`, `striped`, `hoverable`],
|
||||
description: `<p>Tables are styled in a minimal, modern and responsive manner, allowing users on all devices to easily browse tabular data, taking advantage of the <a href="https://css-tricks.com/snippets/css/a-guide-to-flexbox/" target="_blank">Flexbox layout</a>'s capabilities. To make tabular data properly display on mobile devices, remember to specify a <code>data-label</code> attribute for each <code><></code> element (usually same as the heading of the column).</p>`,
|
||||
example: `<h6 style="text-align:center">Desktop view</h6>
|
||||
<table class="doc"><caption class="doc">People</caption>
|
||||
<thead class="doc"><tr class="doc"><th class="doc">Name</th><th class="doc">Surname</th><th class="doc">Alias</th></tr></thead>
|
||||
<tbody class="doc">
|
||||
<tr class="doc"><td data-label="Name" class="doc">Chad</td><td data-label="Surname" class="doc">Wilberts</td><td data-label="Alias" class="doc">MrOne</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Adam</td><td data-label="Surname" class="doc">Smith</td><td data-label="Alias" class="doc">TheSmith</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sophia</td><td data-label="Surname" class="doc">Canderson</td><td data-label="Alias" class="doc">Candee</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Nick</td><td data-label="Surname" class="doc">Thomson</td><td data-label="Alias" class="doc">NickThom</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Mark</td><td data-label="Surname" class="doc">Gerkis</td><td data-label="Alias" class="doc">Markie</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">John</td><td data-label="Surname" class="doc">Fergusson</td><td data-label="Alias" class="doc">Fergujohn</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sylvia</td><td data-label="Surname" class="doc">Pouleau</td><td data-label="Alias" class="doc">Sylver</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Norman</td><td data-label="Surname" class="doc">Jones</td><td data-label="Alias" class="doc">NormalJones</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Trevor</td><td data-label="Surname" class="doc">Heidel</td><td data-label="Alias" class="doc">Heidi</td></tr>
|
||||
</tbody>
|
||||
</table><br/><h6 style="text-align:center">Mobile view</h6>
|
||||
<table class="doc cardized"><caption class="doc">People</caption>
|
||||
<thead class="doc"><tr class="doc"><th class="doc">Name</th><th class="doc">Surname</th><th class="doc">Alias</th></tr></thead>
|
||||
<tbody class="doc">
|
||||
<tr class="doc"><td data-label="Name" class="doc">Chad</td><td data-label="Surname" class="doc">Wilberts</td><td data-label="Alias" class="doc">MrOne</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Adam</td><td data-label="Surname" class="doc">Smith</td><td data-label="Alias" class="doc">TheSmith</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sophia</td><td data-label="Surname" class="doc">Canderson</td><td data-label="Alias" class="doc">Candee</td></tr>
|
||||
</tbody>
|
||||
</table>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><table></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <caption></span>People<span class="highlight-a"></caption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Name<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Surname<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Alias<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Chad<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Wilberts<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>MrOne<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Adam<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Smith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>TheSmith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Sophia<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Canderson<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>Candee<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></table></span></span></pre>`],
|
||||
notes: [`Remember to always specify a <code>data-label</code> attribute for all of your <code><td></code> elements, otherwise they will not display properly on mobile.`,
|
||||
`Due to the way tables are displayed, the <code><tfoot></code> element is not supported.`,
|
||||
`Tables are vertically scrollable by default, with a <code>max-height</code> property of <code>400px</code>.`],
|
||||
customization: [
|
||||
`Text color for <code><th></code> and <code><td></code> elements can be changed by changing the values of the <code>--table-head-fore-color</code> and <code>--table-body-fore-color</code> variables respectively.`,
|
||||
`Background color for <code><th></code> and <code><td></code> elements can be changed by changing the values of the <code>--table-head-back-color</code> and <code>--table-body-back-color</code> variables respectively.`,
|
||||
`Border color for tables can be changed by changing the value of the <code>--table-border-color</code> variable.`,
|
||||
`Border color for the separator between a table's heading and a table's body can be changed by changing the value of the <code>--table-border-separator-color</code> variable.`,
|
||||
`Alternative background color for <code><td></code> elements in striped tables can be changed by changing the value of the <code>--table-body-alt-back-color</code> variable.`,
|
||||
`Hover background color for <code><tr></code> elements in hoverable tables can be changed by changing the value of the <code>--table-body-hover-back-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Horizontal tables',
|
||||
description: `<p>You can create horizontal tables (<code>.horizontal</code>), by applying the appropriate class.</p>`,
|
||||
example: `<table class="doc horizontal"><caption class="doc">People</caption>
|
||||
<thead class="doc"><tr class="doc"><th class="doc">Name</th><th class="doc">Surname</th><th class="doc">Alias</th></tr></thead>
|
||||
<tbody class="doc">
|
||||
<tr class="doc"><td data-label="Name" class="doc">Chad</td><td data-label="Surname" class="doc">Wilberts</td><td data-label="Alias" class="doc">MrOne</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Adam</td><td data-label="Surname" class="doc">Smith</td><td data-label="Alias" class="doc">TheSmith</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sophia</td><td data-label="Surname" class="doc">Canderson</td><td data-label="Alias" class="doc">Candee</td></tr>
|
||||
</tbody>
|
||||
</table>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><table</span> <span class="highlight-b">class</span>=<span class="highlight-c">"horizontal"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <caption></span>People<span class="highlight-a"></caption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Name<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Surname<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Alias<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Chad<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Wilberts<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>MrOne<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Adam<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Smith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>TheSmith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Sophia<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Canderson<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>Candee<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></table></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Striped tables',
|
||||
description: `<p>You can create striped tables (<code>.striped</code>), by applying the appropriate class.</p>`,
|
||||
example: `<table class="doc striped"><caption class="doc">People</caption>
|
||||
<thead class="doc"><tr class="doc"><th class="doc">Name</th><th class="doc">Surname</th><th class="doc">Alias</th></tr></thead>
|
||||
<tbody class="doc">
|
||||
<tr class="doc"><td data-label="Name" class="doc">Chad</td><td data-label="Surname" class="doc">Wilberts</td><td data-label="Alias" class="doc">MrOne</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Adam</td><td data-label="Surname" class="doc">Smith</td><td data-label="Alias" class="doc">TheSmith</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sophia</td><td data-label="Surname" class="doc">Canderson</td><td data-label="Alias" class="doc">Candee</td></tr>
|
||||
</tbody>
|
||||
</table>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><table</span> <span class="highlight-b">class</span>=<span class="highlight-c">"striped"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <caption></span>People<span class="highlight-a"></caption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Name<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Surname<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Alias<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Chad<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Wilberts<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>MrOne<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Adam<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Smith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>TheSmith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Sophia<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Canderson<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>Candee<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></table></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Hoverable tables',
|
||||
description: `<p>You can create hoverable tables (<code>.hoverable</code>), by applying the appropriate class.</p>`,
|
||||
example: `<table class="doc hoverable"><caption class="doc">People</caption>
|
||||
<thead class="doc"><tr class="doc"><th class="doc">Name</th><th class="doc">Surname</th><th class="doc">Alias</th></tr></thead>
|
||||
<tbody class="doc">
|
||||
<tr class="doc"><td data-label="Name" class="doc">Chad</td><td data-label="Surname" class="doc">Wilberts</td><td data-label="Alias" class="doc">MrOne</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Adam</td><td data-label="Surname" class="doc">Smith</td><td data-label="Alias" class="doc">TheSmith</td></tr>
|
||||
<tr class="doc"><td data-label="Name" class="doc">Sophia</td><td data-label="Surname" class="doc">Canderson</td><td data-label="Alias" class="doc">Candee</td></tr>
|
||||
</tbody>
|
||||
</table>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><table</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hoverable"</span><span class="highlight-a">></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <caption></span>People<span class="highlight-a"></caption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Name<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Surname<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th></span>Alias<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Chad<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Wilberts<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>MrOne<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Adam<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Smith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>TheSmith<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Name"</span><span class="highlight-a">></span>Sophia<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Surname"</span><span class="highlight-a">></span>Canderson<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Alias"</span><span class="highlight-a">></span>Candee<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></table></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid placing <code><td></code> elements in the <code><thead></code> of your tables, as well as placing <code><th></code> elements in the <code><tbody></code>.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><table></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <caption></span>People<span class="highlight-a"></caption></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><td></span>Bad idea<span class="highlight-a"></td></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </thead></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> <tr></span></span>
|
||||
<span class="code-line"> <span class="highlight-a"><th</span> <span class="highlight-b">data-label</span>=<span class="highlight-c">"Bad"</span><span class="highlight-a">></span>Also bad idea<span class="highlight-a"></th></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tr></span></span>
|
||||
<span class="code-line"><span class="highlight-a"> </tbody></span></span>
|
||||
<span class="code-line"><span class="highlight-a"></table></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
28
docs/doc-fragments/template.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
module.exports = {
|
||||
id: '',
|
||||
title: '',
|
||||
keywords: [],
|
||||
description: '',
|
||||
example: '',
|
||||
samples: [],
|
||||
notes: [],
|
||||
customization: [],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
||||
|
||||
/*
|
||||
Modifiers:
|
||||
{
|
||||
title : '',
|
||||
description: '',
|
||||
example: '',
|
||||
samples: []
|
||||
}
|
||||
Dos/Donts:
|
||||
{
|
||||
description: '',
|
||||
sample: ''
|
||||
}
|
||||
*/
|
43
docs/doc-fragments/textHighlighting.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
module.exports = {
|
||||
id: 'text-highlighting',
|
||||
title: 'Text highlighting',
|
||||
keywords: [`mark`, `highlight`, `text highlighting`, `tag`, `primary`, `secondary`, `tertiary`, `inline-block`],
|
||||
description: `<p>The native HTML5 mark element has been minimally styled to allow for easy text highlighting.</p>`,
|
||||
example: `<p class="doc">This is a paragraph with some <mark class="doc">highlighted text</mark>.</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><p></span>This is some <span class="highlight-a"><mark></span>highlighted text<span class="highlight-a"></mark></span>.<span class="highlight-a"></p></span></span></pre>`],
|
||||
notes: [
|
||||
`Highlighted text scales according to its parent element, so it can be used inside any kind of element (headings, forms, paragraphs etc.).`
|
||||
],
|
||||
customization: [
|
||||
`Text color for highlighted text can be changed by changing the value of the <code>--mark-fore-color</code> variable.`,
|
||||
`Background color for highlighted text can be changed by changing the value of the <code>--mark-back-color</code> variable.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Color variants',
|
||||
description: '<p>You can change the color of highlighted text, based on context by applying the appropriate class (secondary - <code>.secondary</code> or tertiary - <code>.tertiary</code>).</p>',
|
||||
example: `<p class="doc">This is a <mark class="doc secondary">secondary highlight</mark> and this is a <mark class="doc tertiary">tertiary highlight</mark>.</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><p></span>This is a <span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"secondary"</span><span class="highlight-a">></span>secondary highlight<span class="highlight-a"></mark></span> and this is a <span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tertiary"</span><span class="highlight-a">></span>tertiary highlight<span class="highlight-a"></mark></span>.<span class="highlight-a"></p></span></span></pre>`]
|
||||
},
|
||||
{
|
||||
title : 'Style variants',
|
||||
description: `<p>You can make highlights look like tags (<code>.tag</code>) or display as inline blocks (<code>.inline-block</code>), by applying the appropriate class.</p>`,
|
||||
example: `<p class="doc">This is a highlight styled as a <mark class="doc tag">tag</mark>.</p><p><mark class="doc inline-block">This is some highlighted text that is displayed as an inline block.</mark></p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><p></span>This is a highlight styled as a <span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tag"</span><span class="highlight-a">></span>tag<span class="highlight-a"></mark></span>.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p></span><span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"inline-block"</span><span class="highlight-a">></span>This is some highlighted text that is displayed as an inline block.<span class="highlight-a"></mark></span><span class="highlight-a"></p></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [{
|
||||
description: `You can nest a highlight inside another one, if the outer one is displayed as an inline-block.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"inline-block"</span><span class="highlight-a">></span><span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"secondary"</span><span class="highlight-a">></span>Secondary highlight<span class="highlight-a"></mark></span> inside a inline block.<span class="highlight-a"></mark></span></span></pre>`
|
||||
}],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid applying multiple color modifiers on the same highlight.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><mark</span> <span class="highlight-b">class</span>=<span class="highlight-c">"primary inverse"</span><span class="highlight-a">></span>Highlight<span class="highlight-a"></mark></span></span>
|
||||
</pre>`
|
||||
}
|
||||
]
|
||||
}
|
21
docs/doc-fragments/toasts.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
module.exports = {
|
||||
id: 'toasts',
|
||||
title: 'Toasts',
|
||||
keywords: [`span`, `toast`, `mobile`, `contextual`, `message`],
|
||||
description: `<p><strong>mini.css</strong> provides you with toast messages (<code>.toast</code>), allowing you to display native-looking notifications on mobile devices.</p>`,
|
||||
example: `<div class="container" style="height: 8rem; position: relative;"><span class="toast doc" style="position: absolute;">This is a toast message!</span></div>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"toast"</span><span class="highlight-a">></span>This is a toast message!<span class="highlight-a"></span></span></span></pre>`],
|
||||
notes: [
|
||||
`Toast elements do not have any pre-defined behavior, but you can use Javascript to add functionality to them.`
|
||||
],
|
||||
customization: [
|
||||
`Text color for toast messages can be changed by changing the value of the <code>--toast-fore-color</code> variable.`,
|
||||
`Background color for toast messages can be changed by changing the value of the <code>--toast-back-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
28
docs/doc-fragments/tooltips.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
module.exports = {
|
||||
id: 'tooltips',
|
||||
title: 'Tooltips',
|
||||
keywords: [`tooltip`, `aria-label`, `contextual`, `bottom`, `span`],
|
||||
description: `<p>You can utilize the <code>aria-label</code> property to create accessible tooltips (<code>.tooltip</code>), allowing you to display explanatory text for different elements.</p>`,
|
||||
example: `<p class="tooltip" aria-label="This is a tooltip">Hover over this text to see a tooltip!</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tooltip"</span> <span class="highlight-b">aria-label</span>=<span class="highlight-c">"Tooltip text"</span><span class="highlight-a">></span>Hover over text to see tooltip<span class="highlight-a"></span></span></span></pre>`],
|
||||
notes: [
|
||||
`Tooltips depend on the <code>aria-label</code> property, so they are fully accessible on screen readers.`
|
||||
],
|
||||
customization: [
|
||||
`Text color for tooltips can be changed by changing the value of the <code>--tooltip-fore-color</code> variable.`,
|
||||
`Background color for tooltips can be changed by changing the value of the <code>--tooltip-back-color</code> variable.`,
|
||||
`Universal margin for elements can be changed globally by changing the value of the <code>--universal-margin</code> variable. As a rule of thumb, consider the universal margin to be the distance you want your paragraphs to have from the sides of the screen.`,
|
||||
`Universal padding for elements can be changed globally by changing the value of the <code>--universal-padding</code> variable.`,
|
||||
`Universal border radius for elements can be changed globally by changing the value of the <code>--universal-border-radius</code> variable.`
|
||||
],
|
||||
modifiers: [
|
||||
{
|
||||
title : 'Position variant',
|
||||
description: '<p>You can make tooltips display below the related text, by adding the appropriate class (<code>.bottom</code>).</p>',
|
||||
example: `<p class="tooltip bottom" aria-label="This is a bottom tooltip">Hover over this text to see a tooltip!</p>`,
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><span</span> <span class="highlight-b">class</span>=<span class="highlight-c">"tooltip bottom"</span> <span class="highlight-b">aria-label</span>=<span class="highlight-c">"Tooltip text"</span><span class="highlight-a">></span>Hover over text to see tooltip<span class="highlight-a"></span></span></span></pre>`]
|
||||
}
|
||||
],
|
||||
dos: [],
|
||||
donts: []
|
||||
}
|
34
docs/doc-fragments/visibilityHelpers.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
module.exports = {
|
||||
id: 'visibility-helpers',
|
||||
title: 'Visibility helpers',
|
||||
keywords: ['hidden', 'visibility', 'visually-hidden', 'accessibility', 'utility'],
|
||||
description: '<p>You can use visibility helper classes to hide elements for all users (<code>.hidden</code>) or for users not on screen readers (<code>.visually-hidden</code>). There are also responsive visibility helpers provided, for hiding or visually hiding content only for specific screen sizes (<code>.hidden-sm</code>, <code>.hidden-md</code>, <code>.hidden-lg</code> and <code>.visually-hidden-sm</code>, <code>.visually-hidden-md</code> and <code>.visually-hidden-lg</code> respectively).</p>',
|
||||
example: '',
|
||||
samples: [`<pre><span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden"</span><span class="highlight-a">></span>Not visible for any users.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"visually-hidden"</span><span class="highlight-a">></span>Visible only for screen readers.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden-sm"</span><span class="highlight-a">></span>Not visible for users on screens under 768px wide.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden-md"</span><span class="highlight-a">></span>Not visible for users on screens 768px-1280px wide.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden-lg"</span><span class="highlight-a">></span>Not visible for users on screens wider than 1280px.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"visually-hidden-sm"</span><span class="highlight-a">></span>Visible only for screen readers under 768px wide.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"visually-hidden-md"</span><span class="highlight-a">></span>Visible only for screen readers 768px-1280px wide.<span class="highlight-a"></p></span></span>
|
||||
<span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"visually-hidden-lg"</span><span class="highlight-a">></span>Visible only for screen readers wider than 1280px.<span class="highlight-a"></p></span></span></pre>`],
|
||||
notes: [
|
||||
'Visibility helpers use <code>!important</code> declarations to override any other styles, so exercise caution when using them.',
|
||||
'The specific breakpoints for small, medium and large screen sizes are as follows:<ul><li>small: less than <code>768px</code> wide</li><li>medium: more than or equal to <code>768px</code> wide and less than <code>1280px</code> wide</li><li>large: <code>1280px</code> wide or more</li></ul>',
|
||||
'Responsive visibility helper classes are independent, meaning that hiding or visually hiding an element in one screen size will not affect its visibility in any other screen size.'
|
||||
],
|
||||
customization: [],
|
||||
modifiers: [],
|
||||
dos: [
|
||||
{
|
||||
description: `You can apply multiple responsive visibility helpers on the same element.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden-sm hidden-md"</span><span class="highlight-a">></span>Not visible for users on screens under 1280px wide.<span class="highlight-a"></p></span></span></pre>`
|
||||
}
|
||||
],
|
||||
donts: [
|
||||
{
|
||||
description: `Avoid combining <code>.hidden</code> and <code>.visually-hidden</code> or responsive helpers for the same screen size.`,
|
||||
sample: `<pre><span class="code-line"><span class="highlight-a"><p</span> <span class="highlight-b">class</span>=<span class="highlight-c">"hidden visually-hidden"</span><span class="highlight-a">></span>Do not do this.<span class="highlight-a"></p></span></span></pre>`
|
||||
}
|
||||
]
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
<a class="button col-sm col-md" href="https://github.com/Chalarangelo/mini.css" target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
<span> Github</span></a>
|
||||
<a class="button col-sm col-md" href="#">
|
||||
<a class="button col-sm col-md" href="flavors">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34"></path><polygon points="18 2 22 6 12 16 8 16 8 12 18 2"></polygon></svg>
|
||||
<span> Flavors</span></a>
|
||||
<label for="doc-drawer-checkbox" class="button drawer-toggle col-sm"></label>
|
||||
|
@ -30,8 +30,8 @@
|
|||
<div class="section"><p>You can get started using <strong>mini.css</strong> in one of many ways. It is published on <strong>npm</strong> and <strong>yarn</strong>, so you can easily download it, using your preferred package manager:</p>
|
||||
<div class="row"><div class="col-sm-12 col-md"><pre>npm install mini.css</pre></div><div class="col-sm-12 col-md"><pre>yarn add mini.css</pre></div></div>
|
||||
<br/><p>Alternatively, you can use either <strong>rawgit</strong> or <strong>cdnjs</strong> to import <strong>mini.css</strong> into your HTML page's <code><head></code> tag:</p>
|
||||
<pre><link rel="stylesheet" href="https://cdn.rawgit.com/Chalarangelo/mini.css/v3.0.0-alpha.3/dist/mini-default.min.css"></pre>
|
||||
<pre><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mini.css/v3.0.0-alpha.3/mini-default.min.css"></pre>
|
||||
<pre><link rel="stylesheet" href="https://cdn.rawgit.com/Chalarangelo/mini.css/v3.0.0/dist/mini-default.min.css"></pre>
|
||||
<pre><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mini.css/v3.0.0/mini-default.min.css"></pre>
|
||||
<br/><p>After adding <strong>mini.css</strong> to your project, remember to also add the following line inside your HTML page's <code><head></code> tag to utilize the viewport meta tag:</p>
|
||||
<pre><meta name="viewport" content="width=device-width, initial-scale=1"></pre>
|
||||
<br/><p><strong>mini.css</strong> is crafted with long-term support in mind, so expect it to be compatible with all modern browsers, as well as their future versions. However, most legacy and proxy browsers, such as Internet Explorer, Opera Mini, IE Mobile and UC Browser are not officially supported, meaning certain features may not be displayed properly or behave exactly as expected.</p><br/>
|
||||
|
@ -1059,7 +1059,7 @@
|
|||
el.forEach(e => e.innerHTML = '<form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">' +
|
||||
'<input type="hidden" name="data" value=\'' + JSON.stringify({
|
||||
html : e.innerText,
|
||||
css_external : "https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.0-alpha.3/mini-default.css"
|
||||
css_external : "https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.0/mini-default.css"
|
||||
}).replace(/"/g, """)
|
||||
.replace(/'/g, "'") + '\'>' +
|
||||
'<input type="image" class="codepen-link" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23424242%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolygon%20points%3D%2212%202%2022%208.5%2022%2015.5%2012%2022%202%2015.5%202%208.5%2012%202%22%3E%3C%2Fpolygon%3E%3Cline%20x1%3D%2212%22%20y1%3D%2222%22%20x2%3D%2212%22%20y2%3D%2215.5%22%3E%3C%2Fline%3E%3Cpolyline%20points%3D%2222%208.5%2012%2015.5%202%208.5%22%3E%3C%2Fpolyline%3E%3Cpolyline%20points%3D%222%2015.5%2012%208.5%2022%2015.5%22%3E%3C%2Fpolyline%3E%3Cline%20x1%3D%2212%22%20y1%3D%222%22%20x2%3D%2212%22%20y2%3D%228.5%22%3E%3C%2Fline%3E%3C%2Fsvg%3E" width="40" height="40" value="Open in Codepen">' +
|
BIN
docs/favicon.png
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 4.2 KiB |
2171
docs/flavorFiles/mini-dark.css
Normal file
1
docs/flavorFiles/mini-dark.min.css
vendored
Normal file
276
docs/flavorFiles/mini-dark.scss
Normal file
|
@ -0,0 +1,276 @@
|
|||
// This is a flavor file. Duplicate it and edit it to create your own flavor. Read instructions carefully.
|
||||
// Single-line comments, starting with '//' will not be included in your final CSS file. Multiline comments,
|
||||
// structured like the flavor description below, will be included in your final CSS file.
|
||||
/*
|
||||
Flavor name: Dark (mini-dark)
|
||||
Author: Angelos Chalaris (chalarangelo@gmail.com)
|
||||
Maintainers: Angelos Chalaris
|
||||
mini.css version: v3.0.0
|
||||
*/
|
||||
$base-root-font-size: 16px; // Root font sizing for all elements (`px` only)
|
||||
$base-line-height: 1.5; // Line height for most elements
|
||||
$fore-color: #fdfdfd; // Text & foreground color
|
||||
$secondary-fore-color: #f0f0f0; // Secondary text & foreground color
|
||||
$back-color: #111; // Background color
|
||||
$secondary-back-color: #222; // Secondary background color
|
||||
$blockquote-color: #f57c00; // <blockquote> sidebar and quotation color
|
||||
$pre-color: #1565c0; // <pre> sidebar color
|
||||
$border-color: #ddd; // Border color
|
||||
$secondary-border-color: #aaa; // Secondary border color
|
||||
$heading-line-height: 1.2; // Line height for headings
|
||||
$heading-ratio: 1.19; // Ratio for headings (strictly unitless)
|
||||
$subheading-font-size:0.75em; // Font sizing for <small> elements in headings
|
||||
$subheading-top-margin: -0.25rem; // Top margin of <small> elements in headings
|
||||
$heading-font-weight: 500; // Font weight for headings
|
||||
$horizontal-rule-line-height: 1.25em; // <hr> line height
|
||||
$universal-margin: 0.5rem; // Universal margin for the most elements
|
||||
$universal-padding: 0.5rem; // Universal padding for the most elements
|
||||
$universal-border-radius: 0.125rem; // Universal border-radius for most elements
|
||||
$universal-box-shadow: none; // Universal box-shadow for most elements
|
||||
$small-element-font-size: 0.75em; // Font size for <small>, <sub>, <sup>
|
||||
$small-font-size: 0.75em; // Font sizing for <small> elements
|
||||
$blockquote-quotation-size: 3rem; // Font size for the quotation of <blockquote>
|
||||
$blockquote-cite-size: 0.75em; // Font size for the [cite] of <blockquote>
|
||||
$code-font-size: 0.85em; // Font size for <code>, <kbd>
|
||||
$sup-top: -0.5em; // <sup> top
|
||||
$sub-bottom: -0.25em; // <sub> bottom
|
||||
$a-link-color: #0277bd; // Color for <a>:link
|
||||
$a-visited-color: #01579b; // Color for <a>:visited
|
||||
$bold-font-weight: 700; // Font weight for <b> and <strong>
|
||||
$mobile-breakpoint: 768px; // Breakpoint between small and medium screens (px)
|
||||
$large-screen-breakpoint: 1280px; // Breakpoint between medium and large screens (px)
|
||||
|
||||
@import '../mini/core';
|
||||
|
||||
$grid-column-count: 12; // Number of columns in the grid (integer value only).
|
||||
$grid-medium-breakpoint: $mobile-breakpoint; // Medium screen breakpoint for grid.
|
||||
$grid-large-breakpoint: $large-screen-breakpoint; // Large screen breakpoint for grid.
|
||||
$card-normal-width: 320px; // Width for normal cards.
|
||||
$card-section-media-height: 200px; // Height for cards' media sections.
|
||||
$card-fore-color: #fdfdfd; // Text color for the cards.
|
||||
$card-back-color: #111; // Background color for the cards.
|
||||
$card-border-color: #aaa; // Border color for the cards.
|
||||
|
||||
@import '../mini/layout';
|
||||
|
||||
/*
|
||||
Custom elements for card elements.
|
||||
*/
|
||||
$card-small-name: 'small'; // Class name for small cards.
|
||||
$card-small-width: 240px; // Width for small cards.
|
||||
@include make-card-alt-size ($card-small-name, $card-small-width);
|
||||
|
||||
$card-large-name: 'large'; // Class name for large cards.
|
||||
$card-large-width: 480px; // Width for large cards.
|
||||
@include make-card-alt-size ($card-large-name, $card-large-width);
|
||||
|
||||
$card-fluid-name: 'fluid'; // Class name for fluid cards.
|
||||
$card-fluid-width: 100%; // Width for fluid cards.
|
||||
@include make-card-alt-size ($card-fluid-name, $card-fluid-width);
|
||||
|
||||
$card-warning-name: 'warning'; // Class name for card warnging color variant.
|
||||
$card-warning-back-color: #ffca28; // Background color for card warnging color variant.
|
||||
$card-warning-fore-color: #111; // Text color for card warnging color variant.
|
||||
$card-warning-border-color: #e8b825; // Border style for card warnging color variant.
|
||||
@include make-card-alt-color ($card-warning-name, $card-warning-back-color, $card-warning-fore-color, $card-warning-border-color);
|
||||
|
||||
$card-error-name: 'error'; // Class name for card error color variant.
|
||||
$card-error-back-color: #b71c1c; // Background color for card error color variant.
|
||||
$card-error-fore-color: #f8f8f8; // Text color for card error color variant.
|
||||
$card-error-border-color: #a71a1a; // Border style for card error color variant.
|
||||
@include make-card-alt-color ($card-error-name, $card-error-back-color, $card-error-fore-color, $card-error-border-color);
|
||||
|
||||
$card-section-dark-name: 'dark'; // Class name for card dark section variant.
|
||||
$card-section-dark-back-color: #e0e0e0; // Background color for card dark section variant.
|
||||
$card-section-dark-fore-color: #111; // Text color for card dark section variant.
|
||||
@include make-card-section-alt-color ($card-section-dark-name, $card-section-dark-back-color, $card-section-dark-fore-color);
|
||||
|
||||
$card-section-double-padded-name: 'double-padded'; // Class name for card double-padded section variant.
|
||||
$card-section-double-padded-padding: calc(1.5 * var(#{$universal-padding-var})); // Padding for card sectiondouble-padded section variant.
|
||||
@include make-card-section-alt-style ($card-section-double-padded-name, $card-section-double-padded-padding);
|
||||
|
||||
$input-group-mobile-breakpoint: $mobile-breakpoint - 1px; // Breakpoint for fluid input group mobile view.
|
||||
$form-back-color: #222; // Background color for forms.
|
||||
$form-fore-color: #fdfdfd; // Text color for forms.
|
||||
$form-border-color: #aaa; // Border color for forms.
|
||||
$input-back-color: #111; // Background color for input elements.
|
||||
$input-fore-color: #fdfdfd; // Text color for input elements.
|
||||
$input-border-color: #aaa; // Border color for input elements.
|
||||
$input-focus-color: #0288d1; // Border color for focused input elements.
|
||||
$input-invalid-color: #d32f2f; // Border color for invalid input elements.
|
||||
$button-back-color: #212121; // Background color for buttons.
|
||||
$button-hover-back-color: #444; // Background color for buttons (hover).
|
||||
$button-fore-color: #e2e2e2; // Text color for buttons.
|
||||
$button-border-color: transparent; // Border color for buttons.
|
||||
$button-hover-border-color: transparent; // Border color for buttons (hover).
|
||||
$button-group-border-color: rgba(124,124,124,0.54); // Border color for button groups.
|
||||
|
||||
@import '../mini/input_control';
|
||||
|
||||
/*
|
||||
Custom elements for forms and input elements.
|
||||
*/
|
||||
$button-primary-name: 'primary'; // Class name for primary button color variant.
|
||||
$button-primary-back-color: #1976d2;// Background color for primary button color variant.
|
||||
$button-primary-hover-back-color: #1565c0;// Background color for primary button color variant (hover).
|
||||
$button-primary-fore-color: #f8f8f8;// Text color for primary button color variant.
|
||||
@include make-button-alt-color ($button-primary-name, $button-primary-back-color, $button-primary-hover-back-color, $button-primary-fore-color);
|
||||
|
||||
$button-secondary-name: 'secondary'; // Class name for secondary button color variant.
|
||||
$button-secondary-back-color: #d32f2f;// Background color for secondary button color variant.
|
||||
$button-secondary-hover-back-color: #c62828;// Background color for secondary button color variant (hover).
|
||||
$button-secondary-fore-color: #f8f8f8;// Text color for secondary button color variant.
|
||||
@include make-button-alt-color ($button-secondary-name, $button-secondary-back-color, $button-secondary-hover-back-color, $button-secondary-fore-color);
|
||||
|
||||
$button-tertiary-name: 'tertiary'; // Class name for tertiary button color variant.
|
||||
$button-tertiary-back-color: #308732;// Background color for tertiary button color variant.
|
||||
$button-tertiary-hover-back-color: #277529;// Background color for tertiary button color variant (hover).
|
||||
$button-tertiary-fore-color: #f8f8f8;// Text color for tertiary button color variant.
|
||||
@include make-button-alt-color ($button-tertiary-name, $button-tertiary-back-color, $button-tertiary-hover-back-color, $button-tertiary-fore-color);
|
||||
|
||||
$button-inverse-name: 'inverse'; // Class name for inverse button color variant.
|
||||
$button-inverse-back-color: #f8f8f8;// Background color for inverse button color variant.
|
||||
$button-inverse-hover-back-color: #f0f0f0;// Background color for inverse button color variant (hover).
|
||||
$button-inverse-fore-color: #212121;// Text color for inverse button color variant.
|
||||
@include make-button-alt-color ($button-inverse-name, $button-inverse-back-color, $button-inverse-hover-back-color, $button-inverse-fore-color);
|
||||
|
||||
$button-small-name: 'small'; // Class name, padding and margin for small button size variant.
|
||||
$button-small-padding: calc(0.5 * var(#{$universal-padding-var})) calc(0.75 * var(#{$universal-padding-var}));
|
||||
$button-small-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-small-name, $button-small-padding, $button-small-margin);
|
||||
|
||||
$button-large-name: 'large'; // Class name, padding and margin for large button size variant.
|
||||
$button-large-padding: calc(1.5 * var(#{$universal-padding-var})) calc(2 * var(#{$universal-padding-var}));
|
||||
$button-large-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-large-name, $button-large-padding, $button-large-margin);
|
||||
|
||||
$header-height: 3.1875rem; // Height of the header element.
|
||||
$header-back-color: #111; // Background color for the header element.
|
||||
$header-hover-back-color: #222; // Background color for the header element (hover).
|
||||
$header-fore-color: #f0f0f0; // Text color for the header element.
|
||||
$header-border-color: #aaa; // Border color for the header element.
|
||||
$nav-back-color: #111; // Background color for the nav element.
|
||||
$nav-hover-back-color: #222; // Background color for the nav element (hover).
|
||||
$nav-fore-color: #f0f0f0; // Text color for the nav element.
|
||||
$nav-border-color: #aaa; // Border color for the nav element.
|
||||
$nav-link-color: #0277bd; // Color for link in the nav element.
|
||||
$footer-fore-color: #f0f0f0; // Text color for the footer element.
|
||||
$footer-back-color: #111; // Background color for footer nav element.
|
||||
$footer-border-color: #aaa; // Border color for the footer element.
|
||||
$footer-link-color: #0277bd; // Color for link in the footer element.
|
||||
$drawer-back-color: #111; // Background color for the drawer component.
|
||||
$drawer-border-color: #aaa; // Border color for the drawer component.
|
||||
$drawer-hover-back-color: #222; // Background color for the drawer component's close (hover).
|
||||
$drawer-close-color: #f0f0f0; // Color of the close element for the drawer component.
|
||||
$header-logo-font-size: 1.75rem; // Font size for the header logo element.
|
||||
$nav-sublink-depth: 2; // Amount of subcategory classes to add.
|
||||
$footer-font-size: 0.875rem; // Font size for text in footer element.
|
||||
$drawer-toggle-font-size: 1.5em; // Font size for the drawer component's toggle. (prefer em units)
|
||||
$drawer-width: 320px; // Width of the drawer component.
|
||||
$drawer-close-size: 2rem; // Size of the close element for the drawer component.
|
||||
$drawer-mobile-breakpoint: $mobile-breakpoint; // Mobile breakpoint for the drawer component.
|
||||
|
||||
@import '../mini/navigation';
|
||||
|
||||
$table-mobile-breakpoint: $mobile-breakpoint; // Breakpoint for <table> mobile view.
|
||||
$table-max-height: 400px; // Maximum height of <table> elements (non-horizontal).
|
||||
$table-caption-font-size: 1.5rem; // Font size for <caption> elements.
|
||||
$table-mobile-card-label: 'data-label'; // Attribute used to replace column headers in mobile view.
|
||||
$table-mobile-label-font-weight: 600; // Font weight for column header labels in mobile view.
|
||||
$table-border-color: #ddd; // Border color for <table> elements.
|
||||
$table-border-separator-color: #666; // Border color for the border between <thead> and <tbody>.
|
||||
$table-th-back-color: #212121; // Background color for <th> elements.
|
||||
$table-th-fore-color: #fdfdfd; // Text color for <th> elements.
|
||||
$table-td-back-color: #111; // Background color for <td> elements.
|
||||
$table-td-fore-color: #fdfdfd; // Text color for <td> elements.
|
||||
$table-td-alt-back-color: #444; // Alternative background color for <td> elements in striped tables.
|
||||
$table-td-hover-back-color: #5c819f; // Hover background color for <td> elements in hoverable tables.
|
||||
|
||||
@import '../mini/table';
|
||||
|
||||
$mark-back-color: #0277bd; // Background color for <mark>
|
||||
$mark-fore-color: #fafafa; // Text color for <mark>
|
||||
$mark-font-size: 0.95em; // Font size for <mark>
|
||||
$mark-line-height: 1em; // Line height for <mark>
|
||||
$toast-back-color: #424242; // Background color for toast component
|
||||
$toast-fore-color: #fafafa; // Text color for toast component
|
||||
$tooltip-back-color: #fafafa; // Background color for tooltip component
|
||||
$tooltip-fore-color: #212121; // Text color for tooltip component
|
||||
$modal-overlay-color: rgba(0,0,0,0.45); // Overlay color for modal dialog component
|
||||
$modal-close-color: #f0f0f0; // Text color for the close button of the modal dialog component
|
||||
$modal-close-hover-back-color: #222; // Background color for the close button of the modal dialog component (on hover/focus)
|
||||
$modal-close-size: 1.75rem; // Font size for the close button of the modal dialog component
|
||||
$collapse-label-height: 1.5rem; // Height for the labels in the collapse component
|
||||
$collapse-content-max-height: 400px; // Max height for the content panes in the collapse component
|
||||
$collapse-label-back-color: #111; // Background color for labels in the collapse component
|
||||
$collapse-label-fore-color: #fafafa; // Text color for labels in the collapse component
|
||||
$collapse-label-hover-back-color: #222; // Background color for labels in the collapse component (hover)
|
||||
$collapse-selected-label-back-color: #444; // Background color for selected labels in the collapse component
|
||||
$collapse-border-color: #aaa; // Border color for collapse component
|
||||
$collapse-selected-label-border-color: #0277bd; // Border color for collapse component's selected labels
|
||||
$collapse-content-back-color: #212121; // Background color for collapse component's content panes
|
||||
|
||||
@import '../mini/contextual';
|
||||
|
||||
/*
|
||||
Custom elements for contextual background elements, toasts and tooltips.
|
||||
*/
|
||||
$mark-secondary-name: 'secondary'; // Class name for secondary <mark> color variant.
|
||||
$mark-secondary-back-color: #d32f2f; // Background color for secondary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-secondary-name, $mark-secondary-back-color);
|
||||
|
||||
$mark-tertiary-name: 'tertiary'; // Class name for tertiary <mark> color variant.
|
||||
$mark-tertiary-back-color: #308732; // Background color for tertiary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-tertiary-name, $mark-tertiary-back-color);
|
||||
|
||||
$mark-tag-name: 'tag'; // Class name, padding and border radius for tag <mark> size variant.
|
||||
$mark-tag-padding: calc(var(#{$universal-padding-var})/2) var(#{$universal-padding-var});
|
||||
$mark-tag-border-radius: 1em;
|
||||
@include make-mark-alt-size ($mark-tag-name, $mark-tag-padding, $mark-tag-border-radius);
|
||||
|
||||
$progress-back-color: #aaa; // Background color of <progress>.
|
||||
$progress-fore-color: #555; // Foreground color of <progress>.
|
||||
$progress-height: 0.75rem; // Height of <progress>.
|
||||
$progress-max-value: 1000; // Arithmetic max value of <progress> - use integer values.
|
||||
$progress-inline-width: 60%; // Width of inline <progress> elements.
|
||||
$spinner-donut-size: 1.25rem; // Size of the spinner donuts
|
||||
$spinner-donut-border-thickness: 0.25rem; // Border thickness for spinner donuts
|
||||
$spinner-donut-back-color: #ddd; // Background color for spinner donuts
|
||||
$spinner-donut-fore-color: #555; // Foreground color for spinner donuts
|
||||
|
||||
@import '../mini/progress';
|
||||
|
||||
/*
|
||||
Custom elements for progress bars and spinners.
|
||||
*/
|
||||
$progress-primary-name: 'primary'; // Class name for primary <progress> color variant.
|
||||
$progress-primary-fore-color: #1976d2; // Foreground color for primary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-primary-name, $progress-primary-fore-color);
|
||||
|
||||
$progress-secondary-name: 'secondary'; // Class name for secondary <progress> color variant.
|
||||
$progress-secondary-fore-color: #d32f2f; // Foreground color for secondary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-secondary-name, $progress-secondary-fore-color);
|
||||
|
||||
$progress-tertiary-name: 'tertiary'; // Class name for tertiary <progress> color variant.
|
||||
$progress-tertiary-fore-color: #308732; // Foreground color for tertiary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-tertiary-name, $progress-tertiary-fore-color);
|
||||
|
||||
$spinner-donut-primary-name: 'primary'; // Class name for primary spinner donut color variant.
|
||||
$spinner-donut-primary-fore-color: #1976d2; // Foreground color for primary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-primary-name, $spinner-donut-primary-fore-color);
|
||||
|
||||
$spinner-donut-secondary-name: 'secondary'; // Class name for secondary spinner donut color variant.
|
||||
$spinner-donut-secondary-fore-color: #d32f2f; // Foreground color for secondary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-secondary-name, $spinner-donut-secondary-fore-color);
|
||||
|
||||
$spinner-donut-tertiary-name: 'tertiary'; // Class name for tertiary spinner donut color variant.
|
||||
$spinner-donut-tertiary-fore-color: #308732; // Foreground color for tertiary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-tertiary-name, $spinner-donut-tertiary-fore-color);
|
||||
|
||||
|
||||
@import '../mini/icon';
|
||||
|
||||
$box-shadow-generic: 0 4*$__1px 4*$__1px 0 rgba(0,0,0,0.125), 0 2*$__1px 2*$__1px -2*$__1px rgba(0,0,0,0.125);
|
||||
$border-generic-color: rgba(0,0,0,0.3); // Border color for bordered elements.
|
||||
|
||||
@import '../mini/utility';
|
|
@ -3,7 +3,7 @@
|
|||
Flavor name: Default (mini-default)
|
||||
Author: Angelos Chalaris (chalarangelo@gmail.com)
|
||||
Maintainers: Angelos Chalaris
|
||||
mini.css version: v3.0.0-alpha.3
|
||||
mini.css version: v3.0.0
|
||||
*/
|
||||
/*
|
||||
Browsers resets and base typography.
|
138
docs/flavorFiles/mini-default.scss
Normal file
|
@ -0,0 +1,138 @@
|
|||
// This is a flavor file. Duplicate it and edit it to create your own flavor. Read instructions carefully.
|
||||
// Single-line comments, starting with '//' will not be included in your final CSS file. Multiline comments,
|
||||
// structured like the flavor description below, will be included in your final CSS file.
|
||||
/*
|
||||
Flavor name: Default (mini-default)
|
||||
Author: Angelos Chalaris (chalarangelo@gmail.com)
|
||||
Maintainers: Angelos Chalaris
|
||||
mini.css version: v3.0.0-alpha.3
|
||||
*/
|
||||
@import '../mini/core';
|
||||
@import '../mini/layout';
|
||||
|
||||
/*
|
||||
Custom elements for card elements.
|
||||
*/
|
||||
$card-small-name: 'small'; // Class name for small cards.
|
||||
$card-small-width: 240px; // Width for small cards.
|
||||
@include make-card-alt-size ($card-small-name, $card-small-width);
|
||||
|
||||
$card-large-name: 'large'; // Class name for large cards.
|
||||
$card-large-width: 480px; // Width for large cards.
|
||||
@include make-card-alt-size ($card-large-name, $card-large-width);
|
||||
|
||||
$card-fluid-name: 'fluid'; // Class name for fluid cards.
|
||||
$card-fluid-width: 100%; // Width for fluid cards.
|
||||
@include make-card-alt-size ($card-fluid-name, $card-fluid-width);
|
||||
|
||||
$card-warning-name: 'warning'; // Class name for card warnging color variant.
|
||||
$card-warning-back-color: #ffca28; // Background color for card warnging color variant.
|
||||
$card-warning-fore-color: #111; // Text color for card warnging color variant.
|
||||
$card-warning-border-color: #e8b825; // Border style for card warnging color variant.
|
||||
@include make-card-alt-color ($card-warning-name, $card-warning-back-color, $card-warning-fore-color, $card-warning-border-color);
|
||||
|
||||
$card-error-name: 'error'; // Class name for card error color variant.
|
||||
$card-error-back-color: #b71c1c; // Background color for card error color variant.
|
||||
$card-error-fore-color: #f8f8f8; // Text color for card error color variant.
|
||||
$card-error-border-color: #a71a1a; // Border style for card error color variant.
|
||||
@include make-card-alt-color ($card-error-name, $card-error-back-color, $card-error-fore-color, $card-error-border-color);
|
||||
|
||||
$card-section-dark-name: 'dark'; // Class name for card dark section variant.
|
||||
$card-section-dark-back-color: #e0e0e0; // Background color for card dark section variant.
|
||||
$card-section-dark-fore-color: #111; // Text color for card dark section variant.
|
||||
@include make-card-section-alt-color ($card-section-dark-name, $card-section-dark-back-color, $card-section-dark-fore-color);
|
||||
|
||||
$card-section-double-padded-name: 'double-padded'; // Class name for card double-padded section variant.
|
||||
$card-section-double-padded-padding: calc(1.5 * var(#{$universal-padding-var})); // Padding for card sectiondouble-padded section variant.
|
||||
@include make-card-section-alt-style ($card-section-double-padded-name, $card-section-double-padded-padding);
|
||||
|
||||
@import '../mini/input_control';
|
||||
|
||||
/*
|
||||
Custom elements for forms and input elements.
|
||||
*/
|
||||
$button-primary-name: 'primary'; // Class name for primary button color variant.
|
||||
$button-primary-back-color: #1976d2; // Background color for primary button color variant.
|
||||
$button-primary-hover-back-color:#1565c0; // Background color for primary button color variant (hover).
|
||||
$button-primary-fore-color: #f8f8f8; // Text color for primary button color variant.
|
||||
@include make-button-alt-color ($button-primary-name, $button-primary-back-color, $button-primary-hover-back-color, $button-primary-fore-color);
|
||||
|
||||
$button-secondary-name: 'secondary'; // Class name for secondary button color variant.
|
||||
$button-secondary-back-color: #d32f2f; // Background color for secondary button color variant.
|
||||
$button-secondary-hover-back-color:#c62828; // Background color for secondary button color variant (hover).
|
||||
$button-secondary-fore-color: #f8f8f8; // Text color for secondary button color variant.
|
||||
@include make-button-alt-color ($button-secondary-name, $button-secondary-back-color, $button-secondary-hover-back-color, $button-secondary-fore-color);
|
||||
|
||||
$button-tertiary-name: 'tertiary'; // Class name for tertiary button color variant.
|
||||
$button-tertiary-back-color: #308732; // Background color for tertiary button color variant.
|
||||
$button-tertiary-hover-back-color:#277529; // Background color for tertiary button color variant (hover).
|
||||
$button-tertiary-fore-color: #f8f8f8; // Text color for tertiary button color variant.
|
||||
@include make-button-alt-color ($button-tertiary-name, $button-tertiary-back-color, $button-tertiary-hover-back-color, $button-tertiary-fore-color);
|
||||
|
||||
$button-inverse-name: 'inverse'; // Class name for inverse button color variant.
|
||||
$button-inverse-back-color: #212121; // Background color for inverse button color variant.
|
||||
$button-inverse-hover-back-color:#111; // Background color for inverse button color variant (hover).
|
||||
$button-inverse-fore-color: #f8f8f8; // Text color for inverse button color variant.
|
||||
@include make-button-alt-color ($button-inverse-name, $button-inverse-back-color, $button-inverse-hover-back-color, $button-inverse-fore-color);
|
||||
|
||||
$button-small-name: 'small'; // Class name, padding and margin for small button size variant.
|
||||
$button-small-padding: calc(0.5 * var(#{$universal-padding-var})) calc(0.75 * var(#{$universal-padding-var}));
|
||||
$button-small-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-small-name, $button-small-padding, $button-small-margin);
|
||||
|
||||
$button-large-name: 'large'; // Class name, padding and margin for large button size variant.
|
||||
$button-large-padding: calc(1.5 * var(#{$universal-padding-var})) calc(2 * var(#{$universal-padding-var}));
|
||||
$button-large-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-large-name, $button-large-padding, $button-large-margin);
|
||||
|
||||
@import '../mini/navigation';
|
||||
@import '../mini/table';
|
||||
@import '../mini/contextual';
|
||||
|
||||
/*
|
||||
Custom elements for contextual background elements, toasts and tooltips.
|
||||
*/
|
||||
$mark-secondary-name: 'secondary'; // Class name for secondary <mark> color variant.
|
||||
$mark-secondary-back-color: #d32f2f; // Background color for secondary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-secondary-name, $mark-secondary-back-color);
|
||||
|
||||
$mark-tertiary-name: 'tertiary'; // Class name for tertiary <mark> color variant.
|
||||
$mark-tertiary-back-color: #308732; // Background color for tertiary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-tertiary-name, $mark-tertiary-back-color);
|
||||
|
||||
$mark-tag-name: 'tag'; // Class name, padding and border radius for tag <mark> size variant.
|
||||
$mark-tag-padding: calc(var(#{$universal-padding-var})/2) var(#{$universal-padding-var});
|
||||
$mark-tag-border-radius: 1em;
|
||||
@include make-mark-alt-size ($mark-tag-name, $mark-tag-padding, $mark-tag-border-radius);
|
||||
|
||||
@import '../mini/progress';
|
||||
|
||||
/*
|
||||
Custom elements for progress bars and spinners.
|
||||
*/
|
||||
$progress-primary-name: 'primary'; // Class name for primary <progress> color variant.
|
||||
$progress-primary-fore-color: #1976d2; // Foreground color for primary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-primary-name, $progress-primary-fore-color);
|
||||
|
||||
$progress-secondary-name: 'secondary'; // Class name for secondary <progress> color variant.
|
||||
$progress-secondary-fore-color: #d32f2f; // Foreground color for secondary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-secondary-name, $progress-secondary-fore-color);
|
||||
|
||||
$progress-tertiary-name: 'tertiary'; // Class name for tertiary <progress> color variant.
|
||||
$progress-tertiary-fore-color: #308732; // Foreground color for tertiary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-tertiary-name, $progress-tertiary-fore-color);
|
||||
|
||||
$spinner-donut-primary-name: 'primary'; // Class name for primary spinner donutcolor variant.
|
||||
$spinner-donut-primary-fore-color: #1976d2; // Foreground color for primary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-primary-name, $spinner-donut-primary-fore-color);
|
||||
|
||||
$spinner-donut-secondary-name: 'secondary'; // Class name for secondary spinner donut color variant.
|
||||
$spinner-donut-secondary-fore-color: #d32f2f; // Foreground color for secondary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-secondary-name, $spinner-donut-secondary-fore-color);
|
||||
|
||||
$spinner-donut-tertiary-name: 'tertiary'; // Class name for tertiary spinner donut color variant.
|
||||
$spinner-donut-tertiary-fore-color: #308732; // Foreground color for tertiary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-tertiary-name, $spinner-donut-tertiary-fore-color);
|
||||
|
||||
@import '../mini/icon';
|
||||
@import '../mini/utility';
|
2168
docs/flavorFiles/mini-nord.css
Normal file
1
docs/flavorFiles/mini-nord.min.css
vendored
Normal file
277
docs/flavorFiles/mini-nord.scss
Normal file
|
@ -0,0 +1,277 @@
|
|||
// This is a flavor file. Duplicate it and edit it to create your own flavor. Read instructions carefully.
|
||||
// Single-line comments, starting with '//' will not be included in your final CSS file. Multiline comments,
|
||||
// structured like the flavor description below, will be included in your final CSS file.
|
||||
/*
|
||||
Flavor name: Nord (mini-nord)
|
||||
Author: tphecca (https://github.com/tphecca)
|
||||
Maintainers: tphecca
|
||||
mini.css version: v3.0.0
|
||||
*/
|
||||
// This flavor is based on the Nord color palette: https://github.com/arcticicestudio/nord
|
||||
$base-root-font-size: 16px; // Root font sizing for all elements (`px` only)
|
||||
$base-line-height: 1.5; // Line height for most elements
|
||||
$fore-color: #2e3440; // Text & foreground color
|
||||
$secondary-fore-color: #3b4252; // Secondary text & foreground color
|
||||
$back-color: #eceff4; // Background color
|
||||
$secondary-back-color: #e5e9f0; // Secondary background color
|
||||
$blockquote-color: #d08770; // <blockquote> sidebar and quotation color
|
||||
$pre-color: #b48ead; // <pre> sidebar color
|
||||
$border-color: #d8dee9; // Border color
|
||||
$secondary-border-color: #e5e9f0; // Secondary border color
|
||||
$heading-line-height: 1.2; // Line height for headings
|
||||
$heading-ratio: 1.19; // Ratio for headings (strictly unitless)
|
||||
$subheading-font-size:0.75em; // Font sizing for <small> elements in headings
|
||||
$subheading-top-margin: -0.25rem; // Top margin of <small> elements in headings
|
||||
$heading-font-weight: 500; // Font weight for headings
|
||||
$horizontal-rule-line-height: 1.25em; // <hr> line height
|
||||
$universal-margin: 0.5rem; // Universal margin for the most elements
|
||||
$universal-padding: 0.5rem; // Universal padding for the most elements
|
||||
$universal-border-radius: 0.125rem; // Universal border-radius for most elements
|
||||
$universal-box-shadow: none; // Universal box-shadow for most elements
|
||||
$small-element-font-size: 0.75em; // Font size for <small>, <sub>, <sup>
|
||||
$small-font-size: 0.75em; // Font sizing for <small> elements
|
||||
$blockquote-quotation-size: 3rem; // Font size for the quotation of <blockquote>
|
||||
$blockquote-cite-size: 0.75em; // Font size for the [cite] of <blockquote>
|
||||
$code-font-size: 0.85em; // Font size for <code>, <kbd>
|
||||
$sup-top: -0.5em; // <sup> top
|
||||
$sub-bottom: -0.25em; // <sub> bottom
|
||||
$a-link-color: #88c0d0; // Color for <a>:link
|
||||
$a-visited-color: #5e81ac; // Color for <a>:visited
|
||||
$bold-font-weight: 700; // Font weight for <b> and <strong>
|
||||
$mobile-breakpoint: 768px; // Breakpoint between small and medium screens (px)
|
||||
$large-screen-breakpoint: 1280px; // Breakpoint between medium and large screens (px)
|
||||
|
||||
@import '../mini/core';
|
||||
|
||||
$grid-column-count: 12; // Number of columns in the grid (integer value only).
|
||||
$grid-medium-breakpoint: $mobile-breakpoint; // Medium screen breakpoint for grid.
|
||||
$grid-large-breakpoint: $large-screen-breakpoint; // Large screen breakpoint for grid.
|
||||
$card-normal-width: 320px; // Width for normal cards.
|
||||
$card-section-media-height: 200px; // Height for cards' media sections.
|
||||
$card-fore-color: #2e3440; // Text color for the cards.
|
||||
$card-back-color: #eceff4; // Background color for the cards.
|
||||
$card-border-color: #e5e9f0; // Border color for the cards.
|
||||
|
||||
@import '../mini/layout';
|
||||
|
||||
/*
|
||||
Custom elements for card elements.
|
||||
*/
|
||||
$card-small-name: 'small'; // Class name for small cards.
|
||||
$card-small-width: 240px; // Width for small cards.
|
||||
@include make-card-alt-size ($card-small-name, $card-small-width);
|
||||
|
||||
$card-large-name: 'large'; // Class name for large cards.
|
||||
$card-large-width: 480px; // Width for large cards.
|
||||
@include make-card-alt-size ($card-large-name, $card-large-width);
|
||||
|
||||
$card-fluid-name: 'fluid'; // Class name for fluid cards.
|
||||
$card-fluid-width: 100%; // Width for fluid cards.
|
||||
@include make-card-alt-size ($card-fluid-name, $card-fluid-width);
|
||||
|
||||
$card-warning-name: 'warning'; // Class name for card warnging color variant.
|
||||
$card-warning-back-color: #ebcb8b; // Background color for card warnging color variant.
|
||||
$card-warning-fore-color: #2e3440; // Text color for card warnging color variant.
|
||||
$card-warning-border-color: #d08770; // Border style for card warnging color variant.
|
||||
@include make-card-alt-color ($card-warning-name, $card-warning-back-color, $card-warning-fore-color, $card-warning-border-color);
|
||||
|
||||
$card-error-name: 'error'; // Class name for card error color variant.
|
||||
$card-error-back-color: #bf616a; // Background color for card error color variant.
|
||||
$card-error-fore-color: #2e3440; // Text color for card error color variant.
|
||||
$card-error-border-color: #434c5e; // Border style for card error color variant.
|
||||
@include make-card-alt-color ($card-error-name, $card-error-back-color, $card-error-fore-color, $card-error-border-color);
|
||||
|
||||
$card-section-dark-name: 'dark'; // Class name for card dark section variant.
|
||||
$card-section-dark-back-color: #d8dee9; // Background color for card dark section variant.
|
||||
$card-section-dark-fore-color: #2e3440; // Text color for card dark section variant.
|
||||
@include make-card-section-alt-color ($card-section-dark-name, $card-section-dark-back-color, $card-section-dark-fore-color);
|
||||
|
||||
$card-section-double-padded-name: 'double-padded'; // Class name for card double-padded section variant.
|
||||
$card-section-double-padded-padding: calc(1.5 * var(#{$universal-padding-var})); // Padding for card sectiondouble-padded section variant.
|
||||
@include make-card-section-alt-style ($card-section-double-padded-name, $card-section-double-padded-padding);
|
||||
|
||||
$input-group-mobile-breakpoint: $mobile-breakpoint - 1px; // Breakpoint for fluid input group mobile view.
|
||||
$form-back-color: #e5e9f0; // Background color for forms.
|
||||
$form-fore-color: #2e3440; // Text color for forms.
|
||||
$form-border-color: #e5e9f0; // Border color for forms.
|
||||
$input-back-color: #eceff4; // Background color for input elements.
|
||||
$input-fore-color: #2e3440; // Text color for input elements.
|
||||
$input-border-color: #e5e9f0; // Border color for input elements.
|
||||
$input-focus-color: #88c0d0; // Border color for focused input elements.
|
||||
$input-invalid-color: #bf616a; // Border color for invalid input elements.
|
||||
$button-back-color: #e5e9f0; // Background color for buttons.
|
||||
$button-hover-back-color: #d8dee9; // Background color for buttons (hover).
|
||||
$button-fore-color: #2e3440; // Text color for buttons.
|
||||
$button-border-color: transparent; // Border color for buttons.
|
||||
$button-hover-border-color: transparent; // Border color for buttons (hover).
|
||||
$button-group-border-color: rgba(124,124,124,0.54); // Border color for button groups.
|
||||
|
||||
@import '../mini/input_control';
|
||||
|
||||
/*
|
||||
Custom elements for forms and input elements.
|
||||
*/
|
||||
$button-primary-name: 'primary'; // Class name for primary button color variant.
|
||||
$button-primary-back-color: #5e81ac;// Background color for primary button color variant.
|
||||
$button-primary-hover-back-color: #5e81ac;// Background color for primary button color variant (hover).
|
||||
$button-primary-fore-color: #eceff4;// Text color for primary button color variant.
|
||||
@include make-button-alt-color ($button-primary-name, $button-primary-back-color, $button-primary-hover-back-color, $button-primary-fore-color);
|
||||
|
||||
$button-secondary-name: 'secondary'; // Class name for secondary button color variant.
|
||||
$button-secondary-back-color: #bf616a;// Background color for secondary button color variant.
|
||||
$button-secondary-hover-back-color: #bf616a;// Background color for secondary button color variant (hover).
|
||||
$button-secondary-fore-color: #eceff4;// Text color for secondary button color variant.
|
||||
@include make-button-alt-color ($button-secondary-name, $button-secondary-back-color, $button-secondary-hover-back-color, $button-secondary-fore-color);
|
||||
|
||||
$button-tertiary-name: 'tertiary'; // Class name for tertiary button color variant.
|
||||
$button-tertiary-back-color: #a3be8c;// Background color for tertiary button color variant.
|
||||
$button-tertiary-hover-back-color: #a3be8c;// Background color for tertiary button color variant (hover).
|
||||
$button-tertiary-fore-color: #434c5e;// Text color for tertiary button color variant.
|
||||
@include make-button-alt-color ($button-tertiary-name, $button-tertiary-back-color, $button-tertiary-hover-back-color, $button-tertiary-fore-color);
|
||||
|
||||
$button-inverse-name: 'inverse'; // Class name for inverse button color variant.
|
||||
$button-inverse-back-color: #3b4252;// Background color for inverse button color variant.
|
||||
$button-inverse-hover-back-color: #2e3440;// Background color for inverse button color variant (hover).
|
||||
$button-inverse-fore-color: #eceff4;// Text color for inverse button color variant.
|
||||
@include make-button-alt-color ($button-inverse-name, $button-inverse-back-color, $button-inverse-hover-back-color, $button-inverse-fore-color);
|
||||
|
||||
$button-small-name: 'small'; // Class name, padding and margin for small button size variant.
|
||||
$button-small-padding: calc(0.5 * var(#{$universal-padding-var})) calc(0.75 * var(#{$universal-padding-var}));
|
||||
$button-small-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-small-name, $button-small-padding, $button-small-margin);
|
||||
|
||||
$button-large-name: 'large'; // Class name, padding and margin for large button size variant.
|
||||
$button-large-padding: calc(1.5 * var(#{$universal-padding-var})) calc(2 * var(#{$universal-padding-var}));
|
||||
$button-large-margin: var(#{$universal-margin-var});
|
||||
@include make-button-alt-size ($button-large-name, $button-large-padding, $button-large-margin);
|
||||
|
||||
$header-height: 3.1875rem; // Height of the header element.
|
||||
$header-back-color: #eceff4; // Background color for the header element.
|
||||
$header-hover-back-color: #e5e9f0; // Background color for the header element (hover).
|
||||
$header-fore-color: #3b4252; // Text color for the header element.
|
||||
$header-border-color: #e5e9f0; // Border color for the header element.
|
||||
$nav-back-color: #eceff4; // Background color for the nav element.
|
||||
$nav-hover-back-color: #e5e9f0; // Background color for the nav element (hover).
|
||||
$nav-fore-color: #3b4252; // Text color for the nav element.
|
||||
$nav-border-color: #e5e9f0; // Border color for the nav element.
|
||||
$nav-link-color: #88c0d0; // Color for link in the nav element.
|
||||
$footer-fore-color: #3b4252; // Text color for the footer element.
|
||||
$footer-back-color: #eceff4; // Background color for footer nav element.
|
||||
$footer-border-color: #e5e9f0; // Border color for the footer element.
|
||||
$footer-link-color: #88c0d0; // Color for link in the footer element.
|
||||
$drawer-back-color: #eceff4; // Background color for the drawer component.
|
||||
$drawer-border-color: #e5e9f0; // Border color for the drawer component.
|
||||
$drawer-hover-back-color: #e5e9f0; // Background color for the drawer component's close (hover).
|
||||
$drawer-close-color: #3b4252; // Color of the close element for the drawer component.
|
||||
$header-logo-font-size: 1.75rem; // Font size for the header logo element.
|
||||
$nav-sublink-depth: 2; // Amount of subcategory classes to add.
|
||||
$footer-font-size: 0.875rem; // Font size for text in footer element.
|
||||
$drawer-toggle-font-size: 1.5em; // Font size for the drawer component's toggle. (prefer em units)
|
||||
$drawer-width: 320px; // Width of the drawer component.
|
||||
$drawer-close-size: 2rem; // Size of the close element for the drawer component.
|
||||
$drawer-mobile-breakpoint: $mobile-breakpoint; // Mobile breakpoint for the drawer component.
|
||||
|
||||
@import '../mini/navigation';
|
||||
|
||||
$table-mobile-breakpoint: $mobile-breakpoint; // Breakpoint for <table> mobile view.
|
||||
$table-max-height: 400px; // Maximum height of <table> elements (non-horizontal).
|
||||
$table-caption-font-size: 1.5rem; // Font size for <caption> elements.
|
||||
$table-mobile-card-label: 'data-label'; // Attribute used to replace column headers in mobile view.
|
||||
$table-mobile-label-font-weight: 600; // Font weight for column header labels in mobile view.
|
||||
$table-border-color: #d8dee9; // Border color for <table> elements.
|
||||
$table-border-separator-color: #434c5e; // Border color for the border between <thead> and <tbody>.
|
||||
$table-th-back-color: #e5e9f0; // Background color for <th> elements.
|
||||
$table-th-fore-color: #2e3440; // Text color for <th> elements.
|
||||
$table-td-back-color: #eceff4; // Background color for <td> elements.
|
||||
$table-td-fore-color: #2e3440; // Text color for <td> elements.
|
||||
$table-td-alt-back-color: #e5e9f0; // Alternative background color for <td> elements in striped tables.
|
||||
$table-td-hover-back-color: #88c0d0; // Hover background color for <td> elements in hoverable tables.
|
||||
|
||||
@import '../mini/table';
|
||||
|
||||
$mark-back-color: #5e81ac; // Background color for <mark>
|
||||
$mark-fore-color: #fafafa; // Text color for <mark>
|
||||
$mark-font-size: 0.95em; // Font size for <mark>
|
||||
$mark-line-height: 1em; // Line height for <mark>
|
||||
$toast-back-color: #2e3440; // Background color for toast component
|
||||
$toast-fore-color: #eceff4; // Text color for toast component
|
||||
$tooltip-back-color: #2e3440; // Background color for tooltip component
|
||||
$tooltip-fore-color: #eceff4; // Text color for tooltip component
|
||||
$modal-overlay-color: rgba(0,0,0,0.45); // Overlay color for modal dialog component
|
||||
$modal-close-color: #3b4252; // Text color for the close button of the modal dialog component
|
||||
$modal-close-hover-back-color: #e5e9f0; // Background color for the close button of the modal dialog component (on hover/focus)
|
||||
$modal-close-size: 1.75rem; // Font size for the close button of the modal dialog component
|
||||
$collapse-label-height: 1.5rem; // Height for the labels in the collapse component
|
||||
$collapse-content-max-height: 400px; // Max height for the content panes in the collapse component
|
||||
$collapse-label-back-color: #e5e9f0; // Background color for labels in the collapse component
|
||||
$collapse-label-fore-color: #2e3440; // Text color for labels in the collapse component
|
||||
$collapse-label-hover-back-color: #e5e9f0; // Background color for labels in the collapse component (hover)
|
||||
$collapse-selected-label-back-color: #e5e9f0; // Background color for selected labels in the collapse component
|
||||
$collapse-border-color: #e5e9f0; // Border color for collapse component
|
||||
$collapse-selected-label-border-color: #88c0d0; // Border color for collapse component's selected labels
|
||||
$collapse-content-back-color: #fafafa; // Background color for collapse component's content panes
|
||||
|
||||
@import '../mini/contextual';
|
||||
|
||||
/*
|
||||
Custom elements for contextual background elements, toasts and tooltips.
|
||||
*/
|
||||
$mark-secondary-name: 'secondary'; // Class name for secondary <mark> color variant.
|
||||
$mark-secondary-back-color: #bf616a; // Background color for secondary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-secondary-name, $mark-secondary-back-color);
|
||||
|
||||
$mark-tertiary-name: 'tertiary'; // Class name for tertiary <mark> color variant.
|
||||
$mark-tertiary-back-color: #a3be8c; // Background color for tertiary <mark> color variant.
|
||||
@include make-mark-alt-color ($mark-tertiary-name, $mark-tertiary-back-color);
|
||||
|
||||
$mark-tag-name: 'tag'; // Class name, padding and border radius for tag <mark> size variant.
|
||||
$mark-tag-padding: calc(var(#{$universal-padding-var})/2) var(#{$universal-padding-var});
|
||||
$mark-tag-border-radius: 1em;
|
||||
@include make-mark-alt-size ($mark-tag-name, $mark-tag-padding, $mark-tag-border-radius);
|
||||
|
||||
$progress-back-color: #e5e9f0; // Background color of <progress>.
|
||||
$progress-fore-color: #434c5e; // Foreground color of <progress>.
|
||||
$progress-height: 0.75rem; // Height of <progress>.
|
||||
$progress-max-value: 1000; // Arithmetic max value of <progress> - use integer values.
|
||||
$progress-inline-width: 60%; // Width of inline <progress> elements.
|
||||
$spinner-donut-size: 1.25rem; // Size of the spinner donuts
|
||||
$spinner-donut-border-thickness: 0.25rem; // Border thickness for spinner donuts
|
||||
$spinner-donut-back-color: #d8dee9; // Background color for spinner donuts
|
||||
$spinner-donut-fore-color: #434c5e; // Foreground color for spinner donuts
|
||||
|
||||
@import '../mini/progress';
|
||||
|
||||
/*
|
||||
Custom elements for progress bars and spinners.
|
||||
*/
|
||||
$progress-primary-name: 'primary'; // Class name for primary <progress> color variant.
|
||||
$progress-primary-fore-color: #5e81ac; // Foreground color for primary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-primary-name, $progress-primary-fore-color);
|
||||
|
||||
$progress-secondary-name: 'secondary'; // Class name for secondary <progress> color variant.
|
||||
$progress-secondary-fore-color: #bf616a; // Foreground color for secondary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-secondary-name, $progress-secondary-fore-color);
|
||||
|
||||
$progress-tertiary-name: 'tertiary'; // Class name for tertiary <progress> color variant.
|
||||
$progress-tertiary-fore-color: #a3be8c; // Foreground color for tertiary <progress> color variant.
|
||||
@include make-progress-alt-color ($progress-tertiary-name, $progress-tertiary-fore-color);
|
||||
|
||||
$spinner-donut-primary-name: 'primary'; // Class name for primary spinner donut color variant.
|
||||
$spinner-donut-primary-fore-color: #5e81ac; // Foreground color for primary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-primary-name, $spinner-donut-primary-fore-color);
|
||||
|
||||
$spinner-donut-secondary-name: 'secondary'; // Class name for secondary spinner donut color variant.
|
||||
$spinner-donut-secondary-fore-color: #bf616a; // Foreground color for secondary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-secondary-name, $spinner-donut-secondary-fore-color);
|
||||
|
||||
$spinner-donut-tertiary-name: 'tertiary'; // Class name for tertiary spinner donut color variant.
|
||||
$spinner-donut-tertiary-fore-color: #a3be8c; // Foreground color for tertiary spinner donut color variant.
|
||||
@include make-spinner-donut-alt-color ($spinner-donut-tertiary-name, $spinner-donut-tertiary-fore-color);
|
||||
|
||||
|
||||
@import '../mini/icon';
|
||||
|
||||
$box-shadow-generic: 0 4*$__1px 4*$__1px 0 rgba(0,0,0,0.125), 0 2*$__1px 2*$__1px -2*$__1px rgba(0,0,0,0.125);
|
||||
$border-generic-color: rgba(0,0,0,0.3); // Border color for bordered elements.
|
||||
|
||||
@import '../mini/utility';
|
1856
docs/flavors.html
Before Width: | Height: | Size: 390 KiB After Width: | Height: | Size: 390 KiB |
BIN
docs/index-splash_original.jpg
Normal file
After Width: | Height: | Size: 1.3 MiB |
222
docs/index.html
|
@ -1,205 +1,63 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="mini-default.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link href="https://fonts.googleapis.com/css?family=Inconsolata:400,700|Poppins:400,400i,500,700,700i&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./style.min.css">
|
||||
<title>mini.css - Minimal, responsive, style-agnostic CSS framework</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta name="description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites.">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, toolkit">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
<style>
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/erE3KsIWUumgD1j_Ca-V-xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; }
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/LeFlHvsZjXu2c3ZRgBq9nFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
#logo-body { position: relative; background: -webkit-linear-gradient(#07020d 25%, #150627 45%, #220a40 75%, #300d5a); background: linear-gradient(#07020d 25%, #150627 45%, #220a40 75%, #300d5a); height: -webkit-calc(100vh - 48px); height: calc(100vh - 48px); overflow: hidden; text-align: center; }
|
||||
#description { color: #f5f5f5; font-family: 'Noto Sans', sans-serif; position: absolute; top: 49vh; width: 100%; margin: 0; }
|
||||
#top-heading { color: #f5f5f5; font-size: 2.8em; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); position: absolute; margin: 0; top: 35vh; width: 100%; height: 20vh; min-height: 42px; font-family: 'Noto Sans', sans-serif; }
|
||||
#top-vtag-cont { width: 100%; text-align: center; }
|
||||
#top-version-tag { padding: 8px 8px; font-size: 1.2em; font-weight: 700; font-family: 'Noto Sans', sans-serif; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); position: absolute; top: 55vh; width: 40px; background: #4527a0; border-radius: 6px; margin: 0; margin-left: -30px; }
|
||||
@media screen and (max-height:480px), screen and (max-width: 480px) { #top-version-tag { display: none; } #description { top: 60vh;}}
|
||||
#mt1 { position: absolute; bottom: 0; left: -7vw; width: 0; height: 0; border-left: 12vw solid transparent; border-right: 11vw solid transparent; border-bottom: 8.5vw solid #07020d; }
|
||||
#mt1:after { content: ""; position: absolute; left: -1.4vw; border-left: 1.4vw solid transparent; border-right: 11vw solid transparent; border-bottom: 8.5vw solid #150627; z-index: 2; }
|
||||
#mt2 { position: absolute; bottom: -0.4vw; left: 10vw; width: 0; height: 0; border-left: 7vw solid transparent; border-right: 10vw solid transparent; border-bottom: 7vw solid #120520; z-index: 3; }
|
||||
#mt2:after { content: ""; position: absolute; left: -1.3vw; border-left: 1.3vw solid transparent; border-right: 10vw solid transparent; border-bottom: 7vw solid #1b0833; z-index: 4; }
|
||||
#mt3 { position: absolute; bottom: 0; right: 17.75vw; width: 0; height: 0; border-left: 8vw solid transparent; border-right: 7vw solid transparent; border-bottom: 6vw solid #1b0833; z-index: 5; }
|
||||
#mt3:after { content: ""; position: absolute; left: -8vw; border-left: 8vw solid transparent; border-right: 1.4vw solid transparent; border-bottom: 6vw solid #220a40; z-index: 6; }
|
||||
#mt4 { position: absolute; bottom: -0.25vw; right: 8vw; width: 0; height: 0; border-left: 7.5vw solid transparent; border-right: 7.25vw solid transparent; border-bottom: 6.5vw solid #150627; z-index: 3;}
|
||||
#mt4:after { content: ""; position: absolute; left: -7.5vw; border-left: 7.5vw solid transparent; border-right: 1.7vw solid transparent; border-bottom: 6.5vw solid #1f0a3b; z-index: 2;}
|
||||
#mt5 { position: absolute; bottom: 0; right: -6.5vw; width: 0; height: 0; border-left: 9vw solid transparent; border-right: 10.5vw solid transparent; border-bottom: 8vw solid #0e041a; }
|
||||
#mt5:after { content: ""; position: absolute; left: -9vw; border-left: 9vw solid transparent; border-right: 2vw solid transparent; border-bottom: 8vw solid #1b0833; z-index: 2; }
|
||||
@media screen and (max-width: 767px) {
|
||||
#mt1 { left: -10.5vw; border-left: 18vw solid transparent; border-right: 16.5vw solid transparent; border-bottom: 12.75vw solid #07020d; }
|
||||
#mt1:after { left: -2.1vw; border-left: 2.1vw solid transparent; border-right: 16.5vw solid transparent; border-bottom: 12.75vw solid #150627; }
|
||||
#mt2 { bottom: -0.6vw; left: 15vw; border-left: 10.5vw solid transparent; border-right: 15vw solid transparent; border-bottom: 10.5vw solid #120520; }
|
||||
#mt2:after { left: -1.95vw; border-left: 1.95vw solid transparent; border-right: 15vw solid transparent; border-bottom: 10.5vw solid #1b0833; }
|
||||
#mt3 { right: 26.625vw; border-left: 12vw solid transparent; border-right: 10.5vw solid transparent; border-bottom: 9vw solid #1b0833; }
|
||||
#mt3:after { left: -12vw; border-left: 12vw solid transparent; border-right: 2.1vw solid transparent; border-bottom: 9vw solid #220a40; }
|
||||
#mt4 { bottom: -0.375vw; right: 12vw; border-left: 11.25vw solid transparent; border-right: 10.875vw solid transparent; border-bottom: 9.75vw solid #150627; }
|
||||
#mt4:after { left: -11.25vw; border-left: 11.25vw solid transparent; border-right: 2.55vw solid transparent; border-bottom: 9.75vw solid #1f0a3b; }
|
||||
#mt5 { right: -9.75vw; border-left: 13.5vw solid transparent; border-right: 15.75vw solid transparent; border-bottom: 12vw solid #0e041a; }
|
||||
#mt5:after { left: -13.5vw; border-left: 13.5vw solid transparent; border-right: 3vw solid transparent; border-bottom: 12vw solid #1b0833;}
|
||||
}
|
||||
#codename { position: absolute; bottom: 2px; right: 3px; color: #616161; z-index: 5; font-size: 0.55em; font-family: 'Noto Sans', sans-serif; }
|
||||
#header-logo { background: -webkit-linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); background: linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); line-height:1; font-size: 39px; width: 48px; height: 48px; padding: 8px; margin-left: -9px; }
|
||||
.box-colored { background: #0277bd; border-radius: 2px; padding: 14px; margin-bottom: 8px; min-height: 14px;}
|
||||
.box-colored.red { background: #e53935; } .box-centered { text-align: center; }
|
||||
.box-centered > .card.fluid { -webkit-box-pack: start; -webkit-box-align: start; -webkit-justify-content: flex-start;
|
||||
justify-content: flex-start; -webkit-align-self: auto; align-self: auto;}
|
||||
[class^='col-'] .card.fluid { margin: 2px 0 20px; } [class^='fore-'] { font-family: monospace, monospace;}
|
||||
.fore-primary { color: #0d47a1;} .fore-secondary { color: #b71c1c;} .fore-tertiary { color: #1b5e20;} li a { text-decoration: none;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="logo-body">
|
||||
<p id="description">minimal, responsive, style-agnostic CSS framework</p>
|
||||
<h1 id="top-heading"><span style="font-size: 1.45em; font-family: 'Noto Sans', sans-serif;">m</span>ini<span style="font-size:0.65em; color: #4527a0; font-family: 'Noto Sans', sans-serif;">.css</span></h1>
|
||||
<p id="top-vtag-cont"><mark id="top-version-tag">v2.3</mark></p>
|
||||
<div id="mt1"></div><div id="mt2"></div><div id="mt3"></div><div id="mt4"></div><div id="mt5"></div>
|
||||
<small id="codename">Fermion</small>
|
||||
<div class="index-splash">
|
||||
<div class="index-splash-image no-filter"></div>
|
||||
<div class="index-splash-image"></div>
|
||||
<h1 class="splash">mini<small>.css</small></h1>
|
||||
<p class="splash">minimal, responsive, style-agnostic <br>CSS framework</p>
|
||||
<p id="version-info">v3.0.0</p>
|
||||
<a class="button splash" href="docs">Get started</a>
|
||||
</div>
|
||||
<header class="sticky">
|
||||
<a href="index" class="logo"><span id="header-logo">m</span></a> <label class="drawer-toggle button" for="navigation-toggle"></label>
|
||||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> GitHub</a>
|
||||
<header class="row sticky">
|
||||
<span class="col-md-1 col-lg-2"></span>
|
||||
<span class="logo col-sm-3 col-md">mini.css</span>
|
||||
<a class="button col-sm col-md" href="docs">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
|
||||
<span> Docs</span></a>
|
||||
<a class="button col-sm col-md" href="https://github.com/Chalarangelo/mini.css" target="_blank">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
|
||||
<span> Github</span></a>
|
||||
<a class="button col-sm col-md" href="flavors">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="height: 20px; vertical-align: text-top;"><path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34"></path><polygon points="18 2 22 6 12 16 8 16 8 12 18 2"></polygon></svg>
|
||||
<span> Flavors</span></a>
|
||||
<span class="col-md-1 col-lg-2"></span>
|
||||
</header>
|
||||
<input type="checkbox" id="navigation-toggle"> <nav class="drawer hidden-md hidden-lg">
|
||||
<label class="close" for="navigation-toggle"></label>
|
||||
<a href="index"><h4 style="margin-left: 0;">Introduction</h4></a> <a href="modules"><h4 style="margin-left: 0;">Modules</h4></a>
|
||||
<a href="flavors"><h4 style="margin-left: 0;">Flavors</h4></a> <a href="templates"><h4 style="margin-left: 0;">Templates</h4></a>
|
||||
<a href="customization"><h4 style="margin-left: 0;">Customization</h4></a> <a href="quick_reference"><h4 style="margin-left: 0;">Quick Reference</h4></a>
|
||||
</nav>
|
||||
<!-- Insert your page content here-->
|
||||
<main><div class="container responsive-padding">
|
||||
<div class="row" style="padding-top: 60px; padding-bottom: 20px;">
|
||||
<div class="col-sm-12 col-lg-10 col-lg-offset-1 row">
|
||||
<div class="col-sm-12 col-md-8 col-md-offset-2 col-lg col-lg col-lg-offset-0 box-centered row">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Minimal<small>Size matters!</small></h2><br/>
|
||||
<img src="icons/wings.svg" width="96px" height="96px"/><br/><br/>
|
||||
<p><strong>mini.css</strong> aims to provide as much functionality as possible in less than 7KB gzipped. This very small footprint means that your websites and web applications will load faster, while still looking great utilising the modern components we provide!</p><br>
|
||||
<div class="row padded">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<img src="./responsive.svg" class="feature-image">
|
||||
<h2 class="feature-header">Fast and Responsive</h2><br>
|
||||
<p>Want to build websites that look beautiful on any and all devices, but also load fast on mobile connections? Then <strong>mini.css</strong> is the right tool for you! Its tiny size (under 10KB gzipped), along with its <strong>responsive grid</strong> and modern components ensures that all your users are satisfied and can access your website anytime, anywhere. Bridging the gap between fully-featured frameworks (e.g. Bootstrap and Semantic UI) and micro frameworks (e.g. Milligram and Pure.CSS), <strong>mini.css</strong> packs a lot of features in a small package, while it relies solely on CSS, meaning you do not have to worry about any conflicts with other Javascript libraries you might be using.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-8 col-md-offset-2 col-lg col-lg col-lg-offset-0 box-centered row">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Responsive<small>Think mobile!</small></h2><br/>
|
||||
<img src="icons/bacteria.svg" width="96px" height="96px"/><br/><br/>
|
||||
<p><strong>mini.css</strong> is crafted with both desktops and mobile devices in mind. All of its components are well-tested on different devices and will respond to any changes in the viewport, allowing for an experience tailored to each user's device!</p><br>
|
||||
<div class="row padded alt-back">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<img src="./tailored.svg" class="feature-image">
|
||||
<h2 class="feature-header">Tailored to Your Needs</h2><br>
|
||||
<p>Creating a CSS framework that caters to everyone's needs is no easy task, but <strong>mini.css</strong> manages to rise to the occasion by providing extensive and coherent documentation in combination with templates, examples and semantic HTML5 markup. Modern UX patterns and accessibility guidelines are well-documented and can be used out of the box, using one of the unique <strong>flavors</strong> that the framework provides. If you still want more, you can create your own custom flavor or tweak an existing one just by opening its CSS file and changing a few custom properties. It's that simple! </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-8 col-md-offset-2 col-lg col-lg-offset-0 box-centered row">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Style-agnostic<small>Infinitely customizable!</small></h2><br/>
|
||||
<img src="icons/meteor.svg" width="96px" height="96px"/><br/><br/>
|
||||
<p><strong>mini.css</strong> provides you with a customizable flavor system, allowing you to be a designer without all the hard work. This way you can create your own custom design and personalize your websites any way you want!</p><br>
|
||||
<div class="row padded primary-section">
|
||||
<div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||||
<h2 class="feature-header">Get started now!</h2><br>
|
||||
<p>Head over to the <a href="docs">documentation</a> to learn how to get started using <strong>mini.css</strong>, as well as what flavors and components are availble and how to use them to create the website or web app you've always wanted. If you like the framework and want to support it, remember to to star it on Github. It means a lot to us and it only takes a couple of seconds!</p>
|
||||
<p style="text-align:center;"><a href="docs" class="button">Get started</a></p>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" target="_blank" class="centered">mini.css on Github</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm col-lg-10 col-lg-offset-1">
|
||||
<h2>Setup & usage</h2>
|
||||
<p style="text-align:justify"><strong>mini.css</strong> is published in <strong>npm</strong>, <strong>yarn</strong> and <strong>bower</strong>, so you can easily download it, using your preferred package manager:</p>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-4"><pre><span class="fore-tertiary">npm install</span> <span class="fore-primary">mini.css</span></pre></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-4"><pre><span class="fore-tertiary">yarn add</span> <span class="fore-primary">mini.css</span></pre></div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-4"><pre><span class="fore-tertiary">bower install</span> <span class="fore-primary">mini.css</span></pre></div>
|
||||
</div>
|
||||
<p>After downloading <strong>mini.css</strong>, pick a <a href="flavors">Flavor</a> and use it for your project.</p>
|
||||
<br/>
|
||||
<p style="text-align:justify">Alternatively, you can use either <strong>GitCDN</strong> or <strong>RawGit</strong> to import the default flavor of <strong>mini.css</strong>. Simply add one of the following references inside your HTML page's <code><head></code> tag:</p>
|
||||
<pre><<span class="fore-tertiary">link</span> <span class="fore-secondary">rel</span>=<span class="fore-primary">"stylesheet"</span> <span class="fore-secondary">href</span>=<span class="fore-primary">"https://gitcdn.link/repo/Chalarangelo/mini.css/master/dist/mini-default.min.css"</span>></pre>
|
||||
<pre><<span class="fore-tertiary">link</span> <span class="fore-secondary">rel</span>=<span class="fore-primary">"stylesheet"</span> <span class="fore-secondary">href</span>=<span class="fore-primary">"https://cdn.rawgit.com/Chalarangelo/mini.css/v2.3.7/dist/mini-default.min.css"</span>></pre><br/>
|
||||
<p style="text-align:justify">Finally, you can find <strong>mini.css</strong> on <a href="https://cdnjs.com/libraries/mini.css">cdnjs</a>, which you can use to include it in your projects.</p><br/>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-10 col-lg-offset-1">
|
||||
<h2>Browser support</h2>
|
||||
<div class="row" style="padding: 0.5rem;">
|
||||
<div class="col-sm" style="text-align:center; background: #35BCE6; padding: 1rem;"><img src="browser-logos/edge_128x128.png" alt="edge"><br/><h3><small> Edge<sup style="-0.675em"><i class="fa fa-lg fa-exclamation" aria-hidden="true" style="font-size: 80%;"></i></sup></small>12</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FF742E; padding: 1rem;"><img src="browser-logos/firefox_128x128.png" alt="firefox"><br/><h3><small> Firefox</small>28</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FFE270; padding: 1rem;"><img src="browser-logos/chrome_128x128.png" alt="chrome"><br/><h3><small> Chrome</small>26</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #00D0FF; padding: 1rem;"><img src="browser-logos/safari_128x128.png" alt="safari"><br/><h3><small> Safari</small>7.1</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #FF6E6E; padding: 1rem;"><img src="browser-logos/opera_128x128.png" alt="opera"><br/><h3><small> Opera</small>17</h3></div>
|
||||
<div class="col-sm" style="text-align:center; background: #0F98E0; padding: 1rem;"><img src="browser-logos/android_128x128.png" alt="android"><br/><h3><small> Android</small>4.4</h3></div>
|
||||
</div></div> <div class="col-sm-12 col-lg-10 col-lg-offset-1">
|
||||
<p style="padding-top: 1rem; padding-bottom: 1rem; text-align: justify"><mark class="secondary" style="padding: 3px 6px;"><i class="fa fa-lg fa-exclamation" aria-hidden="true"></i></mark> Due to the way <strong>mini.css</strong> is designed, some legacy browsers are not supported anymore and some others are partially supported. This could be a dealbreaker for some developers, however most legacy browsers such as Internet Explorer will display a less feature-rich and modern website. On a side note, remember that some mobile browsers like Opera Mini, IE Mobile and UC Browser for Android are officially supported, but some features may not be displayed properly or behave as expected due to the browsers themselves.</p><hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-10 col-lg-offset-1">
|
||||
<h2>Quick overview</h2>
|
||||
<p>Take a couple of minutes to explore what makes <strong>mini.css</strong> different from all those other CSS frameworks and UI toolkits.</p>
|
||||
<br/>
|
||||
<h3>Why should I use mini.css?</h3>
|
||||
<p style="text-align: justify;"><strong>mini.css</strong> is a lot lighter than a lot of other full-featured CSS frameworks (e.g. Bootstrap, Semantic UI), but it is not a micro framework (e.g. Milligram, Pure.CSS). Instead, <strong>mini.css</strong> blurs the line between full-featured and micro frameworks by providing lots of modules and components in a very small file. All the things you expect to find in a CSS framework, such as grids, styling for common elements and typography, along with some more complex components such as tabs or cards are all present in <strong>mini.css</strong>.</p>
|
||||
<p>Not convinced yet? Maybe you should read these <a href="https://hackernoon.com/5-reasons-to-try-out-mini-css-62ddb47b9370">5 reasons</a> to try out <strong>mini.css</strong>.</p>
|
||||
<br/>
|
||||
<h3>What exactly does mini.css provide?</h3>
|
||||
<p style="text-align: justify;">Many CSS frameworks utilize modules to deliver more components and features, without making it necessary for all developers to include them. <strong>mini.css</strong> provides a handful of very powerful <a href="modules">modules</a> that can do many different things. This way, developers only have to learn a few different HTML structures and patterns, while having the ability to build a lot of interesting things with them. You can see an overview of the modules below:</p>
|
||||
<ul>
|
||||
<li><a href="core">Core</a> - Basic reset and fix rules, based on <a href="http://necolas.github.io/normalize.css/">Normalize.css</a> v5.0.0, typography and common textual element styling</li>
|
||||
<li><a href="grid">Grid</a> - Powerful, responsive grid system based on the Flexible Layout Module (commonly known as <em>flexbox</em>)</li>
|
||||
<li><a href="navigation">Navigation</a> - Common navigational elements such as headers, footers and navigation bars</li>
|
||||
<li><a href="input_control">Input Control</a> - Form, input element, checkbox, radio button and button styling</li>
|
||||
<li><a href="table">Table</a> - Modern table styling, horizontal and preset tables, table responsiveness for mobile devices</li>
|
||||
<li><a href="card">Card</a> - Sleek, modern general-purpose content containers, media embedding</li>
|
||||
<li><a href="tab">Tab</a> - Modern, responsive tabs, accordions and collapses</li>
|
||||
<li><a href="contextual">Contextual</a> - Content highlight element styling, elegant alerts and accessible tooltips</li>
|
||||
<li><a href="progress">Progress</a> - Modern progress bar styling and spinning progress indicators</li>
|
||||
<li><a href="utility">Utility</a> - Utilities, visibility helper classes, responsive sizing and breadcrumbs</li>
|
||||
</ul>
|
||||
<p style="text-align: justify;">While not strictly part of the framework, we have also created component libraries for React and Preact, which will make your development faster and easier, especially if you are developing progressive web apps. You can get started with one of our Javascript libraries <a href="https://chalarangelo.github.io/react-mini.css/">here</a>!</p>
|
||||
<br/>
|
||||
<h3>How do I customize mini.css?</h3>
|
||||
<p style="text-align: justify;"><strong>mini.css</strong> allows you to easily customize your designs, using <a href="flavors">Flavors</a>, pre-built color and style variants of the framework. The functionality is the same, but many things like color palettes, spacing and fonts can be easily changed by the community. Apart from that, you can easily build your own flavor by tweaking variables and using mixins, as explained in depth in the <a href="customization">customization</a> section.</p><br/>
|
||||
</div>
|
||||
<div class="col-sm col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3 row">
|
||||
<div class="card fluid" style=" width: 100%;">
|
||||
<h3 class="section double-padded" style="text-align: center;">Support mini.css!</h3>
|
||||
<p class="section double-padded" style="text-align: center;">If you like <strong>mini.css</strong>, remember that you can show your support by starring it on GitHub.<br/> It means a lot to us and it only takes a couple of seconds!</p>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" target="_blank" class="section button primary large" style="text-align: center;"><i class="fa fa-star-o fa-fw" aria-hidden="true"></i> Star mini.css</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-bottom: 60px;">
|
||||
<div class="col-sm col-lg-10 col-lg-offset-1">
|
||||
<h2>Getting started</h2>
|
||||
<p>If you are still here after reading this far, we will assume you are interested or at least curious. Based on that assumption, here are a few links to help get you started:</p>
|
||||
<ul>
|
||||
<li>For a quick guide on getting started, you might want to take a look at the available <a href="modules">modules</a> list and the tutorials provided for each one!</li>
|
||||
<li>To get you started even faster, we have created a handful of <a href="templates">templates</a> that might fit your needs!</li>
|
||||
<li>If you want a step-by-step guide on how to utilize the most commonly used modules, be sure to check out these articles on Medium:
|
||||
<ol>
|
||||
<li><a href="https://hackernoon.com/designing-a-simple-web-page-with-mini-css-f455e9f6403b">Designing a simple web page with <strong>mini.css</strong></a></li>
|
||||
<li><a href="https://hackernoon.com/using-the-mini-css-card-module-and-media-object-3c5b5829d19c">Using the <strong>mini.css</strong> card module and media object</a></li>
|
||||
<li><a href="https://hackernoon.com/creating-a-mobile-friendly-navigation-using-mini-css-8cea580c51ed">Creating a mobile-friendly navigation using <strong>mini.css</strong></a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>If you are familiar with <strong>mini.css</strong> and want a cheat sheet or quick reference guide, check the <a href="quick_reference">quick reference</a> page!</li>
|
||||
<li>If you want to develop a progressive web app or just utilize a virtual DOM, you should check out our <a href="https://github.com/Chalarangelo/react-mini.css">React & Preact Libraries</a>, which will help you get started creating all kinds of custom components based on <strong>mini.css</strong>.
|
||||
<li><strong>mini.css</strong> comes with a few nice pre-built customizable <a href="flavors">flavors</a>. See which one of them better suits your needs!</li>
|
||||
<li>If you are more experienced or demanding, you can always take a look at the <a href="customization">customization</a> section to cook up a flavor of your own custom-tailored to your needs!</li>
|
||||
<li>Finally, if you want to contribute to the framework's development in any way or have an interest in what happens behind the scenes, visit the <a href="https://github.com/Chalarangelo/mini.css">GitHub repository</a> to find out more.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div></main>
|
||||
<!-- End of page content-->
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">GitHub</a>.<br/>
|
||||
<small>Icons made by <a href="http://www.freepik.com" title="Freepik"><small>Freepik</small></a> from <a href="http://www.flaticon.com" title="Flaticon"><small>www.flaticon.com</small></a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank"><small>CC 3.0 BY</small></a></small></footer>
|
||||
<footer class="row"><div class="col-sm-12 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2"><p style="text-align: justify;"><strong>mini.css</strong> was designed and built by <a href="https://github.com/Chalarangelo" target="_blank">@Chalarangelo</a>. Source code licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>.</p><p>Icons provided by <a href="https://feathericons.com/" target="_blank">Feather</a>. Photo by <a href="https://unsplash.com/photos/vjMgqUkS8q8" target="_blank">Christopher Gower</a> on <a href="https://unsplash.com" target="_blank">Unsplash</a>.</p></div></footer>
|
||||
</body>
|
||||
</html>
|
15
docs/jszip.min.js
vendored
Normal file
2
docs/mini-default.min.css
vendored
354
docs/mini/_contextual.scss
Normal file
|
@ -0,0 +1,354 @@
|
|||
/*
|
||||
Definitions for contextual background elements, toasts and tooltips.
|
||||
*/
|
||||
$mark-back-color: #0277bd !default; // Background color for <mark>
|
||||
$mark-fore-color: #fafafa !default; // Text color for <mark>
|
||||
$mark-font-size: 0.95em !default; // Font size for <mark>
|
||||
$mark-line-height: 1em !default; // Line height for <mark>
|
||||
$mark-inline-block-name: 'inline-block' !default;// Class name for inline-block <mark>
|
||||
$_include-toast: true !default; // [Hidden] Should toasts be included? (boolean)
|
||||
$toast-name: 'toast' !default; // Class name for toast component
|
||||
$toast-back-color: #424242 !default; // Background color for toast component
|
||||
$toast-fore-color: #fafafa !default; // Text color for toast component
|
||||
$_include-tooltip: true !default; // [Hidden] Should tooltips be included? (boolean)
|
||||
$tooltip-name: 'tooltip' !default; // Class name for tooltip component
|
||||
$tooltip-bottom-name: 'bottom' !default; // Bottom tooltip class name
|
||||
$tooltip-back-color: #212121 !default; // Background color for tooltip component
|
||||
$tooltip-fore-color: #fafafa !default; // Text color for tooltip component
|
||||
$_include-modal: true !default; // [Hidden] Should modal dialogs be included? (boolean)
|
||||
$modal-name: 'modal' !default; // Class name for modal dialog component
|
||||
$modal-overlay-color: rgba(0, 0, 0, 0.45) !default; // Overlay color for modal dialog component
|
||||
$modal-close-name: 'modal-close' !default;// Class name for modal dialog close button
|
||||
$modal-close-color: #444 !default; // Text color for the close button of the modal dialog component
|
||||
$modal-close-hover-back-color: #f0f0f0 !default; // Background color for the close button of the modal dialog component (on hover/focus)
|
||||
$modal-close-size: 1.75rem !default; // Font size for the close button of the modal dialog component
|
||||
$_include-collapse: true !default; // [Hidden] Should collapse components be included? (boolean)
|
||||
$collapse-name: 'collapse' !default; // Class name for collapse component
|
||||
$collapse-label-height: 1.5rem !default; // Height for the labels in the collapse component
|
||||
$collapse-content-max-height: 400px !default; // Max height for the content panes in the collapse component
|
||||
$collapse-label-back-color: #e8e8e8 !default;// Background color for labels in the collapse component
|
||||
$collapse-label-fore-color: #212121 !default;// Text color for labels in the collapse component
|
||||
$collapse-label-hover-back-color:#f0f0f0 !default;// Background color for labels in the collapse component (hover)
|
||||
$collapse-selected-label-back-color:#ececec !default;// Background color for selected labels in the collapse component
|
||||
$collapse-border-color: #ddd !default; // Border color for collapse component
|
||||
$collapse-selected-label-border-color: #0277bd !default; // Border color for collapse component's selected labels
|
||||
$collapse-content-back-color: #fafafa !default; // Background color for collapse component's content panes
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$mark-back-color-var: '--mark-back-color' !default;
|
||||
$mark-fore-color-var: '--mark-fore-color' !default;
|
||||
$toast-back-color-var: '--toast-back-color' !default;
|
||||
$toast-fore-color-var: '--toast-fore-color' !default;
|
||||
$tooltip-back-color-var: '--tooltip-back-color' !default;
|
||||
$tooltip-fore-color-var: '--tooltip-fore-color' !default;
|
||||
$modal-overlay-color-var: '--modal-overlay-color' !default;
|
||||
$modal-close-color-var: '--modal-close-color' !default;
|
||||
$modal-close-hover-back-color-var: '--modal-close-hover-color' !default;
|
||||
$collapse-label-back-color-var: '--collapse-label-back-color' !default;
|
||||
$collapse-label-fore-color-var: '--collapse-label-fore-color' !default;
|
||||
$collapse-label-hover-back-color-var: '--collapse-label-hover-back-color' !default;
|
||||
$collapse-selected-label-back-color-var: '--collapse-selected-label-back-color' !default;
|
||||
$collapse-border-color-var: '--collapse-border-color' !default;
|
||||
$collapse-content-back-color-var: '--collapse-content-back-color' !default;
|
||||
$collapse-selected-label-border-color-var: '--collapse-selected-label-border-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $base-line-height: 1.5 !default; // Line height for most elements
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
// Check the `_contextual_mixins.scss` file to find this module's mixins.
|
||||
@import '_contextual_mixins';
|
||||
/* Contextual module CSS variable definitions */
|
||||
:root {
|
||||
#{$mark-back-color-var}: $mark-back-color;
|
||||
#{$mark-fore-color-var}: $mark-fore-color;
|
||||
}
|
||||
// Default styling for mark. Use mixins for alternate styles.
|
||||
mark {
|
||||
background: var(#{$mark-back-color-var});
|
||||
color: var(#{$mark-fore-color-var});
|
||||
font-size: $mark-font-size;
|
||||
line-height: $mark-line-height;
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
padding: calc(var(#{$universal-padding-var}) / 4) calc(var(#{$universal-padding-var}) / 2);
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
&.#{$mark-inline-block-name} {
|
||||
display: inline-block;
|
||||
// This is hardcoded, as we want inline-block <mark> elements to be styled as normal pieces of text, instead of look small and weird.
|
||||
font-size: 1em;
|
||||
// Line height is reset to the normal line-height from `core`. Also hardcoded for same reasons.
|
||||
line-height: $base-line-height;
|
||||
padding: calc(var(#{$universal-padding-var}) / 2) var(#{$universal-padding-var});
|
||||
}
|
||||
}
|
||||
// Styling for toasts. - No border styling, I think it's unnecessary anyways.
|
||||
@if $_include-toast {
|
||||
:root {
|
||||
#{$toast-back-color-var}: $toast-back-color;
|
||||
#{$toast-fore-color-var}: $toast-fore-color;
|
||||
}
|
||||
.#{$toast-name} {
|
||||
position: fixed;
|
||||
bottom: calc(var(#{$universal-margin-var}) * 3);
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 1111;
|
||||
color: var(#{$toast-fore-color-var});
|
||||
background: var(#{$toast-back-color-var});
|
||||
border-radius: calc(var(#{$universal-border-radius-var}) * 16);
|
||||
padding: var(#{$universal-padding-var}) calc(var(#{$universal-padding-var}) * 3);
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
// Styling for tooltips.
|
||||
@if $_include-tooltip {
|
||||
:root {
|
||||
#{$tooltip-back-color-var}: $tooltip-back-color;
|
||||
#{$tooltip-fore-color-var}: $tooltip-fore-color;
|
||||
}
|
||||
.#{$tooltip-name} {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
&:before, &:after {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
transition: all 0.3s;
|
||||
// Remember to keep this index a lower value than the one used for stickies.
|
||||
z-index: 1010; // Deals with certain problems when combined with cards and tables.
|
||||
left: 50%;
|
||||
}
|
||||
&:not(.#{$tooltip-bottom-name}):before, &:not(.#{$tooltip-bottom-name}):after { // Top (default) tooltip styling
|
||||
bottom: 75%;
|
||||
}
|
||||
&.#{$tooltip-bottom-name}:before, &.#{$tooltip-bottom-name}:after { // Bottom tooltip styling
|
||||
top: 75%;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
&:before, &:after {
|
||||
opacity: 1;
|
||||
clip: auto;
|
||||
-webkit-clip-path: inset(0%);
|
||||
clip-path: inset(0%);
|
||||
}
|
||||
}
|
||||
&:before { // This is the little tooltip triangle
|
||||
content: '';
|
||||
background: transparent;
|
||||
border: var(#{$universal-margin-var}) solid transparent;
|
||||
// Newer browsers will center the tail properly
|
||||
left: calc(50% - var(#{$universal-margin-var}));
|
||||
}
|
||||
&:not(.#{$tooltip-bottom-name}):before { // Top (default) tooltip styling
|
||||
border-top-color: $tooltip-back-color;
|
||||
}
|
||||
&.#{$tooltip-bottom-name}:before { // Bottom tooltip styling
|
||||
border-bottom-color: $tooltip-back-color;
|
||||
}
|
||||
&:after { // This is the actual tooltip's text block
|
||||
content: attr(aria-label);
|
||||
color: var(#{$tooltip-fore-color-var});
|
||||
background: var(#{$tooltip-back-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
padding: var(#{$universal-padding-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
white-space: nowrap;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
&:not(.#{$tooltip-bottom-name}):after { // Top (default) tooltip styling
|
||||
margin-bottom: calc(2 * var(#{$universal-margin-var}));
|
||||
}
|
||||
&.#{$tooltip-bottom-name}:after { // Bottom tooltip styling
|
||||
margin-top: calc(2 * var(#{$universal-margin-var}));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Styling for modal dialogs.
|
||||
@if $_include-modal {
|
||||
:root {
|
||||
#{$modal-overlay-color-var}: $modal-overlay-color;
|
||||
#{$modal-close-color-var}: $modal-close-color;
|
||||
#{$modal-close-hover-back-color-var}: $modal-close-hover-back-color;
|
||||
}
|
||||
[type="checkbox"].#{$modal-name} {
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
& + div {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: var(#{$modal-overlay-color-var});
|
||||
& .card {
|
||||
margin: 0 auto;
|
||||
max-height: 50vh;
|
||||
overflow: auto;
|
||||
& .#{$modal-close-name} {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: $modal-close-size;
|
||||
height: $modal-close-size;
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
padding: var(#{$universal-padding-var});
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
&:before {
|
||||
display: block;
|
||||
content: '\00D7';
|
||||
color: var(#{$modal-close-color-var});
|
||||
position: relative;
|
||||
font-family: sans-serif;
|
||||
font-size: $modal-close-size;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
background: var(#{$modal-close-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&:checked + div {
|
||||
display: flex;
|
||||
flex: 0 1 auto;
|
||||
z-index: 1200;
|
||||
& .card {
|
||||
& .#{$modal-close-name} {
|
||||
z-index: 1211;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Styling for collapse.
|
||||
@if $_include-collapse {
|
||||
:root {
|
||||
#{$collapse-label-back-color-var}: $collapse-label-back-color;
|
||||
#{$collapse-label-fore-color-var}: $collapse-label-fore-color;
|
||||
#{$collapse-label-hover-back-color-var}: $collapse-label-hover-back-color;
|
||||
#{$collapse-selected-label-back-color-var}: $collapse-selected-label-back-color;
|
||||
#{$collapse-border-color-var}: $collapse-border-color;
|
||||
#{$collapse-content-back-color-var} : $collapse-content-back-color;
|
||||
#{$collapse-selected-label-border-color-var}: $collapse-selected-label-border-color;
|
||||
}
|
||||
.#{$collapse-name} {
|
||||
width: calc(100% - 2 * var(#{$universal-margin-var}));
|
||||
opacity: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: var(#{$universal-margin-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
& > [type="radio"], & > [type="checkbox"] {
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
}
|
||||
& > label {
|
||||
flex-grow: 1;
|
||||
display: inline-block;
|
||||
height: $collapse-label-height;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
color: var(#{$collapse-label-fore-color-var});
|
||||
background: var(#{$collapse-label-back-color-var});
|
||||
border: $__1px solid var(#{$collapse-border-color-var});
|
||||
padding: calc(1.5 * var(#{$universal-padding-var}));
|
||||
&:hover, &:focus {
|
||||
background: var(#{$collapse-label-hover-back-color-var});
|
||||
}
|
||||
+ div {
|
||||
flex-basis: auto;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
transition: max-height 0.3s;
|
||||
max-height: 1px; // for transition
|
||||
}
|
||||
}
|
||||
> :checked + label {
|
||||
background: var(#{$collapse-selected-label-back-color-var});
|
||||
// border: 0.0625rem solid #bdbdbd; // var it
|
||||
border-bottom-color: var(#{$collapse-selected-label-border-color-var});
|
||||
& + div {
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
overflow: auto;
|
||||
margin: 0;
|
||||
background: var(#{$collapse-content-back-color-var});
|
||||
border: $__1px solid var(#{$collapse-border-color-var});
|
||||
border-top: 0;
|
||||
padding: var(#{$universal-padding-var});
|
||||
clip: auto;
|
||||
-webkit-clip-path: inset(0%);
|
||||
clip-path: inset(0%);
|
||||
max-height: $collapse-content-max-height;
|
||||
}
|
||||
}
|
||||
& > label:not(:first-of-type) { // Keep these down here, as it overrides some other styles.
|
||||
border-top: 0;
|
||||
}
|
||||
& > label:first-of-type {
|
||||
border-radius: var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var}) 0 0;
|
||||
}
|
||||
& > label:last-of-type:not(:first-of-type) {
|
||||
border-radius: 0 0 var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var});
|
||||
}
|
||||
& > label:last-of-type:first-of-type {
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
}
|
||||
& > :checked:last-of-type:not(:first-of-type) + label {
|
||||
border-radius: 0;
|
||||
}
|
||||
& > :checked:last-of-type + label + div {
|
||||
border-radius: 0 0 var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var});
|
||||
}
|
||||
}
|
||||
}
|
27
docs/mini/_contextual_mixins.scss
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Contextual module's mixin definitions are here. For the module itself
|
||||
// check `_contextual.scss`.
|
||||
// Mark color variant mixin:
|
||||
// $mark-alt-name: The name of the class used for the <mark> variant.
|
||||
// $mark-alt-back-color: Background color for <mark> variant.
|
||||
// $mark-alt-fore-color: Text color for <mark> variant.
|
||||
@mixin make-mark-alt-color ($mark-alt-name, $mark-alt-back-color : $mark-back-color,
|
||||
$mark-alt-fore-color : $mark-fore-color) {
|
||||
mark.#{$mark-alt-name} {
|
||||
@if $mark-alt-back-color != $mark-back-color {
|
||||
#{$mark-back-color-var}: $mark-alt-back-color;
|
||||
}
|
||||
@if $mark-alt-fore-color != $mark-fore-color{
|
||||
#{$mark-fore-color-var}: $mark-alt-fore-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Mark size variant mixin:
|
||||
// $mark-alt-name: The name of the class used for the <mark> variant.
|
||||
// $mark-alt-padding: The padding of the <mark> variant.
|
||||
// $mark-alt-border-radius: The border radius of the <mark> variant.
|
||||
@mixin make-mark-alt-size ($mark-alt-name, $mark-alt-padding, $mark-alt-border-radius) {
|
||||
mark.#{$mark-alt-name} {
|
||||
padding: $mark-alt-padding;
|
||||
border-radius: $mark-alt-border-radius;
|
||||
}
|
||||
}
|
304
docs/mini/_core.scss
Normal file
|
@ -0,0 +1,304 @@
|
|||
/*
|
||||
Browsers resets and base typography.
|
||||
*/
|
||||
@function rempx ($size) { @return 1px/$size;} // Keep this, the generator breaks otherwise
|
||||
// TODO: Add fluid type and test thoroughly
|
||||
$base-root-font-size: 16px !default; // Root font sizing for all elements (`px` only)
|
||||
$_apply-defaults-to-all: true !default; // [Hidden] Apply defaults to all elements? (boolean)
|
||||
$__1px: rempx($base-root-font-size) * 1rem !default; // [Calculated] Calculated rem value of `1px`
|
||||
$base-font-family: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Ubuntu, \"Helvetica Neue\", Helvetica, sans-serif' !default; // Font stack for all elements
|
||||
$base-line-height: 1.5 !default; // Line height for most elements
|
||||
$base-font-size: 1rem !default; // Font sizing for all elements
|
||||
$_body-margin: 0 !default; // [Hidden] Margin for body
|
||||
$fore-color: #111 !default; // Text & foreground color
|
||||
$secondary-fore-color: #444 !default; // Secondary text & foreground color
|
||||
$back-color: #f8f8f8 !default; // Background color
|
||||
$secondary-back-color: #f0f0f0 !default; // Secondary background color
|
||||
$blockquote-color: #f57c00 !default; // <blockquote> sidebar and quotation color
|
||||
$pre-color: #1565c0 !default; // <pre> sidebar color
|
||||
$border-color: #aaa !default; // Border color
|
||||
$secondary-border-color: #ddd !default; // Secondary border color
|
||||
$heading-line-height: 1.2 !default; // Line height for headings
|
||||
$heading-ratio: 1.19 !default; // Ratio for headings (strictly unitless)
|
||||
$subheading-font-size: 0.75em !default; // Font sizing for <small> elements in headings
|
||||
$subheading-top-margin: -0.25rem !default; // Top margin of <small> elements in headings
|
||||
$universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
$universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
$universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
$universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
$small-font-size: 0.75em !default; // Font sizing for <small> elements
|
||||
$heading-font-weight: 500 !default; // Font weight for headings
|
||||
$bold-font-weight: 700 !default; // Font weight for <b> and <strong>
|
||||
$horizontal-rule-line-height: 1.25em !default; // <hr> line height
|
||||
$blockquote-quotation-size: 3rem !default; // Font size for the quotation of <blockquote>
|
||||
$blockquote-cite-size: 0.75em !default; // Font size for the [cite] of <blockquote>
|
||||
$code-font-family: 'Menlo, Consolas, monospace' !default; // Font stack for code elements
|
||||
$code-font-size: 0.85em !default; // Font size for <code>, <kbd>
|
||||
$small-element-font-size: 0.75em !default; // Font size for <small>, <sub>, <sup>
|
||||
$sup-top: -0.5em !default; // <sup> top
|
||||
$sub-bottom: -0.25em !default; // <sub> bottom
|
||||
$a-link-color: #0277bd !default; // Color for <a>:link
|
||||
$a-visited-color: #01579b !default; // Color for <a>:visited
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$fore-color-var: '--fore-color' !default;
|
||||
$secondary-fore-color-var: '--secondary-fore-color' !default;
|
||||
$back-color-var: '--back-color' !default;
|
||||
$secondary-back-color-var: '--secondary-back-color' !default;
|
||||
$blockquote-color-var: '--blockquote-color' !default;
|
||||
$pre-color-var: '--pre-color' !default;
|
||||
$border-color-var: '--border-color' !default;
|
||||
$secondary-border-color-var: '--secondary-border-color' !default;
|
||||
$heading-ratio-var: '--heading-ratio' !default;
|
||||
$universal-margin-var: '--universal-margin' !default;
|
||||
$universal-padding-var: '--universal-padding' !default;
|
||||
$universal-border-radius-var: '--universal-border-radius' !default;
|
||||
$universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
$a-link-color-var: '--a-link-color' !default;
|
||||
$a-visited-color-var: '--a-visited-color' !default;
|
||||
/* Core module CSS variable definitions */
|
||||
:root {
|
||||
#{$fore-color-var}: $fore-color;
|
||||
#{$secondary-fore-color-var}: $secondary-fore-color;
|
||||
#{$back-color-var}: $back-color;
|
||||
#{$secondary-back-color-var}: $secondary-back-color;
|
||||
#{$blockquote-color-var}: $blockquote-color;
|
||||
#{$pre-color-var}: $pre-color;
|
||||
#{$border-color-var}: $border-color;
|
||||
#{$secondary-border-color-var}: $secondary-border-color;
|
||||
#{$heading-ratio-var}: $heading-ratio;
|
||||
#{$universal-margin-var}: $universal-margin;
|
||||
#{$universal-padding-var}: $universal-padding;
|
||||
#{$universal-border-radius-var}: $universal-border-radius;
|
||||
#{$a-link-color-var} : $a-link-color;
|
||||
#{$a-visited-color-var} : $a-visited-color;
|
||||
@if $universal-box-shadow != none {
|
||||
#{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
}
|
||||
}
|
||||
html {
|
||||
font-size: $base-root-font-size; // Set root's font sizing.
|
||||
}
|
||||
a, b, del, em, i, ins, q, span, strong, u {
|
||||
font-size: 1em; // Fix for elements inside headings not displaying properly.
|
||||
}
|
||||
|
||||
@if $_apply-defaults-to-all {
|
||||
html, * {
|
||||
font-family: #{$base-font-family};
|
||||
line-height: $base-line-height;
|
||||
// Prevent adjustments of font size after orientation changes in mobile.
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
* {
|
||||
font-size: $base-font-size;
|
||||
}
|
||||
}
|
||||
@else {
|
||||
html {
|
||||
font-family: #{$base-font-family};
|
||||
line-height: $base-line-height;
|
||||
// Prevent adjustments of font size after orientation changes in mobile.
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
margin: $_body-margin;
|
||||
color: var(#{$fore-color-var});
|
||||
background: var(#{$back-color-var});
|
||||
}
|
||||
|
||||
// Correct display for Edge & Firefox.
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// Correct display in all browsers.
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
// Abbreviations
|
||||
abbr[title] {
|
||||
border-bottom: none; // Remove bottom border in Firefox 39-.
|
||||
text-decoration: underline dotted; // Opinionated style-fix for all browsers.
|
||||
}
|
||||
|
||||
// Show overflow in Edge.
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
// Make images responsive by default.
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
line-height: $heading-line-height;
|
||||
margin: calc(1.5 * var(#{$universal-margin-var})) var(#{$universal-margin-var});
|
||||
font-weight: $heading-font-weight;
|
||||
small {
|
||||
color: var(#{$secondary-fore-color-var});
|
||||
display: block;
|
||||
@if $subheading-top-margin != 0 {
|
||||
margin-top: $subheading-top-margin;
|
||||
}
|
||||
@if $subheading-font-size != $small-font-size {
|
||||
font-size: $subheading-font-size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: calc(1rem * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}));
|
||||
}
|
||||
h2 {
|
||||
font-size: calc(1rem * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}));
|
||||
}
|
||||
h3 {
|
||||
font-size: calc(1rem * var(#{$heading-ratio-var}) * var(#{$heading-ratio-var}));
|
||||
}
|
||||
h4 {
|
||||
font-size: calc(1rem * var(#{$heading-ratio-var}));
|
||||
}
|
||||
h5 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
h6 {
|
||||
font-size: calc(1rem / var(#{$heading-ratio-var}));
|
||||
}
|
||||
|
||||
p {
|
||||
margin: var(#{$universal-margin-var});
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
margin: var(#{$universal-margin-var});
|
||||
padding-left: calc(2 * var(#{$universal-margin-var}));
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: $bold-font-weight;
|
||||
}
|
||||
|
||||
hr {
|
||||
// Fixes and defaults for styling
|
||||
box-sizing: content-box;
|
||||
border: 0;
|
||||
// Actual styling using variables
|
||||
line-height: $horizontal-rule-line-height;
|
||||
margin: var(#{$universal-margin-var});
|
||||
height: $__1px;
|
||||
background: linear-gradient(to right, transparent, var(#{$border-color-var}) 20%, var(#{$border-color-var}) 80%, transparent);
|
||||
}
|
||||
|
||||
blockquote { // Doesn't have a back color by default, can be added manually.
|
||||
display: block;
|
||||
position: relative;
|
||||
font-style: italic;
|
||||
color: var(#{$secondary-fore-color-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
padding: calc(3 * var(#{$universal-padding-var}));
|
||||
border: $__1px solid var(#{$secondary-border-color-var});
|
||||
border-left: 6*$__1px solid var(#{$blockquote-color-var});
|
||||
border-radius: 0 var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var}) 0;
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: calc(0rem - var(#{$universal-padding-var}));
|
||||
left: 0;
|
||||
font-family: sans-serif;
|
||||
font-size: $blockquote-quotation-size;
|
||||
font-weight: 700;
|
||||
content: "\201c";
|
||||
color: var(#{$blockquote-color-var});
|
||||
}
|
||||
&[cite]:after{
|
||||
font-style: normal;
|
||||
font-size: $blockquote-cite-size;
|
||||
font-weight: 700;
|
||||
content: "\a— " attr(cite);
|
||||
white-space: pre;
|
||||
}
|
||||
}
|
||||
|
||||
code, kbd, pre, samp {
|
||||
font-family: #{$code-font-family}; // Display fix should be applied manually!
|
||||
font-size: $code-font-size;
|
||||
}
|
||||
|
||||
code { // No border color by default and fore color is the default for text, can be altered manually.
|
||||
background: var(#{$secondary-back-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
// This could be a bit counterintuitive and burden the codebase a bit, look into it again?
|
||||
padding: calc(var(#{$universal-padding-var}) / 4) calc(var(#{$universal-padding-var}) / 2);
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
}
|
||||
|
||||
kbd { // No border color by default, can be altered manually.
|
||||
background: var(#{$fore-color-var});
|
||||
color: var(#{$back-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
// This could be a bit counterintuitive and burden the codebase a bit, look into it again?
|
||||
padding: calc(var(#{$universal-padding-var}) / 4) calc(var(#{$universal-padding-var}) / 2);
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
}
|
||||
|
||||
pre { // Fore color is the default, can be altered manually.
|
||||
overflow: auto; // Responsiveness
|
||||
background: var(#{$secondary-back-color-var});
|
||||
padding: calc(1.5 * var(#{$universal-padding-var}));
|
||||
margin: var(#{$universal-margin-var});
|
||||
border: $__1px solid var(#{$secondary-border-color-var});
|
||||
border-left: 4*$__1px solid var(#{$pre-color-var});
|
||||
border-radius: 0 var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var}) 0;
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
}
|
||||
|
||||
// Prevent elements from affecting the line height in all browsers.
|
||||
sup, sub, code, kbd {
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
small, sup, sub, figcaption {
|
||||
font-size: $small-element-font-size;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: $sup-top;
|
||||
}
|
||||
sub {
|
||||
bottom: $sub-bottom;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: var(#{$universal-margin-var});
|
||||
}
|
||||
figcaption {
|
||||
color: var(#{$secondary-fore-color-var});
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
&:link{
|
||||
color: var(#{$a-link-color-var});
|
||||
}
|
||||
&:visited {
|
||||
color: var(#{$a-visited-color-var});
|
||||
}
|
||||
&:hover, &:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
131
docs/mini/_icon.scss
Normal file
|
@ -0,0 +1,131 @@
|
|||
/*
|
||||
Definitions for icons - powered by Feather (https://feathericons.com/).
|
||||
*/
|
||||
$icon-prefix: 'icon' !default; // Class name prefix for icons.
|
||||
$icon-alert-name: 'alert' !default; // Class name suffix for alert icon.
|
||||
$icon-bookmark-name: 'bookmark' !default; // Class name suffix for bookmark icon.
|
||||
$icon-calendar-name: 'calendar' !default; // Class name suffix for calendar icon.
|
||||
$icon-credit-name: 'credit' !default; // Class name suffix for credit icon.
|
||||
$icon-edit-name: 'edit' !default; // Class name suffix for edit icon.
|
||||
$icon-link-name: 'link' !default; // Class name suffix for link icon.
|
||||
$icon-help-name: 'help' !default; // Class name suffix for help icon.
|
||||
$icon-home-name: 'home' !default; // Class name suffix for home icon.
|
||||
$icon-info-name: 'info' !default; // Class name suffix for info icon.
|
||||
$icon-lock-name: 'lock' !default; // Class name suffix for lock icon.
|
||||
$icon-mail-name: 'mail' !default; // Class name suffix for mail icon.
|
||||
$icon-location-name: 'location' !default; // Class name suffix for location icon.
|
||||
$icon-phone-name: 'phone' !default; // Class name suffix for phone icon.
|
||||
$icon-rss-name: 'rss' !default; // Class name suffix for rss icon.
|
||||
$icon-search-name: 'search' !default; // Class name suffix for search icon.
|
||||
$icon-settings-name: 'settings' !default; // Class name suffix for settings icon.
|
||||
$icon-share-name: 'share' !default; // Class name suffix for share icon.
|
||||
$icon-cart-name: 'cart' !default; // Class name suffix for cart icon.
|
||||
$icon-upload-name: 'upload' !default; // Class name suffix for upload icon.
|
||||
$icon-user-name: 'user' !default; // Class name suffix for user icon.
|
||||
$icon-secondary-color-name: 'secondary' !default;// Class name for secondary color icons.
|
||||
$icon-inverse-color-name: 'inverse' !default; // Class name for inverse color icons.
|
||||
/// Replace `$search` with `$replace` in `$string`
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {String} $string - Initial string
|
||||
/// @param {String} $search - Substring to replace
|
||||
/// @param {String} $replace ('') - New value
|
||||
/// @return {String} - Updated string
|
||||
@function str-replace($string, $search, $replace: '') {
|
||||
$index: str-index($string, $search);
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
@return $string;
|
||||
}
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $fore-color: #111 !default; // Text & foreground color
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $fore-color-var: '--fore-color' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$fore-color-var}: $fore-color;
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
// Base styling for icons.
|
||||
span[class^='#{$icon-prefix}-'] {
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
vertical-align: -0.125em; // fixes alignment issues
|
||||
background-size: contain;
|
||||
margin: 0 calc(var(#{$universal-margin-var}) / 4);
|
||||
&.#{$icon-secondary-color-name}{
|
||||
-webkit-filter: invert(25%);
|
||||
filter: invert(25%);
|
||||
}
|
||||
&.#{$icon-inverse-color-name}{
|
||||
-webkit-filter: invert(100%);
|
||||
filter: invert(100%);
|
||||
}
|
||||
}
|
||||
span{
|
||||
$stroke-color: str-replace(#{$fore-color}, '#', '%23');
|
||||
&.#{$icon-prefix}-#{$icon-alert-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12' y2='16'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-bookmark-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-calendar-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-credit-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='1' y1='10' x2='23' y2='10'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-edit-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34'%3E%3C/path%3E%3Cpolygon points='18 2 22 6 12 16 8 16 8 12 18 2'%3E%3C/polygon%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-link-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-help-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='17' x2='12' y2='17'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-home-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'%3E%3C/path%3E%3Cpolyline points='9 22 9 12 15 12 15 22'%3E%3C/polyline%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-info-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12' y2='8'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-lock-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-mail-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-location-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-phone-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-rss-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9'%3E%3C/path%3E%3Cpath d='M4 4a16 16 0 0 1 16 16'%3E%3C/path%3E%3Ccircle cx='5' cy='19' r='1'%3E%3C/circle%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-search-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-settings-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'%3E%3C/path%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-share-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'%3E%3C/circle%3E%3Ccircle cx='6' cy='12' r='3'%3E%3C/circle%3E%3Ccircle cx='18' cy='19' r='3'%3E%3C/circle%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'%3E%3C/line%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-cart-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-upload-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
&.#{$icon-prefix}-#{$icon-user-name}{
|
||||
background-image: #{str-replace("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E\")",'currentColor',$stroke-color)};
|
||||
}
|
||||
}
|
317
docs/mini/_input_control.scss
Normal file
|
@ -0,0 +1,317 @@
|
|||
/*
|
||||
Definitions for forms and input elements.
|
||||
*/
|
||||
// Different elements are styled based on the same set of rules.
|
||||
$input-group-name: 'input-group' !default; // Class name for input groups.
|
||||
$_include-fluid-input-group: true !default; // [Hidden] Should fluid input groups be included? (boolean)
|
||||
$input-group-fluid-name: 'fluid' !default; // Class name for fluid input groups.
|
||||
$input-group-vertical-name: 'vertical' !default; // Class name for vertical input groups.
|
||||
$input-group-mobile-breakpoint: 767px !default; // Breakpoint for fluid input group mobile view.
|
||||
$button-class-name: 'button' !default; // Class name for elements styled as buttons.
|
||||
$input-disabled-opacity: 0.75 !default; // Opacity for input elements when disabled.
|
||||
$button-group-name: 'button-group' !default; // Class name for button groups.
|
||||
$button-group-mobile-breakpoint: 767px !default; // Mobile breakpoint for button groups.
|
||||
$form-back-color: #f0f0f0 !default; // Background color for forms.
|
||||
$form-fore-color: #111 !default; // Text color for forms.
|
||||
$form-border-color: #ddd !default; // Border color for forms.
|
||||
$input-back-color: #f8f8f8 !default; // Background color for input elements.
|
||||
$input-fore-color: #111 !default; // Text color for input elements.
|
||||
$input-border-color: #ddd !default; // Border color for input elements.
|
||||
$input-focus-color: #0288d1 !default; // Border color for focused input elements.
|
||||
$input-invalid-color: #d32f2f !default; // Border color for invalid input elements.
|
||||
$button-back-color: #e2e2e2 !default; // Background color for buttons.
|
||||
$button-hover-back-color: #dcdcdc !default; // Background color for buttons (hover).
|
||||
$button-fore-color: #212121 !default; // Text color for buttons.
|
||||
$button-border-color: transparent !default; // Border color for buttons.
|
||||
$button-hover-border-color: transparent !default; // Border color for buttons (hover).
|
||||
$button-group-border-color: rgba(124,124,124, 0.54) !default; // Border color for button groups.
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$form-back-color-var: '--form-back-color' !default;
|
||||
$form-fore-color-var: '--form-fore-color' !default;
|
||||
$form-border-color-var: '--form-border-color' !default;
|
||||
$input-back-color-var: '--input-back-color' !default;
|
||||
$input-fore-color-var: '--input-fore-color' !default;
|
||||
$input-border-color-var: '--input-border-color' !default;
|
||||
$input-focus-color-var: '--input-focus-color' !default;
|
||||
$input-invalid-color-var: '--input-invalid-color' !default;
|
||||
$button-back-color-var: '--button-back-color' !default;
|
||||
$button-hover-back-color-var: '--button-hover-back-color' !default;
|
||||
$button-fore-color-var: '--button-fore-color' !default;
|
||||
$button-border-color-var: '--button-border-color' !default;
|
||||
$button-hover-border-color-var: '--button-hover-border-color' !default;
|
||||
$button-group-border-color-var: '--button-group-border-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $base-font-size: 1rem !default; // Font sizing for all elements
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
// Check the `_input_control_mixins.scss` file to find this module's mixins.
|
||||
@import 'input_control_mixins';
|
||||
/* Input_control module CSS variable definitions */
|
||||
:root {
|
||||
#{$form-back-color-var}: $form-back-color;
|
||||
#{$form-fore-color-var}: $form-fore-color;
|
||||
#{$form-border-color-var}: $form-border-color;
|
||||
#{$input-back-color-var}: $input-back-color;
|
||||
#{$input-fore-color-var}: $input-fore-color;
|
||||
#{$input-border-color-var}: $input-border-color;
|
||||
#{$input-focus-color-var}: $input-focus-color;
|
||||
#{$input-invalid-color-var}: $input-invalid-color;
|
||||
#{$button-back-color-var}: $button-back-color;
|
||||
#{$button-hover-back-color-var}: $button-hover-back-color;
|
||||
#{$button-fore-color-var}: $button-fore-color;
|
||||
#{$button-border-color-var}: $button-border-color;
|
||||
#{$button-hover-border-color-var}: $button-hover-border-color;
|
||||
#{$button-group-border-color-var}: $button-group-border-color;
|
||||
}
|
||||
// Base form styling
|
||||
form { // Text color is the default, this can be changed manually.
|
||||
background: var(#{$form-back-color-var});
|
||||
color: var(#{$form-fore-color-var});
|
||||
border: $__1px solid var(#{$form-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
padding: calc(2 * var(#{$universal-padding-var})) var(#{$universal-padding-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
}
|
||||
// Fieldset styling
|
||||
fieldset {
|
||||
// Apply always to overwrite defaults for all of the below.
|
||||
border: $__1px solid var(#{$form-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: calc(var(#{$universal-margin-var}) / 4);
|
||||
padding: var(#{$universal-padding-var});
|
||||
}
|
||||
// Legend styling.
|
||||
legend {
|
||||
// Edge fixes.
|
||||
box-sizing: border-box;
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
white-space: normal;
|
||||
// Actual styling.
|
||||
font-weight: $bold-font-weight;
|
||||
padding: calc(var(#{$universal-padding-var}) / 2);
|
||||
}
|
||||
// Label syling. - Basically just padding, but there might be more in the future.
|
||||
label {
|
||||
padding: calc(var(#{$universal-padding-var}) / 2) var(#{$universal-padding-var});
|
||||
}
|
||||
// Input group styling.
|
||||
.#{$input-group-name} {
|
||||
display: inline-block;
|
||||
// Fluid input groups
|
||||
@if $_include-fluid-input-group {
|
||||
&.#{$input-group-fluid-name} {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
& > input {
|
||||
max-width: 100%;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0px;
|
||||
}
|
||||
// On mobile
|
||||
@media screen and (max-width: #{$input-group-mobile-breakpoint}) {
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
// Vertical input groups
|
||||
&.#{$input-group-vertical-name} {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
flex-direction: column;
|
||||
& > input {
|
||||
max-width: 100%;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
// Correct style in Chrome and Safari.
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
// Correct style in Chrome and Safari.
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
// Common textual input styling. - Avoid using box-shadow with these.
|
||||
input:not([type]), [type="text"], [type="email"], [type="number"], [type="search"],
|
||||
[type="password"], [type="url"], [type="tel"], [type="checkbox"], [type="radio"], textarea, select {
|
||||
box-sizing: border-box;
|
||||
// Background, color and border should not be unassigned, as the browser defaults will apply.
|
||||
background: var(#{$input-back-color-var});
|
||||
color: var(#{$input-fore-color-var});
|
||||
border: $__1px solid var(#{$input-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: calc(var(#{$universal-margin-var}) / 2);
|
||||
padding: var(#{$universal-padding-var}) calc(1.5 * var(#{$universal-padding-var}));
|
||||
}
|
||||
// Hover, focus, disabled, readonly, invalid styling for common textual inputs.
|
||||
input:not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select {
|
||||
&:hover, &:focus {
|
||||
border-color: var(#{$input-focus-color-var});
|
||||
box-shadow: none;
|
||||
}
|
||||
&:invalid, &:focus:invalid{
|
||||
border-color: var(#{$input-invalid-color-var});
|
||||
box-shadow: none;
|
||||
}
|
||||
&[readonly]{
|
||||
background: var(#{$secondary-back-color-var});
|
||||
}
|
||||
}
|
||||
// Fix for select and option elements overflowing their parent container.
|
||||
select {
|
||||
max-width: 100%;
|
||||
}
|
||||
option {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
// Styling for checkboxes and radio buttons.
|
||||
[type="checkbox"], [type="radio"] {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
position: relative;
|
||||
height: calc(#{$base-font-size} + var(#{$universal-padding-var}) / 2);
|
||||
width: calc(#{$base-font-size} + var(#{$universal-padding-var}) / 2);
|
||||
vertical-align: text-bottom;
|
||||
padding: 0; // Remove padding added from previous styles.
|
||||
flex-basis: calc(#{$base-font-size} + var(#{$universal-padding-var}) / 2) !important; // Override fluid input-group styling.
|
||||
flex-grow: 0 !important; // Using with fluid input-groups is not recommended.
|
||||
&:checked:before {
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
[type="checkbox"] {
|
||||
&:checked:before {
|
||||
content: '\2713';
|
||||
font-family: sans-serif;
|
||||
font-size: calc(#{$base-font-size} + var(#{$universal-padding-var}) / 2);
|
||||
top: calc(0rem - var(#{$universal-padding-var}));
|
||||
left: calc(var(#{$universal-padding-var}) / 4);
|
||||
}
|
||||
}
|
||||
[type="radio"] {
|
||||
border-radius: 100%;
|
||||
&:checked:before {
|
||||
border-radius: 100%;
|
||||
content: '';
|
||||
top: calc(#{$__1px} + var(#{$universal-padding-var}) / 2);
|
||||
left: calc(#{$__1px} + var(#{$universal-padding-var}) / 2);
|
||||
background: var(#{$input-fore-color-var});
|
||||
width: 0.5rem;
|
||||
height: 0.5rem;
|
||||
}
|
||||
}
|
||||
// Placeholder styling (keep browser-specific definitions separated, they do not play well together).
|
||||
:placeholder-shown {
|
||||
color: var(#{$input-fore-color-var});
|
||||
}
|
||||
::-ms-placeholder {
|
||||
color: var(#{$input-fore-color-var});
|
||||
opacity: 0.54;
|
||||
}
|
||||
// Definitions for the button and button-like elements.
|
||||
// Different elements are styled based on the same set of rules.
|
||||
// Reset for Firefox focusing on button elements.
|
||||
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
// Fixes for Android 4, iOS and Safari.
|
||||
button, html [type="button"], [type="reset"], [type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
// Other fixes.
|
||||
button {
|
||||
overflow: visible; // Show the overflow in IE.
|
||||
text-transform: none; // Remove inheritance of text-transform in Edge, Firefox, and IE.
|
||||
}
|
||||
// Default styling
|
||||
button, [type="button"], [type="submit"], [type="reset"],
|
||||
a.#{$button-class-name}, label.#{$button-class-name}, .#{$button-class-name},
|
||||
a[role="button"], label[role="button"], [role="button"] {
|
||||
display: inline-block;
|
||||
background: var(#{$button-back-color-var});
|
||||
color: var(#{$button-fore-color-var});
|
||||
border: $__1px solid var(#{$button-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
padding: var(#{$universal-padding-var}) calc(1.5 * var(#{$universal-padding-var}));
|
||||
margin: var(#{$universal-margin-var});
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
&:hover, &:focus {
|
||||
background: var(#{$button-hover-back-color-var});
|
||||
border-color: var(#{$button-hover-border-color-var});
|
||||
}
|
||||
}
|
||||
// Disabled styling for input and button elements.
|
||||
input, textarea, select, button, .#{$button-class-name}, [role="button"] {
|
||||
// .button[disabled] is actually higher specificity than a.button, so no need for more than that
|
||||
&:disabled, &[disabled] {
|
||||
cursor: not-allowed;
|
||||
opacity: $input-disabled-opacity;
|
||||
}
|
||||
}
|
||||
// Button group styling.
|
||||
.#{$button-group-name} {
|
||||
display: flex;
|
||||
border: $__1px solid var(#{$button-group-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
& > button, [type="button"], & > [type="submit"], & > [type="reset"],
|
||||
& > .#{$button-class-name}, & > [role="button"] {
|
||||
margin: 0;
|
||||
max-width: 100%;
|
||||
flex: 1 1 auto;
|
||||
text-align: center;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
& > :not(:first-child) {
|
||||
border-left: $__1px solid var(#{$button-group-border-color-var});
|
||||
}
|
||||
// Responsiveness for button groups
|
||||
@media screen and (max-width: #{$button-group-mobile-breakpoint}) {
|
||||
flex-direction: column;
|
||||
& > :not(:first-child) {
|
||||
border: 0; // Reapply to remove the left border from elements.
|
||||
border-top: $__1px solid var(#{$button-group-border-color-var});
|
||||
}
|
||||
}
|
||||
}
|
46
docs/mini/_input_control_mixins.scss
Normal file
|
@ -0,0 +1,46 @@
|
|||
// Input_control module's mixin definitions are here. For the module itself
|
||||
// check `_input_control.scss`.
|
||||
// Button color variant mixin:
|
||||
// $button-alt-name: The name of the class used for the button variant.
|
||||
// $button-alt-back-color: Background color for button variant.
|
||||
// $button-alt-hover-back-color: Background color for button variant (hover).
|
||||
// $button-alt-fore-color: Text color for button variant.
|
||||
// $button-alt-border-color: Border color for button variant.
|
||||
// $button-alt-hover-border-color: Border color for button variant (hover).
|
||||
@mixin make-button-alt-color ($button-alt-name, $button-alt-back-color : $button-back-color,
|
||||
$button-alt-hover-back-color : $button-hover-back-color, $button-alt-fore-color : $button-fore-color,
|
||||
$button-alt-border-color : $button-border-color, $button-alt-hover-border-color : $button-hover-border-color) {
|
||||
button, [type="button"], [type="submit"], [type="reset"], .#{$button-class-name}, [role="button"] {
|
||||
&.#{$button-alt-name} {
|
||||
@if $button-alt-back-color != $button-back-color {
|
||||
#{$button-back-color-var}: $button-alt-back-color;
|
||||
}
|
||||
@if $button-alt-fore-color != $button-fore-color{
|
||||
#{$button-fore-color-var}: $button-alt-fore-color;
|
||||
}
|
||||
@if $button-alt-border-color != $button-border-color{
|
||||
#{$button-border-color-var}: $button-alt-border-color;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
@if $button-alt-hover-back-color != $button-hover-back-color{
|
||||
#{$button-hover-back-color-var}: $button-alt-hover-back-color;
|
||||
}
|
||||
@if $button-alt-hover-border-color != $button-hover-border-color{
|
||||
#{$button-hover-border-color-var}: $button-alt-hover-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Button size variant mixin:
|
||||
// $button-alt-name: The name of the class used for the button variant.
|
||||
// $button-alt-padding: The padding of the button variant.
|
||||
// $button-alt-margin The margin of the button variant.
|
||||
@mixin make-button-alt-size ($button-alt-name, $button-alt-padding, $button-alt-margin) {
|
||||
button, [type="button"], [type="submit"], [type="reset"], .#{$button-class-name}, [role="button"] {
|
||||
&.#{$button-alt-name} {
|
||||
padding: $button-alt-padding;
|
||||
margin: $button-alt-margin;
|
||||
}
|
||||
}
|
||||
}
|
199
docs/mini/_layout.scss
Normal file
|
@ -0,0 +1,199 @@
|
|||
/*
|
||||
Definitions for the grid system, cards and containers.
|
||||
*/
|
||||
// The grid system uses the flexbox module, meaning it might be incompatible with certain browsers.
|
||||
$_include-parent-layout: true !default; // [Hidden] Flag for rows defining column layouts (`true`/`false`).
|
||||
$grid-column-count: 12 !default; // Number of columns in the grid (integer value only).
|
||||
$grid-container-name: 'container' !default; // Class name for the grid system container.
|
||||
$grid-row-name: 'row' !default; // Class name for the grid system rows.
|
||||
$grid-row-parent-layout-prefix:'cols' !default; // Class name prefix for the grid's row parents.
|
||||
$grid-column-prefix: 'col' !default; // Class name prefix for the grid's columns.
|
||||
$grid-column-offset-suffix: 'offset' !default; // Class name suffix for the grid's offsets.
|
||||
$grid-order-normal-suffix: 'normal' !default; // Class name suffix for grid columns with normal priority.
|
||||
$grid-order-first-suffix: 'first' !default; // Class name suffix for grid columns with highest priority.
|
||||
$grid-order-last-suffix: 'last' !default; // Class name suffix for grid columns with lowest priorty.
|
||||
$grid-small-prefix: 'sm' !default; // Small screen class prefix for grid.
|
||||
$grid-medium-prefix: 'md' !default; // Medium screen class prefix for grid.
|
||||
$grid-large-prefix: 'lg' !default; // Large screen class prefix for grid.
|
||||
$grid-medium-breakpoint: 768px !default; // Medium screen breakpoint for grid.
|
||||
$grid-large-breakpoint: 1280px !default; // Large screen breakpoint for grid.
|
||||
$card-name: 'card' !default; // Class name for the cards.
|
||||
$card-section-name: 'section' !default; // Class name for the cards' sections.
|
||||
$card-section-media-name: 'media' !default; // Class name for the cards' sections (media cotent).
|
||||
$card-normal-width: 320px !default; // Width for normal cards.
|
||||
$card-section-media-height: 200px !default; // Height for cards' media sections.
|
||||
$card-fore-color: #111 !default; // Text color for the cards.
|
||||
$card-back-color: #f8f8f8 !default; // Background color for the cards.
|
||||
$card-border-color: #ddd !default; // Border color for the cards.
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$card-fore-color-var: '--card-fore-color' !default;
|
||||
$card-back-color-var: '--card-back-color' !default;
|
||||
$card-border-color-var: '--card-border-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
// Check the `_layout_mixins.scss` file to find this module's mixins.
|
||||
@import 'layout_mixins';
|
||||
// Fluid grid system container definition.
|
||||
.#{$grid-container-name} {
|
||||
margin: 0 auto;
|
||||
padding: 0 calc(1.5 * var(#{$universal-padding-var}));
|
||||
}
|
||||
// Grid row definition.
|
||||
.#{$grid-row-name} {
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex: 0 1 auto;
|
||||
flex-flow: row wrap;
|
||||
}
|
||||
// Inline mixin, used to generate class definitions for each grid step.
|
||||
@mixin generate-grid-size ($size-prefix){
|
||||
@if $_include-parent-layout {
|
||||
.#{$grid-column-prefix}-#{$size-prefix},
|
||||
[class^='#{$grid-column-prefix}-#{$size-prefix}-'],
|
||||
[class^='#{$grid-column-prefix}-#{$size-prefix}-#{$grid-column-offset-suffix}-'],
|
||||
.#{$grid-row-name}[class*='#{$grid-row-parent-layout-prefix}-#{$size-prefix}-'] > * {
|
||||
box-sizing: border-box;
|
||||
flex: 0 0 auto;
|
||||
padding: 0 calc(var(#{$universal-padding-var}) / 2);
|
||||
}
|
||||
// Grid column specific definition for flexible column.
|
||||
.#{$grid-column-prefix}-#{$size-prefix},
|
||||
.#{$grid-row-name}.#{$grid-row-parent-layout-prefix}-#{$size-prefix} > * {
|
||||
max-width: 100%;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
}
|
||||
}
|
||||
@else {
|
||||
// Grid column generic definitions.
|
||||
.#{$grid-column-prefix}-#{$size-prefix},
|
||||
[class^='#{$grid-column-prefix}-#{$size-prefix}-'],
|
||||
[class^='#{$grid-column-prefix}-#{$size-prefix}-#{$grid-column-offset-suffix}-'] {
|
||||
flex: 0 0 auto;
|
||||
padding: 0 calc(var(#{$universal-padding-var}) / 2);
|
||||
}
|
||||
// Grid column specific definition for flexible column.
|
||||
.#{$grid-column-prefix}-#{$size-prefix} {
|
||||
max-width: 100%;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
}
|
||||
}
|
||||
// Grid column specific definitions for predefined columns.
|
||||
@for $i from 1 through $grid-column-count {
|
||||
@if $_include-parent-layout {
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$i},
|
||||
.#{$grid-row-name}.#{$grid-row-parent-layout-prefix}-#{$size-prefix}-#{$i} > * {
|
||||
max-width: #{($i * 100% / $grid-column-count)};
|
||||
flex-basis: #{($i * 100% / $grid-column-count)};
|
||||
}
|
||||
}
|
||||
@else {
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$i} {
|
||||
max-width: #{($i * 100% / $grid-column-count)};
|
||||
flex-basis: #{($i * 100% / $grid-column-count)};
|
||||
}
|
||||
}
|
||||
// Offest definitions.
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$grid-column-offset-suffix}-#{($i - 1)} {
|
||||
@if ($i - 1) == 0 {
|
||||
margin-left: 0;
|
||||
}
|
||||
@else {
|
||||
margin-left: #{(($i - 1) * 100% / $grid-column-count)};
|
||||
}
|
||||
}
|
||||
}
|
||||
// Reordering definitions.
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$grid-order-normal-suffix} {
|
||||
order: initial;
|
||||
}
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$grid-order-first-suffix} {
|
||||
order: -999;
|
||||
}
|
||||
.#{$grid-column-prefix}-#{$size-prefix}-#{$grid-order-last-suffix} {
|
||||
order: 999;
|
||||
}
|
||||
}
|
||||
// Definitions for smaller screens.
|
||||
@include generate-grid-size($grid-small-prefix);
|
||||
// Definitions for medium screens.
|
||||
@media screen and (min-width: #{$grid-medium-breakpoint}){
|
||||
@include generate-grid-size($grid-medium-prefix);
|
||||
}
|
||||
// Definitions for large screens.
|
||||
@media screen and (min-width: #{$grid-large-breakpoint}){
|
||||
@include generate-grid-size($grid-large-prefix);
|
||||
}
|
||||
/* Card component CSS variable definitions */
|
||||
:root {
|
||||
#{$card-back-color-var}: $card-back-color;
|
||||
#{$card-fore-color-var}: $card-fore-color;
|
||||
#{$card-border-color-var}: $card-border-color;
|
||||
}
|
||||
// Card styling
|
||||
.#{$card-name} {
|
||||
// New syntax
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-self: center;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
// Actual styling for the cards
|
||||
background: var(#{$card-back-color-var});
|
||||
color: var(#{$card-fore-color-var});
|
||||
border: $__1px solid var(#{$card-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
overflow: hidden; // Hide overflow from section borders
|
||||
// Responsiveness (if the screen is larger than card, set max-width)
|
||||
@media screen and (min-width: #{$card-normal-width}) {
|
||||
max-width: $card-normal-width;
|
||||
}
|
||||
// Card sections
|
||||
& > .#{$card-section-name} {
|
||||
// Reapply background and foreground colors, so that mixins can be applied properly.
|
||||
background: var(#{$card-back-color-var});
|
||||
color: var(#{$card-fore-color-var});
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
border: 0; // Clean borders and radiuses for any element-based sections
|
||||
border-radius: 0; // Clean borders and radiuses for any element-based sections
|
||||
border-bottom: $__1px solid var(#{$card-border-color-var});
|
||||
padding: var(#{$universal-padding-var});
|
||||
width: 100%;
|
||||
// Card media sections
|
||||
&.#{$card-section-media-name} {
|
||||
height: $card-section-media-height;
|
||||
padding: 0;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
// Card sections - last
|
||||
& > .#{$card-section-name}:last-child {
|
||||
border-bottom: 0; // Clean the extra border for last section
|
||||
}
|
||||
}
|
62
docs/mini/_layout_mixins.scss
Normal file
|
@ -0,0 +1,62 @@
|
|||
// Layout (card) module's mixin definitions are here. For the module itself
|
||||
// check `_layout.scss`.
|
||||
// Mixin for alternate card sizes:
|
||||
// $card-alt-size-name: The name of the class used for the alternate size card.
|
||||
// $card-alt-size-width: The width of the alternate size card.
|
||||
@mixin make-card-alt-size ($card-alt-size-name, $card-alt-size-width) {
|
||||
@if type-of($card-alt-size-width) == 'number' and unit($card-alt-size-width) == '%' {
|
||||
.#{$card-name}.#{$card-alt-size-name} {
|
||||
max-width: $card-alt-size-width;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
@else {
|
||||
@media screen and (min-width: #{$card-alt-size-width}) {
|
||||
.#{$card-name}.#{$card-alt-size-name} {
|
||||
max-width: $card-alt-size-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Mixin for alternate cards (card color variants):
|
||||
// $card-alt-name: The name of the class used for the alternate card.
|
||||
// $card-alt-back-color: The background color of the alternate card.
|
||||
// $card-alt-fore-color: The text color of the alternate card.
|
||||
// $card-alt-border-color: The border style of the alternate card.
|
||||
@mixin make-card-alt-color ($card-alt-name, $card-alt-back-color : $card-back-color,
|
||||
$card-alt-fore-color : $card-fore-color, $card-alt-border-color : $card-border-color) {
|
||||
.#{$card-name}.#{$card-alt-name} {
|
||||
@if $card-alt-back-color != $card-back-color {
|
||||
#{$card-back-color-var}: $card-alt-back-color;
|
||||
}
|
||||
@if $card-alt-fore-color != $card-fore-color {
|
||||
#{$card-fore-color-var}: $card-alt-fore-color;
|
||||
}
|
||||
@if $card-alt-border-color != $card-border-color {
|
||||
#{$card-border-color-var}: $card-alt-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Mixin for alternate card sections (card section color variants):
|
||||
// $card-section-alt-name: The name of the class used for the alternate card section.
|
||||
// $card-section-alt-back-color: The background color of the alternate card section.
|
||||
// $card-section-alt-fore-color: The text color of the alternate card section.
|
||||
@mixin make-card-section-alt-color ($card-section-alt-name, $card-section-alt-back-color : $card-back-color,
|
||||
$card-section-alt-fore-color : $card-fore-color) {
|
||||
.#{$card-name} > .#{$card-section-name}.#{$card-section-alt-name} {
|
||||
@if $card-section-alt-back-color != $card-back-color {
|
||||
#{$card-back-color-var}: $card-section-alt-back-color;
|
||||
}
|
||||
@if $card-section-alt-fore-color != $card-fore-color {
|
||||
#{$card-fore-color-var}: $card-section-alt-fore-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Mixin for alternate card sections (card section padding variants):
|
||||
// $card-section-alt-name: The name of the class used for the alternate card section.
|
||||
// $card-section-alt-padding: The padding of the alternate card section.
|
||||
@mixin make-card-section-alt-style ($card-section-alt-name, $card-section-alt-padding) {
|
||||
.#{$card-name} > .#{$card-section-name}.#{$card-section-alt-name} {
|
||||
padding: $card-section-alt-padding;
|
||||
}
|
||||
}
|
314
docs/mini/_navigation.scss
Normal file
|
@ -0,0 +1,314 @@
|
|||
/*
|
||||
Definitions for navigation elements.
|
||||
*/
|
||||
// Different elements are styled based on the same set of rules.
|
||||
$header-height: 3.1875rem !default; // Height of the header element.
|
||||
$header-back-color: #f8f8f8 !default; // Background color for the header element.
|
||||
$header-hover-back-color: #f0f0f0 !default; // Background color for the header element (hover).
|
||||
$header-fore-color: #444 !default; // Text color for the header element.
|
||||
$header-border-color: #ddd !default; // Border color for the header element.
|
||||
$nav-back-color: #f8f8f8 !default; // Background color for the nav element.
|
||||
$nav-hover-back-color: #f0f0f0 !default; // Background color for the nav element (hover).
|
||||
$nav-fore-color: #444 !default; // Text color for the nav element.
|
||||
$nav-border-color: #ddd !default; // Border color for the nav element.
|
||||
$nav-link-color: #0277bd !default; // Color for link in the nav element.
|
||||
$footer-fore-color: #444 !default; // Text color for the footer element.
|
||||
$footer-back-color: #f8f8f8 !default; // Background color for footer nav element.
|
||||
$footer-border-color: #ddd !default; // Border color for the footer element.
|
||||
$footer-link-color: #0277bd !default; // Color for link in the footer element.
|
||||
$drawer-back-color: #f8f8f8 !default; // Background color for the drawer component.
|
||||
$drawer-border-color: #ddd !default; // Border color for the drawer component.
|
||||
$drawer-hover-back-color: #f0f0f0 !default; // Background color for the drawer component's close (hover).
|
||||
$drawer-close-color: #444 !default; // Color of the close element for the drawer component.
|
||||
$_header-only-bottom-border: true !default; // [Hidden] Apply styling only to the bottom border of header? (boolean)
|
||||
$_header-links-uppercase: true !default; // [Hidden] Should header links and buttons be uppercase? (boolean)
|
||||
$header-logo-name: 'logo' !default; // Class name for the header logo element.
|
||||
$header-logo-font-size: 1.75rem !default; // Font ize for the header logo element.
|
||||
$nav-sublink-prefix: 'sublink' !default; // Prefix for the subcategory tabs in nav.
|
||||
$nav-sublink-depth: 2 !default; // Amount of subcategory classes to add.
|
||||
$_footer-only-top-border: true !default; // [Hidden] Apply styling only to the top border of footer? (boolean)
|
||||
$footer-font-size: 0.875rem !default; // Font size for text in footer element.
|
||||
$sticky-name: 'sticky' !default; // Class name for sticky headers and footers.
|
||||
$drawer-name: 'drawer' !default; // Class name for the drawer component.
|
||||
$drawer-toggle-name: 'drawer-toggle' !default; // Class name for the drawer component's toggle.
|
||||
$drawer-toggle-font-size: 1.5em !default; // Font size for the drawer component's toggle. (prefer em units)
|
||||
$drawer-mobile-breakpoint: 768px !default; // Mobile breakpoint for the drawer component.
|
||||
$_drawer-right: true !default; // [Hidden] Should the drawer appear on the right side of the screen?
|
||||
$drawer-persistent-name: 'persistent' !default; // Class name for the persisten variant of the drawer component.
|
||||
$drawer-width: 320px !default; // Width of the drawer component.
|
||||
$drawer-close-name: 'drawer-close' !default; // Class name of the close element for the drawer component.
|
||||
$drawer-close-size: 2rem !default; // Size of the close element for the drawer component.
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$header-fore-color-var: '--header-fore-color' !default;
|
||||
$header-back-color-var: '--header-back-color' !default;
|
||||
$header-hover-back-color-var: '--header-hover-back-color' !default;
|
||||
$header-border-color-var: '--header-border-color' !default;
|
||||
$nav-fore-color-var: '--nav-fore-color' !default;
|
||||
$nav-back-color-var: '--nav-back-color' !default;
|
||||
$nav-hover-back-color-var: '--nav-hover-back-color' !default;
|
||||
$nav-border-color-var: '--nav-border-color' !default;
|
||||
$nav-link-color-var: '--nav-link-color' !default;
|
||||
$footer-fore-color-var: '--footer-fore-color' !default;
|
||||
$footer-back-color-var: '--footer-back-color' !default;
|
||||
$footer-border-color-var: '--footer-border-color' !default;
|
||||
$footer-link-color-var: '--footer-link-color' !default;
|
||||
$drawer-back-color-var: '--drawer-back-color' !default;
|
||||
$drawer-border-color-var: '--drawer-border-color' !default;
|
||||
$drawer-hover-back-color-var: '--drawer-hover-back-color' !default;
|
||||
$drawer-close-color-var: '--drawer-close-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
/* Navigation module CSS variable definitions */
|
||||
:root {
|
||||
#{$header-back-color-var}: $header-back-color;
|
||||
#{$header-hover-back-color-var}: $header-hover-back-color;
|
||||
#{$header-fore-color-var}: $header-fore-color;
|
||||
#{$header-border-color-var}: $header-border-color;
|
||||
#{$nav-back-color-var}: $nav-back-color;
|
||||
#{$nav-hover-back-color-var}: $nav-hover-back-color;
|
||||
#{$nav-fore-color-var}: $nav-fore-color;
|
||||
#{$nav-border-color-var}: $nav-border-color;
|
||||
#{$nav-link-color-var}: $nav-link-color;
|
||||
#{$footer-fore-color-var}: $footer-fore-color;
|
||||
#{$footer-back-color-var}: $footer-back-color;
|
||||
#{$footer-border-color-var}: $footer-border-color;
|
||||
#{$footer-link-color-var}: $footer-link-color;
|
||||
#{$drawer-back-color-var}: $drawer-back-color;
|
||||
#{$drawer-hover-back-color-var}: $drawer-hover-back-color;
|
||||
#{$drawer-border-color-var}: $drawer-border-color;
|
||||
#{$drawer-close-color-var}: $drawer-close-color;
|
||||
}
|
||||
// Header styling. - No box-shadow as it causes lots of weird bugs in Chrome. No margin as it shouldn't have any.
|
||||
header {
|
||||
height: $header-height;
|
||||
background: var(#{$header-back-color-var}); // Always apply background color to avoid shine through
|
||||
color: var(#{$header-fore-color-var});
|
||||
@if $_header-only-bottom-border {
|
||||
border-bottom: $__1px solid var(#{$header-border-color-var});
|
||||
}
|
||||
@else {
|
||||
border: $__1px solid var(#{$header-border-color-var});
|
||||
}
|
||||
padding: calc(var(#{$universal-padding-var}) / 4) 0;
|
||||
// Responsiveness for smaller displays, scrolls horizontally.
|
||||
white-space: nowrap;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
// Fix for responsive header, using the grid system's row and column alignment.
|
||||
&.#{$grid-row-name} {
|
||||
box-sizing: content-box;
|
||||
}
|
||||
// Header logo styling.
|
||||
.#{$header-logo-name} {
|
||||
color: var(#{$header-fore-color-var});
|
||||
font-size: $header-logo-font-size;
|
||||
padding: var(#{$universal-padding-var}) calc(2 * var(#{$universal-padding-var}));
|
||||
text-decoration: none;
|
||||
}
|
||||
// Link styling.
|
||||
button, [type="button"], .#{$button-class-name}, [role="button"] {
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
top: calc(0rem - var(#{$universal-padding-var}) / 4); // Use universal-padding to offset the padding of the header.
|
||||
height: calc(#{$header-height} + var(#{$universal-padding-var}) / 2); // Fill header.
|
||||
background: var(#{$header-back-color-var}); // Apply color regardless to override styling from other things.
|
||||
line-height: calc(#{$header-height} - var(#{$universal-padding-var}) * 1.5);
|
||||
text-align: center;
|
||||
color: var(#{$header-fore-color-var});
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
@if $_header-links-uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
background: var(#{$header-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
// Navigation sidebar styling.
|
||||
nav {
|
||||
background: var(#{$nav-back-color-var});
|
||||
color: var(#{$nav-fore-color-var});
|
||||
border: $__1px solid var(#{$nav-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
* {
|
||||
padding: var(#{$universal-padding-var}) calc(1.5 * var(#{$universal-padding-var}));
|
||||
}
|
||||
a, a:visited {
|
||||
display: block;
|
||||
color: var(#{$nav-link-color-var}); // Apply regardless to de-stylize visited links.
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
transition: background 0.3s;
|
||||
&:hover, &:focus {
|
||||
text-decoration: none;
|
||||
background: var(#{$nav-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
// Subcategories in navigation.
|
||||
@for $i from 1 through $nav-sublink-depth {
|
||||
.#{$nav-sublink-prefix}-#{$i} {
|
||||
position: relative;
|
||||
margin-left: calc(#{$i * 2} * var(#{$universal-padding-var}));
|
||||
&:before {
|
||||
position: absolute;
|
||||
left: calc(var(#{$universal-padding-var}) - #{1 + ($i - 1)*2} * var(#{$universal-padding-var}));
|
||||
top: -#{$__1px};
|
||||
content: '';
|
||||
height: 100%;
|
||||
border: $__1px solid var(#{$nav-border-color-var});
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Footer styling.
|
||||
footer {
|
||||
background: var(#{$footer-back-color-var}); // Always apply background color to avoid shine through
|
||||
color: var(#{$footer-fore-color-var});
|
||||
@if $_footer-only-top-border {
|
||||
border-top: $__1px solid var(#{$footer-border-color-var});
|
||||
}
|
||||
@else {
|
||||
border: $__1px solid var(#{$footer-border-color-var});
|
||||
}
|
||||
// margin: $footer-margin;
|
||||
padding: calc(2 * var(#{$universal-padding-var})) var(#{$universal-padding-var});
|
||||
font-size: $footer-font-size;
|
||||
a, a:visited {
|
||||
color: var(#{$footer-link-color-var});
|
||||
}
|
||||
}
|
||||
// Definitions for sticky headers and footers.
|
||||
header.#{$sticky-name} {
|
||||
position: -webkit-sticky; // One of the rare instances where prefixes are necessary.
|
||||
position: sticky;
|
||||
z-index: 1101; // Deals with certain problems when combined with cards and tables.
|
||||
top: 0;
|
||||
}
|
||||
footer.#{$sticky-name} {
|
||||
position: -webkit-sticky; // One of the rare instances where prefixes are necessary.
|
||||
position: sticky;
|
||||
z-index: 1101; // Deals with certain problems when combined with cards and tables.
|
||||
bottom: 0;
|
||||
}
|
||||
// Responsive drawer component.
|
||||
.#{$drawer-toggle-name} {
|
||||
&:before { // No color specified, should use the color of its surroundings!
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
vertical-align: bottom;
|
||||
content: '\00a0\2261\00a0'; // Spaces ensure compatibility with buttons that have text and that textless buttons will have some extra padding.
|
||||
font-family: sans-serif;
|
||||
font-size: $drawer-toggle-font-size; // Almost hardcoded, should be fully compatible with its surroundings.
|
||||
}
|
||||
@media screen and (min-width: #{$drawer-mobile-breakpoint}){
|
||||
&:not(.#{$drawer-persistent-name}) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
[type="checkbox"].#{$drawer-name} {
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
+ * {
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: $drawer-width;
|
||||
height: 100vh;
|
||||
overflow-y: auto;
|
||||
background: var(#{$drawer-back-color-var});
|
||||
border: $__1px solid var(#{$drawer-border-color-var});
|
||||
border-radius: 0; // Set to 0 to override the value from `nav`.
|
||||
margin: 0; // Set to 0 to override the value from `nav`.
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
z-index: 1110;
|
||||
@if $_drawer-right {
|
||||
right: -$drawer-width;
|
||||
transition: right 0.3s;
|
||||
}
|
||||
@else {
|
||||
left: -$drawer-width;
|
||||
transition: left 0.3s;
|
||||
}
|
||||
& .#{$drawer-close-name} {
|
||||
position: absolute;
|
||||
top: var(#{$universal-margin-var});
|
||||
right: var(#{$universal-margin-var});
|
||||
z-index: 1111;
|
||||
width: $drawer-close-size;
|
||||
height: $drawer-close-size;
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
padding: var(#{$universal-padding-var});
|
||||
margin: 0; // Fixes the offset from label
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
&:before { // Transparent background unless hovered over. Does not block text behind it.
|
||||
display: block;
|
||||
content: '\00D7';
|
||||
color: var(#{$drawer-close-color-var});
|
||||
position: relative;
|
||||
font-family: sans-serif;
|
||||
font-size: $drawer-close-size;
|
||||
line-height: 1; // Setting to 1 seems to center the 'X' properly.
|
||||
text-align: center;
|
||||
}
|
||||
&:hover, &:focus {
|
||||
background: var(#{$drawer-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: #{$drawer-width}) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
&:checked + * {
|
||||
@if $_drawer-right {
|
||||
right: 0;
|
||||
}
|
||||
@else {
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: #{$drawer-mobile-breakpoint}){
|
||||
&:not(.#{$drawer-persistent-name}) + * {
|
||||
position: static;
|
||||
height: 100%;
|
||||
z-index: 1100;
|
||||
& .#{$drawer-close-name} {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
113
docs/mini/_progress.scss
Normal file
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
Definitions for progress elements and spinners.
|
||||
*/
|
||||
$progress-back-color: #ddd !default; // Background color of <progress>.
|
||||
$progress-fore-color: #555 !default; // Foreground color of <progress>.
|
||||
$progress-height: 0.75rem !default; // Height of <progress>.
|
||||
$progress-max-value: 1000 !default; // Arithmetic max value of <progress> - use integer values.
|
||||
$progress-inline-name: 'inline' !default; // Class name for inline <progress> elements.
|
||||
$progress-inline-width: 60% !default; // Width of inline <progress> elements.
|
||||
$_include-spinner-donut: true !default; // [Hidden] Should spinner donuts be included? (boolean)
|
||||
$spinner-donut-name: 'spinner' !default; // Class name for spinner donuts
|
||||
$spinner-donut-size: 1.25rem !default; // Size of the spinner donuts
|
||||
$spinner-donut-border-thickness: 0.25rem !default; // Border thickness for spinner donuts
|
||||
$spinner-donut-back-color: #ddd !default; // Background color for spinner donuts
|
||||
$spinner-donut-fore-color: #555 !default; // Foreground color for spinner donuts
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$progress-back-color-var: '--progress-back-color' !default;
|
||||
$progress-fore-color-var: '--progress-fore-color' !default;
|
||||
$spinner-donut-back-color-var: '--spinner-back-color' !default;
|
||||
$spinner-donut-fore-color-var: '--spinner-fore-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
// Check the `_progress_mixins.scss` file to find this module's mixins.
|
||||
@import '_progress_mixins';
|
||||
/* Progess module CSS variable definitions */
|
||||
:root {
|
||||
#{$progress-back-color-var}: $progress-back-color;
|
||||
#{$progress-fore-color-var}: $progress-fore-color;
|
||||
}
|
||||
// Default styling for progress. Use mixins for alternate styles
|
||||
progress {
|
||||
display: block;
|
||||
vertical-align: baseline; // Correct vertical alignment in some browsers.
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
height: $progress-height;
|
||||
width: calc(100% - 2 * var(#{$universal-margin-var}));
|
||||
margin: var(#{$universal-margin-var});
|
||||
border: 0; // Removes default border
|
||||
border-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
background: var(#{$progress-back-color-var});
|
||||
color: var(#{$progress-fore-color-var});
|
||||
// Foreground color on webkit browsers
|
||||
&::-webkit-progress-value {
|
||||
background: var(#{$progress-fore-color-var});
|
||||
border-top-left-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
border-bottom-left-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
}
|
||||
// Background color on webkit browser
|
||||
&::-webkit-progress-bar {
|
||||
background: var(#{$progress-back-color});
|
||||
}
|
||||
// Foreground color on Firefox
|
||||
&::-moz-progress-bar {
|
||||
background: var(#{$progress-fore-color-var});
|
||||
border-top-left-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
border-bottom-left-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
}
|
||||
&[value="#{$progress-max-value}"] {
|
||||
&::-webkit-progress-value {
|
||||
border-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
}
|
||||
&::-moz-progress-bar {
|
||||
border-radius: calc(2 * var(#{$universal-border-radius-var}));
|
||||
}
|
||||
}
|
||||
&.#{$progress-inline-name} {
|
||||
display: inline-block;
|
||||
vertical-align: middle; // Align progress bar vertically to look better with text next to it.
|
||||
width: $progress-inline-width;
|
||||
}
|
||||
}
|
||||
// Style for donut spinner
|
||||
@if $_include-spinner-donut {
|
||||
:root {
|
||||
#{$spinner-donut-back-color-var}: $spinner-donut-back-color;
|
||||
#{$spinner-donut-fore-color-var}: $spinner-donut-fore-color;
|
||||
}
|
||||
// Donut spinner animation
|
||||
@keyframes spinner-donut-anim {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(360deg);}
|
||||
}
|
||||
.#{$spinner-donut-name} {
|
||||
display: inline-block;
|
||||
margin: var(#{$universal-margin-var});
|
||||
border: $spinner-donut-border-thickness solid var(#{$spinner-donut-back-color-var});
|
||||
border-left: $spinner-donut-border-thickness solid var(#{$spinner-donut-fore-color-var});
|
||||
border-radius: 50%;
|
||||
width: $spinner-donut-size;
|
||||
height: $spinner-donut-size;
|
||||
animation: spinner-donut-anim 1.2s linear infinite;
|
||||
}
|
||||
}
|
32
docs/mini/_progress_mixins.scss
Normal file
|
@ -0,0 +1,32 @@
|
|||
// Progress module's mixin definitions are here. For the module itself
|
||||
// check `progress.scss`.
|
||||
// Progress color variant mixin:
|
||||
// $progress-alt-name: The name of the class used for the <progress> variant.
|
||||
// $progress-alt-fore-color: Foregound color for <progress> variant.
|
||||
// $progress-alt-back-color: Background color for <progress> variant.
|
||||
@mixin make-progress-alt-color ($progress-alt-name, $progress-alt-fore-color : $progress-fore-color,
|
||||
$progress-alt-back-color : $progress-back-color) {
|
||||
progress.#{$progress-alt-name} {
|
||||
@if $progress-alt-fore-color != $progress-fore-color{
|
||||
#{$progress-fore-color-var}: $progress-alt-fore-color;
|
||||
}
|
||||
@if $progress-alt-back-color != $progress-back-color {
|
||||
#{$progress-back-color-var}: $progress-alt-back-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Spinner donut color variant mixin:
|
||||
// $spinner-donut-alt-name: The name of the class used for the spinner donut variant.
|
||||
// $spinner-donut-alt-fore-color: Text color for spinner donut variant.
|
||||
// $spinner-donut-alt-back-color: Background color for spinner donut variant.
|
||||
@mixin make-spinner-donut-alt-color ($spinner-donut-alt-name, $spinner-donut-alt-fore-color : $spinner-donut-fore-color,
|
||||
$spinner-donut-alt-back-color : $spinner-donut-back-color) {
|
||||
.#{$spinner-donut-name}.#{$spinner-donut-alt-name} {
|
||||
@if $spinner-donut-alt-fore-color != $spinner-donut-fore-color{
|
||||
#{$spinner-donut-fore-color-var}: $spinner-donut-alt-fore-color;
|
||||
}
|
||||
@if $spinner-donut-alt-back-color != $spinner-donut-back-color {
|
||||
#{$spinner-donut-back-color-var}: $spinner-donut-alt-back-color;
|
||||
}
|
||||
}
|
||||
}
|
371
docs/mini/_table.scss
Normal file
|
@ -0,0 +1,371 @@
|
|||
/*
|
||||
Definitions for the responsive table component.
|
||||
*/
|
||||
// The tables use the common table elements and syntax - <tfoot> is not supported.
|
||||
$table-mobile-breakpoint: 768px !default; // Breakpoint for <table> mobile view.
|
||||
$table-max-height: 400px !default; // Maximum height of <table> elements (non-horizontal).
|
||||
$table-caption-font-size: 1.5rem !default; // Font size for <caption> elements.
|
||||
$table-mobile-card-label: 'data-label' !default; // Attribute used to replace column headers in mobile view.
|
||||
$table-mobile-label-font-weight: 600 !default; // Font weight for column header labels in mobile view.
|
||||
$table-border-color: #aaa !default; // Border color for <table> elements.
|
||||
$table-border-separator-color: #666 !default; // Border color for the border between <thead> and <tbody>.
|
||||
$table-th-back-color: #e6e6e6 !default; // Background color for <th> elements.
|
||||
$table-th-fore-color: #111 !default; // Text color for <th> elements.
|
||||
$table-td-back-color: #f8f8f8 !default; // Background color for <td> elements.
|
||||
$table-td-fore-color: #111 !default; // Text color for <td> elements.
|
||||
$_include-horizontal-table: true !default; // [Hidden] Flag for horizontal tables (`true`/`false`).
|
||||
$table-horizontal-name: 'horizontal' !default; // Class name for horizontal <table> elements.
|
||||
$_include-striped-table: true !default; // [Hidden] Flag for striped tables.
|
||||
$table-striped-name: 'striped' !default; // Class name for striped <table> elements.
|
||||
$table-td-alt-back-color: #eee !default; // Alternative background color for <td> elements in striped tables.
|
||||
$_include-hoverable-table: true !default; // [Hidden] Flag for striped tables.
|
||||
$table-hoverable-name: 'hoverable' !default; // Class name for hoverable <table> elements.
|
||||
$table-td-hover-back-color: #90caf9 !default; // Hover background color for <td> elements in hoverable tables.
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$table-border-color-var: '--table-border-color' !default;
|
||||
$table-border-separator-color-var: '--table-border-separator-color' !default;
|
||||
$table-th-back-color-var: '--table-head-back-color' !default;
|
||||
$table-th-fore-color-var: '--table-head-fore-color' !default;
|
||||
$table-td-back-color-var: '--table-body-back-color' !default;
|
||||
$table-td-fore-color-var: '--table-body-fore-color' !default;
|
||||
$table-td-alt-back-color-var: '--table-body-alt-back-color' !default;
|
||||
$table-td-hover-back-color-var: '--table-body-hover-back-color' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
/* Table module CSS variable definitions. */
|
||||
:root {
|
||||
#{$table-border-color-var}: $table-border-color;
|
||||
#{$table-border-separator-color-var}: $table-border-separator-color;
|
||||
#{$table-th-back-color-var}: $table-th-back-color;
|
||||
#{$table-th-fore-color-var}: $table-th-fore-color;
|
||||
#{$table-td-back-color-var}: $table-td-back-color;
|
||||
#{$table-td-fore-color-var}: $table-td-fore-color;
|
||||
#{$table-td-alt-back-color-var}: $table-td-alt-back-color;
|
||||
}
|
||||
// Desktop view (scrollable vertical tables).
|
||||
table {
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex: 0 1 auto;
|
||||
flex-flow: row wrap;
|
||||
padding: var(#{$universal-padding-var});
|
||||
padding-top: 0;
|
||||
@if not($_include-horizontal-table) {
|
||||
overflow: auto;
|
||||
max-height: $table-max-height;
|
||||
}
|
||||
caption {
|
||||
font-size: $table-caption-font-size;
|
||||
margin: calc(2 * var(#{$universal-margin-var})) 0;
|
||||
max-width: 100%;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
thead, tbody {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
border: $__1px solid var(#{$table-border-color-var});
|
||||
@if not($_include-horizontal-table) {
|
||||
max-width: 100%;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
}
|
||||
thead {
|
||||
z-index: 999; // Fixes the visibility of the element.
|
||||
border-radius: var(#{$universal-border-radius-var}) var(#{$universal-border-radius-var}) 0 0;
|
||||
border-bottom: $__1px solid var(#{$table-border-separator-color-var});
|
||||
@if not($_include-horizontal-table) {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
tbody {
|
||||
border-top: 0;
|
||||
margin-top: calc(0 - var(#{$universal-margin-var}));
|
||||
border-radius: 0 0 var(--universal-border-radius) var(--universal-border-radius);
|
||||
}
|
||||
tr {
|
||||
display: flex;
|
||||
padding: 0; // Apply always to overwrite default.
|
||||
@if not($_include-horizontal-table) {
|
||||
flex-flow: row wrap;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
}
|
||||
th, td {
|
||||
padding: calc(2 * var(#{$universal-padding-var})); // Apply always to overwrite default.
|
||||
@if not($_include-horizontal-table) {
|
||||
flex: 1 0 0%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
th {
|
||||
text-align: left;
|
||||
background: var(#{$table-th-back-color-var});
|
||||
color: var(#{$table-th-fore-color-var});
|
||||
}
|
||||
td {
|
||||
background: var(#{$table-td-back-color-var});
|
||||
color: var(#{$table-td-fore-color-var});
|
||||
border-top: $__1px solid var(#{$table-border-color-var});
|
||||
}
|
||||
@if not($_include-horizontal-table) {
|
||||
tbody tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Styling for horizontal tables
|
||||
@if $_include-horizontal-table {
|
||||
table:not(.#{$table-horizontal-name}) {
|
||||
overflow: auto;
|
||||
max-height: $table-max-height;
|
||||
thead, tbody {
|
||||
max-width: 100%;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
tr {
|
||||
flex-flow: row wrap;
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
th, td {
|
||||
flex: 1 0 0%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
thead {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
tbody tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
table.#{$table-horizontal-name} {
|
||||
border: 0;
|
||||
thead, tbody {
|
||||
border: 0;
|
||||
flex-flow: row nowrap;
|
||||
}
|
||||
tbody {
|
||||
overflow: auto;
|
||||
justify-content: space-between;
|
||||
flex: 1 0 0;
|
||||
margin-left: calc( 4 * var(#{$universal-margin-var}));
|
||||
padding-bottom: calc(var(#{$universal-padding-var}) / 4);
|
||||
}
|
||||
tr {
|
||||
flex-direction: column;
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
th, td {
|
||||
width: 100%;
|
||||
border: 0;
|
||||
border-bottom: $__1px solid var(#{$table-border-color-var});
|
||||
&:not(:first-child){
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
th {
|
||||
text-align: right;
|
||||
border-left: $__1px solid var(#{$table-border-color-var});
|
||||
border-right: $__1px solid var(#{$table-border-separator-color-var});
|
||||
}
|
||||
thead {
|
||||
tr:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
th:first-child, td:first-child {
|
||||
border-top: $__1px solid var(#{$table-border-color-var});
|
||||
}
|
||||
tbody tr:last-child td {
|
||||
border-right: $__1px solid var(#{$table-border-color-var});
|
||||
&:first-child{
|
||||
border-top-right-radius: 0.25rem;
|
||||
}
|
||||
&:last-child{
|
||||
border-bottom-right-radius: 0.25rem;
|
||||
}
|
||||
}
|
||||
thead tr:first-child th {
|
||||
&:first-child{
|
||||
border-top-left-radius: 0.25rem;
|
||||
}
|
||||
&:last-child{
|
||||
border-bottom-left-radius: 0.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Mobile
|
||||
@media screen and (max-width: #{$table-mobile-breakpoint - 1px}){
|
||||
@if $_include-horizontal-table {
|
||||
table, table.#{$table-horizontal-name} {
|
||||
border-collapse: collapse;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
display: table;
|
||||
// Accessibility (element is not visible, but screen readers read it normally)
|
||||
thead, th {
|
||||
border: 0;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
}
|
||||
tbody {
|
||||
border: 0;
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
display: block;
|
||||
border: $__1px solid var(#{$table-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
background: #fafafa; // use variables, this is a test (body)
|
||||
padding: var(#{$universal-padding-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
margin-bottom: calc(2 * var(#{$universal-margin-var}));
|
||||
}
|
||||
th, td {
|
||||
width: auto;
|
||||
}
|
||||
td {
|
||||
display: block;
|
||||
border: 0;
|
||||
text-align: right;
|
||||
}
|
||||
td:before {
|
||||
content: attr(#{$table-mobile-card-label});
|
||||
float: left;
|
||||
font-weight: $table-mobile-label-font-weight;
|
||||
}
|
||||
th:first-child, td:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
tbody tr:last-child td {
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@else {
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
display: table;
|
||||
// Accessibility (element is not visible, but screen readers read it normally)
|
||||
thead, th {
|
||||
border: 0;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
clip: rect(0 0 0 0);
|
||||
-webkit-clip-path: inset(100%);
|
||||
clip-path: inset(100%);
|
||||
}
|
||||
tbody {
|
||||
border: 0;
|
||||
display: table-row-group;
|
||||
}
|
||||
tr {
|
||||
display: block;
|
||||
border: $__1px solid var(#{$table-border-color-var});
|
||||
border-radius: var(#{$universal-border-radius-var});
|
||||
@if $universal-box-shadow != none {
|
||||
box-shadow: var(#{$universal-box-shadow-var});
|
||||
}
|
||||
background: #fafafa; // use variables, this is a test (body)
|
||||
padding: var(#{$universal-padding-var});
|
||||
margin: var(#{$universal-margin-var});
|
||||
margin-bottom: calc(2 * var(#{$universal-margin-var}));
|
||||
}
|
||||
td {
|
||||
display: block;
|
||||
border: 0;
|
||||
text-align: right;
|
||||
}
|
||||
td:before {
|
||||
content: attr(#{$table-mobile-card-label});
|
||||
float: left;
|
||||
font-weight: $table-mobile-label-font-weight;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Striped tables.
|
||||
@if $_include-striped-table {
|
||||
:root {
|
||||
#{$table-td-alt-back-color-var} : $table-td-alt-back-color;
|
||||
}
|
||||
table.#{$table-striped-name} {
|
||||
tr:nth-of-type(2n) > td {
|
||||
background: var(#{$table-td-alt-back-color-var});
|
||||
}
|
||||
}
|
||||
// Responsiveness for striped tables.
|
||||
@media screen and (max-width: #{$table-mobile-breakpoint}) {
|
||||
table.#{$table-striped-name} {
|
||||
tr:nth-of-type(2n) {
|
||||
background: var(#{$table-td-alt-back-color-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Hoverable tables.
|
||||
@if $_include-striped-table {
|
||||
:root {
|
||||
#{$table-td-hover-back-color-var} : $table-td-hover-back-color;
|
||||
}
|
||||
table.#{$table-hoverable-name} {
|
||||
tr {
|
||||
&:hover, &:focus {
|
||||
&, & > td {
|
||||
background: var(#{$table-td-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: #{$table-mobile-breakpoint}) {
|
||||
table.#{$table-hoverable-name} {
|
||||
tr {
|
||||
&:hover, &:focus {
|
||||
&, & > td {
|
||||
background: var(#{$table-td-hover-back-color-var});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
169
docs/mini/_utility.scss
Normal file
|
@ -0,0 +1,169 @@
|
|||
/*
|
||||
Definitions for utilities and helper classes.
|
||||
*/
|
||||
$hidden-name: 'hidden' !default; // Class name for hidden elements.
|
||||
$visually-hidden-name: 'visually-hidden' !default; // Class name for visually hidden elements.
|
||||
$border-generic-name: 'bordered' !default; // Class name for bordered elements.
|
||||
$border-generic-color: rgba(0,0,0, 0.3) !default; // Border color for bordered elements.
|
||||
$border-rounded-name: 'rounded' !default; // Class name for rounded-border elements.
|
||||
$border-circular-name: 'circular' !default; // Class name for circular-border elements.
|
||||
$box-shadow-generic-name:'shadowed' !default; // Class name for box-shadow elements.
|
||||
$box-shadow-generic: 0 4*$__1px 4*$__1px 0 rgba(0, 0, 0, 0.125), 0 2*$__1px 2*$__1px -2*$__1px rgba(0, 0, 0, 0.25) !default;
|
||||
$responsive-margin-name: 'responsive-margin' !default; //Class name for responsive margin elements.
|
||||
$responsive-margin-medium-breakpoint: 768px !default; // Medium screen breakpoint for responsive margin elements.
|
||||
$responsive-margin-large-breakpoint: 1280px !default; // Medium screen breakpoint for responsive margin elements.
|
||||
$responsive-padding-name: 'responsive-padding' !default; //Class name for responsive padding elements.
|
||||
$responsive-padding-medium-breakpoint: 768px !default; // Medium screen breakpoint for responsive padding elements.
|
||||
$responsive-padding-large-breakpoint: 1280px !default; // Medium screen breakpoint for responsive padding elements.
|
||||
$hidden-prefix: 'hidden' !default; // Class prefix for responsive hidden elements.
|
||||
$hidden-small-suffix: 'sm' !default; // Class suffix for responsive hidden elements.
|
||||
$hidden-medium-breakpoint: 768px !default; // Medium screen breakpoint for responsive hidden elements.
|
||||
$hidden-medium-suffix: 'md' !default; // Class suffix for responsive hidden elements.
|
||||
$hidden-large-breakpoint: 1280px !default; // Medium screen breakpoint for responsive hidden elements.
|
||||
$hidden-large-suffix: 'lg' !default; // Class suffix for responsive hidden elements.
|
||||
$visually-hidden-prefix: 'visually-hidden' !default; // Class prefix for responsive visually hidden elements.
|
||||
$visually-hidden-small-suffix: 'sm' !default; // Class suffix for responsive hidden elements.
|
||||
$visually-hidden-medium-breakpoint: 768px !default; // Medium screen breakpoint for responsive visually hidden elements.
|
||||
$visually-hidden-medium-suffix: 'md' !default; // Class suffix for responsive hidden elements.
|
||||
$visually-hidden-large-breakpoint: 1280px !default; // Medium screen breakpoint for responsive visually hidden elements.
|
||||
$visually-hidden-large-suffix: 'lg' !default; // Class suffix for responsive hidden elements.
|
||||
// CSS variable name definitions [exercise caution if modifying these]
|
||||
$border-generic-color-var: '--generic-border-color' !default;
|
||||
$box-shadow-generic-var: '--generic-box-shadow' !default;
|
||||
// == Uncomment below code if this module is used on its own ==
|
||||
//
|
||||
// $universal-margin: 0.5rem !default; // Universal margin for the most elements
|
||||
// $universal-padding: 0.5rem !default; // Universal padding for the most elements
|
||||
// $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements
|
||||
// $universal-box-shadow: none !default; // Universal box-shadow for most elements
|
||||
// $universal-margin-var: '--universal-margin' !default;
|
||||
// $universal-padding-var: '--universal-padding' !default;
|
||||
// $universal-border-radius-var: '--universal-border-radius' !default;
|
||||
// $universal-box-shadow-var: '--universal-box-shadow' !default;
|
||||
// :root {
|
||||
// #{$universal-margin-var}: $universal-margin;
|
||||
// #{$universal-padding-var}: $universal-padding;
|
||||
// #{$universal-border-radius-var}: $universal-border-radius;
|
||||
// @if $universal-box-shadow != none {
|
||||
// #{$universal-box-shadow-var}: $universal-box-shadow;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ============================================================
|
||||
/* Utility module CSS variable definitions */
|
||||
:root {
|
||||
#{$border-generic-color-var}: $border-generic-color;
|
||||
#{$box-shadow-generic-var}: $box-shadow-generic;
|
||||
}
|
||||
// Hidden elements class. NOTE: Uses !important.
|
||||
.#{$hidden-name}{
|
||||
display: none !important;
|
||||
}
|
||||
// Visually hidden elements class. NOTE: Uses !important.
|
||||
.#{$visually-hidden-name} {
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(100%) !important;
|
||||
clip-path: inset(100%) !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
// Generic bordered element class. NOTE: Uses !important.
|
||||
.#{$border-generic-name} {
|
||||
border: $__1px solid var(#{$border-generic-color-var}) !important;
|
||||
}
|
||||
// Generic rounded-border element class. NOTE: Uses !important.
|
||||
.#{$border-rounded-name} {
|
||||
border-radius: var(#{$universal-border-radius-var}) !important;
|
||||
}
|
||||
// Generic circular-border element class. NOTE: Uses !important.
|
||||
.#{$border-circular-name} {
|
||||
border-radius: 50% !important;
|
||||
}
|
||||
// Generic box-shadow element class. NOTE: Uses !important.
|
||||
.#{$box-shadow-generic-name} {
|
||||
box-shadow: var(#{$box-shadow-generic-var}) !important;
|
||||
}
|
||||
// Responsive margin class. NOTE: Uses !important.
|
||||
.#{$responsive-margin-name} {
|
||||
margin: calc(var(#{$universal-margin-var}) / 4) !important;
|
||||
@media screen and (min-width: #{$responsive-margin-medium-breakpoint}) {
|
||||
margin: calc(var(#{$universal-margin-var}) / 2) !important;
|
||||
}
|
||||
@media screen and (min-width: #{$responsive-margin-large-breakpoint}) {
|
||||
margin: var(#{$universal-margin-var}) !important;
|
||||
}
|
||||
}
|
||||
// Responsive padding class. NOTE: Uses !important.
|
||||
.#{$responsive-padding-name} {
|
||||
padding: calc(var(#{$universal-padding-var}) / 4) !important;
|
||||
@media screen and (min-width: #{$responsive-padding-medium-breakpoint}) {
|
||||
padding: calc(var(#{$universal-padding-var}) / 2) !important;
|
||||
}
|
||||
@media screen and (min-width: #{$responsive-padding-large-breakpoint}) {
|
||||
padding: var(#{$universal-padding-var}) !important;
|
||||
}
|
||||
}
|
||||
// Responsive hidden element class. NOTE: Uses !important.
|
||||
@media screen and (max-width: $hidden-medium-breakpoint - 1px) {
|
||||
.#{$hidden-prefix}-#{$hidden-small-suffix} {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: #{$hidden-medium-breakpoint}) and (max-width: $hidden-large-breakpoint - 1px) {
|
||||
.#{$hidden-prefix}-#{$hidden-medium-suffix} {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: #{$hidden-large-breakpoint}) {
|
||||
.#{$hidden-prefix}-#{$hidden-large-suffix} {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
// Responsive visually hidden element class. NOTE: Uses !important.
|
||||
@media screen and (max-width: $visually-hidden-medium-breakpoint - 1px) {
|
||||
.#{$visually-hidden-prefix}-#{$visually-hidden-small-suffix} {
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(100%) !important;
|
||||
clip-path: inset(100%) !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: #{$visually-hidden-medium-breakpoint}) and (max-width: $visually-hidden-large-breakpoint - 1px) {
|
||||
.#{$visually-hidden-prefix}-#{$visually-hidden-medium-suffix} {
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(100%) !important;
|
||||
clip-path: inset(100%) !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: #{$visually-hidden-large-breakpoint}) {
|
||||
.#{$visually-hidden-prefix}-#{$visually-hidden-large-suffix} {
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(100%) !important;
|
||||
clip-path: inset(100%) !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 925 B After Width: | Height: | Size: 926 B |
202
docs/sass.js
Normal file
|
@ -0,0 +1,202 @@
|
|||
/*! sass.js - v0.10.9 (3e41106) - built 2018-02-06
|
||||
providing libsass 3.4.9 (6de5050d)
|
||||
via emscripten 1.37.33 ()
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
'use strict';
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define([], factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.Sass = factory();
|
||||
}
|
||||
}(this, function () {/*global document*/
|
||||
// identify the path sass.js is located at in case we're loaded by a simple
|
||||
// <script src="path/to/sass.js"></script>
|
||||
// this path can be used to identify the location of
|
||||
// * sass.worker.js from sass.js
|
||||
// * libsass.js.mem from sass.sync.js
|
||||
// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214
|
||||
// see https://github.com/medialize/sass.js/issues/33
|
||||
var SASSJS_RELATIVE_PATH = (function() {
|
||||
'use strict';
|
||||
|
||||
// in Node things are rather simple
|
||||
if (typeof __dirname !== 'undefined') {
|
||||
return __dirname;
|
||||
}
|
||||
|
||||
// we can only run this test in the browser,
|
||||
// so make sure we actually have a DOM to work with.
|
||||
if (typeof document === 'undefined' || !document.getElementsByTagName) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// http://www.2ality.com/2014/05/current-script.html
|
||||
var currentScript = document.currentScript || (function() {
|
||||
var scripts = document.getElementsByTagName('script');
|
||||
return scripts[scripts.length - 1];
|
||||
})();
|
||||
|
||||
var path = currentScript && currentScript.src;
|
||||
if (!path) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// [worker] make sure we're not running in some concatenated thing
|
||||
if (path.slice(-8) === '/sass.js') {
|
||||
return path.slice(0, -8);
|
||||
}
|
||||
|
||||
// [sync] make sure we're not running in some concatenated thing
|
||||
if (path.slice(-13) === '/sass.sync.js') {
|
||||
return path.slice(0, -13);
|
||||
}
|
||||
|
||||
return null;
|
||||
})() || '.';
|
||||
|
||||
/*global Worker, SASSJS_RELATIVE_PATH*/
|
||||
'use strict';
|
||||
|
||||
var noop = function(){};
|
||||
var slice = [].slice;
|
||||
// defined upon first Sass.initialize() call
|
||||
var globalWorkerUrl;
|
||||
|
||||
function Sass(workerUrl) {
|
||||
if (!workerUrl && !globalWorkerUrl) {
|
||||
/*jshint laxbreak:true */
|
||||
throw new Error(
|
||||
'Sass needs to be initialized with the URL of sass.worker.js - '
|
||||
+ 'either via Sass.setWorkerUrl(url) or by new Sass(url)'
|
||||
);
|
||||
/*jshint laxbreak:false */
|
||||
}
|
||||
|
||||
if (!globalWorkerUrl) {
|
||||
globalWorkerUrl = workerUrl;
|
||||
}
|
||||
|
||||
// bind all functions
|
||||
// we're doing this because we used to have a single hard-wired instance that allowed
|
||||
// [].map(Sass.removeFile) and we need to maintain that for now (at least until 1.0.0)
|
||||
for (var key in this) {
|
||||
if (typeof this[key] === 'function') {
|
||||
this[key] = this[key].bind(this);
|
||||
}
|
||||
}
|
||||
|
||||
this._callbacks = {};
|
||||
this._worker = new Worker(workerUrl || globalWorkerUrl);
|
||||
this._worker.addEventListener('message', this._handleWorkerMessage, false);
|
||||
}
|
||||
|
||||
// allow setting the workerUrl before the first Sass instance is initialized,
|
||||
// where registering the global workerUrl would've happened automatically
|
||||
Sass.setWorkerUrl = function(workerUrl) {
|
||||
globalWorkerUrl = workerUrl;
|
||||
};
|
||||
|
||||
Sass.style = {
|
||||
nested: 0,
|
||||
expanded: 1,
|
||||
compact: 2,
|
||||
compressed: 3
|
||||
};
|
||||
|
||||
Sass.comments = {
|
||||
'none': 0,
|
||||
'default': 1
|
||||
};
|
||||
|
||||
Sass.prototype = {
|
||||
style: Sass.style,
|
||||
comments: Sass.comments,
|
||||
|
||||
destroy: function() {
|
||||
this._worker && this._worker.terminate();
|
||||
this._worker = null;
|
||||
this._callbacks = {};
|
||||
this._importer = null;
|
||||
},
|
||||
|
||||
_handleWorkerMessage: function(event) {
|
||||
if (event.data.command) {
|
||||
this[event.data.command](event.data.args);
|
||||
}
|
||||
|
||||
this._callbacks[event.data.id] && this._callbacks[event.data.id](event.data.result);
|
||||
delete this._callbacks[event.data.id];
|
||||
},
|
||||
|
||||
_dispatch: function(options, callback) {
|
||||
if (!this._worker) {
|
||||
throw new Error('Sass worker has been terminated');
|
||||
}
|
||||
|
||||
options.id = 'cb' + Date.now() + Math.random();
|
||||
this._callbacks[options.id] = callback;
|
||||
this._worker.postMessage(options);
|
||||
},
|
||||
|
||||
_importerInit: function(args) {
|
||||
// importer API done callback pushing results
|
||||
// back to the worker
|
||||
var done = function done(result) {
|
||||
this._worker.postMessage({
|
||||
command: '_importerFinish',
|
||||
args: [result]
|
||||
});
|
||||
}.bind(this);
|
||||
|
||||
try {
|
||||
this._importer(args[0], done);
|
||||
} catch(e) {
|
||||
done({ error: e.message });
|
||||
throw e;
|
||||
}
|
||||
},
|
||||
|
||||
importer: function(importerCallback, callback) {
|
||||
if (typeof importerCallback !== 'function' && importerCallback !== null) {
|
||||
throw new Error('importer callback must either be a function or null');
|
||||
}
|
||||
|
||||
// callback is executed in the main EventLoop
|
||||
this._importer = importerCallback;
|
||||
// tell worker to activate importer callback
|
||||
this._worker.postMessage({
|
||||
command: 'importer',
|
||||
args: [Boolean(importerCallback)]
|
||||
});
|
||||
|
||||
callback && callback();
|
||||
},
|
||||
};
|
||||
|
||||
var commands = 'writeFile readFile listFiles removeFile clearFiles lazyFiles preloadFiles options compile compileFile';
|
||||
commands.split(' ').forEach(function(command) {
|
||||
Sass.prototype[command] = function() {
|
||||
var callback = slice.call(arguments, -1)[0];
|
||||
var args = slice.call(arguments, 0, -1);
|
||||
if (typeof callback !== 'function') {
|
||||
args.push(callback);
|
||||
callback = noop;
|
||||
}
|
||||
|
||||
this._dispatch({
|
||||
command: command,
|
||||
args: args
|
||||
}, callback);
|
||||
};
|
||||
});
|
||||
|
||||
// automatically set the workerUrl in case we're loaded by a simple
|
||||
// <script src="path/to/sass.js"></script>
|
||||
// see https://github.com/medialize/sass.js/pull/32#issuecomment-103142214
|
||||
Sass.setWorkerUrl(SASSJS_RELATIVE_PATH + '/sass.worker.js');
|
||||
return Sass;
|
||||
}));
|
839
docs/sass.worker.js
Normal file
0
docs/v3/style.min.css → docs/style.min.css
vendored
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
@ -141,7 +141,7 @@
|
|||
- Created `mini-core/grid` for flexbox grid system.
|
||||
- Opened relevant breaking changes issue (#16).
|
||||
- Opened issue for `progress` element's transitions on value change.
|
||||
- Started project for feature backlog on GitHub.
|
||||
- Started project for feature backlog on Github.
|
||||
- Created basis for grid system container (fluid only) - `grid`.
|
||||
- Read a lot of the spec, decided on browser support, coded the `row` basis for the grid system.
|
||||
- Updated breaking changes issue with more information.
|
||||
|
@ -185,7 +185,7 @@
|
|||
|
||||
## 20161025
|
||||
|
||||
- Issue maintenance and minor changes to issue structure on GitHub.
|
||||
- Issue maintenance and minor changes to issue structure on Github.
|
||||
- Due to implicit labeling (e.g. `<label>Name:<input></label>`) not being correctly handled by some assistive technologies, explicit labels will be used for the `file` `<input>` elements.
|
||||
- Added `$hide-file-inputs` flag to decide the styling of `file` `<input>` elements.
|
||||
- Softcoded changes and optimized some things in the `button` module.
|
||||
|
@ -364,7 +364,7 @@
|
|||
- New module restructure: all modules will be moved to core, some merges might have to be applied (check issue #14). Restructure was applied as follows:
|
||||
- Added the functionality of the new `alert` module to `contextual`. Includes mixin `make-alert-alt-color` for different `alert` color variants.
|
||||
- Restructured folders. `mini-shell` removed, `mini-core` renamed to `mini`. `mini` is the core folder now.
|
||||
- Created branch `v1-neutrino` both locally and on GitHub to support legacy versions in the future. `master` is now the branch for **Fermion** only.
|
||||
- Created branch `v1-neutrino` both locally and on Github to support legacy versions in the future. `master` is now the branch for **Fermion** only.
|
||||
- Aggressive deletion of older files. The following folder are now gone: `scss/mini`, `scss/mini-extra`, `flavors` except for the contents of the `v2` folder and the folder itself.
|
||||
- Renamed `mini.scss` to `core.scss`, moved to the `scss/v2/mini` directory.
|
||||
- Deleted `accordion` module file as it was obsolete.
|
||||
|
@ -1264,7 +1264,7 @@
|
|||
- Merged two PRs resolving two issues that have been reported.
|
||||
- Added a lot of code in `input_control` module, some exotic functions included. Also added `$select-padding-right` to help solve an issue and update changes.
|
||||
- Used `svg` tricks to resolve the `select` issue, file size is now `6.90KB` gzipped, which is just below the maximum limit of the framework.
|
||||
- Updated flavor files and source code to use spaces instead of tabs. Should now look better on GitHub.
|
||||
- Updated flavor files and source code to use spaces instead of tabs. Should now look better on Github.
|
||||
- Released update to deal with bugs.
|
||||
|
||||
# v2.3.2 Development Log
|
||||
|
@ -1293,37 +1293,3 @@
|
|||
- Updated all flavors to the latest version.
|
||||
- Removed Scrimba screencast from `index.html`, now it's only in its respective module. Should make loading somewhat faster.
|
||||
- Released update.
|
||||
|
||||
# v2.3.5 Development Log
|
||||
|
||||
## 20171015
|
||||
|
||||
- Merged PR #102 to fix #101.
|
||||
- Updated `table` to properly fix #101 and allow for customization.
|
||||
- Rebuilt flavors to latest version.
|
||||
- Updated docs.
|
||||
- Released patch.
|
||||
|
||||
## 20171018
|
||||
|
||||
- Fixed a typo in the `flavors` doc page.
|
||||
|
||||
# v2.3.6 Development Log
|
||||
|
||||
## 20171019
|
||||
|
||||
- Fixed a documentation problem with `.modal`s. (#104)
|
||||
- Rebuilt flavors to latest version.
|
||||
- Updated docs.
|
||||
- Released patch.
|
||||
|
||||
# v2.3.7 Development Log
|
||||
|
||||
## 20171023
|
||||
|
||||
- Fixed the bugs found due to #108. `select` elements should now be pretty decently stylized and work across all browsers and environments.
|
||||
- Fixed the bugs found due to #107. Custom checkboxes and radio buttons should now behave as expected. Also, updated the customization docs to reflect said changes.
|
||||
- Size has increased to a total of `6.9KB`, should look into optimizing to trim off some bytes.
|
||||
- Rebuilt flavors to latest version.
|
||||
- Updated docs.
|
||||
- Released patch.
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> GitHub</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
|
@ -384,6 +384,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">GitHub</a>.</footer>
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -36,7 +36,7 @@
|
|||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> GitHub</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
|
@ -272,8 +272,8 @@
|
|||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><label for="modal-toggle">Show modal</label>
|
||||
<input id="modal-toggle" type="checkbox"/>
|
||||
<pre><input id="modal-toggle" type="checkbox"/>
|
||||
<label for="modal-toggle">Show modal</label>
|
||||
<div class="modal" role="dialog" aria-labelledby="dialogTitle">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
|
@ -304,6 +304,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align:justify"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">GitHub</a>.</footer>
|
||||
<footer style="text-align:justify"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|
309
docs/v2/contextual.html~HEAD
Normal file
|
@ -0,0 +1,309 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="mini-default.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<title>mini.css - Contextual</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, module, contextual ">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
<style>
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/erE3KsIWUumgD1j_Ca-V-xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; }
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/LeFlHvsZjXu2c3ZRgBq9nFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
#header-logo { background: -webkit-linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); background: linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); line-height:1; font-size: 39px; width: 48px; height: 48px; padding: 8px; margin-left: -9px; }
|
||||
.box-centered { text-align: center; } .box-colored { background: #0277bd; border-radius: 2px; padding: 14px; margin-bottom: 8px; min-height: 14px;} .box-colored.red { background: #e53935; }
|
||||
.box-centered > .card.fluid {-webkit-box-pack: start; -webkit-box-align: start; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-self: auto; align-self: auto; } [class^='col-'] .card.fluid { margin: 2px 0 20px; }
|
||||
[class^='fore-'] { font-family: monospace, monospace;} .fore-primary { color: #0d47a1;} .fore-secondary { color: #b71c1c;} .fore-tertiary { color: #1b5e20;}
|
||||
.col-sm-12.col-sm-last.col-md-4.col-md-normal { box-sizing: border-box; border-right: 1px solid #c9c9c9; }
|
||||
@media (max-width: 767px){ .col-sm-12.col-sm-last.col-md-4.col-md-normal { border: 0; border-top: 1px solid #c9c9c9;}}
|
||||
.col-sm-12.col-sm-last.col-md-12.col-md-normal { box-sizing: border-box; border-bottom: 1px solid #c9c9c9; }
|
||||
@media (max-width: 767px){ .col-sm-12.col-sm-last.col-md-12.col-md-normal { border: 0; border-top: 1px solid #c9c9c9;}}
|
||||
.box-colored.green { background: #689f38; } .do {border-top: 15px solid #689f38;padding-top: 10px;} .dont {border-top: 15px solid #e53935;padding-top: 10px;}
|
||||
.box-colored {color: #f5f5f5;} @media (max-width: 767px){.container {padding: 0.25rem !important;}.col-sm-12.col-md-8.col-lg-10{padding: 0 !important;}}
|
||||
.toast.demo { position: relative; top: 2rem; left: calc(50% - 6rem); z-index: 1;} .toast.demo.small { top: 4.5rem; left: calc(50% - 6.75rem);} .toast.demo.large { top: 7.5rem; left: calc(50% - 8rem);}
|
||||
@media screen and (min-width: 768px) { .drawer { margin-top: 4px;}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="sticky">
|
||||
<a href="index" class="logo"><span id="header-logo">m</span></a>
|
||||
<label class="drawer-toggle button" for="navigation-toggle"></label>
|
||||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
<label class="close" for="navigation-toggle"></label>
|
||||
<a href="index"><h4 style="margin-left: 0;">Introduction</h4></a>
|
||||
<h4 style="margin-left: 0;">Modules</h4> <a href="core#core-title">Core</a>
|
||||
<a href="core#typography" class="sublink-1">Typography</a> <a href="core#headings" class="sublink-1">Headings</a>
|
||||
<a href="core#common-textual-elements" class="sublink-1">Common textual elements</a>
|
||||
<a href="core#lists" class="sublink-1">Lists</a> <a href="core#images-captions" class="sublink-1">Image responsiveness & captions</a>
|
||||
<br/> <a href="grid#grid-title">Grid</a>
|
||||
<a href="grid#basic-layout" class="sublink-1">Basic layout</a> <a href="grid#screen-specific-layout" class="sublink-1">Screen specific layouts</a>
|
||||
<a href="grid#predefined-layout" class="sublink-1">Predefined layouts</a> <a href="grid#column-offset" class="sublink-1">Column offsets</a>
|
||||
<a href="grid#column-reorder" class="sublink-1">Column reordering</a> <a href="grid#media-object" class="sublink-1">Media object pattern</a>
|
||||
<br/> <a href="input_control#input-control-title">Input Control</a>
|
||||
<a href="input_control#forms-input" class="sublink-1">Forms & input</a> <a href="input_control#checkbox-radio" class="sublink-1">Checkboxes & radio buttons</a> <a href="input_control#switches" class="sublink-1">Switches</a>
|
||||
<a href="input_control#buttons" class="sublink-1">Buttons & button groups</a> <a href="input_control#file-upload" class="sublink-1">File upload buttons</a>
|
||||
<br/> <a href="navigation#navigation-title">Navigation</a>
|
||||
<a href="navigation#header" class="sublink-1">Header</a> <a href="navigation#navigation-bar" class="sublink-1">Navigation bar</a> <a href="navigation#drawer" class="sublink-1">Drawer</a>
|
||||
<a href="navigation#footer" class="sublink-1">Footer</a> <a href="navigation#sticky" class="sublink-1">Sticky headers & footers</a>
|
||||
<br/> <a href="table#table-title">Table</a>
|
||||
<a href="table#syntax-responsiveness" class="sublink-1">Basic syntax & responsiveness</a> <a href="table#scrollable-tables" class="sublink-1">Scrollable tables</a>
|
||||
<a href="table#horizontal-tables" class="sublink-1">Horizontal tables</a> <a href="table#variants-matrices" class="sublink-1">Table variants & matrices</a>
|
||||
<br/> <a href="card#card-title">Card</a>
|
||||
<a href="card#basic-syntax" class="sublink-1">Basic syntax</a> <a href="card#sections-media" class="sublink-1">Sections & media</a>
|
||||
<a href="card#sizing-fluidity" class="sublink-1">Card sizing & fluidity</a> <a href="card#color-variants" class="sublink-1">Card color variants</a>
|
||||
<br/> <a href="tab#tab-title">Tab</a>
|
||||
<a href="tab#basic-syntax" class="sublink-1">Basic syntax</a> <a href="tab#stacked-tabs" class="sublink-1">Stacked tabs</a>
|
||||
<br/> <a href="contextual#contextual-title">Contextual</a>
|
||||
<a href="contextual#text-highlighting" class="sublink-1">Text highlighting</a> <a href="contextual#toasts" class="sublink-1">Toasts</a>
|
||||
<a href="contextual#tooltips" class="sublink-1">Tooltips</a> <a href="contextual#modals" class="sublink-1">Modals</a>
|
||||
<br/> <a href="progress#progress-title">Progress</a>
|
||||
<a href="progress#basic-progress-bar" class="sublink-1">Basic progress bar</a> <a href="progress#progress-variants" class="sublink-1">Progress bar variants</a>
|
||||
<a href="progress#donut-spinner" class="sublink-1">Donut spinner</a> <a href="progress#spinner-variants" class="sublink-1">Donut spinner variants</a>
|
||||
<br/> <a href="utility#utility-title">Utility</a>
|
||||
<a href="utility#visibility-helpers" class="sublink-1">Visibility helpers</a> <a href="utility#borders-shadows" class="sublink-1">Generic borders & shadows</a>
|
||||
<a href="utility#responsive-sizing" class="sublink-1">Responsive sizing & spacing classes</a>
|
||||
<a href="utility#responsive-visibility" class="sublink-1">Responsive visibility helpers</a> <a href="utility#breadcrumbs" class="sublink-1">Breadcrumbs</a>
|
||||
<a href="utility#close-icon" class="sublink-1">Close icon</a>
|
||||
<a href="flavors"><h4 style="margin-left: 0;">Flavors</h4></a>
|
||||
<a href="templates"><h4 style="margin-left: 0;">Templates</h4></a>
|
||||
<a href="customization"><h4 style="margin-left: 0;">Customization</h4></a>
|
||||
<a href="quick_reference"><h4 style="margin-left: 0;">Quick Reference</h4></a>
|
||||
</nav>
|
||||
<div class="col-sm-12 col-md-8 col-lg-10"><main>
|
||||
<div class="row" style="padding-top: 40px;" id="contextual-title">
|
||||
<div class="col-sm-12">
|
||||
<h1>Contextual</h1>
|
||||
<p style="text-align:justify">The <strong>contextual</strong> module provides you with simple tags, marks and highlights for your pages, allowing you to easily emphasize parts of your text. Contextual toasts, tooltips and modals are also provided, aiming to help deliver important information to users. HTML5 elements and simple rules are used in order to make important messages and pieces of content stand out easily.</p>
|
||||
<p style="text-align:justify"><small>All examples showcased refer to the mini-default flavor, some class names and styles might differ based on the flavor you're using.</small></p><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Quick overview</h2>
|
||||
<p style="text-align:justify">Almost every website present on the web has some sort of content that needs highlighting in one way or another. The <strong>contextual</strong> module provides you with simple semantic text highlighting that utilises the <code><mark></code> HTML element. Apart from that, this module contains styles and definitions for a simple <code>.toast</code> container, that you can use to display toast messages on your websites and web apps. Toasts mimic the native application notifications of certain devices, making them mobile friendly. Finally, a simple accessible <code>.tooltip</code> implementation is included along with an implementation for <code>.modal</code> dialogs. All components in this module are fully accessible, so that's another thing not to worry about.</p><br>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>Quick start</h2>
|
||||
<p style="text-align:justify">To use the <strong>contextual</strong> module, simply include the link to the flavor you are using and start writing your HTML page as usual. One suggestion we will make is to add the following line inside your HTML page's <code><head></code> to utilize the viewport meta tag:</p>
|
||||
<pre><<span class="fore-tertiary">meta</span> <span class="fore-secondary">name</span>=<span class="fore-primary">"viewport"</span> <span class="fore-secondary">content</span>=<span class="fore-primary">"width=device-width, initial-scale=1"</span>></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="text-highlighting">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Text highlighting</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div>
|
||||
<p>This is some text with a <mark>highlight</mark>.</p>
|
||||
<p>Apart from the primary highlight style, there are also <mark class="secondary">secondary</mark> and <mark class="tertiary">tertiary</mark> styles for highlighting.</p><br>
|
||||
<p><mark class="inline-block">If you want to highlight a longer piece of text, without line breaks, you can turn the highlight into an inline-block like you see this piece of text being displayed.</mark></p><br>
|
||||
<p>Finally, you can create contextual tags like <mark class="tag">this</mark> or <mark class="tag">7</mark>.</p><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align:justify">To add simple highlights in your text, you can use the <code><mark></code> HTML element. These highlights come pre-styled to use the default primary color, but if you would rather use another color for your highlight you can easily add the <code>.secondary</code> or <code>.tertiary</code> class to a <code><mark></code> element. For longer pieces of text that need highlighting, consider adding the <code>.inline-block</code> class to make them stand out even more. Finally, you can create contextual tags, using the <code>.tag</code> class.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><mark>primary</mark>
|
||||
<mark class="secondary">secondary</mark>
|
||||
<mark class="tertiary">tertiary</mark>
|
||||
<mark class="inline-block">long highlight text...</mark>
|
||||
<mark class="tag">tag</mark></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align:justify">
|
||||
<li>Try to use elements with the <code>.inline-block</code> class only when absolutely necessary, as they break the normal text flow of the document. Avoid using this class on shorter pieces of text that span a few words and contain no line breaks.</li>
|
||||
<li><code><mark></code> elements, along with their supporting classes (except for <code>.inline-block</code>) can be easily used in paragraphs, headings and other elements, as they scale according to their parent element.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><mark class="tag tertiary">green tag</mark>
|
||||
<span class="fore-tertiary"><!-- or --></span>
|
||||
<mark class="inline-block secondary">red chunk</mark></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can combine any of the contextual color classes (<code>.secondary</code> or <code>.tertiary</code>) with the <code>.tag</code> or <code>.inline-block</code> class.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><mark class="secondary tertiary">no, no</mark>
|
||||
<span class="fore-secondary"><!-- or --></span>
|
||||
<mark class="inline-block tag">oh, no</mark></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid combining two contextual color classes or a <code>.tag</code> and an <code>.inline-block</code>, as these combinations might result in unexpected behavior.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><mark class="inline-block">some
|
||||
<mark class="secondary">text</mark>
|
||||
</mark></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can only nest a <code><mark></code> inside another if the outer one is of the <code>.inline-block</code> class. You can color the inner <code><mark></code> using any of the contextual color classes or even make it a <code>.tag</code>. Be careful, however, to not make the inner <code><mark></code> an <code>.inline-block</code> as well.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><mark>some
|
||||
<mark class="secondary">text</mark>
|
||||
</mark></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid using nested <code><mark></code> elements, unless the outer <code><mark></code> element is an <code>.inline-block</code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="toasts">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Toasts</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-12 col-md-normal">
|
||||
<div style="height: 15rem;">
|
||||
<span class="toast demo">I'm a toast message!</span><br/>
|
||||
<span class="toast small demo">I'm a small toast message!</span><br/>
|
||||
<span class="toast large demo">I'm a large toast message!</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-12 col-md-normal">
|
||||
<p style="text-align:justify">Toasts aim to help bridge the gap between web and native applications on mobile devices, by displaying native-looking toast messages. To create a toast, wrap some text inside a <code><span></code> element with the <code>.toast</code> class. Toasts appear at the bottom of the screen on top of everything else. If you want to create smaller or larger toast messasges, you can add the <code>.small</code> or <code>.large</code> classes respectively.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><span class="toast">This is a normal toast message!</span>
|
||||
<span class="toast small">This is a large toast message!</span>
|
||||
<span class="toast large">This is a small toast message!</span></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul>
|
||||
<li>Toast elements do not have any pre-defined behavior. You should use your own Javascript code and interactive HTML elements to deal with showing and hiding them as necessary.</li>
|
||||
<li>If you want to create your own color or size variants for toast messages, check out the <a href="customization">customization</a> page.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<pre><span class="toast small large">Not a good toast</span></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid combining two toast size variants, as this might cause unexpected behavior.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="tooltips">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Tooltips</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div>
|
||||
<br /><p class="tooltip" aria-label="This is a tooltip">Hover over this text to see a tooltip!</p><br />
|
||||
<p class="tooltip bottom" aria-label="This is a tooltip">Hover over this text to see a reverse tooltip!</p><br />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align:justify">Tooltips can be used to convey context-sensitive information when the user hovers over some text. To create a tooltip, simply wrap the text you want users to hover over in an element with the <code>.tooltip</code> class (our choice is usually a <code><span></code> element, but your needs may differ) and add an <code><span class="fore-secondary">aria-label</span></code> in that element, setting its value to the content of your tooltip. Tooltips display at the top of the hovered text by default, so if you want to show them below the text, add the <code>.bottom</code> class to them.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><span class="tooltip" aria-label="This is a tooltip">Hover over this text to see a tooltip!</span>
|
||||
<span class="tooltip bottom" aria-label="This is a tooltip">Hover over this text to see a reverse tooltip!</span></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align:justify">
|
||||
<li>Tooltips are built to be accessible and should display properly on screenreaders.</li>
|
||||
<li>If you are not satisfied with the default tooltip colors, please check out the <a href="customization">customization page</a> for instuctions on how to create your own tooltip variants.</li>
|
||||
<li>Remember to always add the <code><span class="fore-secondary">aria-label</span></code> attribute, otherwise your tooltip will not have any text to show.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="modals">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Modals</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div style="text-align:center"><br/>
|
||||
<label class="button primary large" for="modal-check">Click to display a modal dialog</label><br/><br/>
|
||||
<input id="modal-check" type="checkbox"/>
|
||||
<div class="modal" style="text-align:initial">
|
||||
<div class="card">
|
||||
<label for="modal-check" class="close"></label>
|
||||
<h3 class="section double-padded">Modal</h3>
|
||||
<div class="section double-padded">
|
||||
<p>This is a modal window!</p>
|
||||
<label class="button primary" for="modal-check">Close modal</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">Modal dialogs are pretty ease to make. Simply create an <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> element, immediately followed by a <code><div></code> element with the <code>.modal</code> class. Inside this element, you can add a <code>.card</code> element with your modal dialog's contents. Remember to add a <code><label></code> element linked to your modal dialog's <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> to let users close the dialog. You can also apply the <code>.close</code> class to a <code><label></code> element to display a close icon at the top right of the modal dialog.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><label for="modal-toggle">Show modal</label>
|
||||
|
||||
<input id="modal-toggle" type="checkbox"/>
|
||||
<div class="modal">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section">Modal</h3>
|
||||
<p class="section">This is a modal window!</p>
|
||||
</div>
|
||||
</div></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align: justify;">
|
||||
<li>You can use any styles you want from the <strong><a href="card">card</a></strong> module to create different dialogs based on context (e.g. alerts, warnings etc.).</li>
|
||||
<li>Remember to add a <code><label></code> linked to your modal dialog's <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> or use Javascript to alter its state, otherwise users will not be able to close the dialog.</li>
|
||||
<li>You can place your modal dialog anywhere on your page, as long as the structure is not altered. You can also toggle it from anywhere on a page.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><input id="modal-toggle" type="checkbox"/>
|
||||
<label for="modal-toggle">Show modal</label>
|
||||
<div class="modal" role="dialog" aria-labelledby="dialogTitle">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section" id="dialogTitle">Bad Modal</h3>
|
||||
</div>
|
||||
</div></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can use the <code><span class="fore-secondary">role</span>=<span class="fore-primary">"<a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_dialog_role">dialog</a>"</span></code> to add accessibility to your modal dialogs. Remember to properly label it and manage keyboard focus, as required.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><input id="modal-toggle" type="checkbox"/>
|
||||
<label for="modal-toggle">Show modal</label>
|
||||
<div class="modal">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section">Bad Modal</h3>
|
||||
</div>
|
||||
</div></pre>
|
||||
<p class="dont" style="text-align: justify;"><mark class="secondary">Don't:</mark> The syntax and structure of the modal dialog's container is very strict. Try to follow it exactly as described in this section.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-bottom: 20px; padding-top:20px;">
|
||||
<div class="col-sm-12">
|
||||
<p style="text-align:justify">If you want to learn more about <strong>mini.css</strong>'s modules, go back to the <a href="modules">modules page</a> and choose another module to see its documentation.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align:justify"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|
309
docs/v2/contextual.html~gluon.v3
Normal file
|
@ -0,0 +1,309 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="mini-default.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<title>mini.css - Contextual</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, module, contextual ">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
<style>
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/erE3KsIWUumgD1j_Ca-V-xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; }
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/LeFlHvsZjXu2c3ZRgBq9nFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
#header-logo { background: -webkit-linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); background: linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); line-height:1; font-size: 39px; width: 48px; height: 48px; padding: 8px; margin-left: -9px; }
|
||||
.box-centered { text-align: center; } .box-colored { background: #0277bd; border-radius: 2px; padding: 14px; margin-bottom: 8px; min-height: 14px;} .box-colored.red { background: #e53935; }
|
||||
.box-centered > .card.fluid {-webkit-box-pack: start; -webkit-box-align: start; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-self: auto; align-self: auto; } [class^='col-'] .card.fluid { margin: 2px 0 20px; }
|
||||
[class^='fore-'] { font-family: monospace, monospace;} .fore-primary { color: #0d47a1;} .fore-secondary { color: #b71c1c;} .fore-tertiary { color: #1b5e20;}
|
||||
.col-sm-12.col-sm-last.col-md-4.col-md-normal { box-sizing: border-box; border-right: 1px solid #c9c9c9; }
|
||||
@media (max-width: 767px){ .col-sm-12.col-sm-last.col-md-4.col-md-normal { border: 0; border-top: 1px solid #c9c9c9;}}
|
||||
.col-sm-12.col-sm-last.col-md-12.col-md-normal { box-sizing: border-box; border-bottom: 1px solid #c9c9c9; }
|
||||
@media (max-width: 767px){ .col-sm-12.col-sm-last.col-md-12.col-md-normal { border: 0; border-top: 1px solid #c9c9c9;}}
|
||||
.box-colored.green { background: #689f38; } .do {border-top: 15px solid #689f38;padding-top: 10px;} .dont {border-top: 15px solid #e53935;padding-top: 10px;}
|
||||
.box-colored {color: #f5f5f5;} @media (max-width: 767px){.container {padding: 0.25rem !important;}.col-sm-12.col-md-8.col-lg-10{padding: 0 !important;}}
|
||||
.toast.demo { position: relative; top: 2rem; left: calc(50% - 6rem); z-index: 1;} .toast.demo.small { top: 4.5rem; left: calc(50% - 6.75rem);} .toast.demo.large { top: 7.5rem; left: calc(50% - 8rem);}
|
||||
@media screen and (min-width: 768px) { .drawer { margin-top: 4px;}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="sticky">
|
||||
<a href="index" class="logo"><span id="header-logo">m</span></a>
|
||||
<label class="drawer-toggle button" for="navigation-toggle"></label>
|
||||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
<label class="close" for="navigation-toggle"></label>
|
||||
<a href="index"><h4 style="margin-left: 0;">Introduction</h4></a>
|
||||
<h4 style="margin-left: 0;">Modules</h4> <a href="core#core-title">Core</a>
|
||||
<a href="core#typography" class="sublink-1">Typography</a> <a href="core#headings" class="sublink-1">Headings</a>
|
||||
<a href="core#common-textual-elements" class="sublink-1">Common textual elements</a>
|
||||
<a href="core#lists" class="sublink-1">Lists</a> <a href="core#images-captions" class="sublink-1">Image responsiveness & captions</a>
|
||||
<br/> <a href="grid#grid-title">Grid</a>
|
||||
<a href="grid#basic-layout" class="sublink-1">Basic layout</a> <a href="grid#screen-specific-layout" class="sublink-1">Screen specific layouts</a>
|
||||
<a href="grid#predefined-layout" class="sublink-1">Predefined layouts</a> <a href="grid#column-offset" class="sublink-1">Column offsets</a>
|
||||
<a href="grid#column-reorder" class="sublink-1">Column reordering</a> <a href="grid#media-object" class="sublink-1">Media object pattern</a>
|
||||
<br/> <a href="input_control#input-control-title">Input Control</a>
|
||||
<a href="input_control#forms-input" class="sublink-1">Forms & input</a> <a href="input_control#checkbox-radio" class="sublink-1">Checkboxes & radio buttons</a> <a href="input_control#switches" class="sublink-1">Switches</a>
|
||||
<a href="input_control#buttons" class="sublink-1">Buttons & button groups</a> <a href="input_control#file-upload" class="sublink-1">File upload buttons</a>
|
||||
<br/> <a href="navigation#navigation-title">Navigation</a>
|
||||
<a href="navigation#header" class="sublink-1">Header</a> <a href="navigation#navigation-bar" class="sublink-1">Navigation bar</a> <a href="navigation#drawer" class="sublink-1">Drawer</a>
|
||||
<a href="navigation#footer" class="sublink-1">Footer</a> <a href="navigation#sticky" class="sublink-1">Sticky headers & footers</a>
|
||||
<br/> <a href="table#table-title">Table</a>
|
||||
<a href="table#syntax-responsiveness" class="sublink-1">Basic syntax & responsiveness</a> <a href="table#scrollable-tables" class="sublink-1">Scrollable tables</a>
|
||||
<a href="table#horizontal-tables" class="sublink-1">Horizontal tables</a> <a href="table#variants-matrices" class="sublink-1">Table variants & matrices</a>
|
||||
<br/> <a href="card#card-title">Card</a>
|
||||
<a href="card#basic-syntax" class="sublink-1">Basic syntax</a> <a href="card#sections-media" class="sublink-1">Sections & media</a>
|
||||
<a href="card#sizing-fluidity" class="sublink-1">Card sizing & fluidity</a> <a href="card#color-variants" class="sublink-1">Card color variants</a>
|
||||
<br/> <a href="tab#tab-title">Tab</a>
|
||||
<a href="tab#basic-syntax" class="sublink-1">Basic syntax</a> <a href="tab#stacked-tabs" class="sublink-1">Stacked tabs</a>
|
||||
<br/> <a href="contextual#contextual-title">Contextual</a>
|
||||
<a href="contextual#text-highlighting" class="sublink-1">Text highlighting</a> <a href="contextual#toasts" class="sublink-1">Toasts</a>
|
||||
<a href="contextual#tooltips" class="sublink-1">Tooltips</a> <a href="contextual#modals" class="sublink-1">Modals</a>
|
||||
<br/> <a href="progress#progress-title">Progress</a>
|
||||
<a href="progress#basic-progress-bar" class="sublink-1">Basic progress bar</a> <a href="progress#progress-variants" class="sublink-1">Progress bar variants</a>
|
||||
<a href="progress#donut-spinner" class="sublink-1">Donut spinner</a> <a href="progress#spinner-variants" class="sublink-1">Donut spinner variants</a>
|
||||
<br/> <a href="utility#utility-title">Utility</a>
|
||||
<a href="utility#visibility-helpers" class="sublink-1">Visibility helpers</a> <a href="utility#borders-shadows" class="sublink-1">Generic borders & shadows</a>
|
||||
<a href="utility#responsive-sizing" class="sublink-1">Responsive sizing & spacing classes</a>
|
||||
<a href="utility#responsive-visibility" class="sublink-1">Responsive visibility helpers</a> <a href="utility#breadcrumbs" class="sublink-1">Breadcrumbs</a>
|
||||
<a href="utility#close-icon" class="sublink-1">Close icon</a>
|
||||
<a href="flavors"><h4 style="margin-left: 0;">Flavors</h4></a>
|
||||
<a href="templates"><h4 style="margin-left: 0;">Templates</h4></a>
|
||||
<a href="customization"><h4 style="margin-left: 0;">Customization</h4></a>
|
||||
<a href="quick_reference"><h4 style="margin-left: 0;">Quick Reference</h4></a>
|
||||
</nav>
|
||||
<div class="col-sm-12 col-md-8 col-lg-10"><main>
|
||||
<div class="row" style="padding-top: 40px;" id="contextual-title">
|
||||
<div class="col-sm-12">
|
||||
<h1>Contextual</h1>
|
||||
<p style="text-align:justify">The <strong>contextual</strong> module provides you with simple tags, marks and highlights for your pages, allowing you to easily emphasize parts of your text. Contextual toasts, tooltips and modals are also provided, aiming to help deliver important information to users. HTML5 elements and simple rules are used in order to make important messages and pieces of content stand out easily.</p>
|
||||
<p style="text-align:justify"><small>All examples showcased refer to the mini-default flavor, some class names and styles might differ based on the flavor you're using.</small></p><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Quick overview</h2>
|
||||
<p style="text-align:justify">Almost every website present on the web has some sort of content that needs highlighting in one way or another. The <strong>contextual</strong> module provides you with simple semantic text highlighting that utilises the <code><mark></code> HTML element. Apart from that, this module contains styles and definitions for a simple <code>.toast</code> container, that you can use to display toast messages on your websites and web apps. Toasts mimic the native application notifications of certain devices, making them mobile friendly. Finally, a simple accessible <code>.tooltip</code> implementation is included along with an implementation for <code>.modal</code> dialogs. All components in this module are fully accessible, so that's another thing not to worry about.</p><br>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>Quick start</h2>
|
||||
<p style="text-align:justify">To use the <strong>contextual</strong> module, simply include the link to the flavor you are using and start writing your HTML page as usual. One suggestion we will make is to add the following line inside your HTML page's <code><head></code> to utilize the viewport meta tag:</p>
|
||||
<pre><<span class="fore-tertiary">meta</span> <span class="fore-secondary">name</span>=<span class="fore-primary">"viewport"</span> <span class="fore-secondary">content</span>=<span class="fore-primary">"width=device-width, initial-scale=1"</span>></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="text-highlighting">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Text highlighting</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div>
|
||||
<p>This is some text with a <mark>highlight</mark>.</p>
|
||||
<p>Apart from the primary highlight style, there are also <mark class="secondary">secondary</mark> and <mark class="tertiary">tertiary</mark> styles for highlighting.</p><br>
|
||||
<p><mark class="inline-block">If you want to highlight a longer piece of text, without line breaks, you can turn the highlight into an inline-block like you see this piece of text being displayed.</mark></p><br>
|
||||
<p>Finally, you can create contextual tags like <mark class="tag">this</mark> or <mark class="tag">7</mark>.</p><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align:justify">To add simple highlights in your text, you can use the <code><mark></code> HTML element. These highlights come pre-styled to use the default primary color, but if you would rather use another color for your highlight you can easily add the <code>.secondary</code> or <code>.tertiary</code> class to a <code><mark></code> element. For longer pieces of text that need highlighting, consider adding the <code>.inline-block</code> class to make them stand out even more. Finally, you can create contextual tags, using the <code>.tag</code> class.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><mark>primary</mark>
|
||||
<mark class="secondary">secondary</mark>
|
||||
<mark class="tertiary">tertiary</mark>
|
||||
<mark class="inline-block">long highlight text...</mark>
|
||||
<mark class="tag">tag</mark></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align:justify">
|
||||
<li>Try to use elements with the <code>.inline-block</code> class only when absolutely necessary, as they break the normal text flow of the document. Avoid using this class on shorter pieces of text that span a few words and contain no line breaks.</li>
|
||||
<li><code><mark></code> elements, along with their supporting classes (except for <code>.inline-block</code>) can be easily used in paragraphs, headings and other elements, as they scale according to their parent element.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><mark class="tag tertiary">green tag</mark>
|
||||
<span class="fore-tertiary"><!-- or --></span>
|
||||
<mark class="inline-block secondary">red chunk</mark></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can combine any of the contextual color classes (<code>.secondary</code> or <code>.tertiary</code>) with the <code>.tag</code> or <code>.inline-block</code> class.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><mark class="secondary tertiary">no, no</mark>
|
||||
<span class="fore-secondary"><!-- or --></span>
|
||||
<mark class="inline-block tag">oh, no</mark></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid combining two contextual color classes or a <code>.tag</code> and an <code>.inline-block</code>, as these combinations might result in unexpected behavior.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><mark class="inline-block">some
|
||||
<mark class="secondary">text</mark>
|
||||
</mark></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can only nest a <code><mark></code> inside another if the outer one is of the <code>.inline-block</code> class. You can color the inner <code><mark></code> using any of the contextual color classes or even make it a <code>.tag</code>. Be careful, however, to not make the inner <code><mark></code> an <code>.inline-block</code> as well.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><mark>some
|
||||
<mark class="secondary">text</mark>
|
||||
</mark></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid using nested <code><mark></code> elements, unless the outer <code><mark></code> element is an <code>.inline-block</code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="toasts">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Toasts</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-12 col-md-normal">
|
||||
<div style="height: 15rem;">
|
||||
<span class="toast demo">I'm a toast message!</span><br/>
|
||||
<span class="toast small demo">I'm a small toast message!</span><br/>
|
||||
<span class="toast large demo">I'm a large toast message!</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-12 col-md-normal">
|
||||
<p style="text-align:justify">Toasts aim to help bridge the gap between web and native applications on mobile devices, by displaying native-looking toast messages. To create a toast, wrap some text inside a <code><span></code> element with the <code>.toast</code> class. Toasts appear at the bottom of the screen on top of everything else. If you want to create smaller or larger toast messasges, you can add the <code>.small</code> or <code>.large</code> classes respectively.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><span class="toast">This is a normal toast message!</span>
|
||||
<span class="toast small">This is a large toast message!</span>
|
||||
<span class="toast large">This is a small toast message!</span></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul>
|
||||
<li>Toast elements do not have any pre-defined behavior. You should use your own Javascript code and interactive HTML elements to deal with showing and hiding them as necessary.</li>
|
||||
<li>If you want to create your own color or size variants for toast messages, check out the <a href="customization">customization</a> page.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<pre><span class="toast small large">Not a good toast</span></pre>
|
||||
<p class="dont" style="text-align:justify"><mark class="secondary">Don't:</mark> Avoid combining two toast size variants, as this might cause unexpected behavior.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="tooltips">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Tooltips</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div>
|
||||
<br /><p class="tooltip" aria-label="This is a tooltip">Hover over this text to see a tooltip!</p><br />
|
||||
<p class="tooltip bottom" aria-label="This is a tooltip">Hover over this text to see a reverse tooltip!</p><br />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align:justify">Tooltips can be used to convey context-sensitive information when the user hovers over some text. To create a tooltip, simply wrap the text you want users to hover over in an element with the <code>.tooltip</code> class (our choice is usually a <code><span></code> element, but your needs may differ) and add an <code><span class="fore-secondary">aria-label</span></code> in that element, setting its value to the content of your tooltip. Tooltips display at the top of the hovered text by default, so if you want to show them below the text, add the <code>.bottom</code> class to them.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><span class="tooltip" aria-label="This is a tooltip">Hover over this text to see a tooltip!</span>
|
||||
<span class="tooltip bottom" aria-label="This is a tooltip">Hover over this text to see a reverse tooltip!</span></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align:justify">
|
||||
<li>Tooltips are built to be accessible and should display properly on screenreaders.</li>
|
||||
<li>If you are not satisfied with the default tooltip colors, please check out the <a href="customization">customization page</a> for instuctions on how to create your own tooltip variants.</li>
|
||||
<li>Remember to always add the <code><span class="fore-secondary">aria-label</span></code> attribute, otherwise your tooltip will not have any text to show.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="modals">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Modals</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div style="text-align:center"><br/>
|
||||
<label class="button primary large" for="modal-check">Click to display a modal dialog</label><br/><br/>
|
||||
<input id="modal-check" type="checkbox"/>
|
||||
<div class="modal" style="text-align:initial">
|
||||
<div class="card">
|
||||
<label for="modal-check" class="close"></label>
|
||||
<h3 class="section double-padded">Modal</h3>
|
||||
<div class="section double-padded">
|
||||
<p>This is a modal window!</p>
|
||||
<label class="button primary" for="modal-check">Close modal</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">Modal dialogs are pretty ease to make. Simply create an <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> element, immediately followed by a <code><div></code> element with the <code>.modal</code> class. Inside this element, you can add a <code>.card</code> element with your modal dialog's contents. Remember to add a <code><label></code> element linked to your modal dialog's <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> to let users close the dialog. You can also apply the <code>.close</code> class to a <code><label></code> element to display a close icon at the top right of the modal dialog.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><label for="modal-toggle">Show modal</label>
|
||||
|
||||
<input id="modal-toggle" type="checkbox"/>
|
||||
<div class="modal">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section">Modal</h3>
|
||||
<p class="section">This is a modal window!</p>
|
||||
</div>
|
||||
</div></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align: justify;">
|
||||
<li>You can use any styles you want from the <strong><a href="card">card</a></strong> module to create different dialogs based on context (e.g. alerts, warnings etc.).</li>
|
||||
<li>Remember to add a <code><label></code> linked to your modal dialog's <code><input <span class="fore-secondary">type</span>="<span class="fore-primary">checkbox</span>"></code> or use Javascript to alter its state, otherwise users will not be able to close the dialog.</li>
|
||||
<li>You can place your modal dialog anywhere on your page, as long as the structure is not altered. You can also toggle it from anywhere on a page.</li>
|
||||
</ul><hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<pre><input id="modal-toggle" type="checkbox"/>
|
||||
<label for="modal-toggle">Show modal</label>
|
||||
<div class="modal" role="dialog" aria-labelledby="dialogTitle">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section" id="dialogTitle">Bad Modal</h3>
|
||||
</div>
|
||||
</div></pre>
|
||||
<p class="do" style="text-align:justify"><mark class="tertiary">Do:</mark> You can use the <code><span class="fore-secondary">role</span>=<span class="fore-primary">"<a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_dialog_role">dialog</a>"</span></code> to add accessibility to your modal dialogs. Remember to properly label it and manage keyboard focus, as required.</p>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-sm-last col-md-normal">
|
||||
<pre><input id="modal-toggle" type="checkbox"/>
|
||||
<label for="modal-toggle">Show modal</label>
|
||||
<div class="modal">
|
||||
<div class="card">
|
||||
<label for="modal-toggle" class="close"></label>
|
||||
<h3 class="section">Bad Modal</h3>
|
||||
</div>
|
||||
</div></pre>
|
||||
<p class="dont" style="text-align: justify;"><mark class="secondary">Don't:</mark> The syntax and structure of the modal dialog's container is very strict. Try to follow it exactly as described in this section.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-bottom: 20px; padding-top:20px;">
|
||||
<div class="col-sm-12">
|
||||
<p style="text-align:justify">If you want to learn more about <strong>mini.css</strong>'s modules, go back to the <a href="modules">modules page</a> and choose another module to see its documentation.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align:justify"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -33,7 +33,7 @@
|
|||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> GitHub</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
|
@ -158,7 +158,7 @@
|
|||
<div class="section"><h2>Common textual elements</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div><p>This is a paragraph with some sample text. Did you know <strong>mini.css</strong> v2 is codenamed <strong>Fermion</strong>? No? Well, now you do! Oh, by the way, that was some Bold text and here is some <em>text in Italics</em>. Maybe you want to know what our inline elements look like. For example a <a href="https://github.com/Chalarangelo/mini.css">link to the GitHub repository of mini.css</a> looks like that! Neat, right? Maybe you want to see some <code>inline code</code> or some sample <kbd>input</kbd>. Oh, also <small>small text</small> is cool, along with its siblings: the subscript<sub>hi!</sub> and the superscript<sup>hello!</sup>. Finally, check out the horizontal rule, preformatted code block and quotation below.</p><hr>
|
||||
<div><p>This is a paragraph with some sample text. Did you know <strong>mini.css</strong> v2 is codenamed <strong>Fermion</strong>? No? Well, now you do! Oh, by the way, that was some Bold text and here is some <em>text in Italics</em>. Maybe you want to know what our inline elements look like. For example a <a href="https://github.com/Chalarangelo/mini.css">link to the Github repository of mini.css</a> looks like that! Neat, right? Maybe you want to see some <code>inline code</code> or some sample <kbd>input</kbd>. Oh, also <small>small text</small> is cool, along with its siblings: the subscript<sub>hi!</sub> and the superscript<sup>hello!</sup>. Finally, check out the horizontal rule, preformatted code block and quotation below.</p><hr>
|
||||
<pre>function sum(num1, num2) {
|
||||
var num3 = num1 + num2;
|
||||
console.log('Result: ' + num3);
|
||||
|
@ -250,6 +250,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">GitHub</a>.</footer>
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|
255
docs/v2/core.html~HEAD
Normal file
|
@ -0,0 +1,255 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<link rel="stylesheet" href="mini-default.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<title>mini.css - Core</title>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta name="keywords" content="mini, mini.css, CSS, framework, minimal, responsive, style-agnostic, front-end, frontend, Sass, module, core ">
|
||||
<meta name="author" content="Angelos Chalaris (chalarangelo)">
|
||||
<meta property="og:title" content="mini.css - Minimal, responsive, style-agnostic CSS framework">
|
||||
<meta property="og:description" content="mini.css is a tiny CSS framework designed to build quick, modern and responsive websites."/>
|
||||
<meta property="og:type" content="website"/><meta property="og:image" content="page_thumb.png">
|
||||
<meta property="og:url" content="https://chalarangelo.github.io/mini.css/"><link rel="icon" type="image/png" href="favicon.png">
|
||||
<style>
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/erE3KsIWUumgD1j_Ca-V-xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; }
|
||||
@font-face { font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v6/LeFlHvsZjXu2c3ZRgBq9nFtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }
|
||||
#header-logo { background: -webkit-linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); background: linear-gradient(#07020d 20%, #150627 45%, #220a40 70%, #300d5a); line-height:1; font-size: 39px; width: 48px; height: 48px; padding: 8px; margin-left: -9px; }
|
||||
.box-colored { background: #0277bd; border-radius: 2px; padding: 14px; margin-bottom: 8px; min-height: 14px;}
|
||||
.box-centered { text-align: center; } .box-colored.red { background: #e53935; }
|
||||
.box-centered > .card.fluid {-webkit-box-pack: start; -webkit-box-align: start; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-self: auto; align-self: auto;} [class^='col-'] .card.fluid { margin: 2px 0 20px; }
|
||||
[class^='fore-'] { font-family: monospace, monospace;} .fore-primary { color: #0d47a1;} .fore-secondary { color: #b71c1c;} .fore-tertiary { color: #1b5e20;}
|
||||
.col-sm-12.col-sm-last.col-md-4.col-md-normal { box-sizing: border-box; border-right: 1px solid #bdbdbd; }
|
||||
@media (max-width: 767px){ .col-sm-12.col-sm-last.col-md-4.col-md-normal { border: 0; border-top: 1px solid #bdbdbd; } }
|
||||
@media (max-width: 767px){.container {padding: 0.25rem !important;}.col-sm-12.col-md-8.col-lg-10{padding: 0 !important;}}
|
||||
@media screen and (min-width: 768px) { .drawer { margin-top: 4px;}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="sticky">
|
||||
<a href="index" class="logo"><span id="header-logo">m</span></a>
|
||||
<label class="drawer-toggle button" for="navigation-toggle"></label>
|
||||
<a href="index" class="button hidden-sm">Introduction</a> <a href="modules" class="button hidden-sm">Modules</a>
|
||||
<a href="flavors" class="button hidden-sm">Flavors</a> <a href="templates" class="button hidden-sm">Templates</a>
|
||||
<a href="customization" class="button hidden-sm">Customization</a> <a href="quick_reference" class="button hidden-sm">Quick Reference</a>
|
||||
<a href="https://github.com/Chalarangelo/mini.css" class="button"><i class="fa fa-github" aria-hidden="true" style="font-size: 1.3em; position: relative; bottom: -2px; margin-right: 2px;"></i> Github</a>
|
||||
</header>
|
||||
<div class="container" style="padding-left: 0.25rem;">
|
||||
<div class="row"> <input type="checkbox" id="navigation-toggle"> <nav class="drawer col-md-4 col-lg-2">
|
||||
<label class="close" for="navigation-toggle"></label>
|
||||
<a href="index"><h4 style="margin-left: 0;">Introduction</h4></a>
|
||||
<h4 style="margin-left: 0;">Modules</h4> <a href="core#core-title">Core</a>
|
||||
<a href="core#typography" class="sublink-1">Typography</a> <a href="core#headings" class="sublink-1">Headings</a>
|
||||
<a href="core#common-textual-elements" class="sublink-1">Common textual elements</a>
|
||||
<a href="core#lists" class="sublink-1">Lists</a> <a href="core#images-captions" class="sublink-1">Image responsiveness & captions</a>
|
||||
<br/> <a href="grid#grid-title">Grid</a>
|
||||
<a href="grid#basic-layout" class="sublink-1">Basic layout</a> <a href="grid#screen-specific-layout" class="sublink-1">Screen specific layouts</a>
|
||||
<a href="grid#predefined-layout" class="sublink-1">Predefined layouts</a> <a href="grid#column-offset" class="sublink-1">Column offsets</a>
|
||||
<a href="grid#column-reorder" class="sublink-1">Column reordering</a> <a href="grid#media-object" class="sublink-1">Media object pattern</a>
|
||||
<br/> <a href="input_control#input-control-title">Input Control</a>
|
||||
<a href="input_control#forms-input" class="sublink-1">Forms & input</a> <a href="input_control#checkbox-radio" class="sublink-1">Checkboxes & radio buttons</a> <a href="input_control#switches" class="sublink-1">Switches</a>
|
||||
<a href="input_control#buttons" class="sublink-1">Buttons & button groups</a> <a href="input_control#file-upload" class="sublink-1">File upload buttons</a>
|
||||
<br/> <a href="navigation#navigation-title">Navigation</a>
|
||||
<a href="navigation#header" class="sublink-1">Header</a> <a href="navigation#navigation-bar" class="sublink-1">Navigation bar</a> <a href="navigation#drawer" class="sublink-1">Drawer</a>
|
||||
<a href="navigation#footer" class="sublink-1">Footer</a> <a href="navigation#sticky" class="sublink-1">Sticky headers & footers</a>
|
||||
<br/> <a href="table#table-title">Table</a>
|
||||
<a href="table#syntax-responsiveness" class="sublink-1">Basic syntax & responsiveness</a> <a href="table#scrollable-tables" class="sublink-1">Scrollable tables</a>
|
||||
<a href="table#horizontal-tables" class="sublink-1">Horizontal tables</a> <a href="table#variants-matrices" class="sublink-1">Table variants & matrices</a>
|
||||
<br/> <a href="card#card-title">Card</a>
|
||||
<a href="card#basic-syntax" class="sublink-1">Basic syntax</a> <a href="card#sections-media" class="sublink-1">Sections & media</a>
|
||||
<a href="card#sizing-fluidity" class="sublink-1">Card sizing & fluidity</a> <a href="card#color-variants" class="sublink-1">Card color variants</a>
|
||||
<br/> <a href="tab#tab-title">Tab</a>
|
||||
<a href="tab#basic-syntax" class="sublink-1">Basic syntax</a> <a href="tab#stacked-tabs" class="sublink-1">Stacked tabs</a>
|
||||
<br/> <a href="contextual#contextual-title">Contextual</a>
|
||||
<a href="contextual#text-highlighting" class="sublink-1">Text highlighting</a> <a href="contextual#toasts" class="sublink-1">Toasts</a>
|
||||
<a href="contextual#tooltips" class="sublink-1">Tooltips</a> <a href="contextual#modals" class="sublink-1">Modals</a>
|
||||
<br/> <a href="progress#progress-title">Progress</a>
|
||||
<a href="progress#basic-progress-bar" class="sublink-1">Basic progress bar</a> <a href="progress#progress-variants" class="sublink-1">Progress bar variants</a>
|
||||
<a href="progress#donut-spinner" class="sublink-1">Donut spinner</a> <a href="progress#spinner-variants" class="sublink-1">Donut spinner variants</a>
|
||||
<br/> <a href="utility#utility-title">Utility</a>
|
||||
<a href="utility#visibility-helpers" class="sublink-1">Visibility helpers</a> <a href="utility#borders-shadows" class="sublink-1">Generic borders & shadows</a>
|
||||
<a href="utility#responsive-sizing" class="sublink-1">Responsive sizing & spacing classes</a>
|
||||
<a href="utility#responsive-visibility" class="sublink-1">Responsive visibility helpers</a> <a href="utility#breadcrumbs" class="sublink-1">Breadcrumbs</a>
|
||||
<a href="utility#close-icon" class="sublink-1">Close icon</a>
|
||||
<a href="flavors"><h4 style="margin-left: 0;">Flavors</h4></a>
|
||||
<a href="templates"><h4 style="margin-left: 0;">Templates</h4></a>
|
||||
<a href="customization"><h4 style="margin-left: 0;">Customization</h4></a>
|
||||
<a href="quick_reference"><h4 style="margin-left: 0;">Quick Reference</h4></a>
|
||||
</nav>
|
||||
<div class="col-sm-12 col-md-8 col-lg-10"><main>
|
||||
<div class="row" style="padding-top: 40px;" id="core-title">
|
||||
<div class="col-sm-12">
|
||||
<h1>Core</h1>
|
||||
<p style="text-align: justify;">The <strong>core</strong> module contains basic reset and fix rules, based on <a href="http://necolas.github.io/normalize.css/">Normalize.css</a> v5.0.0, along with lots of custom typography rules. Most textual HTML5 elements are styled by this module, so you can start writing your pages immediately without worrying about font families, weights, sizes, line heights, paddings and the like.</p>
|
||||
<p style="text-align: justify;"><small>All examples showcased refer to the mini-default flavor, some class names and styles might differ based on the flavor you're using.</small></p><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section">
|
||||
<h2>Quick overview</h2>
|
||||
<p style="text-align: justify;">Before applying any typography and styling rules, some resets need to be applied to make sure that different elements display consistently on all browsers. The <strong>core</strong> module utilizes the ruleset of <a href="http://necolas.github.io/normalize.css/">Normalize.css</a> v5.0.0 to apply those much needed resets and fixes. However, to keep the framework small, we removed some rules that only help with legacy browser support and also tweaked a lot of the rules around to use customizable variables so no duplicate rules are applied, taking up unnecessary space. The typography rules in <strong>core</strong> deal with a page's basics, like fonts and styling of headings and paragraphs, horizontal rules, colors, margins, padding etc.</p><br>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>Quick start</h2>
|
||||
<p style="text-align: justify;">To use the <strong>core</strong> module, simply include the link to the flavor you are using and start writing your HTML page as usual. One suggestion we will make is to add the following line inside your HTML page's <code><head></code> to utilize the viewport meta tag:</p>
|
||||
<pre><<span class="fore-tertiary">meta</span> <span class="fore-secondary">name</span>=<span class="fore-primary">"viewport"</span> <span class="fore-secondary">content</span>=<span class="fore-primary">"width=device-width, initial-scale=1"</span>></pre>
|
||||
<figure style="margin: 0;" class="hidden-sm"><div style="position: relative; padding: 0.5rem; padding-bottom: 42%; margin-bottom: 0.25rem; margin-right: 1rem;"><iframe style="display: none; border: 0; position: absolute; width: 100%; height: 100%;" onload="this.style.display='block';" src="https://scrimba.com/cast/cast-1949.embed"></iframe></div><figcaption style="padding: 0.5rem;">Intro to mini.css by <a href="https://scrimba.com/casts/cast-1949" style="font-size: 0.8125rem; text-decoration: none;">Per Harald Borgen</a></figcaption></figure><br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="typography">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Typography</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12">
|
||||
<p style="text-align: justify;">For the basic typography rules we did the following, along with other things presented below:</p>
|
||||
<ul>
|
||||
<li>We use a <a href="https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/">native font stack</a> to figure out the best font for your device.</li>
|
||||
<li>We set the colors to <code>background: #f8f8f8;</code> and <code>color: #212121;</code>.</li>
|
||||
<li>We use a <code>font-size</code> of <code>16px</code> for the root element.</li>
|
||||
<li>We set <code>line-height</code> to <code>1.5</code>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h3>Notes</h3>
|
||||
<ul style="text-align:justify">
|
||||
<li>Fluid typography is also included, but not enabled by default. If you want to try it out, check out the out the <a href="customization">customization</a> page.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="headings">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Headings</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal row">
|
||||
<div class="col-sm-12 col-lg-6 col-lg-first"><h1>Heading 1<small>Subheading</small></h1></div>
|
||||
<div class="col-sm-12 col-lg-6"><h2>Heading 2<small>Subheading</small></h2></div>
|
||||
<div class="col-sm-12 col-lg-6 col-lg-last"><h3>Heading 3<small>Subheading</small></h3></div>
|
||||
<div class="col-sm-12 col-lg-6 col-lg-first"><h4>Heading 4<small>Subheading</small></h4></div>
|
||||
<div class="col-sm-12 col-lg-6"><h5>Heading 5<small>Subheading</small></h5></div>
|
||||
<div class="col-sm-12 col-lg-6 col-lg-last"><h6>Heading 6<small>Subheading</small></h6></div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">All six of the HTML headings (<code><h1></code> - <code><h6></code>) are styled with simple rules, providing a clean base for your pages' headings. Apart from the headings themselves, complementary rules are provided for <code><small></code> elements inside headings, allowing you to define subheadings or explanatory text for those headings. These subheadings are stylized to display below the headings in smaller, lighter type.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><h1>Heading 1<small>Subheading</small></h1>
|
||||
<h2>Heading 2<small>Subheading</small></h2>
|
||||
<h3>Heading 3<small>Subheading</small></h3>
|
||||
<h4>Heading 4<small>Subheading</small></h4>
|
||||
<h5>Heading 5<small>Subheading</small></h5>
|
||||
<h6>Heading 6<small>Subheading</small></h6></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="common-textual-elements">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Common textual elements</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div><p>This is a paragraph with some sample text. Did you know <strong>mini.css</strong> v2 is codenamed <strong>Fermion</strong>? No? Well, now you do! Oh, by the way, that was some Bold text and here is some <em>text in Italics</em>. Maybe you want to know what our inline elements look like. For example a <a href="https://github.com/Chalarangelo/mini.css">link to the Github repository of mini.css</a> looks like that! Neat, right? Maybe you want to see some <code>inline code</code> or some sample <kbd>input</kbd>. Oh, also <small>small text</small> is cool, along with its siblings: the subscript<sub>hi!</sub> and the superscript<sup>hello!</sup>. Finally, check out the horizontal rule, preformatted code block and quotation below.</p><hr>
|
||||
<pre>function sum(num1, num2) {
|
||||
var num3 = num1 + num2;
|
||||
console.log('Result: ' + num3);
|
||||
}</pre>
|
||||
<blockquote cite="https://www.google.com">This is some quoted text from elsewhere.</blockquote><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">The most common HTML5 elements must be things like <code><p></code>aragraphs, bold (<code><strong></code>) & italics (<code><em></code>) text, links (<code><a></code>), horizontal rules (<code><hr></code>) and <code><small></code> text. These, along with a few others, are styled by default using clean, modern design to make your pages look cool and stand out from the rest of the internet.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><p>This is a paragraph with some <strong>bold text</strong> and some <em>italics text</em>.</p>
|
||||
<a href="#">This is a link.</a>
|
||||
<small>This is some small text.</small>
|
||||
<sub>Subscript</sub>
|
||||
<sup>Superscript</sup>
|
||||
<code>Inline code</code>
|
||||
<kbd>Keyboard Input</kbd>
|
||||
<hr>
|
||||
<pre>This is some preformatted text.</pre>
|
||||
<blockquote cite="www.quotation.source">
|
||||
This is some quoted text from another website or person.
|
||||
</blockquote></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="lists">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Lists</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div><br>
|
||||
<ul>
|
||||
<li>Apple</li>
|
||||
<li>Orange</li>
|
||||
<li>Strawberry</li>
|
||||
</ul><br>
|
||||
<ol>
|
||||
<li>Wake up</li>
|
||||
<li>Eat breakfast</li>
|
||||
<li>Go to work</li>
|
||||
</ol><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">Lists are also very commonly used in websites and apps. We tweaked a few margins and paddings to save some space and make them align properly with the rest of the common HTML elements that we use, but both unordered lists (<code><ul></code>) and ordered lists (<code><ol></code>) are minimally pre-styled to make things a little bit easier for you.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><ul>
|
||||
<li>Apple</li>
|
||||
<li>Orange</li>
|
||||
<li>Strawberry</li>
|
||||
</ul>
|
||||
|
||||
<ol>
|
||||
<li>Wake up</li>
|
||||
<li>Eat breakfast</li>
|
||||
<li>Go to work</li>
|
||||
</ol></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="images-captions">
|
||||
<div class="col-sm-12">
|
||||
<div class="card fluid">
|
||||
<div class="section"><h2>Image responsiveness & captions</h2></div>
|
||||
<div class="section row">
|
||||
<div class="col-sm-12 col-sm-last col-md-4 col-md-normal">
|
||||
<div><figure><img src="https://placehold.it/800x600" alt="image"><figcaption>Image caption</figcaption></figure></div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-sm-first col-md-8 col-md-normal">
|
||||
<p style="text-align: justify;">Image elements (<code><img></code>) are responsive by default, without the need for any special classes or anything else. We made sure they will scale down as necessary to display properly on smaller devices, while keeping their original aspect ratio, but they will never scale up above their original size.</p> <p>On a side note, if you want to add captions to images, you can use a <code><figcaption></code> element, while wrapping both the image and it inside a <code><figure></code>.</p>
|
||||
<h3>Sample code</h3>
|
||||
<pre><figure>
|
||||
<img src="...">
|
||||
<figcaption>Image caption</figcaption>
|
||||
</figure></pre><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-bottom: 20px; padding-top:20px;">
|
||||
<div class="col-sm-12">
|
||||
<p style="text-align: justify;">If you want to learn more about <strong>mini.css</strong>'s modules, go back to the <a href="modules">modules page</a> and choose another module to see its documentation.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main></div></div></div>
|
||||
<footer style="text-align: justify;"><strong>mini.css</strong> was designed and built with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://github.com/Chalarangelo">@Chalarangelo</a>. It is licensed under the <a href="https://github.com/Chalarangelo/mini.css/blob/master/LICENSE">MIT License</a>. You can view the project's source code on <a href="https://github.com/Chalarangelo/mini.css">Github</a>.</footer>
|
||||
</body>
|
||||
</html>
|