ada-ui 4.0.0 → 4.2.0

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/css/ada.css CHANGED
@@ -1 +1 @@
1
- html{font-size:14px;font-family:"Open Sans",sans-serif;font-weight:400}@media screen and (max-width: 1199px){html{font-size:12px}}html,body{height:100%;min-height:100%;margin:0;padding:0;background:var(--bg);color:var(--fg)}body{font-size:1rem;-webkit-tap-highlight-color:transparent;box-sizing:border-box;padding:.5rem}h1{font-size:3rem;margin:1rem 0 2rem 0}.command-bar,h2{font-size:2rem;margin:1rem 0 1.5rem 0}.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3{font-size:1.5rem;margin:.5rem 0 1.5rem 0}.tile>header.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,h4{font-weight:400;font-size:1.2rem;margin:.5rem 0 .5rem 0}h1,.command-bar,h2,.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3,.tile>header.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,h4{font-weight:300;text-shadow:0 0 4px var(--light-alpha40);color:var(--fg)}h1.m-0,.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,.panel>header.command-bar,h2.m-0,.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3.m-0,.tile>header.m-0.command-bar,.tile>header.command-bar,.panel>footer.m-0.command-bar,.panel>footer.command-bar,.tile>footer.m-0.command-bar,.tile>footer.command-bar,h4.m-0{margin:0}.panel>footer:not(.command-bar):after,.tile>footer:not(.command-bar):after,.panel>footer:not(.command-bar):before,.tile>footer:not(.command-bar):before,.panel>header:not(.command-bar):after,.tile>header:not(.command-bar):after,.panel>header:not(.command-bar):before,.tile>header:not(.command-bar):before{content:"";border-style:solid;border-color:var(--default);position:absolute;height:1rem;width:1rem;z-index:2}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before{border-color:var(--light-alpha40);height:.75rem;width:.75rem}.panel,.tile{background:var(--default-alpha10);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border-radius:.3rem;display:grid;grid-template-rows:auto 1fr auto;overflow:auto;margin:.5rem}.panel>header,.tile>header{position:relative}.panel>header:not(.command-bar),.tile>header:not(.command-bar){text-align:left;padding:.4rem .6rem}.panel>header:not(.command-bar):before,.tile>header:not(.command-bar):before{border-width:2px 0 0 2px;border-radius:.3rem 0 0 0;left:0;top:0}.panel>header:not(.command-bar):after,.tile>header:not(.command-bar):after{border-width:2px 2px 0 0;border-radius:0 .3rem 0 0;right:0;top:0}.panel>header:empty,.tile>header:empty{padding:.2rem}.panel>header.command-bar,.tile>header.command-bar{margin-bottom:1rem}.panel>header.command-bar:before,.tile>header.command-bar:before{border-radius:.3rem 0 0 0}.panel>header.command-bar:after,.tile>header.command-bar:after{border-radius:0 .3rem 0 0}.panel>article,.tile>article{z-index:1;padding:0 .6rem;overflow:auto}.panel>article::-webkit-scrollbar,.tile>article::-webkit-scrollbar{width:2px;background:transparent}.panel>article::-webkit-scrollbar-thumb,.tile>article::-webkit-scrollbar-thumb{min-width:1rem;border-style:solid;border-color:transparent;border-width:2px 2px 1px 2px;background:var(--default);box-sizing:border-box;background-clip:padding-box}.panel>footer,.tile>footer{position:relative}.panel>footer:not(.command-bar),.tile>footer:not(.command-bar){color:var(--fg-alpha60);padding:.4rem .6rem;font-size:.75rem;text-align:right}.panel>footer:not(.command-bar):before,.tile>footer:not(.command-bar):before{border-width:0 0 2px 2px;border-radius:0 0 0 .3rem;left:0;bottom:0}.panel>footer:not(.command-bar):after,.tile>footer:not(.command-bar):after{border-width:0 2px 2px 0;border-radius:0 0 .3rem 0;right:0;bottom:0}.panel>footer:empty,.tile>footer:empty{padding:.2rem}.panel>footer.command-bar,.tile>footer.command-bar{margin-top:1rem;line-height:2rem;height:2rem}.panel>footer.command-bar:before,.tile>footer.command-bar:before{border-radius:0 0 0 .3rem}.panel>footer.command-bar:after,.tile>footer.command-bar:after{border-radius:0 0 .3rem 0}.panel>footer.command-bar>.command,.tile>footer.command-bar>.command{height:2rem;font-size:.9rem}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before,.panel>header:not(.command-bar):before,.panel>header:not(.command-bar):after,.panel>footer:not(.command-bar):before,.panel>footer:not(.command-bar):after{content:"";border-style:solid;border-color:var(--default);position:absolute;height:1rem;width:1rem;z-index:2}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before{border-color:var(--light-alpha40);height:.75rem;width:.75rem}.tile{margin:.8rem}.tile>header:not(.command-bar):before{border-width:1px 0 0 1px}.tile>header:not(.command-bar):after{border-width:1px 1px 0 0}.tile>header.command-bar{line-height:2rem;height:2rem}.tile>header.command-bar>.command{height:2rem;font-size:.9rem}.tile>article{color:var(--fg)}.tile>footer:not(.command-bar):before{border-width:0 0 1px 1px}.tile>footer:not(.command-bar):after{border-width:0 1px 1px 0}.tile.inset{box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.tile.inset>header{color:var(--fg-alpha80)}.tile.inset>header:before,.tile.inset>header:after{opacity:.6}.tile.inset>article{color:var(--fg-alpha80)}.tile.inset footer:before,.tile.inset footer:after{opacity:.6}.command:not(.spacer),.button{overflow:hidden;outline:none;color:var(--fg);font-family:inherit;cursor:pointer;user-select:none;vertical-align:middle;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.command:disabled:not(.spacer),.button:disabled{opacity:.4;filter:saturate(0.6);cursor:default;color:var(--fg-alpha80);pointer-events:none}.button{white-space:nowrap;text-overflow:ellipsis;border-radius:.3rem;box-shadow:0 0 10px 0 rgba(0,0,0,.4);border:1px solid var(--light-alpha40);background-color:transparent;min-height:min-content;min-width:8rem;padding:.8rem 1.6rem;margin:.8rem;font-size:1.1rem}.button.small{min-width:0;padding:.8rem}.button.fill{background-color:var(--default)}.button:focus{border:1px solid var(--light-alpha70)}.button:active{background-color:var(--light-alpha70);border:1px solid var(--default-alpha40)}.command-bar-v{position:relative;display:grid;grid-auto-flow:row;gap:.5rem;width:12rem;padding-top:1.5rem;padding-bottom:1.5rem;margin:.5rem}.command-bar-v:before,.command-bar-v:after{box-shadow:0 0 10px 0 rgba(0,0,0,.4);position:absolute;content:"";height:1rem;left:0;right:0;background:var(--default-alpha60)}.command-bar-v:before{border-radius:.3rem .3rem 0 0;top:0}.command-bar-v:after{border-radius:0 0 .3rem .3rem;bottom:0}.command-bar-v>.command{min-height:3.6rem;width:12rem}.command-bar{position:relative;display:grid;grid-auto-flow:column;text-align:center;gap:.5rem;align-items:center;line-height:3.6rem;height:3.6rem;padding-left:1.5rem;padding-right:1.5rem;margin:.5rem}.command-bar:before,.command-bar:after{box-shadow:0 0 10px 0 rgba(0,0,0,.4);position:absolute;content:"";width:1rem;top:0;bottom:0;background:var(--default-alpha60)}.command-bar:before{border-radius:.3rem 0 0 .3rem;left:0}.command-bar:after{border-radius:0 .3rem .3rem 0;right:0}.command-bar>.command{height:3.6rem}.command{box-sizing:border-box;background-color:var(--default-alpha60);box-shadow:0 0 10px 0 rgba(0,0,0,.4)}.command:not(.spacer){min-width:8rem;display:grid;align-items:end;justify-items:end;text-align:end;font-size:1.1rem;border-style:solid;border-color:transparent;border-width:0 1px 0 0;padding:.4rem}.command:not(.spacer).small{min-width:0}.command:not(.spacer):focus{border-color:var(--light-alpha70)}.command:not(.spacer):active{background-color:var(--light-alpha40)}.input{border-radius:.3rem;box-shadow:0 0 10px 0 rgba(0,0,0,.4);outline:none;border:1px solid var(--light-alpha40);color:var(--fg);font-family:inherit;background-color:transparent;transition:border-color .15s ease-in-out;padding:.8rem 1.6rem;margin:.8rem;font-size:1.1rem}.input:focus{border:1px solid var(--light-alpha70)}.input:disabled{opacity:.4;filter:saturate(0.6);cursor:default;color:var(--fg-alpha80);pointer-events:none}.spinner{width:100%;height:100%;box-sizing:border-box;position:relative;border-style:solid;border-width:.3em;border-radius:50%;border-color:transparent var(--default);animation:4s rotateOuter linear infinite;box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.spinner:before{content:"";position:absolute;top:.2em;left:.2em;right:.2em;bottom:.2em;border-style:inherit;border-width:inherit;border-color:transparent var(--light-alpha70);border-radius:inherit;animation:2s rotateInner linear infinite;box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.spinner:after{content:"";position:absolute;top:.7em;left:.7em;right:.7em;bottom:.7em;border-style:inherit;border-width:inherit;border-color:transparent var(--light-alpha40);border-radius:inherit;animation:4s rotateCenter linear infinite}@keyframes rotateOuter{0%{transform:rotate(45deg)}100%{transform:rotate(225deg)}}@keyframes rotateInner{0%{transform:rotate(-90deg)}100%{transform:rotate(-270deg)}}@keyframes rotateCenter{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
1
+ html{font-size:14px;font-family:"Open Sans",sans-serif;font-weight:400}@media screen and (max-width: 1199px){html{font-size:12px}}html,body{height:100%;min-height:100%;margin:0;padding:0;background:var(--bg);color:var(--fg)}body{font-size:1rem;-webkit-tap-highlight-color:transparent;box-sizing:border-box;padding:.5rem}h1{font-size:3rem;margin:1rem 0 2rem 0}.command-bar:not(.vertical),h2{font-size:2rem;margin:1rem 0 1.5rem 0}.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3{font-size:1.5rem;margin:.5rem 0 1.5rem 0}.tile>header.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,h4{font-weight:400;font-size:1.2rem;margin:.5rem 0 .5rem 0}h1,.command-bar:not(.vertical),h2,.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3,.tile>header.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,h4{font-weight:300;text-shadow:0 0 4px var(--light-alpha40);color:var(--fg)}h1.m-0,.command-bar:not(.vertical),.panel>footer.command-bar:not(.vertical),.tile>footer.command-bar:not(.vertical),.panel>header.command-bar:not(.vertical),h2.m-0,.panel>header:not(.command-bar),.tile>header:not(.command-bar),h3.m-0,.tile>header.m-0.command-bar,.tile>header.command-bar:not(.vertical),.panel>footer.m-0.command-bar,.tile>footer.m-0.command-bar,.panel>footer.command-bar,.tile>footer.command-bar,.tile>header.command-bar,h4.m-0{margin:0}.panel>footer:not(.command-bar):after,.tile>footer:not(.command-bar):after,.panel>footer:not(.command-bar):before,.tile>footer:not(.command-bar):before,.panel>header:not(.command-bar):after,.tile>header:not(.command-bar):after,.panel>header:not(.command-bar):before,.tile>header:not(.command-bar):before{content:"";border-style:solid;border-color:var(--default);position:absolute;height:1rem;width:1rem;z-index:2}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before{border-color:var(--light-alpha40);height:.75rem;width:.75rem}.panel,.tile{background:var(--default-alpha10);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border-radius:.3rem;display:grid;grid-template-rows:auto 1fr auto;overflow:auto;margin:.5rem}.panel>header,.tile>header{position:relative}.panel>header:not(.command-bar),.tile>header:not(.command-bar){text-align:left;padding:.4rem .6rem}.panel>header:not(.command-bar):before,.tile>header:not(.command-bar):before{border-width:2px 0 0 2px;border-radius:.3rem 0 0 0;left:0;top:0}.panel>header:not(.command-bar):after,.tile>header:not(.command-bar):after{border-width:2px 2px 0 0;border-radius:0 .3rem 0 0;right:0;top:0}.panel>header:empty,.tile>header:empty{padding:.2rem}.panel>header.command-bar,.tile>header.command-bar{margin-bottom:1rem}.panel>header.command-bar:before,.tile>header.command-bar:before{border-radius:.3rem 0 0 0}.panel>header.command-bar:after,.tile>header.command-bar:after{border-radius:0 .3rem 0 0}.panel>article,.tile>article{z-index:1;padding:0 .6rem;overflow:auto}.panel>article::-webkit-scrollbar,.tile>article::-webkit-scrollbar{width:2px;background:transparent}.panel>article::-webkit-scrollbar-thumb,.tile>article::-webkit-scrollbar-thumb{min-width:1rem;border-style:solid;border-color:transparent;border-width:2px 2px 1px 2px;background:var(--default);box-sizing:border-box;background-clip:padding-box}.panel>footer,.tile>footer{position:relative}.panel>footer:not(.command-bar),.tile>footer:not(.command-bar){color:var(--fg-alpha60);padding:.4rem .6rem;font-size:.75rem;text-align:right}.panel>footer:not(.command-bar):before,.tile>footer:not(.command-bar):before{border-width:0 0 2px 2px;border-radius:0 0 0 .3rem;left:0;bottom:0}.panel>footer:not(.command-bar):after,.tile>footer:not(.command-bar):after{border-width:0 2px 2px 0;border-radius:0 0 .3rem 0;right:0;bottom:0}.panel>footer:empty,.tile>footer:empty{padding:.2rem}.panel>footer.command-bar,.tile>footer.command-bar{margin-top:1rem;line-height:2rem;height:2rem}.panel>footer.command-bar:before,.tile>footer.command-bar:before{border-radius:0 0 0 .3rem}.panel>footer.command-bar:after,.tile>footer.command-bar:after{border-radius:0 0 .3rem 0}.panel>footer.command-bar>.command,.tile>footer.command-bar>.command{height:2rem;font-size:.9rem}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before,.panel>header:not(.command-bar):before,.panel>header:not(.command-bar):after,.panel>footer:not(.command-bar):before,.panel>footer:not(.command-bar):after{content:"";border-style:solid;border-color:var(--default);position:absolute;height:1rem;width:1rem;z-index:2}.tile>footer:not(.command-bar):after,.tile>footer:not(.command-bar):before,.tile>header:not(.command-bar):after,.tile>header:not(.command-bar):before{border-color:var(--light-alpha40);height:.75rem;width:.75rem}.tile{margin:.8rem}.tile>header:not(.command-bar):before{border-width:1px 0 0 1px}.tile>header:not(.command-bar):after{border-width:1px 1px 0 0}.tile>header.command-bar{line-height:2rem;height:2rem}.tile>header.command-bar>.command{height:2rem;font-size:.9rem}.tile>article{color:var(--fg)}.tile>footer:not(.command-bar):before{border-width:0 0 1px 1px}.tile>footer:not(.command-bar):after{border-width:0 1px 1px 0}.tile.inset{box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.tile.inset>header{color:var(--fg-alpha80)}.tile.inset>header:before,.tile.inset>header:after{opacity:.6}.tile.inset>article{color:var(--fg-alpha80)}.tile.inset footer:before,.tile.inset footer:after{opacity:.6}.command:not(.spacer),.button{overflow:hidden;outline:none;color:var(--fg);font-family:inherit;cursor:pointer;user-select:none;vertical-align:middle;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.command:disabled:not(.spacer),.button:disabled{opacity:.4;filter:saturate(0.6);cursor:default;color:var(--fg-alpha80);pointer-events:none}.button{white-space:nowrap;text-overflow:ellipsis;border-radius:.3rem;box-shadow:0 0 10px 0 rgba(0,0,0,.4);border:1px solid var(--light-alpha40);background-color:transparent;min-height:min-content;min-width:8rem;padding:.8rem 1.6rem;margin:.8rem;font-size:1.1rem}.button.small{min-width:0;padding:.8rem}.button.fill{background-color:var(--default)}.button:focus{border:1px solid var(--light-alpha70)}.button:active{background-color:var(--light-alpha70);border:1px solid var(--default-alpha40)}.command-bar{position:relative;display:grid;gap:.5rem;margin:.5rem}.command-bar:before,.command-bar:after{box-shadow:0 0 10px 0 rgba(0,0,0,.4);position:absolute;content:"";background:var(--default-alpha60)}.command-bar:not(.vertical){grid-auto-flow:column;text-align:center;align-items:center;line-height:3.6rem;height:3.6rem;padding-left:1.5rem;padding-right:1.5rem}.command-bar:not(.vertical):before,.command-bar:not(.vertical):after{width:1rem;top:0;bottom:0}.command-bar:not(.vertical):before{border-radius:.3rem 0 0 .3rem;left:0}.command-bar:not(.vertical):after{border-radius:0 .3rem .3rem 0;right:0}.command-bar:not(.vertical)>.command{height:3.6rem}.command-bar.vertical{grid-auto-flow:row;width:12rem;padding-top:1.5rem;padding-bottom:1.5rem}.command-bar.vertical:before,.command-bar.vertical:after{height:1rem;left:0;right:0}.command-bar.vertical:before{border-radius:.3rem .3rem 0 0;top:0}.command-bar.vertical:after{border-radius:0 0 .3rem .3rem;bottom:0}.command-bar.vertical>.command{min-height:3.6rem;width:12rem}.command{box-sizing:border-box;background-color:var(--default-alpha60);box-shadow:0 0 10px 0 rgba(0,0,0,.4)}.command:not(.spacer){min-width:8rem;display:grid;align-items:end;justify-items:end;text-align:end;font-size:1.1rem;border-style:solid;border-color:transparent;border-width:0 1px 0 0;padding:.4rem}.command:not(.spacer).small{min-width:0}.command:not(.spacer).flash{animation:flash 1s ease-in-out infinite}.command:not(.spacer):focus{border-color:var(--light-alpha70)}.command:not(.spacer):active{background-color:var(--light-alpha40);animation-play-state:paused}@keyframes flash{50%{background-color:var(--light-alpha70)}}.input{border-radius:.3rem;box-shadow:0 0 10px 0 rgba(0,0,0,.4);outline:none;border:1px solid var(--light-alpha40);color:var(--fg);font-family:inherit;background-color:transparent;transition:border-color .15s ease-in-out;padding:.8rem 1.6rem;margin:.8rem;font-size:1.1rem}.input:focus{border:1px solid var(--light-alpha70)}.input:disabled{opacity:.4;filter:saturate(0.6);cursor:default;color:var(--fg-alpha80);pointer-events:none}.spinner-test{margin:.3rem;display:grid;justify-items:center;align-items:center;width:1em;height:1em;position:relative;box-sizing:border-box;animation:8s .5s rotate ease-in-out infinite}.spinner-test:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:var(--light-alpha40) transparent;animation:6s .5s inset1-test ease-in-out infinite;box-shadow:0px 12px 10px -12px #000a,0px -12px 10px -12px #000a}.spinner-test:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:transparent var(--light-alpha70);animation:6s .5s inset2-test ease-in-out infinite;box-shadow:12px 0px 10px -12px #000a,-12px 0px 10px -12px #000a}.spinner2{margin:.3rem;display:grid;justify-items:center;align-items:center;width:1em;height:1em;position:relative;box-sizing:border-box;animation:6s .5s rotate ease-in-out alternate infinite}.spinner2:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:var(--light-alpha40) transparent;animation:4s .5s inset1 ease-in-out infinite;box-shadow:0px 12px 10px -12px #000a,0px -12px 10px -12px #000a}.spinner2:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:transparent var(--light-alpha70);animation:4s .5s inset2 ease-in-out infinite;box-shadow:12px 0px 10px -12px #000a,-12px 0px 10px -12px #000a}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes inset1{0%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}12.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(0)}37.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(180deg)}50%{top:0;left:0;right:0;bottom:0;transform:rotate(180deg)}100%{top:0;left:0;right:0;bottom:0;transform:rotate(180deg)}}@keyframes inset2{0%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}50%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}62.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(0)}87.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(180deg)}100%{top:0;left:0;right:0;bottom:0;transform:rotate(180deg)}}@keyframes inset1-test{0%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}12.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(0)}25%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(180deg)}37.5%{top:0;left:0;right:0;bottom:0;transform:rotate(180deg)}50%{top:0;left:0;right:0;bottom:0;transform:rotate(270deg)}87.5%{top:0;left:0;right:0;bottom:0;transform:rotate(270deg)}100%{top:0;left:0;right:0;bottom:0;transform:rotate(360deg)}}@keyframes inset2-test{0%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}37.5%{top:0;left:0;right:0;bottom:0;transform:rotate(0)}50%{top:0;left:0;right:0;bottom:0;transform:rotate(90deg)}62.5%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(90deg)}75%{top:.2em;left:.2em;right:.2em;bottom:.2em;transform:rotate(270deg)}87.5%{top:0;left:0;right:0;bottom:0;transform:rotate(270deg)}100%{top:0;left:0;right:0;bottom:0;transform:rotate(360deg)}}.spinner{display:grid;justify-items:center;align-items:center;width:3em;height:1em;position:relative}.spinner:before{content:"";position:absolute;width:.6em;height:.6em;border-radius:50%;background:var(--light-alpha40);animation:1.5s .1s swing ease-in-out infinite;box-sizing:border-box}.spinner:after{content:"";position:absolute;width:1em;height:1em;border-radius:50%;box-shadow:0 0 10px 0 rgba(0,0,0,.4);border:.1em solid var(--light-alpha70);animation:1.5s swing ease-in-out infinite;box-sizing:border-box}@keyframes swing{0%{transform:translateX(-1.5em)}50%{transform:translateX(1.5em)}100%{transform:translateX(-1.5em)}}.spinner-old{width:100%;height:100%;box-sizing:border-box;position:relative;border-style:solid;border-width:.3em;border-radius:50%;border-color:transparent var(--default);animation:4s rotateOuter linear infinite;box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.spinner-old:before{content:"";position:absolute;top:.2em;left:.2em;right:.2em;bottom:.2em;border-style:inherit;border-width:inherit;border-color:transparent var(--light-alpha70);border-radius:inherit;animation:2s rotateInner linear infinite;box-shadow:inset 0 0 10px 0 rgba(0,0,0,.4)}.spinner-old:after{content:"";position:absolute;top:.7em;left:.7em;right:.7em;bottom:.7em;border-style:inherit;border-width:inherit;border-color:transparent var(--light-alpha40);border-radius:inherit;animation:4s rotateCenter linear infinite}@keyframes rotateOuter{0%{transform:rotate(45deg)}100%{transform:rotate(225deg)}}@keyframes rotateInner{0%{transform:rotate(-90deg)}100%{transform:rotate(-270deg)}}@keyframes rotateCenter{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}
package/index.html CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  <body style="display: grid; grid: 'test a' 1fr 'c c' auto / auto 1fr">
22
22
  <div
23
- class="command-bar-v"
23
+ class="command-bar vertical"
24
24
  style="grid-area: test; grid-template-rows: auto auto 1fr"
25
25
  >
26
26
  <button class="command">Command</button>
@@ -33,21 +33,28 @@
33
33
  style="grid-template-columns: repeat(3, 1fr) auto"
34
34
  >
35
35
  <button class="command">Command</button>
36
- <button class="command shade1">Second Command</button>
36
+ <button
37
+ class="command shade1"
38
+ style="justify-items: center; align-items: center"
39
+ >
40
+ <div class="spinner2" style="font-size: 30px"></div>
41
+ </button>
37
42
  <button class="command shade2">Third Command</button>
38
43
  Header
39
44
  </header>
40
45
  <article
41
46
  style="
42
47
  display: grid;
43
- grid: 'buttons tiles' 1fr 'spinner tiles' auto / 1fr 1fr;
48
+ grid: 'buttons tiles' 1fr 'spinner tiles' auto / 3fr 1fr;
44
49
  "
45
50
  >
46
51
  <div class="panel" style="grid-area: buttons">
47
52
  <header>Buttons</header>
48
53
  <article>
49
54
  <h3>Default</h3>
50
- <button class="button">Button</button>
55
+ <button class="button">
56
+ <div class="spinner" style="font-size: 1.1rem"></div>
57
+ </button>
51
58
  <button class="button shade1">Button</button>
52
59
  <button class="button shade2">Button</button>
53
60
  <button class="button accent">Button</button>
@@ -86,23 +93,23 @@
86
93
  "
87
94
  >
88
95
  <div style="width: 48px; height: 48px; font-size: 10px">
89
- <div class="spinner"></div>
90
- </div>
91
- <div style="width: 32px; height: 32px; font-size: 8px">
92
- <div class="spinner"></div>
93
- </div>
94
- <div style="width: 32px; height: 32px; font-size: 8px">
95
- <div class="spinner shade1"></div>
96
- </div>
97
- <div style="width: 60px; height: 60px; font-size: 12px">
98
- <div class="spinner shade2"></div>
96
+ <div class="spinner-old"></div>
99
97
  </div>
100
98
  <div style="width: 32px; height: 32px; font-size: 8px">
101
- <div class="spinner accent"></div>
99
+ <div class="spinner-old"></div>
102
100
  </div>
103
- <div style="width: 32px; height: 32px; font-size: 8px">
104
- <div class="spinner warn"></div>
101
+ <div style="width: 16px; height: 16px; font-size: 4px">
102
+ <div class="spinner-old shade1"></div>
105
103
  </div>
104
+ <div class="spinner2" style="font-size: 120px"></div>
105
+ <div class="spinner2 shade1" style="font-size: 120px"></div>
106
+ <div class="spinner2 shade2" style="font-size: 32px"></div>
107
+ <div class="spinner2 accent" style="font-size: 16px"></div>
108
+ <div class="spinner" style="font-size: 40px"></div>
109
+ <div class="spinner shade2" style="font-size: 32px"></div>
110
+ <div class="spinner accent" style="font-size: 16px"></div>
111
+ <div class="spinner2" style="font-size: 1.75rem"></div>
112
+ <div class="spinner2 accent" style="font-size: 16px"></div>
106
113
  </article>
107
114
  <footer></footer>
108
115
  </div>
@@ -158,7 +165,7 @@
158
165
  class="command-bar"
159
166
  style="
160
167
  grid-area: c;
161
- grid-template-columns: repeat(2, auto) 12rem auto 1fr auto 1fr auto;
168
+ grid-template-columns: repeat(2, auto) 12rem auto 1fr auto auto 1fr auto;
162
169
  "
163
170
  >
164
171
  <button class="command">Command</button>
@@ -166,7 +173,14 @@
166
173
  <button class="shade2 command">Command and sth more looong</button>
167
174
  <button class="accent command">Special Command</button>
168
175
  <div class="command spacer"></div>
169
- <button class="warn command">Delete</button>
176
+ <button class="warn command flash">Confirm Deletion</button>
177
+ <button
178
+ disabled
179
+ class="warn command"
180
+ style="justify-items: center; align-items: center"
181
+ >
182
+ <div class="spinner2 accent" style="font-size: 2.4rem"></div>
183
+ </button>
170
184
  <div class="command spacer"></div>
171
185
  Commands
172
186
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ada-ui",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "scripts": {
5
5
  "start:dev": "alive-server .",
6
6
  "build:dev": "sass scss:css --watch",
@@ -1,11 +1,7 @@
1
- .command-bar-v {
1
+ .command-bar {
2
2
  position: relative;
3
3
  display: grid;
4
- grid-auto-flow: row;
5
4
  gap: 0.5rem;
6
- width: 12rem;
7
- padding-top: 1.5rem;
8
- padding-bottom: 1.5rem;
9
5
  margin: 0.5rem;
10
6
 
11
7
  &:before,
@@ -13,63 +9,66 @@
13
9
  box-shadow: $box-shadow;
14
10
  position: absolute;
15
11
  content: "";
16
- height: 1rem;
17
- left: 0;
18
- right: 0;
19
12
  background: var(--default-alpha60);
20
13
  }
21
14
 
22
- &:before {
23
- border-radius: 0.3rem 0.3rem 0 0;
24
- top: 0;
25
- }
26
- &:after {
27
- border-radius: 0 0 0.3rem 0.3rem;
28
- bottom: 0;
29
- }
15
+ &:not(.vertical) {
16
+ @extend %h2, .m-0;
17
+ grid-auto-flow: column;
18
+ text-align: center;
19
+ align-items: center;
20
+ line-height: 3.6rem;
21
+ height: 3.6rem;
22
+ padding-left: 1.5rem;
23
+ padding-right: 1.5rem;
30
24
 
31
- & > .command {
32
- min-height: 3.6rem;
33
- width: 12rem;
34
- }
35
- }
25
+ &:before,
26
+ &:after {
27
+ width: 1rem;
28
+ top: 0;
29
+ bottom: 0;
30
+ }
36
31
 
37
- .command-bar {
38
- position: relative;
39
- @extend %h2, .m-0;
40
- display: grid;
41
- grid-auto-flow: column;
42
- text-align: center;
43
- gap: 0.5rem;
44
- align-items: center;
45
- line-height: 3.6rem;
46
- height: 3.6rem;
47
- padding-left: 1.5rem;
48
- padding-right: 1.5rem;
49
- margin: 0.5rem;
32
+ &:before {
33
+ border-radius: 0.3rem 0 0 0.3rem;
34
+ left: 0;
35
+ }
36
+ &:after {
37
+ border-radius: 0 0.3rem 0.3rem 0;
38
+ right: 0;
39
+ }
50
40
 
51
- &:before,
52
- &:after {
53
- box-shadow: $box-shadow;
54
- position: absolute;
55
- content: "";
56
- width: 1rem;
57
- top: 0;
58
- bottom: 0;
59
- background: var(--default-alpha60);
41
+ & > .command {
42
+ height: 3.6rem;
43
+ }
60
44
  }
61
45
 
62
- &:before {
63
- border-radius: 0.3rem 0 0 0.3rem;
64
- left: 0;
65
- }
66
- &:after {
67
- border-radius: 0 0.3rem 0.3rem 0;
68
- right: 0;
69
- }
46
+ &.vertical {
47
+ grid-auto-flow: row;
48
+ width: 12rem;
49
+ padding-top: 1.5rem;
50
+ padding-bottom: 1.5rem;
70
51
 
71
- & > .command {
72
- height: 3.6rem;
52
+ &:before,
53
+ &:after {
54
+ height: 1rem;
55
+ left: 0;
56
+ right: 0;
57
+ }
58
+
59
+ &:before {
60
+ border-radius: 0.3rem 0.3rem 0 0;
61
+ top: 0;
62
+ }
63
+ &:after {
64
+ border-radius: 0 0 0.3rem 0.3rem;
65
+ bottom: 0;
66
+ }
67
+
68
+ & > .command {
69
+ min-height: 3.6rem;
70
+ width: 12rem;
71
+ }
73
72
  }
74
73
  }
75
74
 
@@ -95,12 +94,23 @@
95
94
  min-width: 0;
96
95
  }
97
96
 
97
+ &.flash {
98
+ animation: flash 1s ease-in-out infinite;
99
+ }
100
+
98
101
  &:focus {
99
102
  border-color: var(--light-alpha70);
100
103
  }
101
104
 
102
105
  &:active {
103
106
  background-color: var(--light-alpha40);
107
+ animation-play-state: paused;
104
108
  }
105
109
  }
106
110
  }
111
+
112
+ @keyframes flash {
113
+ 50% {
114
+ background-color: var(--light-alpha70);
115
+ }
116
+ }
@@ -1,4 +1,322 @@
1
+ .spinner-test {
2
+ margin: 0.3rem;
3
+ display: grid;
4
+ justify-items: center;
5
+ align-items: center;
6
+ width: 1em;
7
+ height: 1em;
8
+ position: relative;
9
+ box-sizing: border-box;
10
+ animation: 8s 0.5s rotate ease-in-out infinite;
11
+
12
+ &:before {
13
+ content: "";
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ right: 0;
18
+ bottom: 0;
19
+ border-style: solid;
20
+ border-width: 0.05em;
21
+ border-radius: 50%;
22
+ border-color: var(--light-alpha40) transparent;
23
+ animation: 6s 0.5s inset1-test ease-in-out infinite;
24
+ box-shadow: 0px 12px 10px -12px #000a, 0px -12px 10px -12px #000a;
25
+ }
26
+
27
+ &:after {
28
+ content: "";
29
+ position: absolute;
30
+ top: 0;
31
+ left: 0;
32
+ right: 0;
33
+ bottom: 0;
34
+ border-style: solid;
35
+ border-width: 0.05em;
36
+ border-radius: 50%;
37
+ border-color: transparent var(--light-alpha70);
38
+ animation: 6s 0.5s inset2-test ease-in-out infinite;
39
+ box-shadow: 12px 0px 10px -12px #000a, -12px 0px 10px -12px #000a;
40
+ }
41
+ }
42
+
43
+ .spinner2 {
44
+ margin: 0.3rem;
45
+ display: grid;
46
+ justify-items: center;
47
+ align-items: center;
48
+ width: 1em;
49
+ height: 1em;
50
+ position: relative;
51
+ box-sizing: border-box;
52
+ animation: 6s 0.5s rotate ease-in-out alternate infinite;
53
+
54
+ &:before {
55
+ content: "";
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ right: 0;
60
+ bottom: 0;
61
+ border-style: solid;
62
+ border-width: 0.05em;
63
+ border-radius: 50%;
64
+ border-color: var(--light-alpha40) transparent;
65
+ animation: 4s 0.5s inset1 ease-in-out infinite;
66
+ box-shadow: 0px 12px 10px -12px #000a, 0px -12px 10px -12px #000a;
67
+ }
68
+
69
+ &:after {
70
+ content: "";
71
+ position: absolute;
72
+ top: 0;
73
+ left: 0;
74
+ right: 0;
75
+ bottom: 0;
76
+ border-style: solid;
77
+ border-width: 0.05em;
78
+ border-radius: 50%;
79
+ border-color: transparent var(--light-alpha70);
80
+ animation: 4s 0.5s inset2 ease-in-out infinite;
81
+ box-shadow: 12px 0px 10px -12px #000a, -12px 0px 10px -12px #000a;
82
+ }
83
+ }
84
+
85
+ @keyframes rotate {
86
+ 0% {
87
+ transform: rotate(0);
88
+ }
89
+ 100% {
90
+ transform: rotate(360deg);
91
+ }
92
+ }
93
+
94
+ $amount: 0.2em;
95
+ @keyframes inset1 {
96
+ 0% {
97
+ top: 0;
98
+ left: 0;
99
+ right: 0;
100
+ bottom: 0;
101
+ transform: rotate(0);
102
+ }
103
+ 12.5% {
104
+ top: $amount;
105
+ left: $amount;
106
+ right: $amount;
107
+ bottom: $amount;
108
+ transform: rotate(0);
109
+ }
110
+ 37.5% {
111
+ top: $amount;
112
+ left: $amount;
113
+ right: $amount;
114
+ bottom: $amount;
115
+ transform: rotate(180deg);
116
+ }
117
+ 50% {
118
+ top: 0;
119
+ left: 0;
120
+ right: 0;
121
+ bottom: 0;
122
+ transform: rotate(180deg);
123
+ }
124
+ 100% {
125
+ top: 0;
126
+ left: 0;
127
+ right: 0;
128
+ bottom: 0;
129
+ transform: rotate(180deg);
130
+ }
131
+ }
132
+
133
+ @keyframes inset2 {
134
+ 0% {
135
+ top: 0;
136
+ left: 0;
137
+ right: 0;
138
+ bottom: 0;
139
+ transform: rotate(0);
140
+ }
141
+ 50% {
142
+ top: 0;
143
+ left: 0;
144
+ right: 0;
145
+ bottom: 0;
146
+ transform: rotate(0);
147
+ }
148
+ 62.5% {
149
+ top: $amount;
150
+ left: $amount;
151
+ right: $amount;
152
+ bottom: $amount;
153
+ transform: rotate(0);
154
+ }
155
+ 87.5% {
156
+ top: $amount;
157
+ left: $amount;
158
+ right: $amount;
159
+ bottom: $amount;
160
+ transform: rotate(180deg);
161
+ }
162
+ 100% {
163
+ top: 0;
164
+ left: 0;
165
+ right: 0;
166
+ bottom: 0;
167
+ transform: rotate(180deg);
168
+ }
169
+ }
170
+
171
+ @keyframes inset1-test {
172
+ 0% {
173
+ top: 0;
174
+ left: 0;
175
+ right: 0;
176
+ bottom: 0;
177
+ transform: rotate(0);
178
+ }
179
+ 12.5% {
180
+ top: $amount;
181
+ left: $amount;
182
+ right: $amount;
183
+ bottom: $amount;
184
+ transform: rotate(0);
185
+ }
186
+ 25% {
187
+ top: $amount;
188
+ left: $amount;
189
+ right: $amount;
190
+ bottom: $amount;
191
+ transform: rotate(180deg);
192
+ }
193
+ 37.5% {
194
+ top: 0;
195
+ left: 0;
196
+ right: 0;
197
+ bottom: 0;
198
+ transform: rotate(180deg);
199
+ }
200
+ 50% {
201
+ top: 0;
202
+ left: 0;
203
+ right: 0;
204
+ bottom: 0;
205
+ transform: rotate(270deg);
206
+ }
207
+ 87.5% {
208
+ top: 0;
209
+ left: 0;
210
+ right: 0;
211
+ bottom: 0;
212
+ transform: rotate(270deg);
213
+ }
214
+ 100% {
215
+ top: 0;
216
+ left: 0;
217
+ right: 0;
218
+ bottom: 0;
219
+ transform: rotate(360deg);
220
+ }
221
+ }
222
+
223
+ @keyframes inset2-test {
224
+ 0% {
225
+ top: 0;
226
+ left: 0;
227
+ right: 0;
228
+ bottom: 0;
229
+ transform: rotate(0);
230
+ }
231
+ 37.5% {
232
+ top: 0;
233
+ left: 0;
234
+ right: 0;
235
+ bottom: 0;
236
+ transform: rotate(0);
237
+ }
238
+ 50% {
239
+ top: 0;
240
+ left: 0;
241
+ right: 0;
242
+ bottom: 0;
243
+ transform: rotate(90deg);
244
+ }
245
+ 62.5% {
246
+ top: $amount;
247
+ left: $amount;
248
+ right: $amount;
249
+ bottom: $amount;
250
+ transform: rotate(90deg);
251
+ }
252
+ 75% {
253
+ top: $amount;
254
+ left: $amount;
255
+ right: $amount;
256
+ bottom: $amount;
257
+ transform: rotate(270deg);
258
+ }
259
+ 87.5% {
260
+ top: 0;
261
+ left: 0;
262
+ right: 0;
263
+ bottom: 0;
264
+ transform: rotate(270deg);
265
+ }
266
+ 100% {
267
+ top: 0;
268
+ left: 0;
269
+ right: 0;
270
+ bottom: 0;
271
+ transform: rotate(360deg);
272
+ }
273
+ }
274
+
1
275
  .spinner {
276
+ display: grid;
277
+ justify-items: center;
278
+ align-items: center;
279
+ width: 3em;
280
+ height: 1em;
281
+ position: relative;
282
+
283
+ &:before {
284
+ content: "";
285
+ position: absolute;
286
+ width: 0.6em;
287
+ height: 0.6em;
288
+ border-radius: 50%;
289
+ background: var(--light-alpha40);
290
+ animation: 1.5s 0.1s swing ease-in-out infinite;
291
+ box-sizing: border-box;
292
+ }
293
+
294
+ &:after {
295
+ content: "";
296
+ position: absolute;
297
+ width: 1em;
298
+ height: 1em;
299
+ border-radius: 50%;
300
+ box-shadow: $box-shadow;
301
+ border: 0.1em solid var(--light-alpha70);
302
+ animation: 1.5s swing ease-in-out infinite;
303
+ box-sizing: border-box;
304
+ }
305
+ }
306
+
307
+ @keyframes swing {
308
+ 0% {
309
+ transform: translateX(-1.5em);
310
+ }
311
+ 50% {
312
+ transform: translateX(1.5em);
313
+ }
314
+ 100% {
315
+ transform: translateX(-1.5em);
316
+ }
317
+ }
318
+
319
+ .spinner-old {
2
320
  width: 100%;
3
321
  height: 100%;
4
322
  box-sizing: border-box;