Initial commit: Core packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:45 +02:00
commit 12c29a983b
9512 changed files with 8379910 additions and 0 deletions

View file

@ -0,0 +1,729 @@
/**
* This CSS is for the html description of modules
* TODO clean
*/
/* --------------------------------- *
* STYLING CONTEXT *
* --------------------------------- */
/* --- Styling for the V8/Lato/White/Purple design --- */
.openerp .oe_form_sheet_width {
max-width: 960px;
}
.o_web_client .o_form_view .oe_styling_v8 .container {
width: 100%;
}
.openerp .oe_form .oe_styling_v8 {
width: 100%;
padding: 0;
margin: 0;
font-family: "Open Sans", "Helvetica", Sans;
font-weight: 300;
color: #646464;
background: white;
font-size: 16px;
}
.openerp .oe_form .oe_styling_v8 .container {
width: 100%;
}
.openerp .oe_form .oe_styling_v8 .oe_websiteonly {
display: none;
}
.openerp .oe_form .oe_styling_v8 .oe_website_contents {
background: whitesmoke;
padding-bottom: 1px;
}
.openerp .oe_form .oe_styling_v8 b {
font-weight: 600;
}
.openerp .oe_form .oe_styling_v8 a {
color: #6D57E0;
text-decoration: none;
}
.openerp .oe_form .oe_styling_v8 a:visited {
color: #5b284f;
}
.openerp .oe_form .oe_styling_v8 a:hover {
color: #0096EB;
}
.openerp .oe_form .oe_styling_v8 .oe_title_font {
font-family: "Lato", "Open Sans", "Helvetica", Sans;
}
.openerp .oe_form .oe_styling_v8 .oe_page {
background: white;
overflow: hidden;
-moz-border-radius: 1px;
-webkit-border-radius: 1px;
border-radius: 1px;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
.openerp .oe_form .oe_styling_v8 .oe_emph {
font-weight: 400;
}
.openerp .oe_form .oe_styling_v8 .oe_dark {
overflow: hidden;
background: #FCFCFC;
-moz-box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset;
-webkit-box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset;
box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset;
}
/* --------------------------------- *
* LAYOUT *
* --------------------------------- */
/* ------ BASE GRID CONSTRUCTS ----- */
.oe_page {
margin: 0px auto 64px auto;
max-width: 100%;
}
.oe_row {
width: 100%;
margin-top: 16px;
margin-bottom: 16px;
margin-left: auto;
margin-right: auto;
}
.oe_row.oe_fit {
width: auto;
}
.oe_clearfix:after, .oe_row:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
[class*='oe_span'] {
float: left;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0 16px;
}
.oe_span12 {
width: 100%;
}
.oe_span10 {
width: 83.33333%;
}
.oe_span9 {
width: 75%;
}
.oe_span8 {
width: 66.66667%;
}
.oe_span6 {
width: 50%;
}
.oe_span4 {
width: 33.33333%;
}
.oe_span3 {
width: 25%;
}
.oe_span2 {
width: 16.66667%;
}
[class*='oe_span'].oe_fit {
padding-left: 0px !important;
padding-right: 0px !important;
}
[class*='oe_span'].oe_right {
float: right;
}
.oe_row.oe_flex [class*='oe_span'] {
display: inline-block;
float: none;
vertical-align: top;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0 16px;
width: auto;
}
.oe_row.oe_flex .oe_span12 {
max-width: 100%;
}
.oe_row.oe_flex .oe_span10 {
max-width: 83.33333%;
}
.oe_row.oe_flex .oe_span9 {
max-width: 75%;
}
.oe_row.oe_flex .oe_span8 {
max-width: 66.66667%;
}
.oe_row.oe_flex .oe_span6 {
max-width: 50%;
}
.oe_row.oe_flex .oe_span4 {
max-width: 33.33333%;
}
.oe_row.oe_flex .oe_span3 {
max-width: 25%;
}
.oe_row.oe_flex .oe_span2 {
max-width: 16.66667%;
}
.oe_mb0 {
margin-bottom: 0px !important;
}
.oe_mb4 {
margin-bottom: 4px !important;
}
.oe_mb8 {
margin-bottom: 8px !important;
}
.oe_mb16 {
margin-bottom: 16px !important;
}
.oe_mb32 {
margin-bottom: 32px !important;
}
.oe_mb48 {
margin-bottom: 48px !important;
}
.oe_mb64 {
margin-bottom: 64px !important;
}
.oe_mt0 {
margin-top: 0px !important;
}
.oe_mt4 {
margin-top: 4px !important;
}
.oe_mt8 {
margin-top: 8px !important;
}
.oe_mt16 {
margin-top: 16px !important;
}
.oe_mt32 {
margin-top: 32px !important;
}
.oe_mt48 {
margin-top: 48px !important;
}
.oe_mt64 {
margin-top: 64px !important;
}
/* ------ GENERIC LAYOUT MODIFIERS ----- */
.oe_rightfit {
padding-right: 0px !important;
}
.oe_leftfit {
padding-left: 0px !important;
}
.oe_leftalign {
text-align: left;
}
.oe_rightalign {
text-align: right;
}
.oe_centeralign {
text-align: center;
}
.oe_centered {
margin-left: auto;
margin-right: auto;
}
.oe_hidden {
display: none !important;
opacity: 0 !important;
}
.oe_invisible {
visibility: hidden !important;
}
.oe_transparent {
opacity: 0 !important;
}
.oe_mb0 {
margin-bottom: 0px !important;
}
.oe_mb4 {
margin-bottom: 4px !important;
}
.oe_mb8 {
margin-bottom: 8px !important;
}
.oe_mb16 {
margin-bottom: 16px !important;
}
.oe_mb32 {
margin-bottom: 32px !important;
}
.oe_mb64 {
margin-bottom: 64px !important;
}
.oe_spaced {
margin-top: 32px;
margin-bottom: 32px;
}
.oe_more_spaced {
margin-top: 64px;
margin-bottom: 64px;
}
.oe_padded {
padding-top: 16px;
padding-bottom: 16px;
}
.oe_more_padded {
padding-top: 32px;
padding-bottom: 32px;
}
/* --------------------------------- *
* WEBPAGE COMPONENTS *
* --------------------------------- */
/* ------ BUTTONS ----- */
.oe_button {
position: relative;
bottom: 0;
display: inline-block;
cursor: pointer;
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
.oe_styling_v8 .oe_button, .oe_styling_v8 a.oe_button {
padding: 8px 14px;
background: #8b72b6;
color: white;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
-moz-box-shadow: 0px 2px 0px #afa8cc;
-webkit-box-shadow: 0px 2px 0px #afa8cc;
box-shadow: 0px 2px 0px #afa8cc;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.44);
border: solid 1px rgba(0, 0, 0, 0.09);
-moz-transition-property: bottom, background;
-o-transition-property: bottom, background;
-webkit-transition-property: bottom, background;
transition-property: bottom, background;
-moz-transition-duration: 250ms;
-o-transition-duration: 250ms;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.oe_styling_v8 .oe_button:hover, .oe_styling_v8 a.oe_button:hover {
background: #8b5bdd;
color: white;
}
.oe_styling_v8 .oe_button:active, .oe_styling_v8 a.oe_button:active {
background: #333333;
bottom: -3px;
}
.oe_styling_v8 .oe_button.oe_big, .oe_styling_v8 a.oe_button.oe_big {
font-size: 24px;
}
.oe_styling_v8 .oe_button.oe_bigger, .oe_styling_v8 a.oe_button.oe_bigger {
font-size: 32px;
}
.oe_styling_v8 .oe_button.oe_small, .oe_styling_v8 a.oe_button.oe_small {
font-size: 13px;
padding: 2px 4px;
}
.oe_styling_v8 .oe_button.oe_small:active, .oe_styling_v8 a.oe_button.oe_small:active {
bottom: -1px;
}
.oe_styling_v8 .oe_button.oe_medium, .oe_styling_v8 a.oe_button.oe_medium {
padding: 5px 12px;
font-size: 16px;
}
.oe_styling_v8 .oe_button.oe_tacky, .oe_styling_v8 a.oe_button.oe_tacky {
background: #ff4444;
-moz-box-shadow: 0px 2px 0px #eba8a8;
-webkit-box-shadow: 0px 2px 0px #eba8a8;
box-shadow: 0px 2px 0px #eba8a8;
}
.oe_styling_v8 .oe_button.oe_tacky:hover, .oe_styling_v8 a.oe_button.oe_tacky:hover {
background: #ff1010;
}
.oe_styling_v8 .oe_button.oe_tacky:active, .oe_styling_v8 a.oe_button.oe_tacky:active {
background: black;
}
.oe_styling_v8 .oe_button.oe_disabled, .oe_styling_v8 a.oe_button.oe_disabled {
background: #c8c8c8;
-moz-box-shadow: 0px 2px 0px #b4b4b4;
-webkit-box-shadow: 0px 2px 0px #b4b4b4;
box-shadow: 0px 2px 0px #b4b4b4;
cursor: default;
}
.oe_styling_v8 .oe_button.oe_disabled:hover, .oe_styling_v8 a.oe_button.oe_disabled:hover {
background: #c8c8c8;
-moz-box-shadow: 0px 2px 0px #b4b4b4;
-webkit-box-shadow: 0px 2px 0px #b4b4b4;
box-shadow: 0px 2px 0px #b4b4b4;
}
.oe_styling_v8 .oe_button.oe_disabled:active, .oe_styling_v8 a.oe_button.oe_disabled:active {
background: #c8c8c8;
bottom: 0px;
-moz-box-shadow: 0px 2px 0px #b4b4b4;
-webkit-box-shadow: 0px 2px 0px #b4b4b4;
box-shadow: 0px 2px 0px #b4b4b4;
}
.oe_styling_v8.oe_styling_black .oe_button {
-moz-box-shadow: 0px 2px 0px #463555;
-webkit-box-shadow: 0px 2px 0px #463555;
box-shadow: 0px 2px 0px #463555;
}
/* ------ FORMS ----- */
.oe_styling_v8 {
/* FIXME: this is a quick hack for the release */
}
.oe_styling_v8 .oe_input {
padding: 4px 7px;
border-radius: 3px;
border: solid 1px #d6d6d6;
box-shadow: 0px 2px #e6e6e6;
background: #fafafa;
font-weight: 300;
outline: none;
-moz-transition: all 150ms linear;
-o-transition: all 150ms linear;
-webkit-transition: all 150ms linear;
transition: all 150ms linear;
}
.oe_styling_v8 .oe_input:focus {
border: solid 1px #969696;
box-shadow: 0px 2px #d2d2d2;
}
.oe_styling_v8 .oe_input.oe_valid {
background: #F2FFEC;
border-color: #b1ebb6;
box-shadow: 0px 2px #e1f8e1;
color: #0f610f;
}
.oe_styling_v8 .oe_input.oe_invalid {
background: #fff2f2;
border-color: #EBB1B1;
box-shadow: 0px 2px #F8E1E1;
color: #610F0F;
}
.oe_styling_v8 .oe_input.oe_big {
padding: 8px 14px;
}
.oe_styling_v8 .oe_input_label {
font-weight: 300;
font-size: 16px;
}
.oe_styling_v8 .oe_input_label.oe_big {
font-size: 20px;
}
.oe_styling_v8 .oe_textarea {
width: 300px;
height: 80px;
}
.oe_styling_v8 .oe_form_layout_table {
width: 100%;
}
.oe_styling_v8 .oe_form_layout_table td {
padding-bottom: 16px;
}
.oe_styling_v8 .oe_form_layout_table td:first-child {
text-align: right;
padding-right: 16px;
}
/* ------ SLOGANS ----- */
.oe_styling_v8 .oe_slogan {
color: #333333;
font-family: "Lato", "Open Sans", "Helvetica", Sans;
text-align: center;
margin-top: 32px;
margin-bottom: 32px;
}
.oe_styling_v8 h1.oe_slogan {
font-size: 64px;
font-weight: 900;
margin-top: 48px;
margin-bottom: 48px;
}
.oe_styling_v8 h2.oe_slogan {
font-size: 40px;
font-weight: 300;
}
.oe_styling_v8 h3.oe_slogan {
font-size: 26px;
font-weight: 300;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.5;
}
.oe_styling_v8 h4.oe_slogan {
font-size: 24px;
font-weight: 300;
}
.oe_styling_v8 h4.oe_slogan:before, .oe_styling_v8 h4.oe_slogan:after {
margin: 0 20px;
content: "";
display: inline-block;
width: 100px;
height: 0px;
border-top: solid 1px;
vertical-align: middle;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
opacity: 0.3;
}
.oe_styling_v8 h5.oe_slogan {
font-weight: 300;
}
/* ------ QUOTES ----- */
.oe_quote {
margin: 8px;
padding: 16px;
background: rgba(0, 0, 0, 0.02);
border: solid 1px rgba(0, 0, 0, 0.06);
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
.oe_quote .oe_q, .oe_quote q {
margin: 10px;
display: block;
font-style: italic;
text-align: center;
font-size: 20px;
color: #4e66e7;
}
.oe_quote .oe_q:before, .oe_quote .oe_q:after, .oe_quote q:before, .oe_quote q:after {
content: '"';
font-weight: 900;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
opacity: 0.2;
}
.oe_quote cite {
display: block;
font-style: normal;
margin-top: 16px;
}
.oe_quote .oe_photo {
float: left;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
margin-right: 16px;
}
.oe_quote .oe_author {
font-size: 20px;
padding-top: 6px;
color: #8d7bac;
}
.oe_dark .oe_quote {
background: white;
border: 1px solid #f0f0ff;
}
/* ------ PICTURES ----- */
.oe_picture {
display: block;
max-width: 84%;
max-height: 400px;
margin: 16px 8%;
}
.oe_screenshot {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-moz-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
}
.oe_pic_ctr {
position: relative;
}
.oe_pic_ctr > img.oe_picture {
width: 100%;
max-width: none;
max-height: none;
margin: 0;
}
.oe_pic_ctr > .oe_title {
position: absolute;
top: 15px;
right: 38px;
}
.oe_styling_v8 .oe_pic_ctr > .oe_title {
font-size: 64px;
color: white;
font-weight: 600;
margin: 0;
text-shadow: 0px 2px 0px #494949, 0px 2px 5px rgba(0, 0, 0, 0.33), 0px 0px 60px rgba(0, 0, 0, 0.22);
}
/* ----- Link Image with Footer ----- */
/* FIXME: Terrible CSS, rewrite this */
div.oe_demo {
position: relative;
border: 1px solid #dedede;
}
div.oe_demo span.oe_demo_play {
top: 50%;
left: 50%;
width: 80px;
height: 60px;
margin-top: -30px;
margin-left: -40px;
display: block;
position: absolute;
background: url("../img/layout/play-button.png") no-repeat left top transparent;
pointer-events: none;
}
div.oe_demo img {
max-width: 100%;
width: 100%;
}
div.oe_demo div.oe_demo_footer {
position: absolute;
left: 0;
background-color: rgba(0, 0, 0, 0.4);
opacity: 0.85;
bottom: -1px;
width: 100%;
padding-top: 7px;
padding-bottom: 7px;
color: white;
font-size: 14px;
font-weight: bold;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
pointer-events: none;
}
div.oe_demo:hover span.oe_demo_play {
background: url("../img/layout/play-button-over.png") no-repeat left top transparent;
}
/* ----- SEPARATOR ----- */
.oe_styling_v8 .oe_container.oe_separator {
height: 64px;
margin-bottom: 16px;
background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.02)));
background: -moz-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
background: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
-moz-box-shadow: 0px -3px 10px -5px rgba(0, 0, 0, 0.1) inset;
-webkit-box-shadow: 0px -3px 10px -5px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0px -3px 10px -5px rgba(0, 0, 0, 0.1) inset;
overflow-y: hidden;
}
/* ----- TABS ----- */
.oe_row_tabs {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding-top: 21px;
}
.oe_row_tab {
position: relative;
min-width: 120px;
padding: 8px;
font-size: 20px;
display: inline-block;
margin: 0px -2px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border: solid 1px rgba(0, 0, 0, 0.1);
border-bottom: none;
background: #fafafa;
background-image: +linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
box-shadow: 0px -3px 10px -5px rgba(0, 0, 0, 0.1) inset;
cursor: pointer;
-moz-transition: all 250ms linear;
-o-transition: all 250ms linear;
-webkit-transition: all 250ms linear;
transition: all 250ms linear;
}
.oe_row_tab:hover {
padding-bottom: 12px;
top: -4px;
background-color: white;
}
.oe_row_tab.oe_active {
background-color: white;
background-image: none;
box-shadow: none;
border-top-color: #8272b6;
border-top-width: 2px;
cursor: default;
}
.oe_row_tab.oe_active:hover {
padding-bottom: 8px;
top: 0asx;
}
/* ------ CALL TO ACTION ----- */
.oe_calltoaction {
height: 32px;
margin-top: -32px;
position: relative;
}

View file

@ -0,0 +1,578 @@
@charset "utf-8"
@import "compass/css3"
@import "compass/css3/user-interface"
/**
* This CSS is for the html description of modules
* TODO clean
*/
/* --------------------------------- *
* STYLING CONTEXT *
* --------------------------------- */
/* --- Styling for the V8/Lato/White/Purple design --- */
$v8_title_font_color: rgb(51,51,51)
$v8_text_font_color: rgb(100,100,100)
$v8_font_paragraph_color: rgb(51,51,51)
$v8_body_color: rgb(245,245,245)
$v8_bg_color: rgb(255,255,255)
$v8_text_font_family: 'Open Sans','Helvetica',Sans
$v8_title_font_family: 'Lato','Open Sans','Helvetica',Sans
$v8_anchor_color: #6D57E0
$v8_anchor_visited_color: rgb(91, 40, 79)
.openerp .oe_form_sheet_width
max-width: 960px
.o_web_client .o_form_view .oe_styling_v8 .container
width: 100%
.openerp .oe_form .oe_styling_v8
width: 100%
padding: 0
margin: 0
font-family: $v8_text_font_family
font-weight: 300
color: $v8_text_font_color
background: $v8_bg_color
font-size: 16px
.container
width: 100%
.oe_websiteonly
display: none
.oe_website_contents
background: $v8_body_color
padding-bottom: 1px
b
font-weight: 600
a
color: $v8_anchor_color
text-decoration: none
a:visited
color: $v8_anchor_visited_color
a:hover
color: #0096EB
.oe_title_font
font-family: $v8_title_font_family
.oe_page
background: $v8_bg_color
overflow: hidden
+border-radius(1px)
+box-shadow(0 1px 3px rgba(0,0,0,0.35))
.oe_emph
font-weight: 400
.oe_dark
overflow: hidden
background: #FCFCFC
+box-shadow(0px 5px 9px -7px rgba(0,0,255,0.5) inset, 0px -3px 9px -7px rgba(0,0,255,0.5) inset)
/* --------------------------------- *
* LAYOUT *
* --------------------------------- */
/* ------ BASE GRID CONSTRUCTS ----- */
.oe_page
margin: 0px auto 64px auto
max-width: 100%
.oe_row
width: 100%
margin-top: 16px
margin-bottom: 16px
margin-left: auto
margin-right: auto
.oe_row.oe_fit
width: auto
.oe_clearfix:after, .oe_row:after
content: "."
display: block
clear: both
visibility: hidden
line-height: 0
height: 0
$oe_span12_width: 100%
$oe_span10_width: 83.33333333%
$oe_span9_width: 75%
$oe_span8_width: 66.66666667%
$oe_span6_width: 50%
$oe_span4_width: 33.33333333%
$oe_span3_width: 25%
$oe_span2_width: 16.66666667%
[class*='oe_span']
float: left
+box-sizing(border-box)
padding: 0 16px
.oe_span12
width: $oe_span12_width
.oe_span10
width: $oe_span10_width
.oe_span9
width: $oe_span9_width
.oe_span8
width: $oe_span8_width
.oe_span6
width: $oe_span6_width
.oe_span4
width: $oe_span4_width
.oe_span3
width: $oe_span3_width
.oe_span2
width: $oe_span2_width
[class*='oe_span'].oe_fit
padding-left: 0px !important
padding-right: 0px !important
[class*='oe_span'].oe_right
float: right
.oe_row.oe_flex
[class*='oe_span']
display: inline-block
float: none
vertical-align: top
+box-sizing(border-box)
padding: 0 16px
width: auto
.oe_span12
max-width: $oe_span12_width
.oe_span10
max-width: $oe_span10_width
.oe_span9
max-width: $oe_span9_width
.oe_span8
max-width: $oe_span8_width
.oe_span6
max-width: $oe_span6_width
.oe_span4
max-width: $oe_span4_width
.oe_span3
max-width: $oe_span3_width
.oe_span2
max-width: $oe_span2_width
.oe_mb0
margin-bottom: 0px !important
.oe_mb4
margin-bottom: 4px !important
.oe_mb8
margin-bottom: 8px !important
.oe_mb16
margin-bottom: 16px !important
.oe_mb32
margin-bottom: 32px !important
.oe_mb48
margin-bottom: 48px !important
.oe_mb64
margin-bottom: 64px !important
.oe_mt0
margin-top: 0px !important
.oe_mt4
margin-top: 4px !important
.oe_mt8
margin-top: 8px !important
.oe_mt16
margin-top: 16px !important
.oe_mt32
margin-top: 32px !important
.oe_mt48
margin-top: 48px !important
.oe_mt64
margin-top: 64px !important
/* ------ GENERIC LAYOUT MODIFIERS ----- */
.oe_rightfit
padding-right: 0px !important
.oe_leftfit
padding-left: 0px !important
.oe_leftalign
text-align: left
.oe_rightalign
text-align: right
.oe_centeralign
text-align: center
.oe_centered
margin-left: auto
margin-right: auto
.oe_hidden
display: none !important
opacity: 0 !important
.oe_invisible
visibility: hidden !important
.oe_transparent
opacity: 0 !important
.oe_mb0
margin-bottom: 0px !important
.oe_mb4
margin-bottom: 4px !important
.oe_mb8
margin-bottom: 8px !important
.oe_mb16
margin-bottom: 16px !important
.oe_mb32
margin-bottom: 32px !important
.oe_mb64
margin-bottom: 64px !important
.oe_spaced
margin-top: 32px
margin-bottom: 32px
.oe_more_spaced
margin-top: 64px
margin-bottom: 64px
.oe_padded
padding-top: 16px
padding-bottom: 16px
.oe_more_padded
padding-top: 32px
padding-bottom: 32px
/* --------------------------------- *
* WEBPAGE COMPONENTS *
* --------------------------------- */
/* ------ BUTTONS ----- */
.oe_button
position: relative
bottom: 0
display: inline-block
cursor: pointer
+user-select(none)
.oe_styling_v8 .oe_button, .oe_styling_v8 a.oe_button
padding: 8px 14px
background: rgb(139, 114, 182)
color: white
+border-radius(2px)
+box-shadow(0px 2px 0px rgb(175, 168, 204))
+text-shadow(0px 1px 1px rgba(0,0,0, 0.44))
border: solid 1px rgba(0,0,0,0.09)
+transition-property((bottom, background))
+transition-duration(250ms)
&:hover
background: rgb(139,91,221)
color: white
&:active
background: rgb(51,51,51)
bottom: -3px
&.oe_big
font-size: 24px
&.oe_bigger
font-size: 32px
&.oe_small
font-size: 13px
padding: 2px 4px
&:active
bottom: -1px
&.oe_medium
padding: 5px 12px
font-size: 16px
&.oe_tacky
background: rgb(255,68,68)
+box-shadow(0px 2px 0px #eba8a8)
&:hover
background: rgb(255,16,16)
&:active
background: black
&.oe_disabled
background: rgb(200,200,200)
+box-shadow(0px 2px 0px rgb(180,180,180))
cursor: default
&:hover
background: rgb(200,200,200)
+box-shadow(0px 2px 0px rgb(180,180,180))
&:active
background: rgb(200,200,200)
bottom: 0px
+box-shadow(0px 2px 0px rgb(180,180,180))
.oe_styling_v8.oe_styling_black .oe_button
+box-shadow(0px 2px 0px rgb(70,53,85))
/* ------ FORMS ----- */
.oe_styling_v8
.oe_input
padding: 4px 7px
border-radius: 3px
border: solid 1px rgb(214,214,214)
box-shadow: 0px 2px rgb(230,230,230)
background: rgb(250,250,250)
font-weight: 300
outline: none
@include transition( all 150ms linear )
&:focus
border: solid 1px rgb(150,150,150)
box-shadow: 0px 2px rgb(210,210,210)
&.oe_valid
background: #F2FFEC
border-color: rgb(177,235,182)
box-shadow: 0px 2px rgb(225,248,225)
color: rgb(15,97,15)
&.oe_invalid
background: rgb(255,242,242)
border-color: #EBB1B1
box-shadow: 0px 2px #F8E1E1
color: #610F0F
&.oe_big
padding: 8px 14px
.oe_input_label
font-weight: 300
font-size: 16px
&.oe_big
font-size: 20px
/* FIXME: this is a quick hack for the release */
.oe_textarea
width: 300px
height: 80px
.oe_form_layout_table
width: 100%
td
padding-bottom: 16px
&:first-child
text-align: right
padding-right: 16px
/* ------ SLOGANS ----- */
.oe_styling_v8
.oe_slogan
color: $v8_title_font_color
font-family: $v8_title_font_family
text-align: center
margin-top: 32px
margin-bottom: 32px
h1.oe_slogan
font-size: 64px
font-weight: 900
margin-top: 48px
margin-bottom: 48px
h2.oe_slogan
font-size: 40px
font-weight: 300
h3.oe_slogan
font-size: 26px
font-weight: 300
+opacity(0.5)
h4.oe_slogan
font-size: 24px
font-weight: 300
h4.oe_slogan:before, h4.oe_slogan:after
margin: 0 20px
content: ""
display: inline-block
width: 100px
height: 0px
border-top: solid 1px
vertical-align: middle
+opacity(0.3)
h5.oe_slogan
font-weight: 300
//TODO
/* ------ QUOTES ----- */
.oe_quote
margin: 8px
padding: 16px
background: rgba(0,0,0,0.02)
border: solid 1px rgba(0,0,0,0.06)
+border-radius(2px)
.oe_q,q
margin: 10px
display: block
font-style: italic
text-align: center
font-size: 20px
color: rgb(78, 102, 231)
&:before, &:after
content: '\"'
font-weight: 900
+opacity(0.2)
cite
display: block
font-style: normal
margin-top: 16px
.oe_photo
float: left
+border-radius(3px)
margin-right: 16px
.oe_author
font-size: 20px
padding-top: 6px
color: rgb(141, 123, 172)
.oe_dark .oe_quote
background: white
border: 1px solid rgb(240,240,255)
/* ------ PICTURES ----- */
// display a picture in a span
.oe_picture
display: block
max-width: 84%
max-height: 400px
margin: 16px 8%
// style the picture like a screenshot
.oe_screenshot
+border-radius(3px)
+box-shadow(0px 3px 8px rgba(0,0,0,0.2))
// display a picture taking full width of a row
.oe_pic_ctr
position: relative
.oe_pic_ctr > img.oe_picture
width: 100%
max-width: none
max-height: none
margin: 0
// styling of the picture's title
.oe_pic_ctr > .oe_title
position: absolute
top: 15px
right: 38px
.oe_styling_v8 .oe_pic_ctr > .oe_title
font-size: 64px
color: white
font-weight: 600
margin: 0
+text-shadow( 0px 2px 0px rgb(73, 73, 73), 0px 2px 5px rgba(0, 0, 0, 0.33), 0px 0px 60px rgba(0, 0, 0, 0.22))
/* ----- Link Image with Footer ----- */
/* FIXME: Terrible CSS, rewrite this */
div.oe_demo
position: relative
border: 1px solid #dedede
span.oe_demo_play
top: 50%
left: 50%
width: 80px
height: 60px
margin-top: -30px
margin-left: -40px
display: block
position: absolute
background: url("../img/layout/play-button.png") no-repeat left top transparent
pointer-events: none
img
max-width: 100%
width: 100%
div.oe_demo_footer
position: absolute
left: 0
background-color: rgba(0,0,0,0.4)
opacity: 0.85
bottom: -1px
width: 100%
padding-top: 7px
padding-bottom: 7px
color: white
font-size: 14px
font-weight: bold
border-bottom-left-radius: 3px
border-bottom-right-radius: 3px
pointer-events: none
div.oe_demo:hover
span.oe_demo_play
background: url("../img/layout/play-button-over.png") no-repeat left top transparent
/* ----- SEPARATOR ----- */
.oe_styling_v8 .oe_container.oe_separator
height: 64px
margin-bottom: 16px
@include background(linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.02)))
+box-shadow(0px -3px 10px -5px rgba(0,0,0,0.1) inset)
overflow-y: hidden
/* ----- TABS ----- */
.oe_row_tabs
text-align: center
margin-top: 0px
margin-bottom: 0px
padding-top: 21px
.oe_row_tab
position: relative
min-width: 120px
padding: 8px
font-size: 20px
display: inline-block
margin: 0px -2px
border-top-left-radius: 4px
border-top-right-radius: 4px
border: solid 1px rgba(0,0,0,0.1)
border-bottom: none
background: rgb(250,250,250)
background-image: +linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.02))
box-shadow: 0px -3px 10px -5px rgba(0,0,0,0.1) inset
cursor: pointer
@include transition(all 250ms linear)
.oe_row_tab:hover
padding-bottom: 12px
top: -4px
background-color: white
.oe_row_tab.oe_active
background-color: white
background-image: none
box-shadow: none
border-top-color: rgb(130, 114, 182)
border-top-width: 2px
cursor: default
.oe_row_tab.oe_active:hover
padding-bottom: 8px
top: 0asx
/* ------ CALL TO ACTION ----- */
.oe_calltoaction
height: 32px
margin-top: -32px
position: relative

View file

@ -0,0 +1,67 @@
.oe_module_icon {
width: 70px;
max-height: 70px;
max-width: 23%;
float: left;
}
.oe_module_desc {
font-size: 13px;
padding-left: 10px;
width: 77%;
}
.o_kanban_view .o_modules_kanban .oe_module_vignette,
.o_modules_field .o_modules_kanban .oe_module_vignette {
align-items: center;
display: flex;
}
.o_kanban_view .o_modules_kanban .o_kanban_record .o_dropdown_kanban,
.o_modules_field .o_modules_kanban .o_kanban_record .o_dropdown_kanban {
visibility: visible;
opacity: 0.5;
}
.o_kanban_view .o_modules_kanban .o_kanban_record:hover .o_dropdown_kanban,
.o_kanban_view .o_modules_kanban .o_kanban_record .o_dropdown_kanban.show {
opacity: 1;
}
.o_modules_field .o_modules_kanban {
--KanbanRecord-width: 280px;
--KanbanRecord-width-small: 280px;
}
.oe_module_name > span {
color: #999999;
min-height: 26px;
line-height: 1.1;
display: block;
}
.oe_module_desc p {
margin: 3px 0 3px;
}
.oe_module_desc > h4 {
margin-right: 20px;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
}
.oe_module_desc {
min-width: 0;
}
.o_module_form.o_form_view .oe_avatar > img {
border: none;
box-shadow: none;
max-width: 70px;
max-height: 70px;
}

View file

@ -0,0 +1,159 @@
// = Onboarding Panel
// ============================================================================
$o-onboarding-step-width: map-get($container-max-widths, 'lg') / 4 !default;
.o_onboarding_main {
background: white center top;
background-size: cover;
.o_onboarding_btn_close {
color: #fff;
}
// = Color Variations
// ------------------------------------------------------------------------
@each $key, $values in $o-onboarding-colors {
&.o_onboarding_#{$key} {
$-bg: map-get($values, 'bg');
$-ui: map-get($values, 'ui');
@include print-variable('o-onboarding-done-color', nth($-ui, 1));
@include print-variable('o-onboarding-todo-color', nth($-ui, 2));
@include print-variable('o-onboarding-bg_1-color', fade-out(nth($-bg, 1), 0.5));
@include print-variable('o-onboarding-bg_2-color', nth($-bg, 2));
}
}
.o_onboarding_wrap {
overflow-x: auto;
background-color: var(--o-onboarding-bg_1-color);
background-image: linear-gradient(to bottom, var(--o-onboarding-bg_1-color), var(--o-onboarding-bg_2-color));
}
.o_onboarding_completed_message {
box-shadow: 0 -7px 20px -5px rgba(#000, 0.3);
animation: o_onboarding_slideInUp $o-onboarding-base-time ease-out;
}
// = Step Design
// ------------------------------------------------------------------------
.o_onboarding_step {
flex: 1 1 0;
@for $i from 1 through 5 {
&.o_onboarding_step__todo:nth-child(#{$i}) {
@include print-variable('o-onboarding-animation-delay', $i * .15s);
}
}
.o_onboarding_step_content {
width: $o-onboarding-step-width;
}
.o_onboarding_step_action {
min-width: $o-onboarding-step-width * .5;
border: $border-width solid #fff;
}
.o_onboarding_progress {
height: $o-onboarding-progress-size;
width: calc(100% - #{$o-onboarding-dot-size});
background: var(--o-onboarding-todo-color, #{$o-brand-odoo});
transform:
translateX(-100%)
translateY($o-onboarding-dot-size * .5 - $o-onboarding-progress-size * .5);
}
.o_onboarding_dot {
width: $o-onboarding-dot-size;
height: $o-onboarding-dot-size;
padding-top: .5em;
background-color: var(--o-onboarding-todo-color, $o-brand-odoo);
color: transparent;
transition: all $o-onboarding-base-time ease;
transform: scale3d(.5, .5, .5);
}
&:first-of-type .o_onboarding_progress {
display: none;
}
.o_onboarding_step_title,
.o_onboarding_step_action,
.o_onboarding_step_action__done,
.o_onboarding_dot_isChecked {
color: #fff;
}
// = "To do" Step Design
// --------------------------------------------------------------------
&[data-step-state="not_done"] {
.o_onboarding_step_content_info {
animation: o_onboarding_zoomIn ($o-onboarding-base-time * 1.5) both;
animation-delay: var(--o-onboarding-animation-delay, 0);
}
.o_onboarding_step_action {
animation: o_onboarding_slideInUp ($o-onboarding-base-time * 2) both;
animation-delay: var(--o-onboarding-animation-delay, 0);
}
}
// = "Done" Step Design
// --------------------------------------------------------------------
&:not([data-step-state="not_done"]) {
.o_onboarding_dot, + .o_onboarding_step:not([data-step-state="not_done"]) .o_onboarding_progress {
background: var(--o-onboarding-done-color, #{$o-brand-primary});
}
.o_onboarding_dot {
transform: scale3d(1, 1, 1);
}
}
// = "Just Done" Step Design
// --------------------------------------------------------------------
&[data-step-state="just_done"] {
.o_onboarding_step_content_info {
animation: o_onboarding_fadeIn ($o-onboarding-base-time * 3);
}
.o_onboarding_step_action__done {
animation: bounceIn ($o-onboarding-base-time * 2);
}
.o_onboarding_confetti {
animation: o_onboarding_fadeInOut ($o-onboarding-base-time * 3) ease 0s 1 forwards;
}
}
}
// = Animations
// ------------------------------------------------------------------------
@keyframes o_onboarding_slideInUp {
from {
transform: translate3d(0, 20%, 0);
opacity: 0;
}
}
@keyframes o_onboarding_zoomIn {
from {
transform: scale3d(0.8, 0.8, 0.8);
opacity: 0;
}
50% {
opacity: 1;
}
}
@keyframes o_onboarding_fadeIn {
10%, 66% { opacity: 0; }
0%, 100% { opacity: 1; }
}
@keyframes o_onboarding_fadeInOut {
10%, 66% { opacity: 1; }
0%, 100% { opacity: 0; }
}
}

View file

@ -0,0 +1,18 @@
// = Onboarding Colors
// ============================================================================
// No CSS hacks, variables overrides only
$o-onboarding-colors: (
'blue': (
'bg': (#215e72, #1c3d4e),
'ui': (#db851e, #c0ad73),
),
'orange': (
'bg': (#5c4436, #784536),
'ui': ($o-brand-primary, #68B3C9),
),
'violet': (
'bg': (#424a7d, #333e6a),
'ui': (#db851e, #c0ad73),
),
) !default;

View file

@ -0,0 +1,18 @@
$o-onboarding-base-time: 0.5s !default;
$o-onboarding-dot-size: 20px !default;
$o-onboarding-progress-size: 2px !default;
$o-onboarding-colors: (
'blue': (
'bg': (#60ABC3, #4187AE),
'ui': (#fcb157, #FBEEC8),
),
'orange': (
'bg': (#DA9D77, #B9684F),
'ui': (#0774f4, #68B3C9),
),
'violet': (
'bg': (#6070C3, #475DA4),
'ui': (#F39D9B, #FBEEC8),
),
) !default;

View file

@ -0,0 +1,38 @@
.o_kanban_view .o_res_partner_kanban {
.ribbon {
&::before, &::after {
display: none;
}
span {
padding: 5px;
font-size: x-small;
z-index: unset;
height: auto;
}
}
.ribbon-top-right {
margin-top: -$o-kanban-dashboard-vpadding;
span {
top: 15px;
left: 10px;
}
}
.oe_kanban_action_a:hover > .badge {
background-color: $o-brand-primary;
color: white;
}
}
.o_partner_merge_wizard {
.o_form_sheet {
padding: 12px !important;
}
.row {
--gutter-x: 0;
}
}