@ -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') |