egroupware_official/kdots/assets/styles/framework.less

411 lines
7.4 KiB
Plaintext
Raw Normal View History

2024-07-10 23:48:50 +02:00
/**
* kDots main styles
*
* Note that light / dark colors should go in framework_light.less & framework_dark.less
*/
/** Theme customisations **/
@import "./framework_dark.less";
/** End theme customisations **/
html, body {
width: 100vw;
height: 100vh;
overflow: clip;
padding: 0px;
margin: 0px;
2024-07-09 19:43:45 +02:00
/** Messages **/
.sl-toast-stack {
top: auto;
bottom: 0px;
sl-alert et2-checkbox {
padding-top: var(--sl-spacing-large);
}
}
#egw_message {
display: none
}
/** end messages **/
}
.egw_menu::part(popup)
{
z-index: var(--sl-z-index-dropdown);
}
egw-framework#egw_fw_basecontainer {
--icon-size: 32px;
--sl-tooltip-arrow-size: 0;
/* Internals */
&::part(status-split) {
/* This limits the max size of the status panel */
--max: 32px;
}
&::part(header) {
--icon-size: 32px;
--tab-icon-size: var(--icon-size);
--tab-icon-size-active: 40px;
color: var(--primary-background-color);
gap: var(--sl-spacing-medium);
font-size: var(--icon-size);
}
/* Content slotted inside */
[slot="logo"] img {
max-width: 220px;
max-height: var(--icon-size);
display: block;
text-align: center;
}
sl-icon-button[slot="header"], et2-image[slot="header"] {
font-size: var(--icon-size);
color: inherit
}
div#egw_fw_toggler {
position: initial;
display: none;
}
#egw_fw_topmenu_info_items {
position: relative;
order: 99;
margin-left: auto;
display: flex;
.topmenu_info_item {
min-width: 1em;
min-height: 1em;
}
}
div#egw_fw_sidebar_r {
position: initial;
top: initial;
et2-avatar, et2-lavatar {
--size: 26px;
}
}
.egw_fw_ui_sidemenu_entry_header {
display: flex;
gap: var(--sl-spacing-medium);
padding-left: 1em;
}
}
/*** HEADER ***/
#egw_fw_topmenu_info_items {
display: flex;
flex-direction: row-reverse;
& > * {
border: none;
background: transparent;
}
et2-avatar {
--size: var(--icon-size);
&::part(base) {
vertical-align: initial;
}
}
.topmenu_info_item {
height: var(--icon-size);
width: var(--icon-size);
display: inline-block;
padding-left: 0px;
background-size: 20px;
background-position: center center;
background-repeat: no-repeat;
cursor: pointer;
&:hover {
background-color: var(--sl-input-background-color-hover);
}
}
#topmenu_info_timer {
order: 1;
position: relative;
display: flex;
align-items: center;
padding: 0px;
#topmenu_timer {
display: block;
width: 100%;
2024-07-10 23:48:50 +02:00
z-index: 2;
}
&:hover {
cursor: pointer;
}
&:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(../../../timesheet/templates/default/images/navbar.svg);
background-repeat: no-repeat;
background-size: 32px;
background-position: center center;
filter: opacity(0.3);
}
}
2024-07-05 21:30:49 +02:00
#topmenu_info_quick_add {
position: relative;
span#quick_add {
display: block;
background-image: url(../../../api/templates/default/images/add.svg);
background-repeat: no-repeat;
background-size: 24px;
background-position: center;
width: 100%;
height: 100%;
padding-right: 3px;
&:before {
content: " ";
font-size: 2em;
line-height: 0.6em;
background-color: white;
}
}
#quick_add_selectbox {
height: 0px;
display: inline-block;
text-align: initial;
sl-option {
white-space: nowrap;
}
}
#quick_add_selectbox::part(emptyLabel) {
/* do NOT show empty label, required for clearing value */
display: none;
}
#quick_add_selectbox::part(form-control-input), #timer_selectbox::part(form-control-input) {
border: none !important;
}
#quick_add_selectbox::part(form-control), #timer_selectbox::part(form-control) {
margin-left: -3em;
}
#quick_add_selectbox::part(listbox), #timer_selectbox::part(menu) {
max-height: 60vh;
}
#quick_add_selectbox {
height: 0px;
overflow: hidden;
}
#quick_add_selectbox::part(combobox) {
visibility: hidden;
}
}
#topmenu_info_user_avatar {
sl-menu-item et2-image {
width: 1em;
}
}
button#topmenu_info_search {
background-image: url(../../../api/templates/default/images/topmenu_items/search.svg);
}
}
#topmenu_info_print_title {
background-image: url(../../../api/templates/default/images/print.svg);
span {
width: 45px;
height: 45px;
display: inline-block;
}
}
/*** END HEADER ***/
/*** APPLICATION ***/
egw-app {
&::part(name) {
display: flex;
align-items: center;
text-wrap: nowrap;
}
&::part(content) {
flex-direction: column;
overflow-y:hidden;
}
& > div[id] > div {
height: 100%;
}
}
/* Individual application colors, should go in each app's CSS */
body, :root {
// Color code for applications - not used by framework
--addressbook-color: #003366;
--admin-color: #333333;
--bookmarks-color: #CC6633;
--calendar-color: #CC0033;
--filemanager-color: #ff9933;
--infolog-color: #660033;
--mail-color: #006699;
--projectmanager-color: #669999;
--resources-color: #003333;
--timesheet-color: #330066;
--tracker-color: #009966;
--wiki-color: #797979;
--ranking-color: #404040;
--default-color: #797979;
--kanban-color: #4663c8;
egw-app[name="addressbook"] {
--application-color: var(--addressbook-color);
}
egw-app[name="admin"] {
--application-color: var(--admin-color);
}
egw-app[name="bookmarks"] {
--application-color: var(--bookmarks-color);
}
egw-app[name="calendar"] {
--application-color: var(--calendar-color);
}
egw-app[name="filemanager"] {
--application-color: var(--filemanager-color);
}
egw-app[name="infolog"] {
--application-color: var(--infolog-color);
}
egw-app[name="mail"] {
--application-color: var(--mail-color);
}
egw-app[name="projectmanager"] {
--application-color: var(--projectmanager-color);
}
egw-app[name="resources"] {
--application-color: var(--resources-color);
}
egw-app[name="timesheet"] {
--application-color: var(--timesheet-color);
}
egw-app[name="tracker"] {
--application-color: var(--tracker-color);
}
egw-app[name="wiki"] {
--application-color: var(--wiki-color);
}
egw-app[name="ranking"] {
--application-color: var(--ranking-color);
}
}
/*** END APPLICATION ***/
/*** WIDGETS ***/
/* This should mostly go away with webcomponents */
/* Get nextmatch sizing more nicely without messing with dynheight */
div.et2_nextmatch {
display: flex;
flex-direction: column;
align-items: stretch;
height: 100%;
width: 100%;
overflow: hidden;
& > div:not(:first-child) {
flex: 1 1 100%;
max-height: 100%;
}
.egwGridView_outer {
height: 100%;
2024-07-09 22:50:51 +02:00
border-collapse: collapse;
2024-07-09 22:50:51 +02:00
thead > tr {
background-color: var(--sl-color-neutral-50);
border-bottom: var(--sl-panel-border-width) solid var(--sl-color-neutral-200);
th {
border-right: var(--sl-panel-border-width) solid var(--sl-color-neutral-200);
div.innerContainer {
max-height: 10em;
overflow-x: hidden;
overflow-y: auto;
}
}
th.optcol span.selectcols {
height: 9px;
padding: 4px 14px 0 2px;
margin-top: 4px;
background-image: url(../../../api/templates/default/images/selectcols.svg);
background-repeat: no-repeat;
background-size: 10px 10px;
display: inline-block;
background-position: top;
}
}
.egwGridView_scrollarea {
overflow-x: hidden;
overflow-y: auto;
table {
border-collapse: collapse;
tr {
border-bottom: var(--sl-panel-border-width) solid var(--sl-color-neutral-200);
}
tr.selected {
background-color: var(--highlight-background-color);
}
}
}
}
}
/*** END WIDGETS ***/