@ -0,0 +1 @@ | |||
node_modules |
@ -0,0 +1,9 @@ | |||
import * as riot from 'riot' | |||
import TinyDemo from './src/tiny-demo.riot' | |||
import TinyModal from './src/tiny-modal.riot' | |||
riot.register('tiny-demo', TinyDemo) | |||
riot.register('tiny-modal', TinyModal) | |||
riot.mount('tiny-demo') |
@ -0,0 +1,78 @@ | |||
@import | |||
'src/fonts/stylesheet', | |||
'~crispy-css/src/crispy-all'; | |||
body { | |||
font-family: 'IBM Plex Mono'; | |||
background: #232628; | |||
} | |||
.modal { | |||
position: fixed; | |||
z-index: 100; | |||
top: -100%; | |||
left: 50%; | |||
min-width: 400px; | |||
margin: 2em 0 0 0; | |||
padding: 1em; | |||
background: white; | |||
transform: translateX(-50%); | |||
// animation to slide from top | |||
transition: top 0.3s ease-in-out; | |||
&--transition-enter { | |||
top: 0; | |||
} | |||
// background | |||
&-layer { | |||
display: none; | |||
position: fixed; | |||
top: 0; | |||
left: 0; | |||
width: 100%; | |||
height: 100%; | |||
z-index: 99; | |||
background: #0000001c; | |||
&--transition-enter { | |||
display: block; | |||
} | |||
} | |||
&__button { | |||
float: right; | |||
border: 0; | |||
padding: 0; | |||
background-color: transparent; | |||
} | |||
} | |||
button { | |||
&:hover { | |||
cursor: pointer; | |||
} | |||
} | |||
button { | |||
border-radius: 0; | |||
padding: 0.4em 1em; | |||
border: 0; | |||
position: relative; | |||
&:before { | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
//content: "#444"; | |||
} | |||
&:after { | |||
position: absolute; | |||
} | |||
} | |||
// |
@ -0,0 +1,233 @@ | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<meta name="robots" content="noindex, noarchive"> | |||
<meta name="format-detection" content="telephone=no"> | |||
<title>Transfonter demo</title> | |||
<link href="stylesheet.css" rel="stylesheet"> | |||
<style> | |||
/* | |||
http://meyerweb.com/eric/tools/css/reset/ | |||
v2.0 | 20110126 | |||
License: none (public domain) | |||
*/ | |||
html, body, div, span, applet, object, iframe, | |||
h1, h2, h3, h4, h5, h6, p, blockquote, pre, | |||
a, abbr, acronym, address, big, cite, code, | |||
del, dfn, em, img, ins, kbd, q, s, samp, | |||
small, strike, strong, sub, sup, tt, var, | |||
b, u, i, center, | |||
dl, dt, dd, ol, ul, li, | |||
fieldset, form, label, legend, | |||
table, caption, tbody, tfoot, thead, tr, th, td, | |||
article, aside, canvas, details, embed, | |||
figure, figcaption, footer, header, hgroup, | |||
menu, nav, output, ruby, section, summary, | |||
time, mark, audio, video { | |||
margin: 0; | |||
padding: 0; | |||
border: 0; | |||
font-size: 100%; | |||
font: inherit; | |||
vertical-align: baseline; | |||
} | |||
/* HTML5 display-role reset for older browsers */ | |||
article, aside, details, figcaption, figure, | |||
footer, header, hgroup, menu, nav, section { | |||
display: block; | |||
} | |||
body { | |||
line-height: 1; | |||
} | |||
ol, ul { | |||
list-style: none; | |||
} | |||
blockquote, q { | |||
quotes: none; | |||
} | |||
blockquote:before, blockquote:after, | |||
q:before, q:after { | |||
content: ''; | |||
content: none; | |||
} | |||
table { | |||
border-collapse: collapse; | |||
border-spacing: 0; | |||
} | |||
/* demo styles */ | |||
body { | |||
background: #f0f0f0; | |||
color: #000; | |||
} | |||
.page { | |||
background: #fff; | |||
width: 920px; | |||
margin: 0 auto; | |||
padding: 20px 20px 0 20px; | |||
overflow: hidden; | |||
} | |||
.font-container { | |||
overflow-x: auto; | |||
overflow-y: hidden; | |||
margin-bottom: 40px; | |||
line-height: 1.3; | |||
white-space: nowrap; | |||
padding-bottom: 5px; | |||
} | |||
h1 { | |||
position: relative; | |||
background: #444; | |||
font-size: 32px; | |||
color: #fff; | |||
padding: 10px 20px; | |||
margin: 0 -20px 12px -20px; | |||
} | |||
.letters { | |||
font-size: 25px; | |||
margin-bottom: 20px; | |||
} | |||
.s10:before { | |||
content: '10px'; | |||
} | |||
.s11:before { | |||
content: '11px'; | |||
} | |||
.s12:before { | |||
content: '12px'; | |||
} | |||
.s14:before { | |||
content: '14px'; | |||
} | |||
.s18:before { | |||
content: '18px'; | |||
} | |||
.s24:before { | |||
content: '24px'; | |||
} | |||
.s30:before { | |||
content: '30px'; | |||
} | |||
.s36:before { | |||
content: '36px'; | |||
} | |||
.s48:before { | |||
content: '48px'; | |||
} | |||
.s60:before { | |||
content: '60px'; | |||
} | |||
.s72:before { | |||
content: '72px'; | |||
} | |||
.s10:before, .s11:before, .s12:before, .s14:before, | |||
.s18:before, .s24:before, .s30:before, .s36:before, | |||
.s48:before, .s60:before, .s72:before { | |||
font-family: Arial, sans-serif; | |||
font-size: 10px; | |||
font-weight: normal; | |||
font-style: normal; | |||
color: #999; | |||
padding-right: 6px; | |||
} | |||
pre { | |||
display: block; | |||
position: relative; | |||
padding: 9px; | |||
margin: 0 0 10px; | |||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace; | |||
font-size: 13px; | |||
line-height: 1.428571429; | |||
color: #333; | |||
font-weight: normal; | |||
font-style: normal; | |||
background-color: #f5f5f5; | |||
border: 1px solid #ccc; | |||
overflow-x: auto; | |||
border-radius: 4px; | |||
} | |||
pre:after { | |||
display: block; | |||
position: absolute; | |||
right: 0; | |||
top: 0; | |||
content: 'Usage'; | |||
line-height: 1; | |||
padding: 5px 8px; | |||
font-size: 12px; | |||
color: #767676; | |||
background-color: #fff; | |||
border: 1px solid #ccc; | |||
border-right: none; | |||
border-top: none; | |||
border-radius: 0 4px 0 4px; | |||
z-index: 10; | |||
} | |||
/* responsive */ | |||
@media (max-width: 959px) { | |||
.page { | |||
width: auto; | |||
margin: 0; | |||
} | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="page"> | |||
<div class="demo"> | |||
<h1 style="font-family: 'IBM Plex Mono'; font-weight: normal; font-style: normal;">IBM Plex Mono</h1> | |||
<pre>.your-style { | |||
font-family: 'IBM Plex Mono'; | |||
font-weight: normal; | |||
font-style: normal; | |||
}</pre> | |||
<div class="font-container" style="font-family: 'IBM Plex Mono'; font-weight: normal; font-style: normal;"> | |||
<p class="letters"> | |||
abcdefghijklmnopqrstuvwxyz<br> | |||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br> | |||
0123456789.:,;()*!?'@#<>$%&^+-=~ | |||
</p> | |||
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p> | |||
</div> | |||
</div> | |||
<div class="demo"> | |||
<h1 style="font-family: 'IBM Plex Mono'; font-weight: bold; font-style: normal;">IBM Plex Mono Bold</h1> | |||
<pre>.your-style { | |||
font-family: 'IBM Plex Mono'; | |||
font-weight: bold; | |||
font-style: normal; | |||
}</pre> | |||
<div class="font-container" style="font-family: 'IBM Plex Mono'; font-weight: bold; font-style: normal;"> | |||
<p class="letters"> | |||
abcdefghijklmnopqrstuvwxyz<br> | |||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br> | |||
0123456789.:,;()*!?'@#<>$%&^+-=~ | |||
</p> | |||
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@ -0,0 +1,24 @@ | |||
@font-face { | |||
font-family: 'IBM Plex Mono'; | |||
src: url('IBMPlexMono.eot'); | |||
src: url('IBMPlexMono.eot?#iefix') format('embedded-opentype'), | |||
url('IBMPlexMono.woff2') format('woff2'), | |||
url('IBMPlexMono.woff') format('woff'), | |||
url('IBMPlexMono.ttf') format('truetype'); | |||
font-weight: normal; | |||
font-style: normal; | |||
font-display: swap; | |||
} | |||
@font-face { | |||
font-family: 'IBM Plex Mono'; | |||
src: url('IBMPlexMono-Bold.eot'); | |||
src: url('IBMPlexMono-Bold.eot?#iefix') format('embedded-opentype'), | |||
url('IBMPlexMono-Bold.woff2') format('woff2'), | |||
url('IBMPlexMono-Bold.woff') format('woff'), | |||
url('IBMPlexMono-Bold.ttf') format('truetype'); | |||
font-weight: bold; | |||
font-style: normal; | |||
font-display: swap; | |||
} | |||
@ -0,0 +1,25 @@ | |||
<!DOCTYPE html> | |||
<html> | |||
<head lang="en"> | |||
<meta charset="utf-8"> | |||
<title>Tiny Modal | Demo</title> | |||
<link rel="shortcut icon" href="#" /> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css" type="text/css" rel="stylesheet" /> | |||
<link href="https://cdn.jsdelivr.net/npm/reflex-grid@2.0.4/css/reflex.min.css" type="text/css" rel="stylesheet" /> | |||
<link href="css/demo.css" type="text/css" rel="stylesheet" /> | |||
</head> | |||
<body> | |||
<tiny-demo></tiny-demo> | |||
<footer> | |||
<a target="_blank" href="https://github.com/HerrHase/tiny-modal"> | |||
<i class="icon icon-github"></i> | |||
</a> | |||
</footer> | |||
<script src="js/demo.js"></script> | |||
</body> | |||
</html> |
@ -0,0 +1 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="icon-github" viewBox="0 0 32 32"><title>github</title><path d="M16 .396c-8.84 0-16 7.164-16 16 0 7.071 4.584 13.067 10.94 15.18.8.151 1.093-.344 1.093-.769 0-.38-.013-1.387-.02-2.72-4.451.965-5.389-2.147-5.389-2.147-.728-1.847-1.78-2.34-1.78-2.34-1.449-.992.112-.972.112-.972 1.607.112 2.451 1.648 2.451 1.648 1.427 2.447 3.745 1.74 4.66 1.331.144-1.035.556-1.74 1.013-2.14-3.553-.4-7.288-1.776-7.288-7.907 0-1.747.62-3.173 1.647-4.293-.18-.404-.72-2.031.14-4.235 0 0 1.34-.429 4.4 1.64 1.28-.356 2.64-.532 4-.54 1.36.008 2.72.184 4 .54 3.04-2.069 4.38-1.64 4.38-1.64.86 2.204.32 3.831.16 4.235 1.02 1.12 1.64 2.547 1.64 4.293 0 6.147-3.74 7.5-7.3 7.893.56.48 1.08 1.461 1.08 2.96 0 2.141-.02 3.861-.02 4.381 0 .42.28.92 1.1.76C27.42 29.455 32 23.455 32 16.395c0-8.836-7.164-16-16-16z"/></symbol><symbol id="icon-remove" viewBox="0 0 24 24"><title>remove</title><path d="M18 12v-2h2V8h2V4h-2V2h-2v2h-2v2h-2v2h-4V6H8V4H6V2H4v2H2v4h2v2h2v2h2v2H6v2H4v2H2v4h2v2h2v-2h2v-2h2v-2h4v2h2v2h2v2h2v-2h2v-4h-2v-2h-2v-2h-2v-2z"/></symbol></svg> |
@ -0,0 +1,14 @@ | |||
{ | |||
"/dist/js/demo.js": "/dist/js/demo.js", | |||
"/dist/css/demo.css": "/dist/css/demo.css", | |||
"/dist/fonts/demo.html": "/dist/fonts/demo.html", | |||
"/dist/fonts/IBMPlexMono-Bold.eot": "/dist/fonts/IBMPlexMono-Bold.eot", | |||
"/dist/fonts/IBMPlexMono-Bold.ttf": "/dist/fonts/IBMPlexMono-Bold.ttf", | |||
"/dist/fonts/IBMPlexMono-Bold.woff": "/dist/fonts/IBMPlexMono-Bold.woff", | |||
"/dist/fonts/IBMPlexMono-Bold.woff2": "/dist/fonts/IBMPlexMono-Bold.woff2", | |||
"/dist/fonts/IBMPlexMono.eot": "/dist/fonts/IBMPlexMono.eot", | |||
"/dist/fonts/IBMPlexMono.ttf": "/dist/fonts/IBMPlexMono.ttf", | |||
"/dist/fonts/IBMPlexMono.woff": "/dist/fonts/IBMPlexMono.woff", | |||
"/dist/fonts/IBMPlexMono.woff2": "/dist/fonts/IBMPlexMono.woff2", | |||
"/dist/fonts/stylesheet.css": "/dist/fonts/stylesheet.css" | |||
} |
@ -0,0 +1,37 @@ | |||
{ | |||
"name": "tiny-modal", | |||
"version": "1.0.0", | |||
"description": "A simple Modal", | |||
"scripts": { | |||
"dev": "npm run development", | |||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
"watch": "npm run development -- --watch", | |||
"watch-poll": "npm run watch -- --watch-poll", | |||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", | |||
"prod": "npm run production", | |||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" | |||
}, | |||
"repository": { | |||
"type": "git", | |||
"url": "git@github.com:tentakelfabrik/tiny-modal.git" | |||
}, | |||
"author": "Björn Hase", | |||
"license": "MIT", | |||
"devDependencies": { | |||
"@riotjs/compiler": "^4.2.0", | |||
"@riotjs/webpack-loader": "^4.0.0", | |||
"cross-env": "^5.2.0", | |||
"html-webpack-plugin": "^3.2.0", | |||
"laravel-mix": "^4.1.4", | |||
"replace-in-file-webpack-plugin": "^1.0.6", | |||
"resolve-url-loader": "^2.3.1", | |||
"sass": "^1.20.3", | |||
"sass-loader": "^7.1.0", | |||
"svg-spritemap-webpack-plugin": "^3.5.9", | |||
"vue-template-compiler": "^2.6.10" | |||
}, | |||
"dependencies": { | |||
"crispy-css": "^3.0.0", | |||
"riot": "^4.14.0" | |||
} | |||
} |
@ -0,0 +1,233 @@ | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<meta name="robots" content="noindex, noarchive"> | |||
<meta name="format-detection" content="telephone=no"> | |||
<title>Transfonter demo</title> | |||
<link href="stylesheet.css" rel="stylesheet"> | |||
<style> | |||
/* | |||
http://meyerweb.com/eric/tools/css/reset/ | |||
v2.0 | 20110126 | |||
License: none (public domain) | |||
*/ | |||
html, body, div, span, applet, object, iframe, | |||
h1, h2, h3, h4, h5, h6, p, blockquote, pre, | |||
a, abbr, acronym, address, big, cite, code, | |||
del, dfn, em, img, ins, kbd, q, s, samp, | |||
small, strike, strong, sub, sup, tt, var, | |||
b, u, i, center, | |||
dl, dt, dd, ol, ul, li, | |||
fieldset, form, label, legend, | |||
table, caption, tbody, tfoot, thead, tr, th, td, | |||
article, aside, canvas, details, embed, | |||
figure, figcaption, footer, header, hgroup, | |||
menu, nav, output, ruby, section, summary, | |||
time, mark, audio, video { | |||
margin: 0; | |||
padding: 0; | |||
border: 0; | |||
font-size: 100%; | |||
font: inherit; | |||
vertical-align: baseline; | |||
} | |||
/* HTML5 display-role reset for older browsers */ | |||
article, aside, details, figcaption, figure, | |||
footer, header, hgroup, menu, nav, section { | |||
display: block; | |||
} | |||
body { | |||
line-height: 1; | |||
} | |||
ol, ul { | |||
list-style: none; | |||
} | |||
blockquote, q { | |||
quotes: none; | |||
} | |||
blockquote:before, blockquote:after, | |||
q:before, q:after { | |||
content: ''; | |||
content: none; | |||
} | |||
table { | |||
border-collapse: collapse; | |||
border-spacing: 0; | |||
} | |||
/* demo styles */ | |||
body { | |||
background: #f0f0f0; | |||
color: #000; | |||
} | |||
.page { | |||
background: #fff; | |||
width: 920px; | |||
margin: 0 auto; | |||
padding: 20px 20px 0 20px; | |||
overflow: hidden; | |||
} | |||
.font-container { | |||
overflow-x: auto; | |||
overflow-y: hidden; | |||
margin-bottom: 40px; | |||
line-height: 1.3; | |||
white-space: nowrap; | |||
padding-bottom: 5px; | |||
} | |||
h1 { | |||
position: relative; | |||
background: #444; | |||
font-size: 32px; | |||
color: #fff; | |||
padding: 10px 20px; | |||
margin: 0 -20px 12px -20px; | |||
} | |||
.letters { | |||
font-size: 25px; | |||
margin-bottom: 20px; | |||
} | |||
.s10:before { | |||
content: '10px'; | |||
} | |||
.s11:before { | |||
content: '11px'; | |||
} | |||
.s12:before { | |||
content: '12px'; | |||
} | |||
.s14:before { | |||
content: '14px'; | |||
} | |||
.s18:before { | |||
content: '18px'; | |||
} | |||
.s24:before { | |||
content: '24px'; | |||
} | |||
.s30:before { | |||
content: '30px'; | |||
} | |||
.s36:before { | |||
content: '36px'; | |||
} | |||
.s48:before { | |||
content: '48px'; | |||
} | |||
.s60:before { | |||
content: '60px'; | |||
} | |||
.s72:before { | |||
content: '72px'; | |||
} | |||
.s10:before, .s11:before, .s12:before, .s14:before, | |||
.s18:before, .s24:before, .s30:before, .s36:before, | |||
.s48:before, .s60:before, .s72:before { | |||
font-family: Arial, sans-serif; | |||
font-size: 10px; | |||
font-weight: normal; | |||
font-style: normal; | |||
color: #999; | |||
padding-right: 6px; | |||
} | |||
pre { | |||
display: block; | |||
position: relative; | |||
padding: 9px; | |||
margin: 0 0 10px; | |||
font-family: Monaco, Menlo, Consolas, "Courier New", monospace; | |||
font-size: 13px; | |||
line-height: 1.428571429; | |||
color: #333; | |||
font-weight: normal; | |||
font-style: normal; | |||
background-color: #f5f5f5; | |||
border: 1px solid #ccc; | |||
overflow-x: auto; | |||
border-radius: 4px; | |||
} | |||
pre:after { | |||
display: block; | |||
position: absolute; | |||
right: 0; | |||
top: 0; | |||
content: 'Usage'; | |||
line-height: 1; | |||
padding: 5px 8px; | |||
font-size: 12px; | |||
color: #767676; | |||
background-color: #fff; | |||
border: 1px solid #ccc; | |||
border-right: none; | |||
border-top: none; | |||
border-radius: 0 4px 0 4px; | |||
z-index: 10; | |||
} | |||
/* responsive */ | |||
@media (max-width: 959px) { | |||
.page { | |||
width: auto; | |||
margin: 0; | |||
} | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="page"> | |||
<div class="demo"> | |||
<h1 style="font-family: 'IBM Plex Mono'; font-weight: normal; font-style: normal;">IBM Plex Mono</h1> | |||
<pre>.your-style { | |||
font-family: 'IBM Plex Mono'; | |||
font-weight: normal; | |||
font-style: normal; | |||
}</pre> | |||
<div class="font-container" style="font-family: 'IBM Plex Mono'; font-weight: normal; font-style: normal;"> | |||
<p class="letters"> | |||
abcdefghijklmnopqrstuvwxyz<br> | |||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br> | |||
0123456789.:,;()*!?'@#<>$%&^+-=~ | |||
</p> | |||
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p> | |||
</div> | |||
</div> | |||
<div class="demo"> | |||
<h1 style="font-family: 'IBM Plex Mono'; font-weight: bold; font-style: normal;">IBM Plex Mono Bold</h1> | |||
<pre>.your-style { | |||
font-family: 'IBM Plex Mono'; | |||
font-weight: bold; | |||
font-style: normal; | |||
}</pre> | |||
<div class="font-container" style="font-family: 'IBM Plex Mono'; font-weight: bold; font-style: normal;"> | |||
<p class="letters"> | |||
abcdefghijklmnopqrstuvwxyz<br> | |||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br> | |||
0123456789.:,;()*!?'@#<>$%&^+-=~ | |||
</p> | |||
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p> | |||
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@ -0,0 +1,24 @@ | |||
@font-face { | |||
font-family: 'IBM Plex Mono'; | |||
src: url('IBMPlexMono.eot'); | |||
src: url('IBMPlexMono.eot?#iefix') format('embedded-opentype'), | |||
url('IBMPlexMono.woff2') format('woff2'), | |||
url('IBMPlexMono.woff') format('woff'), | |||
url('IBMPlexMono.ttf') format('truetype'); | |||
font-weight: normal; | |||
font-style: normal; | |||
font-display: swap; | |||
} | |||
@font-face { | |||
font-family: 'IBM Plex Mono'; | |||
src: url('IBMPlexMono-Bold.eot'); | |||
src: url('IBMPlexMono-Bold.eot?#iefix') format('embedded-opentype'), | |||
url('IBMPlexMono-Bold.woff2') format('woff2'), | |||
url('IBMPlexMono-Bold.woff') format('woff'), | |||
url('IBMPlexMono-Bold.ttf') format('truetype'); | |||
font-weight: bold; | |||
font-style: normal; | |||
font-display: swap; | |||
} | |||
@ -0,0 +1,5 @@ | |||
<!-- Generated by IcoMoon.io --> | |||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"> | |||
<title>github</title> | |||
<path d="M16 0.396c-8.84 0-16 7.164-16 16 0 7.071 4.584 13.067 10.94 15.18 0.8 0.151 1.093-0.344 1.093-0.769 0-0.38-0.013-1.387-0.020-2.72-4.451 0.965-5.389-2.147-5.389-2.147-0.728-1.847-1.78-2.34-1.78-2.34-1.449-0.992 0.112-0.972 0.112-0.972 1.607 0.112 2.451 1.648 2.451 1.648 1.427 2.447 3.745 1.74 4.66 1.331 0.144-1.035 0.556-1.74 1.013-2.14-3.553-0.4-7.288-1.776-7.288-7.907 0-1.747 0.62-3.173 1.647-4.293-0.18-0.404-0.72-2.031 0.14-4.235 0 0 1.34-0.429 4.4 1.64 1.28-0.356 2.64-0.532 4-0.54 1.36 0.008 2.72 0.184 4 0.54 3.040-2.069 4.38-1.64 4.38-1.64 0.86 2.204 0.32 3.831 0.16 4.235 1.020 1.12 1.64 2.547 1.64 4.293 0 6.147-3.74 7.5-7.3 7.893 0.56 0.48 1.080 1.461 1.080 2.96 0 2.141-0.020 3.861-0.020 4.381 0 0.42 0.28 0.92 1.1 0.76 6.401-2.099 10.981-8.099 10.981-15.159 0-8.836-7.164-16-16-16z"></path> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<!-- Generated by IcoMoon.io --> | |||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> | |||
<title>remove</title> | |||
<path d="M18 12v-2h2v-2h2v-4h-2v-2h-2v2h-2v2h-2v2h-4v-2h-2v-2h-2v-2h-2v2h-2v4h2v2h2v2h2v2h-2v2h-2v2h-2v4h2v2h2v-2h2v-2h2v-2h4v2h2v2h2v2h2v-2h2v-4h-2v-2h-2v-2h-2v-2z"></path> | |||
</svg> |
@ -0,0 +1,44 @@ | |||
<tiny-demo> | |||
<div class="demo"> | |||
<tiny-modal title="My Modal" id="my-modal"> | |||
<pre> | |||
*-*, | |||
,*\/|`| \ | |||
\' | |'| *, | |||
\ `| | |/ ) | |||
| |'| , / | |||
|'| |, / | |||
__|_|_|_|__ | |||
[___________] | |||
| | | |||
| | | |||
| | | |||
|_________| | |||
</pre> | |||
<button type="button" onclick={ () => closeModal('my-modal') }> | |||
Cancel | |||
</button> | |||
</tiny-modal> | |||
<button type="button" class="button" onclick={ () => openModal('my-modal') }> | |||
Open | |||
</button> | |||
</div> | |||
<script> | |||
import tinyModalMixin from './tiny-modal-mixin.js' | |||
/** | |||
* | |||
* | |||
* @author Björn Hase | |||
* | |||
*/ | |||
export default () => { | |||
return { | |||
...tinyModalMixin | |||
} | |||
} | |||
</script> | |||
</tiny-demo> |
@ -0,0 +1,45 @@ | |||
/** | |||
* | |||
* | |||
* @author Björn Hase | |||
* | |||
*/ | |||
export default { | |||
/** | |||
* | |||
* | |||
* @param {string} id | |||
* | |||
*/ | |||
openModal(id) { | |||
this.__dispatchModal(id, 'open') | |||
}, | |||
/** | |||
* | |||
* | |||
* @param {string} id | |||
* | |||
*/ | |||
closeModal(id) { | |||
this.__dispatchModal(id, 'close') | |||
}, | |||
/** | |||
* | |||
* | |||
* @param {[type]} id [description] | |||
* @param {[type]} type [description] | |||
* | |||
*/ | |||
__dispatchModal(id, type) { | |||
const destination = document.getElementById(id) | |||
if (destination) { | |||
destination.dispatchEvent(new CustomEvent(type)) | |||
} | |||
} | |||
} |
@ -0,0 +1,57 @@ | |||
<tiny-modal> | |||
<div class="modal"> | |||
<header class="modal__header"> | |||
<span class="modal__title" if={ props.title }> | |||
{ props.title } | |||
</span> | |||
<button type="button" class="modal__button" onclick={ handleClose }> | |||
❌ | |||
</button> | |||
</header> | |||
<div class="modal__body"> | |||
<slot /> | |||
</div> | |||
</div> | |||
<div class="modal-layer" onclick={ handleClose }></div> | |||
<script> | |||
/** | |||
* | |||
* | |||
* | |||
* | |||
*/ | |||
export default { | |||
onMounted() { | |||
this.root.addEventListener('open', this.__open) | |||
this.root.addEventListener('close', this.__close) | |||
}, | |||
__open() { | |||
this.$('.modal').classList.add('modal--transition-enter') | |||
this.$('.modal-layer').classList.add('modal-layer--transition-enter') | |||
this.update() | |||
}, | |||
__close() { | |||
this.$('.modal').classList.remove('modal--transition-enter') | |||
this.$('.modal-layer').classList.remove('modal-layer--transition-enter') | |||
this.update() | |||
}, | |||
/** | |||
* | |||
* | |||
* @param {object} event | |||
* | |||
*/ | |||
handleClose(event) { | |||
event.preventDefault() | |||
this.__close() | |||
} | |||
} | |||
</script> | |||
</tiny-modal> |
@ -0,0 +1,42 @@ | |||
const mix = require('laravel-mix') | |||
const SvgSpritemapPlugin = require('svg-spritemap-webpack-plugin') | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Mix Asset Management | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Mix provides a clean, fluent API for defining some Webpack build steps | |||
| for your Laravel application. By default, we are compiling the Sass | |||
| file for the application as well as bundling up all the JS files. | |||
| | |||
*/ | |||
mix.webpackConfig({ | |||
plugins: [ | |||
new SvgSpritemapPlugin('assets/icons/*.svg', { | |||
output: { | |||
filename: 'dist/symbol-defs.svg' | |||
}, | |||
sprite: { | |||
prefix: 'icon-' | |||
} | |||
}) | |||
], | |||
module: { | |||
rules: [{ | |||
test: /\.riot$/, | |||
exclude: /node_modules/, | |||
use: [{ | |||
loader: '@riotjs/webpack-loader', | |||
query: { | |||
hot: false | |||
} | |||
}] | |||
} | |||
]} | |||
}) | |||
mix.js('demo.js', 'dist/js') | |||
mix.copy('src/fonts/*', 'dist/fonts') | |||
mix.sass('demo.scss', 'dist/css') |