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,172 @@
.o_activity_view {
height: 100%;
> table {
thead > tr > th:first-of-type {
min-width: 300px;
}
tbody > tr > td, tfoot > tr > td {
cursor: pointer;
}
}
.o_activity_summary_cell {
&.planned {
background-color: map-get($theme-colors, 'success');
}
&.overdue {
background-color: map-get($theme-colors, 'danger');
}
&.today {
background-color: map-get($theme-colors, 'warning');
}
.o_kanban_inline_block {
min-height: 42px;
}
.dropdown-toggle {
cursor: pointer;
.o_closest_deadline {
height: 42px;
width: 100%;
color: #FFF;
text-align: center;
line-height: 42px;
}
}
&.o_activity_empty_cell {
> i {
display: none;
}
&:hover {
background-color: $component-active-bg;
> i {
color: gray;
display: block;
}
}
}
.o_activity_btn > .badge {
@include o-position-absolute($bottom: 0, $right: 0);
&.planned {
@extend .text-success;
}
&.overdue {
@extend .text-danger;
}
&.today {
@extend .text-warning;
}
}
}
// it contains a kanban card representing the record
.o_activity_record {
display: flex;
flex: 1 1 auto;
align-items: center;
padding: 8px 8px;
cursor: pointer;
.o_m2o_avatar > img, > img {
width: 32px;
height: 32px;
max-height: 32px;
margin-right: 16px;
}
> div {
max-width: 200px;
.o_text_block {
@include o-text-overflow;
display: block;
}
}
.o_text_bold {
font-weight: bold;
}
.o_text_block {
display: block;
}
}
.o_activity_filter_planned {
background-color: mix(map-get($theme-colors, 'success'), $o-webclient-background-color, 5%);
}
.o_activity_filter_today {
background-color: mix(map-get($theme-colors, 'warning'), $o-webclient-background-color, 5%);
}
.o_activity_filter_overdue {
background-color: mix(map-get($theme-colors, 'danger'), $o-webclient-background-color, 5%);
}
.o_activity_type_cell {
padding:10px;
min-width:100px;
.fa-ellipsis-v {
cursor: pointer;
}
.o_template_element {
white-space: nowrap;
padding:5px;
cursor: pointer;
&:hover {
color: o-text-color('success');
}
}
.o_kanban_counter {
margin: 5px 0 0 0;
> .o_kanban_counter_progress {
width: 100%;
> div.active {
border: 1px solid;
}
}
}
}
.o_legacy_kanban_counter {
position: relative;
display: flex;
align-items: center;
transition: opacity 0.3s ease 0s;
margin-bottom: 5px;
> .o_kanban_counter_progress {
width: 76%;
height: $font-size-sm;
margin-bottom: 0;
background-color: map-get($grays, '300');
box-shadow: none;
.progress-bar {
margin-bottom: 0;
box-shadow: none;
cursor: pointer;
}
}
> .o_kanban_counter_side {
width: 21%;
margin-left: 3%;
color: $headings-color;
text-align: right;
white-space: nowrap;
transform-origin: right center;
&.o_kanban_grow {
animation: legacy-kanban-counter-grow 1s ease 0s 1 normal none running;
}
&.o_kanban_grow_huge {
animation: legacy-kanban-counter-grow-huge 1s ease 0s 1 normal none running;
}
// Target currency icon
> span {
margin-left: 2px;
}
}
}
}

View file

@ -0,0 +1,69 @@
@font-face {
font-family: 'emojifont';
src: local('Segoe UI'),
local('Apple Color Emoji'),
local('Android Emoji'),
local('Noto Color Emoji'),
local('Twitter Color Emoji'),
local('Twitter Color'),
local('EmojiOne Color'),
local('EmojiOne'),
local(EmojiSymbols),
local(Symbola);
}
// Emoji
.o_mail_emoji {
display: inline-block;
padding: 0;
font-size: 1.3rem;
font-family: emojifont;
}
@mixin o-viewer-black-btn {
background-color: rgba(black, 0.4);
color: rgba(map-get($theme-colors, 'light'), 0.7);
&:hover {
background-color: rgba(black, 0.6);
color: white;
}
&.disabled {
color: map-get($grays, '600');
background: none;
}
}
.o_modal_fullscreen {
z-index: $o-mail-thread-window-zindex + 1;
.arrow {
@include o-position-absolute(50%, $grid-gutter-width*0.5);
border-radius: 100%;
padding: 12px 16px 11px 18px;
@include o-viewer-black-btn;
}
.arrow-left {
left: $grid-gutter-width*0.5;
right: auto;
padding: 12px 18px 11px 16px;
}
}
.o_document_viewer_topbar_button {
display: flex;
align-items: center;
align-self: stretch;
&:hover {
background-color: rgba($white, 0.1);
}
}
.o_mail_composer_form {
.oe-bordered-editor[name=body] .o_readonly {
border: 1px solid $o-gray-300;
padding: 4px;
}
}

View file

@ -0,0 +1,55 @@
// General variable
$o-mail-emoji-height: 2rem;
.o_mail_add_emoji {
float: right;
margin-bottom: 1rem;
.dropdown-menu {
.o_mail_emoji {
cursor: pointer;
padding: 2px;
width: $o-mail-emoji-height;
height: $o-mail-emoji-height;
&:hover, &:focus {
background-color: grey('100');
}
}
}
}
.o_mail_emojis_dropdown {
height: $o-mail-emoji-height;
width: 40px;
float: right;
bottom: 26px;
margin-bottom: -$o-mail-emoji-height;
* {
outline: none!important;
box-shadow: none!important;
}
.dropdown-toggle:after {
display: none;
}
}
.o_mail_emojis_dropdown_translation {
// if the button is added to a text field with a button "language"
// add margin-right, so the emojis button is placed on the left of the
// language button
margin-right: 20px;
}
.o_mail_emojis_dropdown_textarea {
bottom: 30px;
}
.o_xxs_form_view {
.o_mail_add_emoji {
.dropdown-menu {
max-width: 320px;
}
}
}

View file

@ -0,0 +1,67 @@
$o-kanban-attachement-image-size: 80px;
.o_legacy_kanban_view, .o_kanban_renderer {
.o_kanban_record.o_kanban_attachment,
.o_kanban_record .o_kanban_attachment {
padding: map-get($spacers, 0);
.o_kanban_image {
width: $o-kanban-attachement-image-size;
+ div {
padding-left: $o-kanban-attachement-image-size + $o-kanban-inside-hgutter;
@include media-breakpoint-down(md) {
padding-left: $o-kanban-attachement-image-size + $o-kanban-inside-hgutter-mobile;
}
}
.o_kanban_image_wrapper {
min-height: $o-kanban-attachement-image-size;
display: flex;
align-items: center;
justify-content: center;
}
.o_attachment_image {
width: $o-kanban-attachement-image-size;
height: $o-kanban-attachement-image-size;
}
.o_image {
width: $o-kanban-attachement-image-size*0.7;
height: $o-kanban-attachement-image-size*0.7;
}
}
.o_kanban_details {
.o_kanban_details_wrapper {
display: flex;
flex-direction: column;
min-height: $o-kanban-attachement-image-size;
padding: $o-kanban-inside-vgutter $o-kanban-inside-hgutter;
.o_kanban_record_title {
margin-bottom: $o-kanban-inside-vgutter*0.5;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
width: 95%;
}
.o_kanban_record_body {
flex: 1 1 auto;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
font-size: smaller;
}
.oe_kanban_avatar {
border-radius: 4px;
border: 1px solid $component-active-color;
}
}
}
}
}

View file

@ -0,0 +1,21 @@
@mixin o-avatar-image-hover {
cursor: pointer;
filter: brightness(0.8);
}
.o_field_many2one_avatar_user,
.o_field_many2one_avatar.o_clickable_m2x_avatar {
.o_m2o_avatar:hover {
@include o-avatar-image-hover;
}
}
.o_field_many2many_avatar_user,
.o_field_many2manytags.avatar.o_clickable_m2x_avatar {
img.o_m2m_avatar {
margin-right: 2px;
&:hover {
@include o-avatar-image-hover;
}
}
}

View file

@ -0,0 +1,113 @@
/* Common */
.o_mail_activity {
&.o_field_widget {
display: block;
}
.o_activity_color_default {
color: #dddddd;
}
.o_activity_color_planned {
@extend .text-success;
}
.o_activity_color_overdue {
@extend .text-danger;
}
.o_activity_color_today {
@extend .text-warning;
}
}
/* Feedback popover (form view) */
.o_mail_activity_feedback {
max-width: 410px;
outline: none;
textarea {
min-width: 250px;
}
}
/* list_activity widget */
.o_list_view, .o_legacy_list_view {
.o_list_table tbody > tr {
> td.o_data_cell.o_list_activity_cell {
.o_mail_activity {
display: flex;
max-width: 275px;
.o_activity_btn {
margin-right: 3px;
}
.o_activity_summary {
@include o-text-overflow;
}
}
}
}
}
/* Kanban View */
.o_kanban_record{
.o_kanban_inline_block {
display: inline-block;
}
}
.o_kanban_record, .o_view_controller{
.o_mail_activity {
.o_activity_btn {
span.fa {
overflow: visible;
line-height: 1;
vertical-align: middle;
}
}
div.o_activity {
min-width: 290px;
padding: 0px 0px;
.o_activity_log_container {
max-height: 300px;
overflow-y: auto;
}
ul.o_activity_log {
color: $body-color;
li {
.o_activity_title_entry {
max-width: 275px;
.o_activity_summary {
@include o-text-overflow;
}
}
.o_edit_button {
opacity: 0.5;
}
&:hover .o_edit_button{
opacity: 1;
}
.o_activity_link_kanban {
font-size: 1.5em;
@include o-hover-text-color($text-muted, map-get($theme-colors, 'success'));
@include o-hover-opacity(0.5, 1);
}
&.o_activity_selected {
border-bottom: 0;
}
&.o_activity_form > div {
padding-top: 0.5em;
padding-bottom: 0.7em;
}
}
}
}
}
}

View file

@ -0,0 +1,4 @@
// Variable definitions that depend on bootstrap variables
$o-mail-thread-window-zindex: $zindex-modal + 1 !default;
// Side chatter
$o-chatter-min-width: 530px !default;

View file

@ -0,0 +1,36 @@
$o-mail-thread-avatar-size: 36px !default;
$o-mail-thread-icon-opacity: 0.6 !default;
$o-mail-thread-side-date-opacity: 0.6 !default;
$o-mail-thread-window-bg: #FAFAFA !default;
$o-mail-thread-window-width: 340px !default;
$o-mail-thread-typing-icon-size-medium: 5px !default;
$o-mail-thread-typing-icon-size-small: 3px !default;
$o-mail-chatter-gap: 10px !default;
$o-mail-chatter-mobile-gap: 2% !default;
$o-mail-chat-header-height: 46px !default;
$o-mail-attachment-image-size: 100px !default;
$o-mail-sidebar-icon-opacity: 0.7 !default;
$o-mail-chat-sidebar-width: 250px !default;
$o-mail-partner-avatar-size: 24px !default;
$o-mail-partner-status-icon-size: 1.2em !default;
// Needed because $border-radius variations are all set to 0 in enterprise.
$o-mail-rounded-rectangle-border-radius-sm: .2rem !default;
$o-mail-rounded-rectangle-border-radius-lg: 3 * $o-mail-rounded-rectangle-border-radius-sm !default;
$o-mail-chat-window-header-height: 36px !default;
$o-mail-chat-window-header-height-mobile: 46px !default;
$o-mail-discuss-message-highlight-indicator-width: 4px !default;
$o-mail-discuss-sidebar-active-indicator-margin-right: 10px !default;
$o-mail-discuss-sidebar-active-indicator-width: 3px !default;
$o-mail-discuss-sidebar-category-title-icon-size: 15px !default;
$o-mail-discuss-sidebar-category-item-margin: 3px !default;
$o-mail-discuss-sidebar-category-item-avatar-left-margin: $o-mail-discuss-sidebar-category-title-icon-size + $o-mail-discuss-sidebar-category-item-margin !default;
$o-mail-discuss-sidebar-category-item-avatar-size: 30px !default;
$o-mail-discuss-sidebar-scrollbar-width: 15px !default;
$o-mail-message-sidebar-width: 48px !default;
$o-mail-composer-text-input-height: 40px !default;
$o-mail-link-preview-width: 320px !default;
$o-mail-link-preview-height: 240px !default;
$o-mail-link-preview-card-height: 80px !default;