ada-ui 5.9.0 → 6.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # ada-ui
2
2
 
3
+ ## 6.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 90e86eb: Renamed font-size tokens from `--scale` to `--text`.
8
+
9
+ ### Minor Changes
10
+
11
+ - 254e3c2: Added possibility to define a scaling factor by setting the CSS class `scaled`
12
+ and the CSS custom property `--scale` to a number. This allows to easily scale
13
+ down or up any part of the UI.
14
+
15
+ ## 5.9.1
16
+
17
+ ### Patch Changes
18
+
19
+ - 9329d75: Streamlined blue theme to be the best of both previously existing blue themes
20
+
3
21
  ## 5.9.0
4
22
 
5
23
  ### Minor Changes
package/css/ada.blue.css CHANGED
@@ -1 +1 @@
1
- .warn,.shade3,.shade2,.shade1,.default,:root{--bg-body: var(--color950);--fg-body: var(--color100);--bg-body-light: var(--color100);--fg-body-light: var(--color800);--100: 0.91 0.05 var(--hue);--500: calc(var(--l-base) + 0.15) calc(var(--c-base) + 0.06) var(--hue);--600: calc(var(--l-base) + 0.1) calc(var(--c-base) + 0.04) var(--hue);--700: calc(var(--l-base) + 0.05) calc(var(--c-base) + 0.02) var(--hue);--800: var(--l-base) var(--c-base) var(--hue);--950: 0.18 0.03 var(--hue);--color100: oklch(var(--100));--color500: oklch(var(--500));--color600: oklch(var(--600));--color700: oklch(var(--700));--color800: oklch(var(--800));--color950: oklch(var(--950))}.light-theme.warn,.light-theme.shade3,.light-theme.shade2,.light-theme.shade1,.light-theme.default,.light-theme:root,:root.light-theme .warn,:root.light-theme .shade3,:root.light-theme .shade2,:root.light-theme .shade1,:root.light-theme .default,:root.light-theme :root{--l-base: var(--l-base-light);--c-base: var(--c-base-light);--bg-body: var(--bg-body-light);--fg-body: var(--fg-body-light)}:root{--l-base: 0.26;--c-base: 0.06;--l-base-light: 0.4;--c-base-light: 0.1}.default,:root{--hue: 246}.shade1{--hue: 225}.shade2{--hue: 190}.shade3{--hue: 165}.warn{--hue: 29}
1
+ .warn,.shade3,.shade2,.shade1,.default,:root{--bg-body: var(--color950);--fg-body: var(--color100);--bg-body-light: var(--color100);--fg-body-light: var(--color800);--100: 0.91 0.05 var(--hue);--500: calc(var(--l-base) + 0.15) calc(var(--c-base) + 0.06) var(--hue);--600: calc(var(--l-base) + 0.1) calc(var(--c-base) + 0.04) var(--hue);--700: calc(var(--l-base) + 0.05) calc(var(--c-base) + 0.02) var(--hue);--800: var(--l-base) var(--c-base) var(--hue);--950: 0.18 0.03 var(--hue);--color100: oklch(var(--100));--color500: oklch(var(--500));--color600: oklch(var(--600));--color700: oklch(var(--700));--color800: oklch(var(--800));--color950: oklch(var(--950))}.light-theme.warn,.light-theme.shade3,.light-theme.shade2,.light-theme.shade1,.light-theme.default,.light-theme:root,:root.light-theme .warn,:root.light-theme .shade3,:root.light-theme .shade2,:root.light-theme .shade1,:root.light-theme .default,:root.light-theme :root{--l-base: var(--l-base-light);--c-base: var(--c-base-light);--bg-body: var(--bg-body-light);--fg-body: var(--fg-body-light)}:root{--l-base: 0.3;--c-base: 0.1;--l-base-light: 0.4;--c-base-light: 0.1}.default,:root{--hue: 246}.shade1{--hue: 220}.shade2{--hue: 195}.shade3{--hue: 170}.warn{--hue: 29}
package/css/ada.css CHANGED
@@ -1 +1 @@
1
- *,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}h1,h2,h3,h4,h5,h6,p,pre{font-size:inherit;font-weight:inherit;margin:0}a{color:inherit;text-decoration:inherit}button,input,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}ol,ul,menu{list-style:none;margin:0;padding:0}:root{--font-family: "Open Sans", sans-serif;--font-size: 16px;--scale-xs: 0.75rem;--scale-sm: 0.85rem;--scale-base: 1rem;--scale-lg: 1.2rem;--scale-xl: 1.4rem;--scale-2xl: 1.6rem;--scale-3xl: 1.8rem;--box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);--padding-xs: 0.15rem;--padding-sm: 0.4rem;--padding: 0.75rem;--padding-lg: 1rem;--spacing-xs: 2px;--spacing-sm: 6px;--spacing: 10px;--spacing-lg: 14px;--border-width-sm: 1px;--border-width: 2px;--border-radius: 0.3rem}@media screen and (min-width: 640px){:root{--font-size: 14px}}:root.light-theme{--box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.4)}.panel>article::-webkit-scrollbar,.tile>article::-webkit-scrollbar,body::-webkit-scrollbar{width:var(--spacing-sm);background:transparent}.panel>article::-webkit-scrollbar-thumb,.tile>article::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{min-width:1rem;border-style:solid;border-color:transparent;border-width:var(--spacing-sm);background:var(--color700);box-sizing:border-box;background-clip:border-box}html{font-family:var(--font-family);font-weight:400;font-size:var(--font-size)}body{font-size:1rem;padding:var(--padding);background:var(--bg-body);color:var(--fg-body);transition:background-color .15s ease-in-out}h1,h2,h3,h4,.panel>header,.tile>header{font-weight:300;text-shadow:0 0 4px oklch(var(--400)/0.5);color:var(--fg-body)}h1{font-size:var(--scale-3xl)}h2{font-size:var(--scale-2xl)}h3{font-size:var(--scale-xl)}h4{font-size:var(--scale-lg)}.command{background-color:var(--color800);box-shadow:var(--box-shadow);display:grid;align-items:end;justify-items:end;text-align:end;border-style:solid;border-color:transparent;border-width:var(--border-width);padding:var(--padding-xs) var(--padding-sm);min-height:3rem;min-width:3rem;border-radius:var(--border-radius);overflow:hidden;outline:none;color:var(--color100);font-family:inherit;font-size:var(--scale-base);cursor:pointer;user-select:none;vertical-align:middle;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.command.flash{animation:flash-background 1s ease-in-out infinite}.command[data-label][data-abbr]::after{content:attr(data-abbr)}@media(min-width: 640px){.command[data-label][data-abbr]::after{content:attr(data-label)}}.command:disabled{opacity:.7;cursor:default;pointer-events:none;background:#6d6d6d;color:#ededed}.command.outline{background-color:transparent;border-color:var(--color700);color:var(--fg-body)}.command.outline.flash{animation-name:flash-border}.command.outline:disabled{background:transparent;border-color:#6d6d6d;color:#6d6d6d}.command.outline:active{color:var(--color100)}.command:focus{border-color:var(--color500)}.command:active{border-color:var(--color500);background-color:var(--color500);animation-play-state:paused}.compound-commands{display:inline-flex;gap:var(--spacing-sm)}.compound-commands>.spacer{background-color:var(--color800);box-shadow:var(--box-shadow);min-width:1rem;min-height:1rem}.compound-commands>.spacer.outline{background-color:transparent;border:var(--border-width) solid var(--color700)}.compound-commands>.text{font-size:var(--scale-3xl);line-height:var(--scale-3xl);align-self:center;padding:var(--padding-xs)}.compound-commands>.command:first-child,.compound-commands .spacer:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}.compound-commands>.command:not(:first-child):not(:last-child),.compound-commands .spacer:not(:first-child):not(:last-child){border-radius:0}.compound-commands>.command:last-child,.compound-commands .spacer:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0}.compound-commands.vertical{flex-direction:column}.compound-commands.vertical>.text{justify-self:center}.compound-commands.vertical>.command:first-child,.compound-commands.vertical .spacer:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.compound-commands.vertical>.command:last-child,.compound-commands.vertical .spacer:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}@keyframes flash-background{50%{background-color:var(--color600)}}@keyframes flash-border{50%{border-color:var(--color500)}}.input{border-radius:var(--border-radius);box-shadow:var(--box-shadow);outline:none;border:var(--border-width) solid var(--color600);color:var(--fg-body);font-family:inherit;background-color:transparent;transition:border-color .15s ease-in-out;padding:var(--padding);font-size:var(--scale-base)}.input:focus{border:var(--border-width) solid var(--color500)}.input:disabled{opacity:.4;filter:saturate(0.6);cursor:default;pointer-events:none}.panel>footer::after,.tile>footer::after,.panel>footer::before,.tile>footer::before,.panel>header::after,.tile>header::after,.panel>header::before,.tile>header::before{content:"";border-style:solid;border-color:var(--color700);position:absolute;height:1rem;width:1rem;z-index:2;--thickness: var(--border-width)}.tile>footer::after,.tile>footer::before,.tile>header::after,.tile>header::before{height:.75rem;width:.75rem;border-color:var(--color600);--thickness: var(--border-width-sm)}.panel,.tile{background:oklch(var(--500)/0.1);box-shadow:var(--box-shadow);border-radius:var(--border-radius);display:grid;grid-template-rows:auto 1fr auto;overflow:auto}.panel>header,.tile>header{position:relative;font-size:var(--scale-2xl);padding:var(--padding-sm) var(--padding)}.panel>header:empty,.tile>header:empty{padding:0}.panel>header::before,.tile>header::before{border-width:var(--thickness) 0 0 var(--thickness);border-radius:var(--border-radius) 0 0 0;left:0;top:0}.panel>header::after,.tile>header::after{border-width:var(--thickness) var(--thickness) 0 0;border-radius:0 var(--border-radius) 0 0;right:0;top:0}.panel>article,.tile>article{z-index:1;padding:var(--padding);overflow:auto}.panel>footer,.tile>footer{position:relative;padding:var(--padding-sm) var(--padding);font-size:var(--scale-sm);text-align:right}.panel>footer:empty,.tile>footer:empty{padding:0}.panel>footer::before,.tile>footer::before{border-width:0 0 var(--thickness) var(--thickness);border-radius:0 0 0 var(--border-radius);left:0;bottom:0}.panel>footer::after,.tile>footer::after{border-width:0 var(--thickness) var(--thickness) 0;border-radius:0 0 var(--border-radius) 0;right:0;bottom:0}.tile{background:oklch(var(--800)/0.75)}.tile>header{font-size:var(--scale-lg)}.tile>footer{font-size:var(--scale-xs)}.spinner{display:inline-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}.spinner::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:var(--color700) transparent;animation:4s .5s inset1 ease-in-out infinite;box-shadow:0px 12px 10px -12px rgba(0,0,0,.4),0px -12px 10px -12px rgba(0,0,0,.4)}.spinner::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(--color500);animation:4s .5s inset2 ease-in-out infinite;box-shadow:12px 0px 10px -12px rgba(0,0,0,.4),-12px 0px 10px -12px rgba(0,0,0,.4)}@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)}}
1
+ *,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}h1,h2,h3,h4,h5,h6,p,pre{font-size:inherit;font-weight:inherit;margin:0}a{color:inherit;text-decoration:inherit}button,input,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}ol,ul,menu{list-style:none;margin:0;padding:0}:root{--font-family: "Open Sans", sans-serif;--font-size: 16px;--spacing-xs: 2px;--spacing-sm: 6px;--spacing: 10px;--spacing-lg: 14px;--border-width-sm: 1px;--border-width: 2px;--box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4)}@media screen and (min-width: 640px){:root{--font-size: 14px}}:root.light-theme{--box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.4)}.scaled,:root{--text-xs: calc(0.75rem * var(--scale, 1));--text-sm: calc(0.85rem * var(--scale, 1));--text-base: calc(1rem * var(--scale, 1));--text-lg: calc(1.2rem * var(--scale, 1));--text-xl: calc(1.4rem * var(--scale, 1));--text-2xl: calc(1.6rem * var(--scale, 1));--text-3xl: calc(1.8rem * var(--scale, 1));--padding-xs: calc(0.15rem * var(--scale, 1));--padding-sm: calc(0.4rem * var(--scale, 1));--padding: calc(0.75rem * var(--scale, 1));--padding-lg: calc(1rem * var(--scale, 1));--border-radius: calc(0.3rem * var(--scale, 1));--command-min-size: calc(3rem * var(--scale, 1));--compound-spacer-min-size: calc(1rem * var(--scale, 1));--corner-size: calc(1rem * var(--scale, 1));--corner-small-size: calc(0.75rem * var(--scale, 1))}.panel>article::-webkit-scrollbar,.tile>article::-webkit-scrollbar,body::-webkit-scrollbar{width:var(--spacing-sm);background:transparent}.panel>article::-webkit-scrollbar-thumb,.tile>article::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{min-width:1rem;border-style:solid;border-color:transparent;border-width:var(--spacing-sm);background:var(--color700);box-sizing:border-box;background-clip:border-box}html{font-family:var(--font-family);font-weight:400;font-size:var(--font-size)}body{font-size:var(--text-base);padding:var(--padding);background:var(--bg-body);color:var(--fg-body);transition:background-color .15s ease-in-out}h1,h2,h3,h4,.panel>header,.tile>header{font-weight:300;text-shadow:0 0 4px oklch(var(--400)/0.5);color:var(--fg-body)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}.command{background-color:var(--color800);box-shadow:var(--box-shadow);display:grid;align-items:end;justify-items:end;text-align:end;border-style:solid;border-color:transparent;border-width:var(--border-width);padding:var(--padding-xs) var(--padding-sm);min-height:var(--command-min-size);min-width:var(--command-min-size);border-radius:var(--border-radius);overflow:hidden;outline:none;color:var(--color100);font-family:inherit;font-size:var(--text-base);cursor:pointer;user-select:none;vertical-align:middle;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.command.flash{animation:flash-background 1s ease-in-out infinite}.command[data-label][data-abbr]::after{content:attr(data-abbr)}@media(min-width: 640px){.command[data-label][data-abbr]::after{content:attr(data-label)}}.command:disabled{opacity:.7;cursor:default;pointer-events:none;background:#6d6d6d;color:#ededed}.command.outline{background-color:transparent;border-color:var(--color700);color:var(--fg-body)}.command.outline.flash{animation-name:flash-border}.command.outline:disabled{background:transparent;border-color:#6d6d6d;color:#6d6d6d}.command.outline:active{color:var(--color100)}.command:focus{border-color:var(--color500)}.command:active{border-color:var(--color500);background-color:var(--color500);animation-play-state:paused}.compound-commands{display:inline-flex;gap:var(--spacing-sm)}.compound-commands>.spacer{background-color:var(--color800);box-shadow:var(--box-shadow);min-width:var(--compound-spacer-min-size);min-height:var(--compound-spacer-min-size)}.compound-commands>.spacer.outline{background-color:transparent;border:var(--border-width) solid var(--color700)}.compound-commands>.text{font-size:var(--text-3xl);line-height:var(--text-3xl);align-self:center;padding:var(--padding-xs)}.compound-commands>.command:first-child,.compound-commands .spacer:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}.compound-commands>.command:not(:first-child):not(:last-child),.compound-commands .spacer:not(:first-child):not(:last-child){border-radius:0}.compound-commands>.command:last-child,.compound-commands .spacer:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0}.compound-commands.vertical{flex-direction:column}.compound-commands.vertical>.text{justify-self:center}.compound-commands.vertical>.command:first-child,.compound-commands.vertical .spacer:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}.compound-commands.vertical>.command:last-child,.compound-commands.vertical .spacer:last-child{border-radius:0 0 var(--border-radius) var(--border-radius)}@keyframes flash-background{50%{background-color:var(--color600)}}@keyframes flash-border{50%{border-color:var(--color500)}}.input{border-radius:var(--border-radius);box-shadow:var(--box-shadow);outline:none;border:var(--border-width) solid var(--color600);color:var(--fg-body);font-family:inherit;background-color:transparent;transition:border-color .15s ease-in-out;padding:var(--padding);font-size:var(--text-base)}.input:focus{border:var(--border-width) solid var(--color500)}.input:disabled{opacity:.4;filter:saturate(0.6);cursor:default;pointer-events:none}.panel>footer::after,.tile>footer::after,.panel>footer::before,.tile>footer::before,.panel>header::after,.tile>header::after,.panel>header::before,.tile>header::before{content:"";border-style:solid;border-color:var(--color700);position:absolute;height:var(--corner-size);width:var(--corner-size);z-index:2;--thickness: var(--border-width)}.tile>footer::after,.tile>footer::before,.tile>header::after,.tile>header::before{height:var(--corner-small-size);width:var(--corner-small-size);border-color:var(--color600);--thickness: var(--border-width-sm)}.panel,.tile{background:oklch(var(--500)/0.1);box-shadow:var(--box-shadow);border-radius:var(--border-radius);display:grid;grid-template-rows:auto 1fr auto;overflow:auto}.panel>header,.tile>header{position:relative;font-size:var(--text-2xl);padding:var(--padding-sm) var(--padding)}.panel>header:empty,.tile>header:empty{padding:0}.panel>header::before,.tile>header::before{border-width:var(--thickness) 0 0 var(--thickness);border-radius:var(--border-radius) 0 0 0;left:0;top:0}.panel>header::after,.tile>header::after{border-width:var(--thickness) var(--thickness) 0 0;border-radius:0 var(--border-radius) 0 0;right:0;top:0}.panel>article,.tile>article{z-index:1;padding:var(--padding);overflow:auto;font-size:var(--text-base)}.panel>footer,.tile>footer{position:relative;padding:var(--padding-sm) var(--padding);font-size:var(--text-sm);text-align:right}.panel>footer:empty,.tile>footer:empty{padding:0}.panel>footer::before,.tile>footer::before{border-width:0 0 var(--thickness) var(--thickness);border-radius:0 0 0 var(--border-radius);left:0;bottom:0}.panel>footer::after,.tile>footer::after{border-width:0 var(--thickness) var(--thickness) 0;border-radius:0 0 var(--border-radius) 0;right:0;bottom:0}.tile{background:oklch(var(--800)/0.75)}.tile>header{font-size:var(--text-lg)}.tile>footer{font-size:var(--text-xs)}.spinner{display:inline-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}.spinner::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-style:solid;border-width:.05em;border-radius:50%;border-color:var(--color700) transparent;animation:4s .5s inset1 ease-in-out infinite;box-shadow:0px 12px 10px -12px rgba(0,0,0,.4),0px -12px 10px -12px rgba(0,0,0,.4)}.spinner::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(--color500);animation:4s .5s inset2 ease-in-out infinite;box-shadow:12px 0px 10px -12px rgba(0,0,0,.4),-12px 0px 10px -12px rgba(0,0,0,.4)}@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)}}
package/index.html CHANGED
@@ -34,6 +34,7 @@
34
34
  <a href="#padding" class="command shade1">Padding</a>
35
35
  <a href="#spacing" class="command shade1">Spacing</a>
36
36
  <a href="#colors" class="command shade1">Colors</a>
37
+ <a href="#scaling" class="command shade2">Scaling</a>
37
38
  <a href="#page-layout" class="command shade1">Page Layout</a>
38
39
  <a
39
40
  href="#command"
@@ -68,37 +69,37 @@
68
69
  <header><h2 id="typography">Typography</h2></header>
69
70
  <article class="typography">
70
71
  <p>
71
- <code style="font-size: var(--scale-3xl)">--scale-3xl</code>
72
+ <code style="font-size: var(--text-3xl)">--text-3xl</code>
72
73
  <span>1.8rem</span>
73
74
  <span>Headline 1, Text in Compound Commands</span>
74
75
  </p>
75
76
  <p>
76
- <code style="font-size: var(--scale-2xl)">--scale-2xl</code>
77
+ <code style="font-size: var(--text-2xl)">--text-2xl</code>
77
78
  <span>1.6rem</span>
78
79
  <span>Headline 2</span>
79
80
  </p>
80
81
  <p>
81
- <code style="font-size: var(--scale-xl)">--scale-xl</code>
82
+ <code style="font-size: var(--text-xl)">--text-xl</code>
82
83
  <span>1.4rem</span>
83
84
  <span>Headline 3</span>
84
85
  </p>
85
86
  <p>
86
- <code style="font-size: var(--scale-lg)">--scale-lg</code>
87
+ <code style="font-size: var(--text-lg)">--text-lg</code>
87
88
  <span>1.2rem</span>
88
89
  <span>Headline 4</span>
89
90
  </p>
90
91
  <p>
91
- <code style="font-size: var(--scale-base)">--scale-base</code>
92
+ <code style="font-size: var(--text-base)">--text-base</code>
92
93
  <span>1rem</span>
93
94
  <span>Normal Text, Command Label</span>
94
95
  </p>
95
96
  <p>
96
- <code style="font-size: var(--scale-sm)">--scale-sm</code>
97
+ <code style="font-size: var(--text-sm)">--text-sm</code>
97
98
  <span>0.85rem</span>
98
99
  <span>Small Text, Panel Footer</span>
99
100
  </p>
100
101
  <p>
101
- <code style="font-size: var(--scale-xs)">--scale-xs</code>
102
+ <code style="font-size: var(--text-xs)">--text-xs</code>
102
103
  <span>0.75rem</span>
103
104
  <span>Tile Footer</span>
104
105
  </p>
@@ -122,7 +123,7 @@
122
123
  <div class="padding-box lg shade2"></div>
123
124
  <p>&rarr; Paddings are responsive (in rem).</p>
124
125
  <p>
125
- Usage: paddings, anything which should grow/shrink with the
126
+ Usage: paddings, anything which should grow/shrink with the root
126
127
  font-size
127
128
  </p>
128
129
  </article>
@@ -219,6 +220,24 @@
219
220
  </article>
220
221
  <footer></footer>
221
222
  </div>
223
+ <div class="panel">
224
+ <header><h2 id="scaling">Scaling</h2></header>
225
+ <article style="display: grid; gap: var(--spacing)">
226
+ <p>
227
+ By adding the class <code>scaled</code> and setting the CSS custom
228
+ property <code>--scaled</code> to a number like <code>1.5</code>,
229
+ every responsive token (sizes, paddings, font-size) is scaled in
230
+ this scope. See the scaled tile as an example:
231
+ </p>
232
+ <div class="tile scaled shade2" style="--scale: 1.5">
233
+ <header></header>
234
+ <article>Scaled Tile (factor 1.5)</article>
235
+ <footer></footer>
236
+ </div>
237
+ </article>
238
+ <footer></footer>
239
+ </div>
240
+
222
241
  <div class="panel">
223
242
  <header><h2 id="page-layout">Page Layout</h2></header>
224
243
  <article>
@@ -374,13 +393,13 @@
374
393
  The panel has a translucent background, so when stacking multiple
375
394
  panels the background changes slightly with each level.
376
395
  </p>
377
- <div class="panel" style="margin: var(--spacing)">
396
+ <div class="panel">
378
397
  <header></header>
379
398
  <article>
380
- <div class="panel" style="margin: var(--spacing)">
399
+ <div class="panel">
381
400
  <header></header>
382
401
  <article>
383
- <div class="panel" style="margin: var(--spacing)">
402
+ <div class="panel">
384
403
  <header></header>
385
404
  <article>Content</article>
386
405
  <footer></footer>
@@ -397,31 +416,35 @@
397
416
  <div class="panel">
398
417
  <header><h2 id="tile">Tile</h2></header>
399
418
  <article
400
- style="display: grid; grid-auto-flow: column; gap: var(--spacing)"
419
+ style="
420
+ display: grid;
421
+ grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
422
+ gap: var(--spacing);
423
+ "
401
424
  >
402
425
  <div class="tile">
403
426
  <header></header>
404
- <article>Tile</article>
427
+ <article>Tile Content</article>
405
428
  <footer></footer>
406
429
  </div>
407
430
  <div class="tile shade1">
408
431
  <header></header>
409
- <article>Tile</article>
432
+ <article>Tile Content</article>
410
433
  <footer></footer>
411
434
  </div>
412
435
  <div class="tile shade2">
413
436
  <header></header>
414
- <article>Tile</article>
437
+ <article>Tile Content</article>
415
438
  <footer></footer>
416
439
  </div>
417
440
  <div class="tile shade3">
418
441
  <header></header>
419
- <article>Tile</article>
442
+ <article>Tile Content</article>
420
443
  <footer></footer>
421
444
  </div>
422
445
  <div class="tile warn">
423
446
  <header></header>
424
- <article>Tile</article>
447
+ <article>Tile Content</article>
425
448
  <footer></footer>
426
449
  </div>
427
450
  </article>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ada-ui",
3
- "version": "5.9.0",
3
+ "version": "6.0.0",
4
4
  "scripts": {
5
5
  "dev": "concurrently -n scss,serve 'sass scss:css --watch --embed-source-map' 'alive-server .'",
6
6
  "postdev": "git checkout css/*",
@@ -9,14 +9,14 @@
9
9
  border-color: transparent;
10
10
  border-width: var(--border-width);
11
11
  padding: var(--padding-xs) var(--padding-sm);
12
- min-height: 3rem;
13
- min-width: 3rem;
12
+ min-height: var(--command-min-size);
13
+ min-width: var(--command-min-size);
14
14
  border-radius: var(--border-radius);
15
15
  overflow: hidden;
16
16
  outline: none;
17
17
  color: var(--color100);
18
18
  font-family: inherit;
19
- font-size: var(--scale-base);
19
+ font-size: var(--text-base);
20
20
  cursor: pointer;
21
21
  user-select: none;
22
22
  vertical-align: middle;
@@ -82,8 +82,8 @@
82
82
  > .spacer {
83
83
  background-color: var(--color800);
84
84
  box-shadow: var(--box-shadow);
85
- min-width: 1rem;
86
- min-height: 1rem;
85
+ min-width: var(--compound-spacer-min-size);
86
+ min-height: var(--compound-spacer-min-size);
87
87
 
88
88
  &.outline {
89
89
  background-color: transparent;
@@ -92,8 +92,8 @@
92
92
  }
93
93
 
94
94
  > .text {
95
- font-size: var(--scale-3xl);
96
- line-height: var(--scale-3xl);
95
+ font-size: var(--text-3xl);
96
+ line-height: var(--text-3xl);
97
97
  align-self: center;
98
98
  padding: var(--padding-xs);
99
99
  }
package/scss/_global.scss CHANGED
@@ -1,25 +1,22 @@
1
+ @function scalable($value) {
2
+ @return calc(#{$value} * var(--scale, 1));
3
+ }
4
+
1
5
  :root {
2
6
  --font-family: "Open Sans", sans-serif;
3
7
  --font-size: 16px;
4
- --scale-xs: 0.75rem;
5
- --scale-sm: 0.85rem;
6
- --scale-base: 1rem;
7
- --scale-lg: 1.2rem;
8
- --scale-xl: 1.4rem;
9
- --scale-2xl: 1.6rem;
10
- --scale-3xl: 1.8rem;
11
- --box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
12
- --padding-xs: 0.15rem;
13
- --padding-sm: 0.4rem;
14
- --padding: 0.75rem;
15
- --padding-lg: 1rem;
8
+
16
9
  --spacing-xs: 2px;
17
10
  --spacing-sm: 6px;
18
11
  --spacing: 10px;
19
12
  --spacing-lg: 14px;
13
+
20
14
  --border-width-sm: 1px;
21
15
  --border-width: 2px;
22
- --border-radius: 0.3rem;
16
+
17
+ --box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
18
+
19
+ @extend .scaled;
23
20
 
24
21
  @media screen and (min-width: 640px) {
25
22
  --font-size: 14px;
@@ -30,6 +27,29 @@
30
27
  }
31
28
  }
32
29
 
30
+ .scaled {
31
+ --text-xs: #{scalable(0.75rem)};
32
+ --text-sm: #{scalable(0.85rem)};
33
+ --text-base: #{scalable(1rem)};
34
+ --text-lg: #{scalable(1.2rem)};
35
+ --text-xl: #{scalable(1.4rem)};
36
+ --text-2xl: #{scalable(1.6rem)};
37
+ --text-3xl: #{scalable(1.8rem)};
38
+
39
+ --padding-xs: #{scalable(0.15rem)};
40
+ --padding-sm: #{scalable(0.4rem)};
41
+ --padding: #{scalable(0.75rem)};
42
+ --padding-lg: #{scalable(1rem)};
43
+
44
+ --border-radius: #{scalable(0.3rem)};
45
+
46
+ --command-min-size: #{scalable(3rem)};
47
+ --compound-spacer-min-size: #{scalable(1rem)};
48
+
49
+ --corner-size: #{scalable(1rem)};
50
+ --corner-small-size: #{scalable(0.75rem)};
51
+ }
52
+
33
53
  %scrollbar {
34
54
  &::-webkit-scrollbar {
35
55
  width: var(--spacing-sm);
@@ -53,7 +73,7 @@ html {
53
73
  }
54
74
 
55
75
  body {
56
- font-size: 1rem;
76
+ font-size: var(--text-base);
57
77
  padding: var(--padding);
58
78
  background: var(--bg-body);
59
79
  color: var(--fg-body);
package/scss/_input.scss CHANGED
@@ -8,7 +8,7 @@
8
8
  background-color: transparent;
9
9
  transition: border-color 0.15s ease-in-out;
10
10
  padding: var(--padding);
11
- font-size: var(--scale-base);
11
+ font-size: var(--text-base);
12
12
 
13
13
  &:focus {
14
14
  border: var(--border-width) solid var(--color500);
package/scss/_panel.scss CHANGED
@@ -3,15 +3,15 @@
3
3
  border-style: solid;
4
4
  border-color: var(--color700);
5
5
  position: absolute;
6
- height: 1rem;
7
- width: 1rem;
6
+ height: var(--corner-size);
7
+ width: var(--corner-size);
8
8
  z-index: 2;
9
9
 
10
10
  --thickness: var(--border-width);
11
11
 
12
12
  .tile > & {
13
- height: 0.75rem;
14
- width: 0.75rem;
13
+ height: var(--corner-small-size);
14
+ width: var(--corner-small-size);
15
15
  border-color: var(--color600);
16
16
 
17
17
  --thickness: var(--border-width-sm);
@@ -29,7 +29,7 @@
29
29
  > header {
30
30
  position: relative;
31
31
  @extend %header;
32
- font-size: var(--scale-2xl);
32
+ font-size: var(--text-2xl);
33
33
 
34
34
  padding: var(--padding-sm) var(--padding);
35
35
 
@@ -57,6 +57,7 @@
57
57
  z-index: 1;
58
58
  padding: var(--padding);
59
59
  overflow: auto;
60
+ font-size: var(--text-base);
60
61
 
61
62
  @extend %scrollbar;
62
63
  }
@@ -64,7 +65,7 @@
64
65
  position: relative;
65
66
 
66
67
  padding: var(--padding-sm) var(--padding);
67
- font-size: var(--scale-sm);
68
+ font-size: var(--text-sm);
68
69
  text-align: right;
69
70
 
70
71
  &:empty {
@@ -94,10 +95,10 @@
94
95
  background: oklch(var(--800) / 0.75);
95
96
 
96
97
  > header {
97
- font-size: var(--scale-lg);
98
+ font-size: var(--text-lg);
98
99
  }
99
100
 
100
101
  > footer {
101
- font-size: var(--scale-xs);
102
+ font-size: var(--text-xs);
102
103
  }
103
104
  }
@@ -9,17 +9,17 @@ h4,
9
9
  }
10
10
 
11
11
  h1 {
12
- font-size: var(--scale-3xl);
12
+ font-size: var(--text-3xl);
13
13
  }
14
14
 
15
15
  h2 {
16
- font-size: var(--scale-2xl);
16
+ font-size: var(--text-2xl);
17
17
  }
18
18
 
19
19
  h3 {
20
- font-size: var(--scale-xl);
20
+ font-size: var(--text-xl);
21
21
  }
22
22
 
23
23
  h4 {
24
- font-size: var(--scale-lg);
24
+ font-size: var(--text-lg);
25
25
  }
@@ -2,8 +2,8 @@
2
2
 
3
3
  :root {
4
4
  @extend .default;
5
- --l-base: 0.26;
6
- --c-base: 0.06;
5
+ --l-base: 0.3;
6
+ --c-base: 0.1;
7
7
 
8
8
  --l-base-light: 0.4;
9
9
  --c-base-light: 0.1;
@@ -16,17 +16,17 @@
16
16
 
17
17
  .shade1 {
18
18
  @extend %colourShades;
19
- --hue: 225;
19
+ --hue: 220;
20
20
  }
21
21
 
22
22
  .shade2 {
23
23
  @extend %colourShades;
24
- --hue: 190;
24
+ --hue: 195;
25
25
  }
26
26
 
27
27
  .shade3 {
28
28
  @extend %colourShades;
29
- --hue: 165;
29
+ --hue: 170;
30
30
  }
31
31
 
32
32
  .warn {
package/css/ada.blue2.css DELETED
@@ -1 +0,0 @@
1
- .warn,.shade3,.shade2,.shade1,.default,:root{--bg-body: var(--color950);--fg-body: var(--color100);--bg-body-light: var(--color100);--fg-body-light: var(--color800);--100: 0.91 0.05 var(--hue);--500: calc(var(--l-base) + 0.15) calc(var(--c-base) + 0.06) var(--hue);--600: calc(var(--l-base) + 0.1) calc(var(--c-base) + 0.04) var(--hue);--700: calc(var(--l-base) + 0.05) calc(var(--c-base) + 0.02) var(--hue);--800: var(--l-base) var(--c-base) var(--hue);--950: 0.18 0.03 var(--hue);--color100: oklch(var(--100));--color500: oklch(var(--500));--color600: oklch(var(--600));--color700: oklch(var(--700));--color800: oklch(var(--800));--color950: oklch(var(--950))}.light-theme.warn,.light-theme.shade3,.light-theme.shade2,.light-theme.shade1,.light-theme.default,.light-theme:root,:root.light-theme .warn,:root.light-theme .shade3,:root.light-theme .shade2,:root.light-theme .shade1,:root.light-theme .default,:root.light-theme :root{--l-base: var(--l-base-light);--c-base: var(--c-base-light);--bg-body: var(--bg-body-light);--fg-body: var(--fg-body-light)}:root{--l-base: 0.34;--c-base: 0.1;--l-base-light: 0.42;--c-base-light: 0.13}.default,:root{--hue: 258}.shade1{--hue: 210}.shade2{--hue: 118}.shade3{--hue: 96}.warn{--hue: 29}
@@ -1 +0,0 @@
1
- .warn,.shade3,.shade2,.shade1,.default,:root{--bg-body: var(--color950);--fg-body: var(--color100);--bg-body-light: var(--color100);--fg-body-light: var(--color800);--100: 0.91 0.05 var(--hue);--500: calc(var(--l-base) + 0.15) calc(var(--c-base) + 0.06) var(--hue);--600: calc(var(--l-base) + 0.1) calc(var(--c-base) + 0.04) var(--hue);--700: calc(var(--l-base) + 0.05) calc(var(--c-base) + 0.02) var(--hue);--800: var(--l-base) var(--c-base) var(--hue);--950: 0.18 0.03 var(--hue);--color100: oklch(var(--100));--color500: oklch(var(--500));--color600: oklch(var(--600));--color700: oklch(var(--700));--color800: oklch(var(--800));--color950: oklch(var(--950))}.light-theme.warn,.light-theme.shade3,.light-theme.shade2,.light-theme.shade1,.light-theme.default,.light-theme:root,:root.light-theme .warn,:root.light-theme .shade3,:root.light-theme .shade2,:root.light-theme .shade1,:root.light-theme .default,:root.light-theme :root{--l-base: var(--l-base-light);--c-base: var(--c-base-light);--bg-body: var(--bg-body-light);--fg-body: var(--fg-body-light)}:root{--l-base: 0.29;--c-base: 0.07;--l-base-light: 0.4;--c-base-light: 0.1}.default,:root{--hue: 155}.shade1{--hue: 138}.shade2{--hue: 129}.shade3{--hue: 185}.warn{--hue: 29}