Compare commits

...

2 commits

Author SHA1 Message Date
45c765a6bc Add boxes and sidebar 2024-12-05 02:22:09 -05:00
656158f5da add boxes and sidebars 2024-12-05 02:18:52 -05:00
5 changed files with 250 additions and 10 deletions

View file

@ -11,10 +11,29 @@
<div class="header">
Hello yaru!
</div>
<h1>Hello yaru!</h1>
<h2>Hello yaru!</h2>
<h3>Hello yaru!</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button>Test</button>
<div class="box">
<div class="sidebar">
<button class="sb_button">lorem ipsum</button>
<button class="sb_button">dolor sit amet</button>
</div>
<div class="box-content-1">
<div class="box-v">
<div class="box-content-1">
<h1>Hello yaru!</h1>
<h2>Hello yaru!</h2>
<h3>Hello yaru!</h3>
<p>yaru.css is a css library attempting to recreate the Ubuntu Yaru style in a web format. it also works as it's own implementation of something like bootstrap with built in GTK style elements like Boxes and Popovers. This is a simple test page showing the different elements.</p>
<button>Test</button>
</div>
<div class="box-content-1">
<h1>Hello again yaru!</h1>
<h2>Hello again yaru!</h2>
<h3>Hello again yaru!</h3>
<p>You may have noticed this is a different item. yaru.css has the "box-v" div class for stacking different "box-content-1"s ontop of eachother, as long as the box-v is wrapped inside a box-content-1 of it's own. If you do not want this centering, just use two individual "box-content-1" classes.</p>
<button>Test again</button>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -11,10 +11,29 @@
<div class="header">
Hello yaru!
</div>
<h1>Hello yaru!</h1>
<h2>Hello yaru!</h2>
<h3>Hello yaru!</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button>Test</button>
<div class="box">
<div class="sidebar">
<button class="sb_button">lorem ipsum</button>
<button class="sb_button">dolor sit amet</button>
</div>
<div class="box-content-1">
<div class="box-v">
<div class="box-content-1">
<h1>Hello yaru!</h1>
<h2>Hello yaru!</h2>
<h3>Hello yaru!</h3>
<p>yaru.css is a css library attempting to recreate the Ubuntu Yaru style in a web format. it also works as it's own implementation of something like bootstrap with built in GTK style elements like Boxes and Popovers. This is a simple test page showing the different elements.</p>
<button>Test</button>
</div>
<div class="box-content-1">
<h1>Hello again yaru!</h1>
<h2>Hello again yaru!</h2>
<h3>Hello again yaru!</h3>
<p>You may have noticed this is a different item. yaru.css has the "box-v" div class for stacking different "box-content-1"s ontop of eachother, as long as the box-v is wrapped inside a box-content-1 of it's own. If you do not want this centering, just use two individual "box-content-1" classes.</p>
<button>Test again</button>
</div>
</div>
</div>
</div>
</body>
</html>

80
scss/_colors.scss Normal file
View file

@ -0,0 +1,80 @@
// When col def diffs for dark and light variant
// it gets @if ed depending on $variant
$variant: 'light';
@import 'palette';
$base_color: if($variant == 'light', #ffffff, lighten($jet, 6%));
$text_color: if($variant == 'light', black, white);
$bg_color: if($variant == 'light', #FAFAFA, lighten($jet, 8%));
$fg_color: if($variant == 'light', $inkstone, $porcelain);
$selected_fg_color: $accent_fg_color;
$selected_bg_color: $accent_bg_color;
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
$selected_text_bg_color: if($variant == 'light', transparentize($selected_bg_color, 0.7), transparentize($selected_bg_color, 0.2));
$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 10%));
$alt_borders_color: if($variant == 'light', darken($bg_color, 24%), darken($bg_color, 18%));
$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93));
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
$top_hilight: $borders_edge;
$dark_fill: mix($borders_color, $bg_color, 50%);
$headerbar_bg_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%));
$menu_color: if($variant == 'light', $bg_color, lighten($jet, 2%));
$menu_selected_color: if($variant =='light', darken($bg_color, 6%), lighten($bg_color, 6%)); // Yaru change: use lighter color in dark theme (mimic Libadwaita)
$scrollbar_bg_color: if($variant == 'light', mix($bg_color, $fg_color, 80%), mix($base_color, $bg_color, 50%));
$scrollbar_slider_color: mix($fg_color, $bg_color, 60%);
$scrollbar_slider_hover_color: mix($fg_color, $bg_color, 80%);
$scrollbar_slider_active_color: if($variant=='light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 10%));
$warning_color: $yellow;
$error_color: $red;
$success_color: lighten($green, 5%);
$destructive_color: if($variant == 'light', $red, darken($red, 10%));
$osd_fg_color: #eeeeec;
$osd_text_color: white;
$osd_bg_color: transparentize(lighten($jet, 2%),0.025);
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
$osd_borders_color: transparentize(black, 0.3);
$sidebar_bg_color: mix($bg_color, $base_color, 50%);
$tooltip_borders_color: transparentize(white, 0.9);
$shadow_color: transparentize(black, 0.9);
$drop_target_color: $success_color;
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
$insensitive_borders_color: $borders_color;
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 3%));
$backdrop_text_color: if($variant == 'light', transparentize($text_color, 0.31), transparentize(white, 0.45));
$backdrop_bg_color: if($variant == 'light', $bg_color, lighten($bg_color, 3%));
$backdrop_fg_color: if($variant == 'light', mix($fg_color, $backdrop_bg_color, 80%), transparentize(white, 0.35));
$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%));
$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color);
$backdrop_selected_bg_color: transparentize(desaturate($selected_bg_color,100%),0.5);
$backdrop_borders_color: mix($borders_color, $bg_color, 80%);
$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%);
//special cased widget colors
$suggested_bg_color: if($accent_bg_color == $orange, if($variant == 'light', lighten($green, 5%), darken($green, 5%)), $accent_bg_color);
$suggested_border_color: if($variant=='light', darken($suggested_bg_color, 5%), darken($suggested_bg_color, 10%));
$progress_bg_color: if($variant== 'light', lighten($accent_bg_color, 10%), lighten($accent_bg_color, 5%));
$progress_border_color: $progress_bg_color;
$checkradio_bg_color: if($variant=='light', lighten($accent_bg_color, 5%), $accent_bg_color);
$checkradio_fg_color: $accent_fg_color;
$checkradio_borders_color: if($variant == 'light', darken($checkradio_bg_color, 10%), darken($checkradio_bg_color, 40%));
$switch_bg_color: $selected_bg_color;
$switch_borders_color: if($variant == 'light', darken($checkradio_bg_color, 10%), darken($checkradio_bg_color,40%));
$focus_border_color: transparentize(lighten($accent_bg_color, 14%), 0.3);
$alt_focus_border_color: if($variant == 'light', transparentize(white, 0.2), transparentize(white,0.7));
$dim_label_opacity: 0.55;

View file

@ -61,3 +61,63 @@ button:hover {
border-radius: 6px;
}
.sidebar {
width: 200px;
height: 100%;
background-color: $sidebar_bg_color;
color: $text_color;
border-radius: 0 20px 20px 0;
padding: 20px;
display: flex;
flex-direction: column;
gap: 10px;
}
.sb_button {
min-height: 48px;
width: 185px;
padding-left: 8px;
padding-right: 8px;
border: 0px solid;
border-radius: 6px;
border-spacing: 6px;
transition: all 200ms ease-out;
background-color: $base_color;
color: $text_color;
};
.sb_button:hover {
min-height: 48px;
width: 185px;
padding-left: 8px;
padding-right: 8px;
border: 0px solid;
border-radius: 6px;
border-spacing: 6px;
transition: all 200ms ease-out;
background-color: $menu_selected_color;
color: $text_color;
};
.box {
display: flex;
height: 100vh;
};
.box-content-1 {
flex: 1;
padding: 20px;
background-color: $bg_color;
overflow-y: auto;
}
.box-v {
display: flex;
flex-direction: column;
gap: 15px;
align-items: flex-start;
padding: 20px;
background-color: $bg_color;
max-width: 400px;
margin: auto;
}

View file

@ -1,5 +1,6 @@
@import 'colors-light';
@import 'font';
@import 'palette';
$variant: 'light';
@ -61,3 +62,64 @@ button:hover {
border-radius: 6px;
}
.sidebar {
width: 200px;
height: 100%;
background-color: $porcelain;
color: $text_color;
border-radius: 0 20px 20px 0;
padding: 20px;
display: flex;
flex-direction: column;
gap: 10px;
}
.sb_button {
min-height: 48px;
width: 185px;
padding-left: 8px;
padding-right: 8px;
border: 0px solid;
border-radius: 6px;
border-spacing: 6px;
transition: all 200ms ease-out;
background-color: $base_color;
color: $text_color;
};
.sb_button:hover {
min-height: 48px;
width: 185px;
padding-left: 8px;
padding-right: 8px;
border: 0px solid;
border-radius: 6px;
border-spacing: 6px;
transition: all 200ms ease-out;
background-color: $menu_selected_color;
color: $text_color;
};
.box {
display: flex;
height: 100vh;
};
.box-content-1 {
flex: 1;
padding: 20px;
background-color: $bg_color;
overflow-y: auto;
}
.box-v {
display: flex;
flex-direction: column;
gap: 15px;
align-items: flex-start;
padding: 20px;
background-color: $bg_color;
max-width: 400px;
margin: auto;
}