@fraziersoft/wisp 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,9 +5,7 @@
5
5
  <a href="https://github.com/Frazier-Software/wisp">
6
6
  <img src="private/logo.png" alt="Logo" width="254" height="258">
7
7
  </a>
8
-
9
- <h3 align="center">Wisp</h3>
10
-
8
+ <h3 align="center">Wisp</h3>
11
9
  <p align="center">
12
10
  A dead simple CSS boilerplate.
13
11
  <br />
package/dist/wisp.css CHANGED
@@ -1,8 +1,10 @@
1
+ /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
2
+ *,::after,::before{box-sizing:border-box}html{font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}
1
3
  /*
2
- * Wisp v1.0.0
4
+ * Wisp v2.0.1
3
5
  * https://wisp.frazier.software/
4
6
  *
5
- * Copyright (c) 2024 Chris Frazier
7
+ * Copyright (c) 2025 Chris Frazier
6
8
  * Licensed under the MIT license
7
9
  */
8
- :root{--color-bg:#FDFDFD;--color-font:#222;--color-font-light:#FFF;--color-primary:#1EAEDB;--color-primary-light:#33C3F0;--color-primary-dark:#0FA0CE;--color-secondary:#B90E0A;--color-secondary-light:#D21404;--color-secondary-dark:#990F02;--color-neutral-1:#F1F1F1;--color-neutral-2:#D1D1D1;--color-neutral-3:#BBB;--color-neutral-4:#888;--color-neutral-5:#555;--color-neutral-6:#333;--font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;--border-radius:4px}html{font-size:62.5%}body{background:var(--color-bg);font-size:1.6em;line-height:1.6;font-weight:400;font-family:var(--font-family);color:var(--color-font)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:2rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.6rem;line-height:1.6;letter-spacing:0;font-weight:400}@media (min-width:640px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2.4rem}h6{font-size:1.6rem}}p{margin-top:0}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}.btn,button:not(.hljs-copy-button),input[type=button],input[type=reset],input[type=submit]{display:inline-block;height:38px;padding:0 30px;color:var(--color-neutral-5);text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:transparent;border-radius:var(--border-radius);border:1px solid var(--color-neutral-3);cursor:pointer;box-sizing:border-box;transition:background .4s,color .4s}.btn:hover,button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{color:var(--color-neutral-6);border-color:var(--color-neutral-4);outline:0}.btn.btn--primary,button.btn--primary,input[type=button].btn--primary,input[type=reset].btn--primary,input[type=submit].btn--primary{color:var(--color-font-light);background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.btn.btn--primary:hover,button.btn--primary:hover,input[type=button].btn--primary:hover,input[type=reset].btn--primary:hover,input[type=submit].btn--primary:hover{color:var(--color-font-light);background-color:var(--color-primary);border-color:var(--color-primary)}.btn.btn--warning,button.btn--warning,input[type=button].btn--warning,input[type=reset].btn--warning,input[type=submit].btn--warning{color:var(--color-secondary-light);border-color:var(--color-secondary-light)}.btn.btn--warning:hover,button.btn--warning:hover,input[type=button].btn--warning:hover,input[type=reset].btn--warning:hover,input[type=submit].btn--warning:hover{color:var(--color-secondary-dark);border-color:var(--color-secondary-dark)}.btn.btn--danger,button.btn--danger,input[type=button].btn--danger,input[type=reset].btn--danger,input[type=submit].btn--danger{color:var(--color-font-light);background:var(--color-secondary-light);border-color:var(--color-secondary-light)}.btn.btn--danger:hover,button.btn--danger:hover,input[type=button].btn--danger:hover,input[type=reset].btn--danger:hover,input[type=submit].btn--danger:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.btn--ripple{position:relative;overflow:hidden}.btn--ripple .ripple{position:absolute;border-radius:50%;background-color:rgba(255,255,255,.4);transform:scale(0);animation:ripple .6s linear}@keyframes ripple{to{transform:scale(4);opacity:0}}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{height:38px;padding:6px 10px;background-color:var(--color-bg);border:1px solid var(--color-neutral-2);border-radius:var(--border-radius);box-shadow:none;box-sizing:border-box}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:65px;padding-top:6px;padding-bottom:6px}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border:1px solid var(--color-primary-light);outline:0}label,legend{display:block;margin-bottom:.5rem;font-weight:600}fieldset{padding:0;border-width:0}input[type=checkbox],input[type=radio]{display:inline}label>.label-body{display:inline-block;cursor:pointer;margin-left:.5rem;font-weight:400}.toggle{font-size:61%;position:relative;top:.2em}.toggle input[type=checkbox]{appearance:none;position:relative;display:inline-block;box-sizing:content-box;width:4.5em;height:2em;padding:.2em;margin-bottom:0;border:none;cursor:pointer;border-radius:1.5em;overflow:hidden;background-color:var(--color-neutral-4);transition:background ease .3s}.toggle input[type=checkbox]:before{content:"on off";display:block;position:absolute;z-index:2;width:2em;height:2em;font-family:system-ui;font-size:1em;line-height:2em;font-weight:500;text-transform:uppercase;text-indent:-2em;word-spacing:2.55em;text-shadow:-1px -1px rgba(0,0,0,.15);white-space:nowrap;background:var(--color-font-light);color:var(--color-font-light);border-radius:1.5em;transition:transform cubic-bezier(.3, 1.5, .7, 1) .3s}.toggle input[type=checkbox]:checked{background-color:var(--color-primary-light)}.toggle input[type=checkbox]:checked:before{transform:translateX(2.5em)}.accordion-tab{border:1px solid var(--color-neutral-2);border-radius:var(--border-radius);margin-bottom:.5rem}.accordion-tab input{display:none}.accordion-tab label{display:flex;justify-content:space-between;margin-bottom:0;padding:5px 5px 5px 10px;cursor:pointer}.accordion-tab:not(.accordion-tab--close) label::after{content:"\276F";color:var(--color-neutral-5);width:1em;height:1em;text-align:center}.accordion-tab:not(.accordion-tab--close) input:checked+label::after{transform:rotate(90deg)}.accordion-tab.accordion-tab--close{border:none;margin-top:12px}.accordion-tab.accordion-tab--close label{font-size:75%;padding:0 0 0 10px}.accordion-content{max-height:0;overflow:hidden;padding:0 5px 0 10px;transition:max-height 650ms}.accordion-content p{margin-bottom:10px}.accordion-content p:first-child{margin-top:15px}.accordion-tab input:checked~.accordion-content{max-height:500rem}ul{list-style:circle inside}ol{list-style:decimal inside}ol,ul{padding-left:0;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem}li{margin-bottom:1rem}code{padding:2px 5px;margin:0 2px;font-size:90%;white-space:nowrap;background:var(--color-neutral-1);border:1px solid var(--color-neutral-2);border-radius:var(--border-radius)}pre>code{display:block;padding:10px 15px;white-space:pre}td,th{padding:12px 15px;text-align:left;border-bottom:1px solid var(--color-neutral-2)}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.tooltip{cursor:help;border-bottom:1px dotted var(--color-neutral-5);position:relative}.tooltip::after,.tooltip::before{position:absolute;left:50%;opacity:0;z-index:-100}.tooltip:focus::after,.tooltip:focus::before,.tooltip:hover::after,.tooltip:hover::before{opacity:1;transform:scale(1) translateY(0);z-index:100}.tooltip::before{content:"";border-style:solid;border-width:1em .75em 0 .75em;border-color:var(--color-neutral-6) transparent transparent transparent;bottom:100%;margin-left:-.5em;transition:all .65s cubic-bezier(.84, -.18, .31, 1.26),opacity .65s .5s;transform:scale(.6) translateY(-90%)}.tooltip:focus::before,.tooltip:hover::before{transition:all .65s cubic-bezier(.84,-.18,.31,1.26) .2s}.tooltip::after{background:var(--color-neutral-6);border-radius:var(--border-radius);bottom:180%;color:var(--color-font-light);content:attr(data-tip);margin-left:-8.75em;padding:1em;transition:all .65s cubic-bezier(.84,-.18,.31,1.26) .2s;transform:scale(.6) translateY(50%);font-size:.9em;width:16em}.tooltip:focus::after,.tooltip:hover::after{transition:all .65s cubic-bezier(.84,-.18,.31,1.26)}.tooltip.tooltip--sm::after{font-size:.75em;margin-left:-5em;width:10em}@media (max-width:768px){.tooltip::after{font-size:.75em;margin-left:-5em;width:10em}}.btn,button:not(.hljs-copy-button){margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}hr{margin-top:30px;margin-bottom:35px;border-width:0;border-top:1px solid var(--color-neutral-2)}#back-to-top{display:inline-block;background-color:var(--color-primary-light);width:50px;height:50px;text-align:center;border-radius:var(--border-radius);position:fixed;bottom:30px;right:30px;transition:background-color .3s,opacity .5s,visibility .5s;opacity:0;visibility:hidden;z-index:1000}#back-to-top::after{content:"\276F";font-weight:400;font-style:normal;font-size:32px;line-height:50px;color:var(--color-bg);display:inline-block;transform:rotate(270deg)}#back-to-top:active,#back-to-top:hover{cursor:pointer;background-color:var(--color-primary)}#back-to-top.back-to-top--show{opacity:1;visibility:visible}.u-full{width:100%;box-sizing:border-box}.u-max{max-width:100%;box-sizing:border-box}.u-m0{margin:0}.u-mt0{margin-top:0}.u-mb0{margin-bottom:0}.u-ml0{margin-left:0}.u-mr0{margin-right:0}.u-p0{padding:0}.u-pt0{padding-top:0}.u-pb0{padding-bottom:0}.u-pl0{padding-left:0}.u-pr0{padding-right:0}@media (min-width:640px){.sm-hide{display:none!important}}@media (max-width:639px){.sm-show{display:none!important}}@media (min-width:768px){.md-hide{display:none!important}}@media (max-width:767px){.md-show{display:none!important}}@media (min-width:1024px){.lg-hide{display:none!important}}@media (max-width:1023px){.lg-show{display:none!important}}@media (min-width:1280px){.xl-hide{display:none!important}}@media (max-width:1279px){.xl-show{display:none!important}}@media (min-width:1536px){.xxl-hide{display:none!important}}@media (max-width:1535px){.xxl-show{display:none!important}}
10
+ :root{--color-bg:#fdfdfd;--color-font:#222;--color-font-light:#fff;--color-primary:#1eaedb;--color-primary-light:#33c3f0;--color-primary-dark:#0fa0ce;--color-secondary:#b90e0a;--color-secondary-light:#d21404;--color-secondary-dark:#990f02;--color-neutral-1:#f1f1f1;--color-neutral-2:#d1d1d1;--color-neutral-3:#bbb;--color-neutral-4:#888;--color-neutral-5:#555;--color-neutral-6:#333;--font-family:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;--border-radius:4px}html{font-size:62.5%}body{background:var(--color-bg);font-size:1.6em;font-weight:400;line-height:1.6;font-family:var(--font-family);color:var(--color-font)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:2rem;font-weight:300}h1{letter-spacing:-.1rem;font-size:4rem;line-height:1.2}h2{letter-spacing:-.1rem;font-size:3.6rem;line-height:1.25}h3{letter-spacing:-.1rem;font-size:3rem;line-height:1.3}h4{letter-spacing:-.08rem;font-size:2.4rem;line-height:1.35}h5{letter-spacing:-.05rem;font-size:1.8rem;line-height:1.5}h6{letter-spacing:0;font-size:1.6rem;font-weight:400;line-height:1.6}@media (width>=640px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2.4rem}h6{font-size:1.6rem}}p{margin-top:0}a{color:var(--color-primary);&:hover{color:var(--color-primary-dark)}}.btn,button:not(.hljs-copy-button),input[type=submit],input[type=reset],input[type=button]{height:38px;color:var(--color-neutral-5);text-align:center;letter-spacing:.1rem;text-transform:uppercase;white-space:nowrap;border-radius:var(--border-radius);border:1px solid var(--color-neutral-3);cursor:pointer;box-sizing:border-box;background-color:#0000;padding:0 30px;font-size:11px;font-weight:600;line-height:38px;text-decoration:none;transition:background .4s,color .4s;display:inline-block}.btn:hover,button:hover,input[type=submit]:hover,input[type=reset]:hover,input[type=button]:hover{color:var(--color-neutral-6);border-color:var(--color-neutral-4);outline:0}.btn.btn\:primary,button.btn\:primary,input[type=submit].btn\:primary,input[type=reset].btn\:primary,input[type=button].btn\:primary{color:var(--color-font-light);background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.btn.btn\:primary:hover,button.btn\:primary:hover,input[type=submit].btn\:primary:hover,input[type=reset].btn\:primary:hover,input[type=button].btn\:primary:hover{color:var(--color-font-light);background-color:var(--color-primary);border-color:var(--color-primary)}.btn.btn\:warning,button.btn\:warning,input[type=submit].btn\:warning,input[type=reset].btn\:warning,input[type=button].btn\:warning{color:var(--color-secondary-light);border-color:var(--color-secondary-light)}.btn.btn\:warning:hover,button.btn\:warning:hover,input[type=submit].btn\:warning:hover,input[type=reset].btn\:warning:hover,input[type=button].btn\:warning:hover{color:var(--color-secondary-dark);border-color:var(--color-secondary-dark)}.btn.btn\:danger,button.btn\:danger,input[type=submit].btn\:danger,input[type=reset].btn\:danger,input[type=button].btn\:danger{color:var(--color-font-light);background:var(--color-secondary-light);border-color:var(--color-secondary-light)}.btn.btn\:danger:hover,button.btn\:danger:hover,input[type=submit].btn\:danger:hover,input[type=reset].btn\:danger:hover,input[type=button].btn\:danger:hover{background:var(--color-secondary);border-color:var(--color-secondary)}.btn\:ripple{position:relative;overflow:hidden;& .ripple{background-color:#fff6;border-radius:50%;animation:.6s linear ripple;position:absolute;transform:scale(0)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}input[type=email],input[type=number],input[type=search],input[type=text],input[type=tel],input[type=url],input[type=password],textarea,select{background-color:var(--color-bg);border:1px solid var(--color-neutral-2);border-radius:var(--border-radius);height:38px;box-shadow:none;box-sizing:border-box;padding:6px 10px}input[type=email],input[type=number],input[type=search],input[type=text],input[type=tel],input[type=url],input[type=password],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:65px;padding-top:6px;padding-bottom:6px}input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=text]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=password]:focus,textarea:focus,select:focus{border:1px solid var(--color-primary-light);outline:0}label,legend{margin-bottom:.5rem;font-weight:600;display:block}fieldset{border-width:0;padding:0}input[type=checkbox],input[type=radio]{display:inline}label>.label-body{cursor:pointer;margin-left:.5rem;font-weight:400;display:inline-block}.toggle{font-size:61%;position:relative;top:.2em;& input[type=checkbox]{appearance:none;box-sizing:content-box;cursor:pointer;background-color:var(--color-neutral-4);border:none;border-radius:1.5em;width:4.5em;height:2em;margin-bottom:0;padding:.2em;transition:background .3s;display:inline-block;position:relative;overflow:hidden}& input[type=checkbox]:before{content:"on off";z-index:2;text-transform:uppercase;text-indent:-2em;word-spacing:2.55em;text-shadow:-1px -1px #00000026;white-space:nowrap;background:var(--color-font-light);width:2em;height:2em;color:var(--color-font-light);border-radius:1.5em;font-family:system-ui;font-size:1em;font-weight:500;line-height:2em;transition:transform .3s cubic-bezier(.3,1.5,.7,1);display:block;position:absolute}& input[type=checkbox]:checked{background-color:var(--color-primary-light)}& input[type=checkbox]:checked:before{transform:translate(2.5em)}}.accordion-tab{border:1px solid var(--color-neutral-2);border-radius:var(--border-radius);margin-bottom:.5rem;& input{display:none}& label{cursor:pointer;justify-content:space-between;margin-bottom:0;padding:5px 5px 5px 10px;display:flex}&.accordion-tab\:close{border:none;margin-top:12px}&.accordion-tab\:close label{padding:0 0 0 10px;font-size:75%}&:not(.accordion-tab\:close) label:after{content:"❯";color:var(--color-neutral-5);text-align:center;width:1em;height:1em}&:not(.accordion-tab\:close) input:checked+label:after{transform:rotate(90deg)}}.accordion-content{max-height:0;padding:0 5px 0 10px;transition:max-height .65s;overflow:hidden;& p{margin-bottom:10px}& p:first-child{margin-top:15px}}.accordion-tab input:checked~.accordion-content{max-height:500rem}ul{list-style:inside circle}ol{list-style:inside decimal}ol,ul{margin-top:0;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin:1.5rem 0 1.5rem 3rem}li{margin-bottom:1rem}code{white-space:nowrap;background:var(--color-neutral-1);border:1px solid var(--color-neutral-2);border-radius:var(--border-radius);margin:0 2px;padding:2px 5px;font-size:90%}pre>code{white-space:pre;padding:10px 15px;display:block}th,td{text-align:left;border-bottom:1px solid var(--color-neutral-2);padding:12px 15px}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}.tooltip{cursor:help;border-bottom:1px dotted var(--color-neutral-5);position:relative}.tooltip:before,.tooltip:after{opacity:0;z-index:-100;position:absolute;left:50%}.tooltip:hover:before,.tooltip:focus:before,.tooltip:hover:after,.tooltip:focus:after{opacity:1;z-index:100;transform:scale(1)translateY(0)}.tooltip:before{content:"";border-style:solid;border-width:1em .75em 0;border-color:var(--color-neutral-6)transparent transparent transparent;margin-left:-.5em;transition:all .65s cubic-bezier(.84,-.18,.31,1.26),opacity .65s .5s;bottom:100%;transform:scale(.6)translateY(-90%)}.tooltip:hover:before,.tooltip:focus:before{transition:all .65s cubic-bezier(.84,-.18,.31,1.26) .2s}.tooltip:after{background:var(--color-neutral-6);border-radius:var(--border-radius);color:var(--color-font-light);content:attr(data-tip);width:16em;margin-left:-8.75em;padding:1em;font-size:.9em;transition:all .65s cubic-bezier(.84,-.18,.31,1.26) .2s;bottom:180%;transform:scale(.6)translateY(50%)}.tooltip:hover:after,.tooltip:focus:after{transition:all .65s cubic-bezier(.84,-.18,.31,1.26)}.tooltip.tooltip\:sm:after{width:10em;margin-left:-5em;font-size:.75em}@media (width<=768px){.tooltip:after{width:10em;margin-left:-5em;font-size:.75em}}button:not(.hljs-copy-button),.btn{margin-bottom:1rem}input,textarea,select,fieldset{margin-bottom:1.5rem}pre,blockquote,dl,figure,table,p,ul,ol,form{margin-bottom:2.5rem}hr{border-width:0;border-top:1px solid var(--color-neutral-2);margin-top:30px;margin-bottom:35px}#back-to-top{background-color:var(--color-primary-light);text-align:center;border-radius:var(--border-radius);opacity:0;visibility:hidden;z-index:1000;width:50px;height:50px;transition:background-color .3s,opacity .5s,visibility .5s;display:inline-block;position:fixed;bottom:30px;right:30px;&:after{content:"❯";color:var(--color-bg);font-size:32px;font-style:normal;font-weight:400;line-height:50px;display:inline-block;transform:rotate(270deg)}&:hover,&:active{cursor:pointer;background-color:var(--color-primary)}&.back-to-top\:show{opacity:1;visibility:visible}}.u-full{box-sizing:border-box;width:100%}.u-max{box-sizing:border-box;max-width:100%}.u-m0{margin:0}.u-mt0{margin-top:0}.u-mb0{margin-bottom:0}.u-ml0{margin-left:0}.u-mr0{margin-right:0}.u-p0{padding:0}.u-pt0{padding-top:0}.u-pb0{padding-bottom:0}.u-pl0{padding-left:0}.u-pr0{padding-right:0}@media (width>=640px){.sm-hide{display:none!important}}@media (width<=639px){.sm-show{display:none!important}}@media (width>=768px){.md-hide{display:none!important}}@media (width<=767px){.md-show{display:none!important}}@media (width>=1024px){.lg-hide{display:none!important}}@media (width<=1023px){.lg-show{display:none!important}}@media (width>=1280px){.xl-hide{display:none!important}}@media (width<=1279px){.xl-show{display:none!important}}@media (width>=1536px){.xxl-hide{display:none!important}}@media (width<=1535px){.xxl-show{display:none!important}}
package/dist/wisp.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /*
2
- * Wisp v1.0.0
2
+ * Wisp v2.0.1
3
3
  * https://wisp.frazier.software/
4
4
  *
5
- * Copyright (c) 2024 Chris Frazier
5
+ * Copyright (c) 2025 Chris Frazier
6
6
  * Licensed under the MIT license
7
7
  */
8
- function a(A){var _=A.currentTarget,B=document.createElement('span'),d=Math.max(_.clientWidth,_.clientHeight)/2,e=_.getBoundingClientRect();B.classList.add('ripple');B.style.width=B.style.height=`${2*d}px`;B.style.left=`${A.clientX-(e.left+d)}px`;B.style.top=`${A.clientY-(e.top+d)}px`;for(const el of _.querySelectorAll('.ripple'))el.remove();_.appendChild(B)}function b(C){return ()=>{document.documentElement.scrollTop>300?C.classList.add('back-to-top--show'):C.classList.remove('back-to-top--show')}}function c(_a){_a.preventDefault();document.documentElement.scrollIntoView({behavior:'smooth'})}(D=>document.readyState!=='loading'?D():document.addEventListener('DOMContentLoaded',D))(()=>{for(const E of document.querySelectorAll('.btn--ripple'))E.addEventListener('click',a);var _A=document.querySelector('#back-to-top');_A&&(document.addEventListener('scroll',b(_A)),_A.addEventListener('click',c))});
8
+ function a(A){var _=A.currentTarget,B=document.createElement('span'),d=Math.max(_.clientWidth,_.clientHeight)/2,e=_.getBoundingClientRect();B.classList.add('ripple');B.style.width=B.style.height=`${2*d}px`;B.style.left=`${A.clientX-(e.left+d)}px`;B.style.top=`${A.clientY-(e.top+d)}px`;for(const el of _.querySelectorAll('.ripple'))el.remove();_.appendChild(B)}function b(C){return ()=>{document.documentElement.scrollTop>300?C.classList.add('back-to-top:show'):C.classList.remove('back-to-top:show')}}function c(_a){_a.preventDefault();document.documentElement.scrollIntoView({behavior:'smooth'})}(D=>document.readyState!=='loading'?D():document.addEventListener('DOMContentLoaded',D))(()=>{for(const E of document.querySelectorAll('.btn\\:ripple'))E.addEventListener('click',a);var _A=document.querySelector('#back-to-top');_A&&(document.addEventListener('scroll',b(_A)),_A.addEventListener('click',c))});
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fraziersoft/wisp",
3
- "version": "1.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Simple CSS boilerplate",
5
5
  "homepage": "https://wisp.frazier.software",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/Frazier-Software/wisp.git"
8
+ "url": "git+https://github.com/Frazier-Software/wisp.git"
9
9
  },
10
10
  "main": "dist/wisp.css",
11
11
  "files": [
@@ -25,6 +25,7 @@
25
25
  "devDependencies": {
26
26
  "changelogen": "^0.5.7",
27
27
  "http-server": "^14.1.1",
28
+ "lightningcss-cli": "^1.30.1",
28
29
  "minify": "^12.0.0",
29
30
  "rimraf": "^6.0.1"
30
31
  },
package/src/wisp.css CHANGED
@@ -1,3 +1,12 @@
1
+ /* Breakpoints
2
+ ––––––––––––––––––––––––––––––––––––––––––––––––––
3
+ small 640px
4
+ medium 768px
5
+ large 1024px
6
+ x-large 1280px
7
+ xx-large 1535px */
8
+
9
+
1
10
  /* Variables
2
11
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
3
12
  :root {
@@ -21,20 +30,24 @@
21
30
  --color-neutral-6: #333;
22
31
 
23
32
  --font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
24
- --border-radius: 4px; }
33
+ --border-radius: 4px;
34
+ }
25
35
 
26
36
 
27
37
  /* Base styles
28
38
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
29
39
  html {
30
- font-size: 62.5%; }
40
+ font-size: 62.5%;
41
+ }
42
+
31
43
  body {
32
44
  background: var(--color-bg);
33
45
  font-size: 1.6em;
34
46
  line-height: 1.6;
35
47
  font-weight: 400;
36
48
  font-family: var(--font-family);
37
- color: var(--color-font); }
49
+ color: var(--color-font);
50
+ }
38
51
 
39
52
 
40
53
  /* Typography
@@ -42,7 +55,9 @@ body {
42
55
  h1, h2, h3, h4, h5, h6 {
43
56
  margin-top: 0;
44
57
  margin-bottom: 2rem;
45
- font-weight: 300; }
58
+ font-weight: 300;
59
+ }
60
+
46
61
  h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;}
47
62
  h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
48
63
  h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; }
@@ -61,15 +76,19 @@ h6 { font-size: 1.6rem; line-height: 1.6; letter-spacing: 0; font-weight: 400;
61
76
  }
62
77
 
63
78
  p {
64
- margin-top: 0; }
79
+ margin-top: 0;
80
+ }
65
81
 
66
82
 
67
83
  /* Links
68
84
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
69
85
  a {
70
- color: var(--color-primary); }
71
- a:hover {
72
- color: var(--color-primary-dark); }
86
+ color: var(--color-primary);
87
+
88
+ &:hover {
89
+ color: var(--color-primary-dark);
90
+ }
91
+ }
73
92
 
74
93
 
75
94
  /* Buttons
@@ -96,7 +115,9 @@ input[type="button"] {
96
115
  border: 1px solid var(--color-neutral-3);
97
116
  cursor: pointer;
98
117
  box-sizing: border-box;
99
- transition: background 400ms, color 400ms;}
118
+ transition: background 400ms, color 400ms;
119
+ }
120
+
100
121
  .btn:hover,
101
122
  button:hover,
102
123
  input[type="submit"]:hover,
@@ -104,70 +125,87 @@ input[type="reset"]:hover,
104
125
  input[type="button"]:hover {
105
126
  color: var(--color-neutral-6);
106
127
  border-color: var(--color-neutral-4);
107
- outline: 0; }
108
- .btn.btn--primary,
109
- button.btn--primary,
110
- input[type="submit"].btn--primary,
111
- input[type="reset"].btn--primary,
112
- input[type="button"].btn--primary {
128
+ outline: 0;
129
+ }
130
+
131
+ .btn.btn\:primary,
132
+ button.btn\:primary,
133
+ input[type="submit"].btn\:primary,
134
+ input[type="reset"].btn\:primary,
135
+ input[type="button"].btn\:primary {
113
136
  color: var(--color-font-light);
114
137
  background-color: var(--color-primary-light);
115
- border-color: var(--color-primary-light); }
116
- .btn.btn--primary:hover,
117
- button.btn--primary:hover,
118
- input[type="submit"].btn--primary:hover,
119
- input[type="reset"].btn--primary:hover,
120
- input[type="button"].btn--primary:hover {
138
+ border-color: var(--color-primary-light);
139
+ }
140
+
141
+ .btn.btn\:primary:hover,
142
+ button.btn\:primary:hover,
143
+ input[type="submit"].btn\:primary:hover,
144
+ input[type="reset"].btn\:primary:hover,
145
+ input[type="button"].btn\:primary:hover {
121
146
  color: var(--color-font-light);
122
147
  background-color: var(--color-primary);
123
- border-color: var(--color-primary); }
124
- .btn.btn--warning,
125
- button.btn--warning,
126
- input[type="submit"].btn--warning,
127
- input[type="reset"].btn--warning,
128
- input[type="button"].btn--warning {
148
+ border-color: var(--color-primary);
149
+ }
150
+
151
+ .btn.btn\:warning,
152
+ button.btn\:warning,
153
+ input[type="submit"].btn\:warning,
154
+ input[type="reset"].btn\:warning,
155
+ input[type="button"].btn\:warning {
129
156
  color: var(--color-secondary-light);
130
- border-color: var(--color-secondary-light); }
131
- .btn.btn--warning:hover,
132
- button.btn--warning:hover,
133
- input[type="submit"].btn--warning:hover,
134
- input[type="reset"].btn--warning:hover,
135
- input[type="button"].btn--warning:hover {
157
+ border-color: var(--color-secondary-light);
158
+ }
159
+
160
+ .btn.btn\:warning:hover,
161
+ button.btn\:warning:hover,
162
+ input[type="submit"].btn\:warning:hover,
163
+ input[type="reset"].btn\:warning:hover,
164
+ input[type="button"].btn\:warning:hover {
136
165
  color: var(--color-secondary-dark);
137
- border-color: var(--color-secondary-dark); }
138
- .btn.btn--danger,
139
- button.btn--danger,
140
- input[type="submit"].btn--danger,
141
- input[type="reset"].btn--danger,
142
- input[type="button"].btn--danger {
166
+ border-color: var(--color-secondary-dark);
167
+ }
168
+
169
+ .btn.btn\:danger,
170
+ button.btn\:danger,
171
+ input[type="submit"].btn\:danger,
172
+ input[type="reset"].btn\:danger,
173
+ input[type="button"].btn\:danger {
143
174
  color: var(--color-font-light);
144
175
  background: var(--color-secondary-light);
145
- border-color: var(--color-secondary-light); }
146
- .btn.btn--danger:hover,
147
- button.btn--danger:hover,
148
- input[type="submit"].btn--danger:hover,
149
- input[type="reset"].btn--danger:hover,
150
- input[type="button"].btn--danger:hover {
176
+ border-color: var(--color-secondary-light);
177
+ }
178
+
179
+ .btn.btn\:danger:hover,
180
+ button.btn\:danger:hover,
181
+ input[type="submit"].btn\:danger:hover,
182
+ input[type="reset"].btn\:danger:hover,
183
+ input[type="button"].btn\:danger:hover {
151
184
  background: var(--color-secondary);
152
- border-color: var(--color-secondary); }
185
+ border-color: var(--color-secondary);
186
+ }
153
187
 
154
188
 
155
189
  /* Button Ripple Effect
156
190
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
157
- .btn--ripple {
191
+ .btn\:ripple {
158
192
  position: relative;
159
- overflow: hidden; }
160
- .btn--ripple .ripple {
161
- position: absolute;
162
- border-radius: 50%;
163
- background-color: rgba(255, 255, 255, 0.4);
164
- transform: scale(0);
165
- animation: ripple 600ms linear; }
193
+ overflow: hidden;
194
+
195
+ .ripple {
196
+ position: absolute;
197
+ border-radius: 50%;
198
+ background-color: rgba(255, 255, 255, 0.4);
199
+ transform: scale(0);
200
+ animation: ripple 600ms linear;
201
+ }
202
+ }
166
203
 
167
204
  @keyframes ripple {
168
205
  to {
169
206
  transform: scale(4);
170
- opacity: 0; }
207
+ opacity: 0;
208
+ }
171
209
  }
172
210
 
173
211
 
@@ -188,7 +226,9 @@ select {
188
226
  border: 1px solid var(--color-neutral-2);
189
227
  border-radius: var(--border-radius);
190
228
  box-shadow: none;
191
- box-sizing: border-box; }
229
+ box-sizing: border-box;
230
+ }
231
+
192
232
  input[type="email"],
193
233
  input[type="number"],
194
234
  input[type="search"],
@@ -200,11 +240,15 @@ textarea {
200
240
  /* Removes awkward default styles on some inputs for iOS */
201
241
  -webkit-appearance: none;
202
242
  -moz-appearance: none;
203
- appearance: none; }
243
+ appearance: none;
244
+ }
245
+
204
246
  textarea {
205
247
  min-height: 65px;
206
248
  padding-top: 6px;
207
- padding-bottom: 6px; }
249
+ padding-bottom: 6px;
250
+ }
251
+
208
252
  input[type="email"]:focus,
209
253
  input[type="number"]:focus,
210
254
  input[type="search"]:focus,
@@ -215,23 +259,32 @@ input[type="password"]:focus,
215
259
  textarea:focus,
216
260
  select:focus {
217
261
  border: 1px solid var(--color-primary-light);
218
- outline: 0; }
262
+ outline: 0;
263
+ }
264
+
219
265
  label,
220
266
  legend {
221
267
  display: block;
222
268
  margin-bottom: .5rem;
223
- font-weight: 600; }
269
+ font-weight: 600;
270
+ }
271
+
224
272
  fieldset {
225
273
  padding: 0;
226
- border-width: 0; }
274
+ border-width: 0;
275
+ }
276
+
227
277
  input[type="checkbox"],
228
278
  input[type="radio"] {
229
- display: inline; }
279
+ display: inline;
280
+ }
281
+
230
282
  label > .label-body {
231
283
  display: inline-block;
232
284
  cursor: pointer;
233
285
  margin-left: .5rem;
234
- font-weight: normal; }
286
+ font-weight: normal;
287
+ }
235
288
 
236
289
 
237
290
  /* Toggles
@@ -239,46 +292,55 @@ label > .label-body {
239
292
  .toggle {
240
293
  font-size: 61%;
241
294
  position: relative;
242
- top: 0.2em; }
243
- .toggle input[type="checkbox"] {
244
- appearance: none;
245
- position: relative;
246
- display: inline-block;
247
- box-sizing: content-box;
248
- width: 4.5em;
249
- height: 2em;
250
- padding: 0.2em;
251
- margin-bottom: 0;
252
- border: none;
253
- cursor: pointer;
254
- border-radius: 1.5em;
255
- overflow: hidden;
256
- background-color: var(--color-neutral-4);
257
- transition: background ease 0.3s; }
258
- .toggle input[type="checkbox"]:before {
259
- content: "on off";
260
- display: block;
261
- position: absolute;
262
- z-index: 2;
263
- width: 2em;
264
- height: 2em;
265
- font-family: system-ui;
266
- font-size: 1em;
267
- line-height: 2em;
268
- font-weight: 500;
269
- text-transform: uppercase;
270
- text-indent: -2em;
271
- word-spacing: 2.55em;
272
- text-shadow: -1px -1px rgba(0,0,0,0.15);
273
- white-space: nowrap;
274
- background: var(--color-font-light);
275
- color: var(--color-font-light);
276
- border-radius: 1.5em;
277
- transition: transform cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s; }
278
- .toggle input[type="checkbox"]:checked {
279
- background-color: var(--color-primary-light); }
280
- .toggle input[type="checkbox"]:checked:before {
281
- transform: translateX(2.5em); }
295
+ top: 0.2em;
296
+
297
+ input[type="checkbox"] {
298
+ appearance: none;
299
+ position: relative;
300
+ display: inline-block;
301
+ box-sizing: content-box;
302
+ width: 4.5em;
303
+ height: 2em;
304
+ padding: 0.2em;
305
+ margin-bottom: 0;
306
+ border: none;
307
+ cursor: pointer;
308
+ border-radius: 1.5em;
309
+ overflow: hidden;
310
+ background-color: var(--color-neutral-4);
311
+ transition: background ease 0.3s;
312
+ }
313
+
314
+ input[type="checkbox"]:before {
315
+ content: "on off";
316
+ display: block;
317
+ position: absolute;
318
+ z-index: 2;
319
+ width: 2em;
320
+ height: 2em;
321
+ font-family: system-ui;
322
+ font-size: 1em;
323
+ line-height: 2em;
324
+ font-weight: 500;
325
+ text-transform: uppercase;
326
+ text-indent: -2em;
327
+ word-spacing: 2.55em;
328
+ text-shadow: -1px -1px rgba(0,0,0,0.15);
329
+ white-space: nowrap;
330
+ background: var(--color-font-light);
331
+ color: var(--color-font-light);
332
+ border-radius: 1.5em;
333
+ transition: transform cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
334
+ }
335
+
336
+ input[type="checkbox"]:checked {
337
+ background-color: var(--color-primary-light);
338
+ }
339
+
340
+ input[type="checkbox"]:checked:before {
341
+ transform: translateX(2.5em);
342
+ }
343
+ }
282
344
 
283
345
 
284
346
  /* Accordion
@@ -286,58 +348,88 @@ label > .label-body {
286
348
  .accordion-tab {
287
349
  border: 1px solid var(--color-neutral-2);
288
350
  border-radius: var(--border-radius);
289
- margin-bottom: 0.5rem; }
290
- .accordion-tab input {
291
- display: none; }
292
- .accordion-tab label {
293
- display: flex;
294
- justify-content: space-between;
295
- margin-bottom: 0;
296
- padding: 5px 5px 5px 10px;
297
- cursor: pointer; }
298
- .accordion-tab:not(.accordion-tab--close) label::after {
299
- content: "\276F";
300
- color: var(--color-neutral-5);
301
- width: 1em;
302
- height: 1em;
303
- text-align: center; }
304
- .accordion-tab:not(.accordion-tab--close) input:checked + label::after {
305
- transform: rotate(90deg); }
306
- .accordion-tab.accordion-tab--close {
307
- border: none;
308
- margin-top: 12px; }
309
- .accordion-tab.accordion-tab--close label {
310
- font-size: 75%;
311
- padding: 0 0 0 10px; }
351
+ margin-bottom: 0.5rem;
352
+
353
+ input {
354
+ display: none;
355
+ }
356
+
357
+ label {
358
+ display: flex;
359
+ justify-content: space-between;
360
+ margin-bottom: 0;
361
+ padding: 5px 5px 5px 10px;
362
+ cursor: pointer;
363
+ }
364
+
365
+ &.accordion-tab\:close {
366
+ border: none;
367
+ margin-top: 12px;
368
+ }
369
+
370
+ &.accordion-tab\:close label {
371
+ font-size: 75%;
372
+ padding: 0 0 0 10px;
373
+ }
374
+
375
+ &:not(.accordion-tab\:close) label::after {
376
+ content: "\276F";
377
+ color: var(--color-neutral-5);
378
+ width: 1em;
379
+ height: 1em;
380
+ text-align: center;
381
+ }
382
+
383
+ &:not(.accordion-tab\:close) input:checked + label::after {
384
+ transform: rotate(90deg);
385
+ }
386
+ }
387
+
312
388
  .accordion-content {
313
389
  max-height: 0;
314
390
  overflow: hidden;
315
391
  padding: 0 5px 0 10px;
316
- transition: max-height 650ms; }
317
- .accordion-content p {
318
- margin-bottom: 10px; }
319
- .accordion-content p:first-child {
320
- margin-top: 15px; }
392
+ transition: max-height 650ms;
393
+
394
+ p {
395
+ margin-bottom: 10px;
396
+ }
397
+
398
+ p:first-child {
399
+ margin-top: 15px;
400
+ }
401
+ }
402
+
321
403
  .accordion-tab input:checked ~ .accordion-content {
322
- max-height: 500rem; }
404
+ max-height: 500rem;
405
+ }
323
406
 
324
407
 
325
408
  /* Lists
326
409
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
327
410
  ul {
328
- list-style: circle inside; }
411
+ list-style: circle inside;
412
+ }
413
+
329
414
  ol {
330
- list-style: decimal inside; }
415
+ list-style: decimal inside;
416
+ }
417
+
331
418
  ol, ul {
332
419
  padding-left: 0;
333
- margin-top: 0; }
420
+ margin-top: 0;
421
+ }
422
+
334
423
  ul ul,
335
424
  ul ol,
336
425
  ol ol,
337
426
  ol ul {
338
- margin: 1.5rem 0 1.5rem 3rem; }
427
+ margin: 1.5rem 0 1.5rem 3rem;
428
+ }
429
+
339
430
  li {
340
- margin-bottom: 1rem; }
431
+ margin-bottom: 1rem;
432
+ }
341
433
 
342
434
 
343
435
  /* Code
@@ -349,11 +441,14 @@ code {
349
441
  white-space: nowrap;
350
442
  background: var(--color-neutral-1);
351
443
  border: 1px solid var(--color-neutral-2);
352
- border-radius: var(--border-radius); }
444
+ border-radius: var(--border-radius);
445
+ }
446
+
353
447
  pre > code {
354
448
  display: block;
355
449
  padding: 10px 15px;
356
- white-space: pre; }
450
+ white-space: pre;
451
+ }
357
452
 
358
453
 
359
454
  /* Tables
@@ -362,32 +457,45 @@ th,
362
457
  td {
363
458
  padding: 12px 15px;
364
459
  text-align: left;
365
- border-bottom: 1px solid var(--color-neutral-2); }
460
+ border-bottom: 1px solid var(--color-neutral-2);
461
+ }
462
+
366
463
  th:first-child,
367
464
  td:first-child {
368
- padding-left: 0; }
465
+ padding-left: 0;
466
+ }
467
+
369
468
  th:last-child,
370
469
  td:last-child {
371
- padding-right: 0; }
470
+ padding-right: 0;
471
+ }
372
472
 
373
473
 
474
+ /* Tooltips
475
+ –––––––––––––––––––––––––––––––––––––––––––––––––– */
374
476
  .tooltip {
375
477
  cursor: help;
376
478
  border-bottom: 1px dotted var(--color-neutral-5);
377
- position: relative; }
479
+ position: relative;
480
+ }
481
+
378
482
  .tooltip::before,
379
483
  .tooltip::after {
380
484
  position: absolute;
381
485
  left: 50%;
382
486
  opacity: 0;
383
- z-index: -100; }
487
+ z-index: -100;
488
+ }
489
+
384
490
  .tooltip:hover::before,
385
491
  .tooltip:focus::before,
386
492
  .tooltip:hover::after,
387
493
  .tooltip:focus::after {
388
494
  opacity: 1;
389
495
  transform: scale(1) translateY(0);
390
- z-index: 100; }
496
+ z-index: 100;
497
+ }
498
+
391
499
  .tooltip::before {
392
500
  content: "";
393
501
  border-style: solid;
@@ -396,10 +504,14 @@ td:last-child {
396
504
  bottom: 100%;
397
505
  margin-left: -0.5em;
398
506
  transition: all .65s cubic-bezier(.84, -0.18, 0.31, 1.26), opacity .65s .5s;
399
- transform: scale(.6) translateY(-90%); }
507
+ transform: scale(.6) translateY(-90%);
508
+ }
509
+
400
510
  .tooltip:hover::before,
401
511
  .tooltip:focus::before {
402
- transition: all .65s cubic-bezier(.84,-0.18,.31,1.26) .2s; }
512
+ transition: all .65s cubic-bezier(.84,-0.18,.31,1.26) .2s;
513
+ }
514
+
403
515
  .tooltip::after {
404
516
  background: var(--color-neutral-6);
405
517
  border-radius: var(--border-radius);
@@ -411,20 +523,26 @@ td:last-child {
411
523
  transition: all .65s cubic-bezier(.84,-0.18,.31,1.26) .2s;
412
524
  transform: scale(.6) translateY(50%);
413
525
  font-size: .9em;
414
- width: 16em; }
526
+ width: 16em;
527
+ }
528
+
415
529
  .tooltip:hover::after,
416
530
  .tooltip:focus::after {
417
- transition: all .65s cubic-bezier(.84,-0.18,.31,1.26); }
418
- .tooltip.tooltip--sm::after {
531
+ transition: all .65s cubic-bezier(.84,-0.18,.31,1.26);
532
+ }
533
+
534
+ .tooltip.tooltip\:sm::after {
419
535
  font-size: .75em;
420
536
  margin-left: -5em;
421
- width: 10em; }
537
+ width: 10em;
538
+ }
422
539
 
423
540
  @media (max-width: 768px) {
424
541
  .tooltip::after {
425
542
  font-size: .75em;
426
543
  margin-left: -5em;
427
- width: 10em; }
544
+ width: 10em;
545
+ }
428
546
  }
429
547
 
430
548
 
@@ -432,12 +550,16 @@ td:last-child {
432
550
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
433
551
  button:not(.hljs-copy-button),
434
552
  .btn {
435
- margin-bottom: 1rem; }
553
+ margin-bottom: 1rem;
554
+ }
555
+
436
556
  input,
437
557
  textarea,
438
558
  select,
439
559
  fieldset {
440
- margin-bottom: 1.5rem; }
560
+ margin-bottom: 1.5rem;
561
+ }
562
+
441
563
  pre,
442
564
  blockquote,
443
565
  dl,
@@ -447,7 +569,8 @@ p,
447
569
  ul,
448
570
  ol,
449
571
  form {
450
- margin-bottom: 2.5rem; }
572
+ margin-bottom: 2.5rem;
573
+ }
451
574
 
452
575
 
453
576
  /* Misc
@@ -456,8 +579,8 @@ hr {
456
579
  margin-top: 30px;
457
580
  margin-bottom: 35px;
458
581
  border-width: 0;
459
- border-top: 1px solid var(--color-neutral-2); }
460
-
582
+ border-top: 1px solid var(--color-neutral-2);
583
+ }
461
584
 
462
585
  #back-to-top {
463
586
  display: inline-block;
@@ -472,39 +595,50 @@ hr {
472
595
  transition: background-color 300ms, opacity 500ms, visibility 500ms;
473
596
  opacity: 0;
474
597
  visibility: hidden;
475
- z-index: 1000; }
476
- #back-to-top::after {
477
- content: "\276F";
478
- font-weight: normal;
479
- font-style: normal;
480
- font-size: 32px;
481
- line-height: 50px;
482
- color: var(--color-bg);
483
- display: inline-block;
484
- transform: rotate(270deg);
598
+ z-index: 1000;
599
+
600
+ &::after {
601
+ content: "\276F";
602
+ font-weight: normal;
603
+ font-style: normal;
604
+ font-size: 32px;
605
+ line-height: 50px;
606
+ color: var(--color-bg);
607
+ display: inline-block;
608
+ transform: rotate(270deg);
609
+ }
610
+
611
+ &:hover,
612
+ &:active {
613
+ cursor: pointer;
614
+ background-color: var(--color-primary);
615
+ }
616
+
617
+ &.back-to-top\:show {
618
+ opacity: 1;
619
+ visibility: visible;
620
+ }
485
621
  }
486
- #back-to-top:hover,
487
- #back-to-top:active {
488
- cursor: pointer;
489
- background-color: var(--color-primary); }
490
- #back-to-top.back-to-top--show {
491
- opacity: 1;
492
- visibility: visible; }
493
622
 
494
623
 
495
624
  /* Utilities
496
625
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
497
626
  .u-full {
498
627
  width: 100%;
499
- box-sizing: border-box; }
628
+ box-sizing: border-box;
629
+ }
630
+
500
631
  .u-max {
501
632
  max-width: 100%;
502
- box-sizing: border-box; }
633
+ box-sizing: border-box;
634
+ }
635
+
503
636
  .u-m0 { margin: 0; }
504
637
  .u-mt0 { margin-top: 0; }
505
638
  .u-mb0 { margin-bottom: 0; }
506
639
  .u-ml0 { margin-left: 0; }
507
640
  .u-mr0 { margin-right: 0; }
641
+
508
642
  .u-p0 { padding: 0; }
509
643
  .u-pt0 { padding-top: 0; }
510
644
  .u-pb0 { padding-bottom: 0; }
@@ -518,49 +652,59 @@ hr {
518
652
  /* Larger than phablet (sm) */
519
653
  @media (min-width: 640px) {
520
654
  .sm-hide {
521
- display: none !important; }
655
+ display: none !important;
656
+ }
522
657
  }
523
658
  @media (max-width: 639px) {
524
659
  .sm-show {
525
- display: none !important; }
660
+ display: none !important;
661
+ }
526
662
  }
527
663
 
528
664
  /* Larger than tablet (md) */
529
665
  @media (min-width: 768px) {
530
666
  .md-hide {
531
- display: none !important; }
667
+ display: none !important;
668
+ }
532
669
  }
533
670
  @media (max-width: 767px) {
534
671
  .md-show {
535
- display: none !important;}
672
+ display: none !important;
673
+ }
536
674
  }
537
675
 
538
676
  /* Larger than desktop (lg) */
539
677
  @media (min-width: 1024px) {
540
678
  .lg-hide {
541
- display: none !important; }
679
+ display: none !important;
680
+ }
542
681
  }
543
682
  @media (max-width: 1023px) {
544
683
  .lg-show {
545
- display: none !important;}
684
+ display: none !important;
685
+ }
546
686
  }
547
687
 
548
688
  /* Larger than Desktop HD (xl) */
549
689
  @media (min-width: 1280px) {
550
690
  .xl-hide {
551
- display: none !important; }
691
+ display: none !important;
692
+ }
552
693
  }
553
694
  @media (max-width: 1279px) {
554
695
  .xl-show {
555
- display: none !important;}
696
+ display: none !important;
697
+ }
556
698
  }
557
699
 
558
- /* Extra large (2xl) */
700
+ /* Extra, extra large (xxl) */
559
701
  @media (min-width: 1536px) {
560
702
  .xxl-hide {
561
- display: none !important; }
703
+ display: none !important;
704
+ }
562
705
  }
563
706
  @media (max-width: 1535px) {
564
707
  .xxl-show {
565
- display: none !important;}
708
+ display: none !important;
709
+ }
566
710
  }
package/src/wisp.js CHANGED
@@ -16,9 +16,9 @@ function createRipple(event) {
16
16
  function handleScroll(btt) {
17
17
  return function () {
18
18
  if (document.documentElement.scrollTop > 300) {
19
- btt.classList.add('back-to-top--show');
19
+ btt.classList.add('back-to-top:show');
20
20
  } else {
21
- btt.classList.remove('back-to-top--show');
21
+ btt.classList.remove('back-to-top:show');
22
22
  }
23
23
  };
24
24
  }
@@ -36,7 +36,7 @@ const ready = cb => {
36
36
  };
37
37
 
38
38
  ready(() => {
39
- document.querySelectorAll('.btn--ripple').forEach(el => {
39
+ document.querySelectorAll('.btn\\:ripple').forEach(el => {
40
40
  el.addEventListener('click', createRipple);
41
41
  });
42
42