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