diff --git a/addons/web/__manifest__.py b/addons/web/__manifest__.py index 528806989b3..2aa8db8a18e 100644 --- a/addons/web/__manifest__.py +++ b/addons/web/__manifest__.py @@ -515,6 +515,7 @@ This module provides the core of the Odoo Web Client. 'web._assets_helpers': [ 'web/static/lib/bootstrap/scss/_functions.scss', 'web/static/lib/bootstrap/scss/_mixins.scss', + 'web/static/src/scss/functions.scss', 'web/static/src/scss/mixins_forwardport.scss', 'web/static/src/scss/bs_mixins_overrides.scss', 'web/static/src/legacy/scss/utils.scss', diff --git a/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff b/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff index cb7f1df8fdd..4e0b81b486a 100644 Binary files a/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff and b/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff differ diff --git a/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 b/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 index 80cbce6c99c..67778cfd18d 100644 Binary files a/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 and b/addons/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 differ diff --git a/addons/web/static/lib/odoo_ui_icons/style.css b/addons/web/static/lib/odoo_ui_icons/style.css index 5435c0a471a..ae4a56ef32b 100644 --- a/addons/web/static/lib/odoo_ui_icons/style.css +++ b/addons/web/static/lib/odoo_ui_icons/style.css @@ -42,3 +42,4 @@ .oi-text-wrap:before { content: '\e815'; } .oi-view-cohort:before { content: '\e816'; } .oi-view-list:before { content: '\e817'; } +.oi-gif-picker:before { content: '\e82e'; } diff --git a/addons/web/static/src/legacy/scss/utils.scss b/addons/web/static/src/legacy/scss/utils.scss index fce07479e5a..3be4a4e0473 100644 --- a/addons/web/static/src/legacy/scss/utils.scss +++ b/addons/web/static/src/legacy/scss/utils.scss @@ -288,7 +288,7 @@ } // ------- Kanban records mixins ------- -@mixin o-kanban-record-title($font-size) { +@mixin o-kanban-record-title($font-size: 1em) { color: $headings-color; font-size: $font-size; font-weight: 500; diff --git a/addons/web/static/src/scss/bootstrap_overridden.scss b/addons/web/static/src/scss/bootstrap_overridden.scss index 29ed9a31a16..487ec033eeb 100644 --- a/addons/web/static/src/scss/bootstrap_overridden.scss +++ b/addons/web/static/src/scss/bootstrap_overridden.scss @@ -121,6 +121,9 @@ $font-weight-bolder: 700 !default; $font-family-sans-serif: $o-font-family-sans-serif !default; $font-size-base: $o-font-size-base !default; +$font-size-sm: $o-font-size-base-small !default; +$small-font-size: $font-size-sm !default; + $line-height-base: $o-line-height-base !default; $h1-font-size: $font-size-base * 2.0 !default; diff --git a/addons/web/static/src/scss/functions.scss b/addons/web/static/src/scss/functions.scss new file mode 100644 index 00000000000..127a3508b7f --- /dev/null +++ b/addons/web/static/src/scss/functions.scss @@ -0,0 +1,32 @@ +///============================================================================ +/// Odoo SCSS Functions +/// +/// Regroup functions that can be used at any stage of the compilation process. +///============================================================================ + + +/// Remove the unit of a length +/// --------------------------------------------------------------------------- +/// @param {Number} $-value +/// Number to remove unit from +/// @return {$-value} +/// Unitless number +@function o-strip-unit($-value) { + @if type-of($-value) == 'number' and not unitless($-value) { + @return $-value / ($-value * 0 + 1); + } + + @return $-value; +} + +/// Converts px to rem. +/// --------------------------------------------------------------------------- +/// @param {number or px value} $-px-value +/// The value to convert. +/// @param {number or px value } $-base +/// The base font-size +/// @return {number} +/// `$-px-value` converted in rem units +@function o-to-rem($-px-value, $-base: 16) { + @return (o-strip-unit($-px-value) / o-strip-unit($-base)) * 1rem; +} diff --git a/addons/web/static/src/scss/primary_variables.scss b/addons/web/static/src/scss/primary_variables.scss index afad06533a7..1c60140af16 100644 --- a/addons/web/static/src/scss/primary_variables.scss +++ b/addons/web/static/src/scss/primary_variables.scss @@ -7,9 +7,11 @@ $o-webclient-color-scheme: bright !default; // Font sizes -$o-root-font-size: 12px !default; -$o-font-size-base: 13rem * (1px / $o-root-font-size) !default; -$o-font-size-base-touch: 15px !default; +$o-root-font-size: 1rem !default; +$o-font-size-base: o-to-rem(14px) !default; +$o-font-size-base-touch: o-to-rem(16px) !default; +$o-font-size-base-small: o-to-rem(13px) !default; +$o-font-size-base-smaller: o-to-rem(12px) !default; $o-line-height-base: 1.5 !default; // This is BS default // Global sans-serif fonts stack, defined here as we need to process diff --git a/addons/web/static/src/scss/utilities_custom.scss b/addons/web/static/src/scss/utilities_custom.scss index 44c17479ed3..0521dc92d68 100644 --- a/addons/web/static/src/scss/utilities_custom.scss +++ b/addons/web/static/src/scss/utilities_custom.scss @@ -242,3 +242,8 @@ $utilities: map-merge( } } } + +// Define a smaller font-size +.smaller { + font-size: $o-font-size-base-smaller; +} diff --git a/addons/web/static/src/views/kanban/kanban_controller.scss b/addons/web/static/src/views/kanban/kanban_controller.scss index 1b182fbf4d0..b7cb583b8d6 100644 --- a/addons/web/static/src/views/kanban/kanban_controller.scss +++ b/addons/web/static/src/views/kanban/kanban_controller.scss @@ -103,7 +103,7 @@ } .o_kanban_record_title { - @include o-kanban-record-title($font-size: 13px); + @include o-kanban-record-title(); overflow-wrap: break-word; word-wrap: break-word; } diff --git a/addons/web/static/src/views/list/list_renderer.scss b/addons/web/static/src/views/list/list_renderer.scss index ec4286ffe1b..3bf2bec10cc 100644 --- a/addons/web/static/src/views/list/list_renderer.scss +++ b/addons/web/static/src/views/list/list_renderer.scss @@ -138,7 +138,7 @@ } .o_list_record_selector { - width: 40px; + width: 40px !important; // Force to 40px regardless by the font-size } .o_list_record_remove, .o_handle_cell { diff --git a/addons/website/static/src/scss/website.ui.scss b/addons/website/static/src/scss/website.ui.scss index 399128bee8d..cc4be16277c 100644 --- a/addons/website/static/src/scss/website.ui.scss +++ b/addons/website/static/src/scss/website.ui.scss @@ -8,7 +8,7 @@ $-mini-nav-size: 40px; .o_frontend_to_backend_nav { @include o-position-absolute(0, auto, auto, 0); z-index: $zindex-modal; - font-size: $o-font-size-base * ($o-root-font-size / 16px); + font-size: $o-font-size-base; &::before { content: ""; @@ -40,7 +40,7 @@ $-mini-nav-size: 40px; } .o_frontend_to_backend_apps_menu { - font-size: $o-font-size-base * ($o-root-font-size / 14px); + font-size: $o-font-size-base; max-height: 70vh; overflow: auto; }