Browse Source

adding

master
Björn 3 years ago
commit
b79a8d6c24
44 changed files with 11330 additions and 0 deletions
  1. +1
    -0
      .gitignore
  2. +9
    -0
      demo.js
  3. +78
    -0
      demo.scss
  4. +1
    -0
      dist/css/demo.css
  5. BIN
      dist/fonts/IBMPlexMono-Bold.eot
  6. BIN
      dist/fonts/IBMPlexMono-Bold.ttf
  7. BIN
      dist/fonts/IBMPlexMono-Bold.woff
  8. BIN
      dist/fonts/IBMPlexMono-Bold.woff2
  9. BIN
      dist/fonts/IBMPlexMono.eot
  10. BIN
      dist/fonts/IBMPlexMono.ttf
  11. BIN
      dist/fonts/IBMPlexMono.woff
  12. BIN
      dist/fonts/IBMPlexMono.woff2
  13. +233
    -0
      dist/fonts/demo.html
  14. +24
    -0
      dist/fonts/stylesheet.css
  15. +25
    -0
      dist/index.html
  16. +1
    -0
      dist/js/demo.js
  17. +1
    -0
      dist/symbol-defs.svg
  18. BIN
      fonts/IBMPlexMono-Bold.eot
  19. BIN
      fonts/IBMPlexMono-Bold.ttf
  20. BIN
      fonts/IBMPlexMono-Bold.woff
  21. BIN
      fonts/IBMPlexMono-Bold.woff2
  22. BIN
      fonts/IBMPlexMono.eot
  23. BIN
      fonts/IBMPlexMono.ttf
  24. BIN
      fonts/IBMPlexMono.woff
  25. BIN
      fonts/IBMPlexMono.woff2
  26. +14
    -0
      mix-manifest.json
  27. +10451
    -0
      package-lock.json
  28. +37
    -0
      package.json
  29. BIN
      src/fonts/IBMPlexMono-Bold.eot
  30. BIN
      src/fonts/IBMPlexMono-Bold.ttf
  31. BIN
      src/fonts/IBMPlexMono-Bold.woff
  32. BIN
      src/fonts/IBMPlexMono-Bold.woff2
  33. BIN
      src/fonts/IBMPlexMono.eot
  34. BIN
      src/fonts/IBMPlexMono.ttf
  35. BIN
      src/fonts/IBMPlexMono.woff
  36. BIN
      src/fonts/IBMPlexMono.woff2
  37. +233
    -0
      src/fonts/demo.html
  38. +24
    -0
      src/fonts/stylesheet.css
  39. +5
    -0
      src/icons/github.svg
  40. +5
    -0
      src/icons/remove.svg
  41. +44
    -0
      src/tiny-demo.riot
  42. +45
    -0
      src/tiny-modal-mixin.js
  43. +57
    -0
      src/tiny-modal.riot
  44. +42
    -0
      webpack.mix.js

+ 1
- 0
.gitignore View File

@ -0,0 +1 @@
node_modules

+ 9
- 0
demo.js View File

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

+ 78
- 0
demo.scss View File

@ -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;
}
}
//

+ 1
- 0
dist/css/demo.css
File diff suppressed because it is too large
View File


BIN
dist/fonts/IBMPlexMono-Bold.eot View File


BIN
dist/fonts/IBMPlexMono-Bold.ttf View File


BIN
dist/fonts/IBMPlexMono-Bold.woff View File


BIN
dist/fonts/IBMPlexMono-Bold.woff2 View File


BIN
dist/fonts/IBMPlexMono.eot View File


BIN
dist/fonts/IBMPlexMono.ttf View File


BIN
dist/fonts/IBMPlexMono.woff View File


BIN
dist/fonts/IBMPlexMono.woff2 View File


+ 233
- 0
dist/fonts/demo.html View File

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

+ 24
- 0
dist/fonts/stylesheet.css View File

@ -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;
}

+ 25
- 0
dist/index.html View File

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

+ 1
- 0
dist/js/demo.js
File diff suppressed because it is too large
View File


+ 1
- 0
dist/symbol-defs.svg View File

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

BIN
fonts/IBMPlexMono-Bold.eot View File


BIN
fonts/IBMPlexMono-Bold.ttf View File


BIN
fonts/IBMPlexMono-Bold.woff View File


BIN
fonts/IBMPlexMono-Bold.woff2 View File


BIN
fonts/IBMPlexMono.eot View File


BIN
fonts/IBMPlexMono.ttf View File


BIN
fonts/IBMPlexMono.woff View File


BIN
fonts/IBMPlexMono.woff2 View File


+ 14
- 0
mix-manifest.json View File

@ -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"
}

+ 10451
- 0
package-lock.json
File diff suppressed because it is too large
View File


+ 37
- 0
package.json View File

@ -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"
}
}

BIN
src/fonts/IBMPlexMono-Bold.eot View File


BIN
src/fonts/IBMPlexMono-Bold.ttf View File


BIN
src/fonts/IBMPlexMono-Bold.woff View File


BIN
src/fonts/IBMPlexMono-Bold.woff2 View File


BIN
src/fonts/IBMPlexMono.eot View File


BIN
src/fonts/IBMPlexMono.ttf View File


BIN
src/fonts/IBMPlexMono.woff View File


BIN
src/fonts/IBMPlexMono.woff2 View File


+ 233
- 0
src/fonts/demo.html View File

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

+ 24
- 0
src/fonts/stylesheet.css View File

@ -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;
}

+ 5
- 0
src/icons/github.svg View File

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

+ 5
- 0
src/icons/remove.svg View File

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

+ 44
- 0
src/tiny-demo.riot View File

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

+ 45
- 0
src/tiny-modal-mixin.js View File

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

+ 57
- 0
src/tiny-modal.riot View File

@ -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 }>
&#x274C;
</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>

+ 42
- 0
webpack.mix.js View File

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

Loading…
Cancel
Save