From 72399864845820cf79c1a92276c253c3aa7ca2c1 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Thu, 16 Jun 2022 13:03:07 +0200 Subject: [PATCH 01/13] [IMP] odoo_theme: improve special terms styling Including the `:command:`, `:file:` and `:dfn:` roles, and code-styled text in alerts. task-2790284 --- extensions/odoo_theme/static/style.scss | 90 ++++++++++++++++++++++--- 1 file changed, 79 insertions(+), 11 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index d8043ba3b..3a9c23409 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -419,12 +419,39 @@ header { code { display: inline-block; color: inherit; - background: $doc_code-bg; padding: 0 .3rem; - margin: 0 0.1rem; line-height: 1.3; - border: 1px solid $gray-light; overflow-wrap: anywhere; + &.sig-prename { + margin-right: 0 !important; + padding-right: 0 !important; + + + .sig-name { + margin-left: 0 !important; + padding-left: 0 !important; + } + + } + ~ .sig-paren, ~ .sig-param, ~.optional{ + font-size: $font-size-secondary; + + .sig-paren { + padding-left: .2rem; + } + } + &.file { + font-family: $font-family-base; + font-weight: $fw_medium; + font-style: italic; + padding-right: .4rem; + color: $color-beta-dark; + background-color: lighten($color-beta-lightest, 30%); + } + + &:not(.file) { + color: inherit; + margin: 0 0.1rem; + background: darken($doc_code-bg,3%); + } } iframe { @@ -636,6 +663,20 @@ header { .command { font-family: var(--bs-font-monospace); + font-weight: $fw_regular; + @extend code; + } + + dl.py { + code { + margin-left: 0 + } + + > dd { + border-left: 2px solid $gray-lighter; + margin: 0; + padding-left: $padding-s; + } } dl.field-list { @@ -802,21 +843,21 @@ header { .dfn{ @include font-size($font-size-secondary); line-height: 1; - color: $o-violet; + color: $color-beta; font-weight: $fw_semibold; &:before { content:'?'; display: inline-block; width: 15px; height: 15px; - background-color: $o-violet; - border: 1px solid $o-violet; + border: 2px solid $color-beta; border-radius: 20px; text-align: center; - color: $white; + color: $color-beta; + font-size: 12px; font-weight: $fw_extrabold; font-style: normal; - margin: 0 .2rem; + margin: 0 .1rem; } } @@ -851,11 +892,14 @@ header { // Alerts //------------------------------------------------------------------------------ // alert-info +// alert-note +// alert-tip // alert-warning // alert-danger -// alert-go_to +// alert-example // alert-exercise -// alert-success // removed : never used in doc +// alert-go_to + .alert { position: relative; display: inline-block; @@ -864,8 +908,10 @@ header { width: 100%; @include font-size($font-size-secondary); - code { + code, div[class^="highlight"] { background-color: $white !important; + border: 1px solid $gray-light; + color: inherit; } > p , > ul { @@ -900,6 +946,10 @@ header { content: '#{$i-info}'; } } + + code, div[class^="highlight"] { + border-color: tint-color($brand-info, 30%); + } } &.alert-note { @@ -938,6 +988,10 @@ header { content: '#{$i-warning}'; } } + + code, div[class^="highlight"] { + border-color: tint-color($brand-warning, 50%); + } } &.alert-danger { @@ -950,6 +1004,10 @@ header { content: '#{$i-danger}'; } } + + code, div[class^="highlight"] { + border-color: tint-color($brand-danger, 50%); + } } &.alert-example { @@ -964,6 +1022,10 @@ header { > .alert-title:before, > h3:before { content: '#{$i-knowledge}'; } + + code, div[class^="highlight"] { + border-color: tint-color($doc-example, 50%); + } } &.alert-exercise { @@ -978,6 +1040,9 @@ header { > .alert-title:before, > h3:before { content: '#{$i-exercise}'; } + code, div[class^="highlight"] { + border-color: tint-color($doc-exercise, 50%); + } } &.alert-go_to { @@ -995,6 +1060,9 @@ header { > .alert-title:before, > h3:before { content: '#{$i-arrow-right}'; } + code, div[class^="highlight"] { + border-color: tint-color($o-violet, 50%); + } } } } From 2e693b3c4a72e515c1b3ec12072d00cae0faea7a Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Thu, 16 Jun 2022 13:03:12 +0200 Subject: [PATCH 02/13] [IMP] odoo_theme: improve general spacings and paddings --- extensions/odoo_theme/static/style.scss | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index 3a9c23409..3208d146e 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -34,8 +34,11 @@ body { } } - abbr[title="Pull Request"] { - @include o-easter-egg(); + abbr { + text-underline-offset: 2px; + &[title="Pull Request"] { + @include o-easter-egg(); + } } } @@ -224,7 +227,6 @@ header { } .toctree-l1 { - padding-top: $padding-xs; padding-bottom: $padding-xs; > .o_toc_entry_wrapper a { @@ -366,7 +368,7 @@ header { display: block; top: $o-headers-height; right: 0; - padding: $padding-l $padding-s $padding-l 0; + padding: $padding-m $padding-s $padding-m 0; overflow-y: auto; } position: -webkit-sticky; @@ -420,7 +422,6 @@ header { display: inline-block; color: inherit; padding: 0 .3rem; - line-height: 1.3; overflow-wrap: anywhere; &.sig-prename { margin-right: 0 !important; @@ -464,7 +465,7 @@ header { @include media-breakpoint-up(lg) { left: calc(#{$o-side-nav-width} - #{$padding-s}); max-width: calc(100vw - #{$o-side-nav-width}); - padding: $padding-l; + padding: $padding-m $padding-l; margin: 0; } @include media-breakpoint-up(xl) { @@ -487,11 +488,11 @@ header { align-items: center; @include o-gradient(); @include media-breakpoint-up(lg) { - margin: -#{$margin-m} -#{$margin-m} $margin-m; + margin: -#{$margin-m} -#{$margin-l} $margin-m; padding: $padding-m $padding-m; } @include media-breakpoint-up(xl) { - margin: -#{$margin-l} -#{$margin-l} $margin-l; + margin: -#{$margin-m} -#{$margin-l} $margin-l; padding: $padding-l $padding-l; } } @@ -687,8 +688,11 @@ header { display: block; } - > dt, > dd { + > dt { padding-left: 0; + } + + > dd { padding-right: 0; } From 91cb3ca026bb29db8b3cfc45bad22b036835e9fb Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 15 Jun 2022 11:18:15 +0200 Subject: [PATCH 03/13] [IMP] odoo_theme: improve URL stylings - Remove external-link icon on images. - Remove underline from external-link icon on link hover. - Add overflow-wrap on URLs on mobile. --- extensions/odoo_theme/static/style.scss | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index 3208d146e..f79d8702c 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -12,15 +12,27 @@ div[aria-label="related navigation"] { body { position: relative; - a:not(:hover), a.o_logo { - text-decoration: none !important; - } + a { + @include media-breakpoint-down(lg) { + overflow-wrap: anywhere; + } - a.external:after { - content: '#{$i-external-link}'; - font-family: icomoon, sans-serif !important; - @include font-size($font-size-base/1.3); - margin: 0 .2rem; + &:not(:hover), &.o_logo { + text-decoration: none !important; + } + + &:hover { + text-underline-position: from-font; + } + + &.external { + &:not(.image-reference):after { + content: '#{$i-external-link}'; + font-family: icomoon, sans-serif !important; + @include font-size($font-size-base/1.3); + margin: 0 .2rem; + } + } } dd { From 26bc1cd7077bae63cd2f79ec4f7518efe2988369 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Thu, 16 Jun 2022 13:43:18 +0200 Subject: [PATCH 04/13] [FIX] odoo_theme: remove the horizontal scroll bar --- extensions/odoo_theme/static/style.scss | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index f79d8702c..249dc2500 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -378,14 +378,13 @@ header { display: none; @include media-breakpoint-up(xl) { display: block; + grid-area: toc; top: $o-headers-height; - right: 0; padding: $padding-m $padding-s $padding-m 0; overflow-y: auto; } position: -webkit-sticky; position: sticky; - width: $o-on-page-width; height: 100%; max-height: calc(100vh - #{$o-headers-height}); } @@ -423,10 +422,13 @@ header { //------------------------------------------------------------------------------ #wrap { + display: grid; + grid-template-areas: "main"; + grid-template-columns: minmax(0,100%); margin-top: $o-headers-mobile-height; @include media-breakpoint-up(lg) { - display: flex; - justify-content: space-between; + grid-template-areas: "sidebar main toc"; + grid-template-columns: minmax(0,$o-side-nav-width) minmax(0,auto) minmax(0,$o-on-page-width); margin-top: $o-headers-height; } @@ -473,22 +475,19 @@ header { main { position: relative; + grid-area: main; padding-bottom: $padding-l; @include media-breakpoint-up(lg) { - left: calc(#{$o-side-nav-width} - #{$padding-s}); - max-width: calc(100vw - #{$o-side-nav-width}); padding: $padding-m $padding-l; margin: 0; + grid-column-end: toc; } @include media-breakpoint-up(xl) { - left: $o-side-nav-width; - max-width: calc(100vw - #{$o-side-nav-width} - #{$o-on-page-width}); + grid-column-end: main; } &.o_index, &.o_fullwidth_page, &.o_has_code_column { - @include media-breakpoint-up(xl) { - max-width: calc(100vw - #{$o-side-nav-width}); - } + grid-column-end: toc; } // Homepage From 0b536debac2f85a5b504a0ac545f04ac603acdb9 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Thu, 16 Jun 2022 16:04:45 +0200 Subject: [PATCH 05/13] [FIX] odoo_theme: fix scrollTo margin/padding with new headers height The scroll padding needed increasing with the new sub-header. Unnecessary calc() and parenthesis on the headers-height variable are removed. --- extensions/odoo_theme/static/scss/_mixins.scss | 4 ++-- extensions/odoo_theme/static/scss/_variables.scss | 6 +++--- extensions/odoo_theme/static/style.scss | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/extensions/odoo_theme/static/scss/_mixins.scss b/extensions/odoo_theme/static/scss/_mixins.scss index 630fe125d..55b328b8d 100644 --- a/extensions/odoo_theme/static/scss/_mixins.scss +++ b/extensions/odoo_theme/static/scss/_mixins.scss @@ -103,8 +103,8 @@ display: block; width: 0; height: 0; - padding-top: $o-header-height + 10px; - margin-top: -$o-header-height - 10px; + padding-top: calc(#{$o-headers-height} + 10px); + margin-top: -$o-headers-height - 10px; } diff --git a/extensions/odoo_theme/static/scss/_variables.scss b/extensions/odoo_theme/static/scss/_variables.scss index 2ae991715..89eef1014 100644 --- a/extensions/odoo_theme/static/scss/_variables.scss +++ b/extensions/odoo_theme/static/scss/_variables.scss @@ -235,10 +235,10 @@ $o-header-mobile-height: 50px; $o-header-height: 80px; $o-header-white: #ffffff; -$o-subheader-height: calc(#{$o-header-height}/2.5); +$o-subheader-height: 32px; -$o-headers-mobile-height: calc(#{$o-header-mobile-height} + (#{$o-subheader-height})); -$o-headers-height: calc(#{$o-header-height} + #{$o-subheader-height}); +$o-headers-mobile-height: $o-header-mobile-height + $o-subheader-height; +$o-headers-height: $o-header-height + $o-subheader-height; // Navigation $o-side-nav-width: 350px; $o-on-page-width: 20%; diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index 249dc2500..a1dabbfca 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -207,7 +207,7 @@ header { } .o_side_nav-inner { width: 90%; - height: calc(100% - (#{$o-headers-mobile-height}); + height: calc(100% - #{$o-headers-mobile-height}); overflow-y: auto; position: fixed; left: -100%; @@ -220,7 +220,7 @@ header { font-weight: $fw_regular; @include media-breakpoint-up(lg) { width: $o-side-nav-width; - height: calc(100vh - (#{$o-headers-height})); + height: calc(100vh - #{$o-headers-height}); left: 0; padding-top: $padding-m; padding-left: $padding-m; From 794e42f78b808a5cb9ad815910425118b37dbb2d Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Thu, 16 Jun 2022 16:06:28 +0200 Subject: [PATCH 06/13] [IMP] odoo_theme: improve spacing around code blocks on reference pages --- extensions/odoo_theme/static/style.scss | 54 +++++++++++++++---------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index a1dabbfca..5fc775236 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -62,6 +62,7 @@ body { span.viewcode-link { float: none; + margin-left: .3rem; } //------------------------------------------------------------------------------ // Header with logo, searchbar and switchers @@ -431,26 +432,25 @@ header { grid-template-columns: minmax(0,$o-side-nav-width) minmax(0,auto) minmax(0,$o-on-page-width); margin-top: $o-headers-height; } - + p { + > code { + padding: 0 .3rem; + } + } code { display: inline-block; color: inherit; - padding: 0 .3rem; overflow-wrap: anywhere; - &.sig-prename { - margin-right: 0 !important; - padding-right: 0 !important; - - + .sig-name { - margin-left: 0 !important; - padding-left: 0 !important; - } - + &:first-of-type:not(span):not(em) { + padding-left: .3rem; } - ~ .sig-paren, ~ .sig-param, ~.optional{ - font-size: $font-size-secondary; + &:last-of-type:not(em) { + padding-right: .3rem; + } + ~ .sig-paren, ~ .sig-param, ~ .optional { + @extend code; + .sig-paren { - padding-left: .2rem; + padding: 0 .1rem; } } &.file { @@ -464,7 +464,6 @@ header { &:not(.file) { color: inherit; - margin: 0 0.1rem; background: darken($doc_code-bg,3%); } } @@ -679,15 +678,27 @@ header { @extend code; } - dl.py { - code { - margin-left: 0 - } - + dl.py, dl.js { > dd { - border-left: 2px solid $gray-lighter; + border-left: 3px solid $gray-lighter; margin: 0; padding-left: $padding-s; + padding-top: $padding-xs; + } + &.class em.property { + font-size: $font-size-secondary; + &:first-child { + border-bottom: 3px solid $gray-lighter; + + [class^=sig] { + padding-left: .3rem; + } + } + &:not(:first-child) { + @extend code; + &:last-of-type { + padding-right: .3rem; + } + } } } @@ -795,6 +806,7 @@ header { a.headerlink { text-decoration: none; font-size: 0; + line-height: 0; visibility: hidden !important; &:before { From 994d273a59371190c42f1f662b61a0579f8e4390 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Fri, 17 Jun 2022 10:28:58 +0200 Subject: [PATCH 07/13] [IMP] odoo_theme: replace "hide search matches" by a close button --- .../odoo_theme/static/fonts/icomoon.eot | Bin 59256 -> 59612 bytes .../odoo_theme/static/fonts/icomoon.svg | 1 + .../odoo_theme/static/fonts/icomoon.ttf | Bin 59092 -> 59448 bytes .../odoo_theme/static/fonts/icomoon.woff | Bin 59168 -> 59524 bytes .../odoo_theme/static/fonts/icomoon.woff2 | Bin 29724 -> 29884 bytes .../odoo_theme/static/scss/_iconfont.scss | 5 +++++ .../odoo_theme/static/scss/_variables.scss | 1 + extensions/odoo_theme/static/style.scss | 21 +++++++++--------- 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/extensions/odoo_theme/static/fonts/icomoon.eot b/extensions/odoo_theme/static/fonts/icomoon.eot index 43770f9da40610f51f73e778b5232724b7ee599d..bddd6599af5ce968a1f51fc52b4c582501983200 100644 GIT binary patch delta 795 zcmexyj`_|-X0|&o7#J*GOk^`-$u#?VZt}sWA`?TB1g? zKLV&HB_}^Q(a0}z5(C3ikhxoO6DtZBvYBQwFgz;&@)hzDb5mz}asCGKCjiyA733F} zFfapU7+y$#x~$fO2AN>})`l>_9nTC7_JDnyCp;y}6mO5m1k~n5YO)ihc401&MkSur%Xic3##A zoQzytGF;^)Tr%8Tj9k5}yzCR$cv!g@IVS*_Km~n31>7>6rR5-*xZsc)Wfc|Wnvmc) zWOjhNd#1dcoP4IcdjJxfaULt{44~;igX`*m1g8x5bXK+*-mI)Z)(lowHi#?}S8XjT z+rLkk=0faX_Q5b2Y6}Cy<{xJxL}ku>HOq|WxB1Gz%>oYJdlw%8ql|$8L{H9nY%UZD z5eG{$Faar+%^M$cGqNxrW00P_=ZRlEg9f7$vjs~E>k76Wb_Y839`FDVPm5khyiXbLVF9wFkKrUlU zPJVLYcQykV28JgwK!FXpi4_G5nM^Yo7@qO~`3iZ7xv4X~IDZ5AIzaVp1^LA#49q|o zhG$zq@(j$(jK3zQFm}nkbbJ~7|L_0*AUOtwmkckR!92$QkHuNUnJ4owg>Eionss_} z@cB?t88?%NoALZMUm3Vr!0PXvc#{TVfau9bo|yB6L&U+73{0DOpK>!!mU-q^&uGD{ z#}dUlkFAMak7END7q18JD!wBEc0yIc^F)4#m55)GS|{^EUP=C*LV=>0l8*8sl|O2i zG|p)?X=mxi=yB;!FcdK|GZ8YIWZq>NWvyW|$?k_koKuI(3%5s}OMJY1jr@ZA + diff --git a/extensions/odoo_theme/static/fonts/icomoon.ttf b/extensions/odoo_theme/static/fonts/icomoon.ttf index 80b59b56741793f6a83a653bf2c31db28c1a3d96..ac360c4e086fca2ed872add674281f1c99a2a62d 100644 GIT binary patch delta 815 zcmca|mU+ho=6VK31_lOhh6V;^1_S?KeItG$wlbi|9w1Ig&P^w)AOi?(`*~Y-|_zzItECVROex8M!f#Hb> zkgt-FTT&5uf-@D!j{xdP$;nT4Of>S#oW#KJ6lCF++{B6khHR#p3=Gde7AfQ<=BCc{ z;`|NdPXKCYE66V{0Xh^2UPyrC8JL-WPCU>h$6)X>`2XMk|3NZ9QG=HZU>@WD$N#U0 zvrf)n4Bfnvaoy>7>Hj~NS2K4oh%*>5_%mb!jZ{+8XH+vYHxrX*G`C|Emt*8-T0GYK=tNk#zsIr;$osAKq>agItmi? zCSYmC$LzeU6F3>UxMaA>OSojXxfr>6S$Wwfu<@{RF>+1-GJy*EfC{)}I7`bxGI7Bn zHOeX~$~7UuamefdclS(rIXU@EclQ7!Hsd^2))_$4fd<#r0SQhS?&+*-GrU<@fvg#< ztZWcjCa&6ARoBSdA+eKpIB=ePOFz|8^<-+LDy0V9lo z0Ypze@yJ{#5+V+kWMBePESq^Bb2G9qA7hZ7Eb+vzo?m654#1&E-n$? zAl@x}=L9^2T7*}KGKtlR-;vrO%OtNO|3aZk(Lu>fd5tQY+8vD>T0Pn&x@meM`m+q> zj2uj4%;uO+u}rZxvYBJgo#V8_#t}a8+LHAyTP?dP$1YbYPbcH}UpPb@EXlyM zIr9lO2XKjf9< z?&udJ6AKs^7&CxEF(CZ1pW#t@VlhbU z2$0VK#RBO$m1#h+GYkxmYC!lyf3SB(YGMil!xImn8Z!`9IM3OZ0Tcv^H30c4Ak2QA zg*zj+qyi|m1gIaVo-rlz1ZQeaelk#<-!qT}TR_;zFLP3EVg=CRXM2Er1u)KLnwgiF zn+g=W1Ju|C!ZW=%e;4EzmjHbNGz_Ya8OUO0{yCY4u}hA@;AQatzyJROg+S5Jt0otJe2CnFb^3|Dyxmkc)-BUdjgFZ%>G9#$?!&Iv#!P(dG1 z0k;fiX*ozHE;yt{Sw%&;CL}lxnH}Kno+&RUC!gu=9)QGVoX5&K186$X;JP{>!70N% zot15dH!CZUHG`Fv4I<0LRa?u-_U{v>xez;;eK1Uh+QPuFdBNETQJHgJ%`)TpZN4&a zvw*|+-o;0gKnxH)S>&;~P$WbgEXlwGq*yjbKIUd*VLrwnJvrrxUp<2cqZ6|QOA6}> zwjOp1j$K?Lyg|HM_|6G<2(<{W5M>gp6Tc(1LzYQiNB)IEm7;@^nerM{Hnlq%H?(@R zOLWupMD%AF${9JB$e7JBpJJI}ZDcdYp2;D@X_Ct)w>O^ad_sI}{9^ny0*eCg1g!|= z3Of`&FXB$rrP!1Ni6nt!!+WU;sST-L(x#<1WNKv=Wp2s*k>!+Cm9-`7UA9_wRgPV* YRGwCTRY6Lj9RnlK{gIpFo*rTZ07PNloB#j- delta 542 zcmZp<$h_bjvsk&mn;Qco0}wn{VBiMP&#o{qPA+^QJW*4uzC1ZMv4DYrF#{+b1Hv!+ zUzwyQ7K6l&0QnqHERdd4nFbU)!@%%R1%xXES=2L96H^!%9(@3+F#}?!jublj3pgO-ND}ahNfbe%V1DV{!3ZTVL zBY=DbFwSI}nU|QG3KRnxz}N=DGrc%}7vvY00R0100#(NhWHB@Un#{x4CHK*OXAx(fyoE7zvnv?32BythpKvoyKJwJBp3#C?k0pwA9$OQ;9>)eQE?y7bReVPT z?1ZX>=ZX9fD-pjWwNB=TypsGqg#tx0B^~8ODu2{2X`It)($3P2(c{veU?^f_W+G%Z z$-K)l%38x_lHCu7IHwMm7jBO{m-u-38usU!`5isLME($&u-kIW6;C7Dtv-R#n!y>`6I!xpjHx@^=(WVqgTiJe+Ad RgCN)kOrUt*eE-=}MgTT?q+tL6 diff --git a/extensions/odoo_theme/static/fonts/icomoon.woff2 b/extensions/odoo_theme/static/fonts/icomoon.woff2 index a07d615a885ac7b1ddab2dfb7542f49392aa8463..b2df3ab856aaf366c0e4d00d12bbf725a0a3a1ed 100644 GIT binary patch literal 29884 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

vhCB!hzaJiU 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 Date: Wed, 22 Jun 2022 12:05:27 +0200 Subject: [PATCH 08/13] [CLN] odoo_theme: remove old doc's utility mixins These mixins were used in the old doc and were kept "just in case". The `valid-radius` mixin already exists in the bootstrap library. --- .../odoo_theme/static/scss/_mixins.scss | 71 ------------------- 1 file changed, 71 deletions(-) diff --git a/extensions/odoo_theme/static/scss/_mixins.scss b/extensions/odoo_theme/static/scss/_mixins.scss index 55b328b8d..27862fb89 100644 --- a/extensions/odoo_theme/static/scss/_mixins.scss +++ b/extensions/odoo_theme/static/scss/_mixins.scss @@ -4,18 +4,6 @@ // Utilities // ------------------------------------------------------------------ -.o-no-select { - pointer-events: none; - cursor: default; - &, & * { - &::selection { - background: transparent; - } - &::-moz-selection { - background: transparent; - } - } -} @mixin o-position-absolute($top: auto, $right: auto, $bottom: auto, $left: auto){ position: absolute; @@ -41,32 +29,6 @@ // Backgrounds // ------------------------------------------------------------------ -@mixin o-svg-bg($file_name,$file_ext,$x:50%, $y:50%, $repeat: no-repeat, $folder: ''){ - $std-url: url("img/${folder}${file_name}.${file_ext}"); - $svg-url: url("img/${folder}${file_name}.svg"); - background-image: $std-url; - background-image: $svg-url; - background-position: $x $y; - background-repeat: $repeat; -} - -@mixin o-retina-bg($img,$x:50%, $y:50%, $repeat: no-repeat, $folder: ''){ - $std-url: url("img/${folder}${img}"); - background-image: $std-url; - background-position: $x $y; - background-repeat: $repeat; - - @media - only screen and (-webkit-min-device-pixel-ratio: 2), - only screen and ( min--moz-device-pixel-ratio: 2), - only screen and ( -o-min-device-pixel-ratio: 2/1), - only screen and ( min-device-pixel-ratio: 2), - only screen and ( min-resolution: 192dpi), - only screen and ( min-resolution: 2dppx) { - // $2x-url: url("img/${folder}${website-2x-prefix}${img}"); - background-image: url("img/${folder}${website-2x-prefix}${img}"); - } -} @mixin o-gradient($deg: 99deg , $startColor: $o-violet, $endColor: #62495B, $startOffset: 10%, $endOffset: 90%){ background: mix($startColor, $endColor); @@ -107,27 +69,6 @@ margin-top: -$o-headers-height - 10px; } - -//-- has_col - -@mixin o-pseudo-col(){ - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; - float: left; - width: 100%; -} - -@mixin o-code-col(){ - /* content: ""; Deactivating o_has_code_column background */ - background: $doc_code-bg; - /* @include box-shadow(inset 40px 0 40px -18px rgba(22, 24, 29, 0.3)); */ - @include o-position-absolute($top: 3rem, $right:0); - width: 43%; - height: calc(100% - 3rem); -} - @mixin o-easter-egg($width: 100%, $height: 100%, $img: 'img/poule.svg' ){ position: relative; // Easter Egg on hover 5s @@ -150,15 +91,3 @@ @include o-transition(all, .5s, ease-in, 5s); } } - -@function valid-radius($radius) { - $return: (); - @each $value in $radius { - @if type-of($value) == number { - $return: append($return, max($value, 0)); - } @else { - $return: append($return, $value); - } - } - @return $return; -} \ No newline at end of file From b9ca38215d92d6f1c9a79bae51a00d0a630f51c3 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 22 Jun 2022 12:31:50 +0200 Subject: [PATCH 09/13] [REF] odoo_theme: move scrollbar styling to `.o_side_nav-inner` --- extensions/odoo_theme/static/style.scss | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index d0f3311df..8b43105a0 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -225,6 +225,18 @@ header { padding-top: $padding-m; padding-left: $padding-m; } + &::-webkit-scrollbar { + width: 5px; + } + + &::-webkit-scrollbar-track { + background: $white; + } + + &::-webkit-scrollbar-thumb { + background-color: $o-violet-darker ; + border-radius: 0; + } } &.show { @@ -299,19 +311,6 @@ header { } } - - &::-webkit-scrollbar { - width: 5px; - } - - &::-webkit-scrollbar-track { - background: $white; - } - - &::-webkit-scrollbar-thumb { - background-color: $o-violet-darker ; - border-radius: 0; - } } .o_main_toc, .o_page_toc_nav { From 383e3d420657ce9fbc79f07b6b5225f7e340171d Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 22 Jun 2022 12:48:01 +0200 Subject: [PATCH 10/13] [CLN] odoo_theme: remove old doc's unused variables --- .../odoo_theme/static/scss/_variables.scss | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/extensions/odoo_theme/static/scss/_variables.scss b/extensions/odoo_theme/static/scss/_variables.scss index cff975fe5..dbec98217 100644 --- a/extensions/odoo_theme/static/scss/_variables.scss +++ b/extensions/odoo_theme/static/scss/_variables.scss @@ -1,25 +1,9 @@ -$o-pagination-main-border: #d8d8d8; - $grid-breakpoint-xxl: 1400px; $grid-breakpoint-xxxl: 1680px; $container-max-width-xxl:1380px; $container-max-width-xxxl: 1560px; -// Paths and Prefixes -// ============================================== -$website-img-base-url : "../img"; -$website-loading-url : "openerp_website/static/src/img/2016/gif/ring.gif"; -$website-2x-prefix : "2x_"; - -// Animations and Transitions -// ===================== -$o-ease: cubic-bezier(.55,0,.1,1); - -// Events -// =============================================== -$country-events-list-gap : 15px; - // Odoo Colours // ============================================== $o-violet-dark : #875A7B; @@ -71,6 +55,7 @@ $fw_extrabold: 800; $fw_black: 900; $font-size-secondary: .875rem; + //------------------------------------------------------------------------------ // icomoon icons //------------------------------------------------------------------------------ @@ -248,13 +233,6 @@ $o-on-page-width: 20%; $o-halfpage-width: 54%; $o-codecol-width: 43%; -// Paths and Prefixes -$website-img-base-url: "../img/"; -$website-2x-prefix: "2x_"; - -// Animations and Transitions -$o-ease: cubic-bezier(.55,0,.1,1); - // Paddings and margins $padding-xs: .5rem; $padding-s: 1rem; From fca78f44dbc457389a7c10a95d56558139ed6735 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 22 Jun 2022 12:48:35 +0200 Subject: [PATCH 11/13] [CLN] odoo_theme: remove unnecessary css --- extensions/odoo_theme/static/style.scss | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index 8b43105a0..c221b516b 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -197,7 +197,6 @@ header { //------------------------------------------------------------------------------ .o_side_nav { - width: 100%; .o_mobile-overlay { background-color: rgba(0,0,0,.3); @include o-position-absolute($top: 0, $bottom: 0, $left: 0, $right:0); @@ -205,6 +204,7 @@ header { transition: opacity .2s linear; z-index: -100; } + .o_side_nav-inner { width: 90%; height: calc(100% - #{$o-headers-mobile-height}); @@ -258,6 +258,7 @@ header { font-weight: 600; } } + .o_main_toc { > ul { li { @@ -558,18 +559,7 @@ header { // pages with column for code on the right &.o_has_code_column { article.doc-body { - > * { - max-width: 100%; - } - @include media-breakpoint-up(xl) { - width: 100%; - padding-right: 0; - - &:before { - @include o-code-col(); - } - .o_git_link { right: calc(#{$o-codecol-width} + #{$padding-l}); } From 7fa153594d0aa63a53e29f3522f60b525f7147d0 Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 22 Jun 2022 13:02:14 +0200 Subject: [PATCH 12/13] [REF] odoo_theme: move stray mixins into the `_mixins.scss` file --- extensions/odoo_theme/static/scss/_mixins.scss | 8 ++++++++ extensions/odoo_theme/static/style.scss | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/extensions/odoo_theme/static/scss/_mixins.scss b/extensions/odoo_theme/static/scss/_mixins.scss index 27862fb89..fce6a5b53 100644 --- a/extensions/odoo_theme/static/scss/_mixins.scss +++ b/extensions/odoo_theme/static/scss/_mixins.scss @@ -91,3 +91,11 @@ @include o-transition(all, .5s, ease-in, 5s); } } + +@mixin o-content-tab-selected { + font-weight: 700; + background: $doc-paper; + border-bottom: 1px solid $doc-paper; + border-left: 1px solid $gray-light; + border-right: 1px solid $gray-light; +} diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index c221b516b..69b1c7458 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -1086,14 +1086,6 @@ header { // Content Tabs //------------------------------------------------------------------------------ -@mixin o-content-tab-selected { - font-weight: 700; - background: $doc-paper; - border-bottom: 1px solid $doc-paper; - border-left: 1px solid $gray-light; - border-right: 1px solid $gray-light; -} - .sphinx-tabs { padding: 0; margin-bottom: 1rem; From c82d95b17ca25e6317771d1f474f5622f174f0cd Mon Sep 17 00:00:00 2001 From: Elisabeth Dickinson Date: Wed, 22 Jun 2022 13:06:19 +0200 Subject: [PATCH 13/13] [REF] odoo_theme: replace values with variables in SCSS files --- extensions/odoo_theme/static/scss/_mixins.scss | 2 +- extensions/odoo_theme/static/style.scss | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/odoo_theme/static/scss/_mixins.scss b/extensions/odoo_theme/static/scss/_mixins.scss index fce6a5b53..fc99fa9c3 100644 --- a/extensions/odoo_theme/static/scss/_mixins.scss +++ b/extensions/odoo_theme/static/scss/_mixins.scss @@ -93,7 +93,7 @@ } @mixin o-content-tab-selected { - font-weight: 700; + font-weight: $fw_bold; background: $doc-paper; border-bottom: 1px solid $doc-paper; border-left: 1px solid $gray-light; diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index 69b1c7458..91ef1c300 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -1118,8 +1118,8 @@ header { &:hover { &:not([aria-selected="true"]) { cursor: pointer; - background: hsl(317deg, 16%, 90%); - color: #7A436B; + background: tint-color($o-violet-dark, 80%); + color: $o-violet-dark; transition: color .15s, background .15s; border-radius: 0; }