[IMP] website, web_editor: relayout theme options
This commit reorganizes the theme options to make them easier to find. It also adds the following options: - 'Font size' for each of the six headings - 'Font (family)' for each of the six headings - 'Margins' (top & bottom) for paragraph & the 6 headings - 'Line Height' for paragraph & the 6 headings - Harmonize buttons options with the custom button ones task-3140991 Part-of: odoo/odoo#111621
This commit is contained in:
@@ -42,13 +42,19 @@ $o-btn-border-colors: () !default;
|
||||
@include button-outline-variant($-border-color);
|
||||
}
|
||||
}
|
||||
$o-btn-flat-defaults: () !default;
|
||||
$o-btn-outline-defaults: () !default;
|
||||
$o-btn-outline-border-width-defaults: () !default;
|
||||
@each $color, $value in $theme-colors {
|
||||
.btn-#{$color} {
|
||||
@if index($o-btn-outline-defaults, $color) {
|
||||
@extend .btn-outline-#{$color};
|
||||
border-width: map-get($o-btn-outline-border-width-defaults, $color);
|
||||
} @else {
|
||||
@extend .btn-fill-#{$color};
|
||||
@if index($o-btn-flat-defaults, $color) {
|
||||
@extend .btn.flat;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1228,15 +1228,20 @@ const InputUserValueWidget = UnitUserValueWidget.extend({
|
||||
this.inputEl.setAttribute('type', 'text');
|
||||
this.inputEl.setAttribute('autocomplete', 'chrome-off');
|
||||
this.inputEl.setAttribute('placeholder', this.el.getAttribute('placeholder') || '');
|
||||
this.inputEl.classList.toggle('text-start', !unit && !step);
|
||||
this.inputEl.classList.toggle('text-end', !!unit || !!step);
|
||||
const useNumberAlignment = !!step || !!unit || !!this.el.dataset.fakeUnit || !!this.el.dataset.hideUnit;
|
||||
this.inputEl.classList.toggle('text-start', !useNumberAlignment);
|
||||
this.inputEl.classList.toggle('text-end', useNumberAlignment);
|
||||
this.containerEl.appendChild(this.inputEl);
|
||||
|
||||
var unitEl = document.createElement('span');
|
||||
unitEl.textContent = unit;
|
||||
this.containerEl.appendChild(unitEl);
|
||||
if (unit.length > 3) {
|
||||
this.el.classList.add('o_we_large');
|
||||
const showUnit = (!!unit || !!this.el.dataset.fakeUnit) && !this.el.dataset.hideUnit;
|
||||
if (showUnit) {
|
||||
var unitEl = document.createElement('span');
|
||||
const unitText = this.el.dataset.fakeUnit || unit;
|
||||
unitEl.textContent = unitText;
|
||||
this.containerEl.appendChild(unitEl);
|
||||
if (unitText.length > 3) {
|
||||
this.el.classList.add('o_we_large');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -1892,6 +1892,9 @@
|
||||
border-width: 4px;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
we-select.o_we_border_preview_aligned_select {
|
||||
width: $o-we-sidebar-content-field-input-max-width;
|
||||
}
|
||||
#oe_snippets .colorpicker {
|
||||
$-wb-txt: $o-we-sidebar-content-field-colorpicker-dropdown-color;
|
||||
|
||||
|
||||
@@ -25,9 +25,14 @@ const wSnippetMenu = weSnippetEditor.SnippetsMenu.extend({
|
||||
THEME: 'theme',
|
||||
}),
|
||||
optionsTabStructure: [
|
||||
['theme-colors', _lt("Theme Colors")],
|
||||
['theme-options', _lt("Theme Options")],
|
||||
['website-settings', _lt("Website Settings")],
|
||||
['theme-colors', _lt("Colors")],
|
||||
['website-settings', _lt("Website")],
|
||||
['theme-paragraph', _lt("Paragraph")],
|
||||
['theme-headings', _lt("Headings")],
|
||||
['theme-button', _lt("Button")],
|
||||
['theme-link', _lt("Link")],
|
||||
['theme-input', _lt("Input Fields")],
|
||||
['theme-advanced', _lt("Advanced")],
|
||||
],
|
||||
|
||||
/**
|
||||
|
||||
@@ -1427,6 +1427,14 @@ options.registry.OptionsTab = options.Class.extend({
|
||||
action: 'website.theme_install_kanban_action',
|
||||
});
|
||||
},
|
||||
/**
|
||||
* @see this.selectClass for parameters
|
||||
*/
|
||||
async customizeButtonStyle(previewMode, widgetValue, params) {
|
||||
// TODO improve: customize two variables at the same time...
|
||||
await this.customizeWebsiteVariable(previewMode, widgetValue === 'outline', {variable: `btn-${params.button}-outline`});
|
||||
await this.customizeWebsiteVariable(previewMode, widgetValue === 'flat', {variable: `btn-${params.button}-flat`});
|
||||
},
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Private
|
||||
@@ -1508,6 +1516,11 @@ options.registry.OptionsTab = options.Class.extend({
|
||||
// See updateUI override
|
||||
return this.grayParams[params.param];
|
||||
}
|
||||
if (methodName === 'customizeButtonStyle') {
|
||||
const isOutline = weUtils.getCSSVariableValue(`btn-${params.button}-outline`);
|
||||
const isFlat = weUtils.getCSSVariableValue(`btn-${params.button}-flat`);
|
||||
return isFlat === "'True'" ? 'flat' : isOutline === "'True'" ? 'outline' : 'fill';
|
||||
}
|
||||
return this._super(...arguments);
|
||||
},
|
||||
/**
|
||||
|
||||
+45
-7
@@ -92,15 +92,46 @@ $component-active-color: if($component-active-bg, color-contrast($component-acti
|
||||
$font-family-sans-serif: $o-theme-font !default;
|
||||
|
||||
$font-size-base: o-website-value('font-size-base') !default;
|
||||
// The top paragraph margin is a custom variable.
|
||||
$paragraph-margin-top: o-website-value('paragraph-margin-top') !default;
|
||||
$paragraph-margin-bottom: o-website-value('paragraph-margin-bottom') !default;
|
||||
|
||||
$h1-font-size: $font-size-base * $o-theme-h1-font-size-multiplier !default;
|
||||
$h2-font-size: $font-size-base * $o-theme-h2-font-size-multiplier !default;
|
||||
$h3-font-size: $font-size-base * $o-theme-h3-font-size-multiplier !default;
|
||||
$h4-font-size: $font-size-base * $o-theme-h4-font-size-multiplier !default;
|
||||
$h5-font-size: $font-size-base * $o-theme-h5-font-size-multiplier !default;
|
||||
$h6-font-size: $font-size-base * $o-theme-h6-font-size-multiplier !default;
|
||||
$h1-font-size: o-website-value('h1-font-size') or $font-size-base * $o-theme-h1-font-size-multiplier !default;
|
||||
$h2-font-size: o-website-value('h2-font-size') or $font-size-base * $o-theme-h2-font-size-multiplier !default;
|
||||
$h3-font-size: o-website-value('h3-font-size') or $font-size-base * $o-theme-h3-font-size-multiplier !default;
|
||||
$h4-font-size: o-website-value('h4-font-size') or $font-size-base * $o-theme-h4-font-size-multiplier !default;
|
||||
$h5-font-size: o-website-value('h5-font-size') or $font-size-base * $o-theme-h5-font-size-multiplier !default;
|
||||
$h6-font-size: o-website-value('h6-font-size') or $font-size-base * $o-theme-h6-font-size-multiplier !default;
|
||||
|
||||
// H2~H6 font families are custom variables.
|
||||
$headings-font-family: $o-theme-headings-font !default;
|
||||
$h2-font-family: $o-theme-h2-font !default;
|
||||
$h3-font-family: $o-theme-h3-font !default;
|
||||
$h4-font-family: $o-theme-h4-font !default;
|
||||
$h5-font-family: $o-theme-h5-font !default;
|
||||
$h6-font-family: $o-theme-h6-font !default;
|
||||
// H2~H6 line heights are custom variables.
|
||||
$headings-line-height: o-website-value('headings-line-height') !default;
|
||||
$h2-line-height: o-website-value('h2-line-height') or $headings-line-height !default;
|
||||
$h3-line-height: o-website-value('h3-line-height') or $headings-line-height !default;
|
||||
$h4-line-height: o-website-value('h4-line-height') or $headings-line-height !default;
|
||||
$h5-line-height: o-website-value('h5-line-height') or $headings-line-height !default;
|
||||
$h6-line-height: o-website-value('h6-line-height') or $headings-line-height !default;
|
||||
// H1~H6 top margins are custom variables.
|
||||
$headings-margin-top: o-website-value('headings-margin-top') or 0 !default;
|
||||
$h2-margin-top: o-website-value('h2-margin-top') or $headings-margin-top !default;
|
||||
$h3-margin-top: o-website-value('h3-margin-top') or $headings-margin-top !default;
|
||||
$h4-margin-top: o-website-value('h4-margin-top') or $headings-margin-top !default;
|
||||
$h5-margin-top: o-website-value('h5-margin-top') or $headings-margin-top !default;
|
||||
$h6-margin-top: o-website-value('h6-margin-top') or $headings-margin-top !default;
|
||||
// H2~H6 bottom margins are custom variables.
|
||||
$headings-margin-bottom: o-website-value('headings-margin-bottom') !default;
|
||||
$h2-margin-bottom: o-website-value('h2-margin-bottom') or $headings-margin-bottom !default;
|
||||
$h3-margin-bottom: o-website-value('h3-margin-bottom') or $headings-margin-bottom !default;
|
||||
$h4-margin-bottom: o-website-value('h4-margin-bottom') or $headings-margin-bottom !default;
|
||||
$h5-margin-bottom: o-website-value('h5-margin-bottom') or $headings-margin-bottom !default;
|
||||
$h6-margin-bottom: o-website-value('h6-margin-bottom') or $headings-margin-bottom !default;
|
||||
|
||||
$headings-color: o-color('o-cc1-headings') !default;
|
||||
|
||||
$lead-font-size: 1.125rem !default;
|
||||
@@ -175,10 +206,17 @@ $blockquote-margin-y: 0 !default;
|
||||
|
||||
// Bootstrap Review
|
||||
|
||||
$o-btn-flat-defaults: () !default;
|
||||
$o-btn-outline-defaults: () !default;
|
||||
$o-btn-outline-border-width-defaults: () !default;
|
||||
@each $color in ('primary', 'secondary') {
|
||||
@if o-website-value('btn-#{$color}-outline') {
|
||||
@if o-website-value('btn-#{$color}-flat') {
|
||||
$o-btn-flat-defaults: append($o-btn-flat-defaults, $color);
|
||||
} @else if o-website-value('btn-#{$color}-outline') {
|
||||
$o-btn-outline-defaults: append($o-btn-outline-defaults, $color);
|
||||
$o-btn-outline-border-width-defaults: map-merge($o-btn-outline-border-width-defaults, (
|
||||
$color: o-website-value('btn-#{$color}-outline-border-width'),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1954,6 +1954,13 @@ $o-selected-color-palettes-names: (
|
||||
|
||||
$o-base-website-values-palette: (
|
||||
'font-size-base': 1rem, // Need a set value as the value is used in bootstrap_overridden files
|
||||
'body-line-height': 1.5rem,
|
||||
'headings-line-height': 1.2,
|
||||
'paragraph-margin-top': 0,
|
||||
'paragraph-margin-bottom': 16px,
|
||||
'headings-margin-top': 0,
|
||||
'headings-margin-bottom': 0.5rem,
|
||||
|
||||
'google-fonts': null,
|
||||
'google-local-fonts': null,
|
||||
|
||||
@@ -1965,6 +1972,10 @@ $o-base-website-values-palette: (
|
||||
|
||||
'btn-primary-outline': false,
|
||||
'btn-secondary-outline': false,
|
||||
'btn-primary-flat': false,
|
||||
'btn-secondary-flat': false,
|
||||
'btn-primary-outline-border-width': 1px,
|
||||
'btn-secondary-outline-border-width': 1px,
|
||||
'link-underline': 'hover', // 'never' / 'hover' / 'always'
|
||||
'btn-ripple': false,
|
||||
|
||||
@@ -2028,6 +2039,11 @@ $o-base-website-values-palette: (
|
||||
$o-font-aliases-to-keys: (
|
||||
'base': 'font',
|
||||
'headings': 'headings-font',
|
||||
'h2': 'h2-font',
|
||||
'h3': 'h3-font',
|
||||
'h4': 'h4-font',
|
||||
'h5': 'h5-font',
|
||||
'h6': 'h6-font',
|
||||
'navbar': 'navbar-font',
|
||||
'buttons': 'buttons-font',
|
||||
);
|
||||
|
||||
@@ -269,5 +269,10 @@ $o-theme-font: o-get-font-info('base') !default;
|
||||
// one in $o-base-theme-font-configs. This ensures a misconfiguration also does.
|
||||
$o-theme-font: $o-theme-font or o-add-unicode-support-font($o-system-fonts);
|
||||
$o-theme-headings-font: o-get-font-info('headings') or $o-theme-font !default;
|
||||
$o-theme-h2-font: o-get-font-info('h2') or $o-theme-headings-font !default;
|
||||
$o-theme-h3-font: o-get-font-info('h3') or $o-theme-headings-font !default;
|
||||
$o-theme-h4-font: o-get-font-info('h4') or $o-theme-headings-font !default;
|
||||
$o-theme-h5-font: o-get-font-info('h5') or $o-theme-headings-font !default;
|
||||
$o-theme-h6-font: o-get-font-info('h6') or $o-theme-headings-font !default;
|
||||
$o-theme-navbar-font: o-get-font-info('navbar') or $o-theme-font !default;
|
||||
$o-theme-buttons-font: o-get-font-info('buttons') or $o-theme-font !default;
|
||||
|
||||
@@ -72,6 +72,41 @@ $-seen-urls: ();
|
||||
$i: $i + 1;
|
||||
}
|
||||
|
||||
@include print-variable('paragraph-margin-top', $paragraph-margin-top);
|
||||
@include print-variable('paragraph-margin-bottom', $paragraph-margin-bottom);
|
||||
@include print-variable('h2-line-height', $h2-line-height);
|
||||
@include print-variable('h3-line-height', $h3-line-height);
|
||||
@include print-variable('h4-line-height', $h4-line-height);
|
||||
@include print-variable('h5-line-height', $h5-line-height);
|
||||
@include print-variable('h6-line-height', $h6-line-height);
|
||||
@include print-variable('h1-font-size', $h1-font-size);
|
||||
@include print-variable('h2-font-size', $h2-font-size);
|
||||
@include print-variable('h3-font-size', $h3-font-size);
|
||||
@include print-variable('h4-font-size', $h4-font-size);
|
||||
@include print-variable('h5-font-size', $h5-font-size);
|
||||
@include print-variable('h6-font-size', $h6-font-size);
|
||||
// We cannot rely on $o-theme-hx-font because they contain the list of
|
||||
// fallback fonts (unicode...).
|
||||
$-headings-or-main-font: o-website-value('headings-font') or o-website-value('font');
|
||||
@include print-variable('h2-font', o-website-value('h2-font') or $-headings-or-main-font);
|
||||
@include print-variable('h3-font', o-website-value('h3-font') or $-headings-or-main-font);
|
||||
@include print-variable('h4-font', o-website-value('h4-font') or $-headings-or-main-font);
|
||||
@include print-variable('h5-font', o-website-value('h5-font') or $-headings-or-main-font);
|
||||
@include print-variable('h6-font', o-website-value('h6-font') or $-headings-or-main-font);
|
||||
@include print-variable('headings-line-height', $headings-line-height);
|
||||
@include print-variable('headings-margin-top', $headings-margin-top);
|
||||
@include print-variable('headings-margin-bottom', $headings-margin-bottom);
|
||||
@include print-variable('h2-margin-top', $h2-margin-top);
|
||||
@include print-variable('h3-margin-top', $h3-margin-top);
|
||||
@include print-variable('h4-margin-top', $h4-margin-top);
|
||||
@include print-variable('h5-margin-top', $h5-margin-top);
|
||||
@include print-variable('h6-margin-top', $h6-margin-top);
|
||||
@include print-variable('h2-margin-bottom', $h2-margin-bottom);
|
||||
@include print-variable('h3-margin-bottom', $h3-margin-bottom);
|
||||
@include print-variable('h4-margin-bottom', $h4-margin-bottom);
|
||||
@include print-variable('h5-margin-bottom', $h5-margin-bottom);
|
||||
@include print-variable('h6-margin-bottom', $h6-margin-bottom);
|
||||
|
||||
@include print-variable('btn-padding-y', $btn-padding-y);
|
||||
@include print-variable('btn-padding-x', $btn-padding-x);
|
||||
@include print-variable('btn-font-size', $btn-font-size);
|
||||
@@ -314,6 +349,63 @@ h5, h6 {
|
||||
h6 {
|
||||
color: map-get($colors, 'o-cc1-h6');
|
||||
}
|
||||
|
||||
$heading-font-families: () !default;
|
||||
$heading-font-families: map-merge((
|
||||
"h2": $h2-font-family,
|
||||
"h3": $h3-font-family,
|
||||
"h4": $h4-font-family,
|
||||
"h5": $h5-font-family,
|
||||
"h6": $h6-font-family,
|
||||
), $heading-font-families);
|
||||
$heading-line-heights: () !default;
|
||||
$heading-line-heights: map-merge((
|
||||
"h2": $h2-line-height,
|
||||
"h3": $h3-line-height,
|
||||
"h4": $h4-line-height,
|
||||
"h5": $h5-line-height,
|
||||
"h6": $h6-line-height,
|
||||
), $heading-line-heights);
|
||||
$heading-margin-tops: () !default;
|
||||
$heading-margin-tops: map-merge((
|
||||
"h2": $h2-margin-top,
|
||||
"h3": $h3-margin-top,
|
||||
"h4": $h4-margin-top,
|
||||
"h5": $h5-margin-top,
|
||||
"h6": $h6-margin-top,
|
||||
), $heading-margin-tops);
|
||||
$heading-margin-bottoms: () !default;
|
||||
$heading-margin-bottoms: map-merge((
|
||||
"h2": $h2-margin-bottom,
|
||||
"h3": $h3-margin-bottom,
|
||||
"h4": $h4-margin-bottom,
|
||||
"h5": $h5-margin-bottom,
|
||||
"h6": $h6-margin-bottom,
|
||||
), $heading-margin-bottoms);
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
line-height: $headings-line-height;
|
||||
margin-top: $headings-margin-top;
|
||||
margin-bottom: $headings-margin-bottom;
|
||||
}
|
||||
@for $index from 2 through 6 {
|
||||
h#{$index} {
|
||||
$hn: 'h#{$index}';
|
||||
@if ($headings-font-family != map-get($heading-font-families, $hn)) {
|
||||
font-family: map-get($heading-font-families, $hn);
|
||||
}
|
||||
@if ($headings-line-height != map-get($heading-line-heights, $hn)) {
|
||||
line-height: map-get($heading-line-heights, $hn);
|
||||
}
|
||||
@if ($headings-margin-top != map-get($heading-margin-tops, $hn)) {
|
||||
margin-top: map-get($heading-margin-tops, $hn);
|
||||
}
|
||||
@if ($headings-margin-bottom != map-get($heading-margin-bottoms, $hn)) {
|
||||
margin-bottom: map-get($heading-margin-bottoms, $hn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
@if ($o-theme-buttons-font != $o-theme-font) {
|
||||
font-family: $o-theme-buttons-font;
|
||||
@@ -321,6 +413,10 @@ h6 {
|
||||
}
|
||||
|
||||
// Texts
|
||||
p {
|
||||
margin-top: $paragraph-margin-top;
|
||||
}
|
||||
|
||||
font[style*='background']:not(.text-gradient),
|
||||
font[class*='bg-'] {
|
||||
padding: 2px 6px 4px;
|
||||
@@ -396,6 +492,7 @@ font[class*='bg-'] {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Background Images
|
||||
.oe_img_bg {
|
||||
background-size: cover;
|
||||
|
||||
@@ -1519,10 +1519,10 @@
|
||||
<we-collapse class="o_we_theme_presets_collapse" string="Color Presets">
|
||||
</we-collapse>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-options" data-no-check="true">
|
||||
<we-checkbox string="Show Header"
|
||||
data-customize-website-views="website.option_layout_hide_header|"
|
||||
data-reload="/"/>
|
||||
<div data-js="OptionsTab" data-selector="website-settings" data-no-check="true">
|
||||
<we-row string="Theme">
|
||||
<we-button data-switch-theme="" data-no-preview="true" class="o_we_bg_brand_primary">Switch Theme</we-button>
|
||||
</we-row>
|
||||
<we-select string="Page Layout" data-variable="layout">
|
||||
<we-button data-customize-website-variable="'full'" data-name="layout_full_opt">Full</we-button>
|
||||
<we-button data-customize-website-variable="'boxed'">Boxed</we-button>
|
||||
@@ -1545,29 +1545,94 @@
|
||||
<we-imagepicker data-name="body_bg_image_opt"
|
||||
data-customize-body-bg=""/>
|
||||
</we-row>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-paragraph" data-no-check="true">
|
||||
<we-input string="Font size"
|
||||
data-customize-website-variable="null"
|
||||
data-variable="font-size-base"
|
||||
data-unit="px"
|
||||
data-save-unit="rem"/>
|
||||
<we-fontfamilypicker string="Font family" data-variable="font"/>
|
||||
<!-- "× ": \u00D7\u2000 -->
|
||||
<we-input string="Line height"
|
||||
data-customize-website-variable="null"
|
||||
data-variable="body-line-height"
|
||||
data-fake-unit="× "
|
||||
data-unit="rem"
|
||||
data-save-unit="rem"/>
|
||||
<we-row string="Margins">
|
||||
<we-input title="Top" data-customize-website-variable="" data-variable="paragraph-margin-top" data-unit="px" data-save-unit="px"/>
|
||||
<we-input title="Bottom" data-customize-website-variable="" data-variable="paragraph-margin-bottom" data-unit="px" data-save-unit="px"/>
|
||||
</we-row>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-headings" data-no-check="true">
|
||||
<t t-set="heading_label">Heading</t>
|
||||
<we-collapse>
|
||||
<we-fontfamilypicker string="Font family" data-variable="font"/>
|
||||
<we-fontfamilypicker string="Headings" class="o_we_sublevel_1" data-variable="headings-font"/>
|
||||
<we-fontfamilypicker string="Buttons" class="o_we_sublevel_1" data-variable="buttons-font"/>
|
||||
<we-input string="Font size"
|
||||
data-customize-website-variable="null"
|
||||
data-variable="h1-font-size"
|
||||
data-unit="px"
|
||||
data-save-unit="rem"/>
|
||||
<t t-foreach="[2, 3, 4, 5, 6]" t-as="depth">
|
||||
<we-input t-attf-string="#{heading_label} #{depth}" class="o_we_sublevel_1"
|
||||
data-customize-website-variable="null"
|
||||
t-attf-data-variable="h#{depth}-font-size"
|
||||
data-unit="px"
|
||||
data-save-unit="rem"/>
|
||||
</t>
|
||||
</we-collapse>
|
||||
|
||||
<!-- Buttons & Links -->
|
||||
<we-title>Buttons</we-title>
|
||||
<we-select string="Primary Style" data-variable="btn-primary-outline" class="">
|
||||
<we-button data-customize-website-variable="false">Fill</we-button>
|
||||
<we-button data-customize-website-variable="true">Outline</we-button>
|
||||
</we-select>
|
||||
<we-select string="Secondary Style" data-variable="btn-secondary-outline">
|
||||
<we-button data-customize-website-variable="false">Fill</we-button>
|
||||
<we-button data-customize-website-variable="true">Outline</we-button>
|
||||
</we-select>
|
||||
<we-collapse>
|
||||
<we-row string="Paddings">
|
||||
<we-fontfamilypicker string="Font family" data-variable="headings-font"/>
|
||||
<t t-foreach="[2, 3, 4, 5, 6]" t-as="depth">
|
||||
<we-fontfamilypicker t-attf-string="#{heading_label} #{depth}" class="o_we_sublevel_1"
|
||||
t-attf-data-variable="h#{depth}-font"/>
|
||||
</t>
|
||||
</we-collapse>
|
||||
<we-collapse>
|
||||
<!-- "× ": \u00D7\u2000 -->
|
||||
<we-input string="Line height"
|
||||
data-customize-website-variable="null"
|
||||
data-variable="headings-line-height"
|
||||
data-fake-unit="× "/>
|
||||
<t t-foreach="[2, 3, 4, 5, 6]" t-as="depth">
|
||||
<we-input t-attf-string="#{heading_label} #{depth}" class="o_we_sublevel_1"
|
||||
data-customize-website-variable="null"
|
||||
t-attf-data-variable="h#{depth}-line-height"
|
||||
data-fake-unit="× "/>
|
||||
</t>
|
||||
</we-collapse>
|
||||
<we-collapse>
|
||||
<we-row string="Margins">
|
||||
<we-input title="Top" data-customize-website-variable="" data-variable="headings-margin-top" data-unit="px" data-save-unit="px"/>
|
||||
<we-input title="Bottom" data-customize-website-variable="" data-variable="headings-margin-bottom" data-unit="px" data-save-unit="px"/>
|
||||
</we-row>
|
||||
<t t-foreach="[2, 3, 4, 5, 6]" t-as="depth">
|
||||
<we-row t-attf-string="#{heading_label} #{depth}" class="o_we_sublevel_1">
|
||||
<we-input title="Top" data-customize-website-variable="" t-attf-data-variable="h#{depth}-margin-top" data-unit="px" data-save-unit="px"/>
|
||||
<we-input title="Bottom" data-customize-website-variable="" t-attf-data-variable="h#{depth}-margin-bottom" data-unit="px" data-save-unit="px"/>
|
||||
</we-row>
|
||||
</t>
|
||||
</we-collapse>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-button" data-no-check="true">
|
||||
<we-select string="Primary Style" data-button="primary" data-no-preview="true">
|
||||
<we-button data-customize-button-style="fill">Fill</we-button>
|
||||
<we-button data-customize-button-style="outline" data-name="btn_primary_outline_opt">Outline</we-button>
|
||||
<we-button data-customize-button-style="flat">Flat</we-button>
|
||||
</we-select>
|
||||
<we-input string="Border Width" class="o_we_sublevel_1" data-customize-website-variable=""
|
||||
data-variable="btn-primary-outline-border-width" data-dependencies="btn_primary_outline_opt"
|
||||
data-unit="px" data-save-unit="rem"/>
|
||||
<we-select string="Secondary Style" data-button="secondary" data-no-preview="true">
|
||||
<we-button data-customize-button-style="fill">Fill</we-button>
|
||||
<we-button data-customize-button-style="outline" data-name="btn_secondary_outline_opt">Outline</we-button>
|
||||
<we-button data-customize-button-style="flat">Flat</we-button>
|
||||
</we-select>
|
||||
<we-input string="Border Width" class="o_we_sublevel_1" data-customize-website-variable=""
|
||||
data-variable="btn-secondary-outline-border-width" data-dependencies="btn_secondary_outline_opt"
|
||||
data-unit="px" data-save-unit="rem"/>
|
||||
<we-collapse>
|
||||
<we-row string="Padding">
|
||||
<we-input title="Y" data-customize-website-variable="" data-variable="btn-padding-y" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input title="X" data-customize-website-variable="" data-variable="btn-padding-x" data-unit="px" data-save-unit="rem"/>
|
||||
</we-row>
|
||||
@@ -1585,24 +1650,24 @@
|
||||
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-font-size-sm" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-font-size-lg" data-unit="px" data-save-unit="rem"/>
|
||||
</we-collapse>
|
||||
<we-input string="Border Width" data-customize-website-variable="" data-variable="btn-border-width" data-unit="px" data-save-unit="rem"/>>
|
||||
<we-collapse>
|
||||
<we-input string="Border Radius" data-customize-website-variable="" data-variable="btn-border-radius" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Round Corners" data-customize-website-variable="" data-variable="btn-border-radius" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-border-radius-sm" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="btn-border-radius-lg" data-unit="px" data-save-unit="rem"/>
|
||||
</we-collapse>
|
||||
<we-checkbox string="Ripple Effect"
|
||||
data-customize-website-assets="website.ripple_effect_scss, website.ripple_effect_js"
|
||||
data-customize-website-variable="false|true"
|
||||
data-variable="btn-ripple"/>
|
||||
<we-select string="Link Style" data-variable="link-underline">
|
||||
<we-button data-customize-website-variable="'never'">Normal</we-button>
|
||||
<we-button data-customize-website-variable="'hover'">Underline On Hover</we-button>
|
||||
<we-button data-customize-website-variable="'always'">Always Underlined</we-button>
|
||||
<we-select string="On Click Effect" data-variable="btn-ripple">
|
||||
<we-button data-customize-website-variable="false">None</we-button>
|
||||
<we-button data-customize-website-variable="true" data-customize-website-assets="website.ripple_effect_scss, website.ripple_effect_js">Ripple</we-button>
|
||||
</we-select>
|
||||
|
||||
<!-- Inputs -->
|
||||
<we-title>Inputs</we-title>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-link" data-no-check="true">
|
||||
<we-select string="Link Style" data-variable="link-underline">
|
||||
<we-button data-customize-website-variable="'never'">No Underline</we-button>
|
||||
<we-button data-customize-website-variable="'hover'">Underline On Hover</we-button>
|
||||
<we-button data-customize-website-variable="'always'">Always Underline</we-button>
|
||||
</we-select>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-input" data-no-check="true">
|
||||
<we-collapse>
|
||||
<we-row string="Paddings">
|
||||
<we-input title="Y" data-customize-website-variable="" data-variable="input-padding-y" data-unit="px" data-save-unit="rem"/>
|
||||
@@ -1622,13 +1687,28 @@
|
||||
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-font-size-sm" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-font-size-lg" data-unit="px" data-save-unit="rem"/>
|
||||
</we-collapse>
|
||||
<we-input string="Border Width" data-customize-website-variable="" data-variable="input-border-width" data-unit="px" data-save-unit="rem"/>
|
||||
<we-collapse>
|
||||
<we-input string="Border Width" data-customize-website-variable="" data-variable="input-border-width" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-width-sm" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-width-lg" data-unit="px" data-save-unit="rem"/>
|
||||
</we-collapse>
|
||||
<we-collapse>
|
||||
<we-input string="Border Radius" data-customize-website-variable="" data-variable="input-border-radius" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Small" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-radius-sm" data-unit="px" data-save-unit="rem"/>
|
||||
<we-input string="Large" class="o_we_sublevel_1" data-customize-website-variable="" data-variable="input-border-radius-lg" data-unit="px" data-save-unit="rem"/>
|
||||
</we-collapse>
|
||||
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="theme-advanced" data-no-check="true">
|
||||
<we-checkbox string="Show Header"
|
||||
data-customize-website-views="website.option_layout_hide_header|"
|
||||
data-reload="/"/>
|
||||
<we-row string="Code Injection" title="Enter code that will be added into every page of your site">
|
||||
<we-button data-no-preview="true" data-open-custom-code-dialog="head">&lt;head&gt;</we-button>
|
||||
<we-button data-no-preview="true" data-open-custom-code-dialog="footer">&lt;/body&gt;</we-button>
|
||||
</we-row>
|
||||
<we-row string="Google Map">
|
||||
<we-button data-configure-api-key="" data-no-preview="true">Custom Key</we-button>
|
||||
</we-row>
|
||||
<we-row string="Status Colors">
|
||||
<we-colorpicker title="Success" data-customize-website-color="" data-color-type="theme" data-color="success" data-selected-tab="custom-colors"/>
|
||||
<we-colorpicker title="Info" data-customize-website-color="" data-color-type="theme" data-color="info" data-selected-tab="custom-colors"/>
|
||||
@@ -1648,18 +1728,6 @@
|
||||
<we-range string="Saturation" class="o_we_sublevel_1" data-customize-gray="" data-param="gray-extra-saturation" data-step="0.1"/>
|
||||
</we-collapse>
|
||||
</div>
|
||||
<div data-js="OptionsTab" data-selector="website-settings" data-no-check="true">
|
||||
<we-row string="Theme">
|
||||
<we-button data-switch-theme="" data-no-preview="true">Switch Theme</we-button>
|
||||
</we-row>
|
||||
<we-row string="Code Injection" title="Enter code that will be added into every page of your site">
|
||||
<we-button data-no-preview="true" data-open-custom-code-dialog="head">&lt;head&gt;</we-button>
|
||||
<we-button data-no-preview="true" data-open-custom-code-dialog="footer">&lt;/body&gt;</we-button>
|
||||
</we-row>
|
||||
<we-row string="Google Map">
|
||||
<we-button data-configure-api-key="" data-no-preview="true">Custom Key</we-button>
|
||||
</we-row>
|
||||
</div>
|
||||
<!-- Info page ('/website/info') -->
|
||||
<div data-selector="main:has(.o_website_info)" data-page-options="true" groups="website.group_website_designer" data-no-check="true" string="Info Page">
|
||||
<we-checkbox string="Odoo Information"
|
||||
|
||||
Reference in New Issue
Block a user