snapshot of https://github.com/espocrm/espocrm.git (master, 2026-09-18; blobs > 131072B omitted)
Some checks failed
Test / Test on PHP 8.3 (push) Failing after 5s
Test / Test on PHP 8.4 (push) Failing after 4s
Test / Test on PHP 8.5 (push) Failing after 3s
TypeScript static analysis / TypeScript check (push) Failing after 14s
Test Integration on MySQL / Test on PHP 8.3 (push) Failing after 2s
Test Integration on MySQL / Test on PHP 8.5 (push) Failing after 0s
Test Integration on PostgreSQL / Test on PHP 8.4 fix (push) Failing after 1s
Test Integration on PostgreSQL / Test on PHP 8.4 master (push) Failing after 1s

This commit is contained in:
upstream-mirror
2026-09-18 04:19:15 +05:00
commit 7cc7e6b4f3
10077 changed files with 900756 additions and 0 deletions

444
frontend/less/espo/rtl/bootstrap.less vendored Normal file
View File

@@ -0,0 +1,444 @@
// Compact Bootstrap 3 RTL adjustments used by EspoCRM.
// Native `dir=rtl` handles inline flow; physical Bootstrap declarations are
// corrected here without changing the shared LTR styles.
span,
a,
label,
strong,
small {
unicode-bidi: isolate;
}
[class^="col-xs-"],
[class*=" col-xs-"] {
float: right;
}
@media (min-width: @screen-sm-min) {
[class^="col-sm-"],
[class*=" col-sm-"] {
float: right;
}
.col-sm-offset-2 {
margin-left: 0;
margin-right: percentage((2 / @grid-columns));
}
.form-horizontal .control-label {
text-align: left;
}
.navbar-header,
.navbar-brand,
.navbar-nav,
.navbar-nav > li {
float: right;
}
.navbar-right {
float: left !important;
margin-left: calc(var(--grid-gutter-width-half) * -1);
margin-right: 0;
.dropdown-menu {
left: 0;
right: auto;
}
}
.navbar-left {
float: right !important;
}
}
@media (min-width: @screen-md-min) {
[class^="col-md-"],
[class*=" col-md-"] {
float: right;
}
}
@media (min-width: @screen-lg-min) {
[class^="col-lg-"],
[class*=" col-lg-"] {
float: right;
}
}
.nav-tabs > li,
.btn-group > .btn,
.pagination > li > a,
.pagination > li > span {
float: right;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group,
.btn-group > .btn-group,
.input-group .form-control,
.progress-bar {
float: right;
}
.btn-toolbar {
margin-left: 0;
margin-right: var(--minus-5px);
> .btn,
> .btn-group,
> .input-group {
margin-left: 0;
margin-right: var(--5px);
}
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle),
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.pagination > li:first-child > a,
.pagination > li:first-child > span {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child),
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.pagination > li:last-child > a,
.pagination > li:last-child > span {
border-bottom-left-radius: var(--border-radius);
border-top-left-radius: var(--border-radius);
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: var(--border-radius);
border-top-left-radius: var(--border-radius);
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.input-group-addon:first-child {
border-left: 0;
border-right: var(--input-border-width) solid var(--input-border);
}
.input-group-addon:last-child {
border-left: var(--input-border-width) solid var(--input-border);
border-right: 0;
}
.input-group-btn {
> .btn + .btn {
margin-left: 0;
margin-right: var(--minus-1px);
}
&:first-child > .btn,
&:first-child > .btn-group {
margin-left: var(--minus-1px);
margin-right: 0;
}
&:last-child > .btn,
&:last-child > .btn-group {
margin-left: 0;
margin-right: var(--minus-1px);
}
}
.caret {
margin-left: 0;
margin-right: var(--2px);
}
.dropdown-menu {
text-align: right;
&.pull-right {
left: 0;
right: auto;
}
}
.nav,
.list-group {
padding-left: initial;
padding-right: 0;
}
.nav-tabs > li > a {
margin-left: auto;
margin-right: var(--minus-2px);
}
.radio,
.checkbox {
label {
padding-left: 0;
padding-right: var(--20px);
}
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
margin-left: auto;
margin-right: calc(var(--20px) * -1);
}
.has-feedback .form-control {
padding-left: calc(var(--input-height-base) * 1.25);
padding-right: var(--12px);
}
.form-control-feedback {
left: 0;
right: auto;
}
.form-horizontal .has-feedback .form-control-feedback {
left: var(--grid-gutter-width-half);
right: auto;
}
caption,
th {
text-align: right;
}
blockquote {
border-left: 0;
border-right: var(--3px) solid var(--blockquote-border-color);
}
.navbar-toggle {
float: left;
margin-left: var(--15px);
margin-right: 0;
}
.media-left {
padding-left: var(--10px);
padding-right: 0;
}
.media-right {
padding-left: 0;
padding-right: var(--10px);
}
.list-group-item > .badge,
.close {
float: left;
}
.list-group-item > .badge + .badge {
margin-left: var(--5px);
margin-right: 0;
}
.pager .previous > a,
.pager .previous > span {
float: right;
}
.pager .next > a,
.pager .next > span {
float: left;
}
// Typography
.list-unstyled,
.list-inline {
padding-right: 0;
}
.list-inline {
margin-right: var(--minus-5px);
margin-left: 0;
}
dd {
margin-right: 0;
}
.blockquote-reverse {
padding-left: var(--15px);
padding-right: 0;
border-left: var(--5px) solid var(--blockquote-border-color);
border-right: 0;
text-align: left;
}
// Tables
.table-responsive {
@media screen and (max-width: @screen-xs-max) {
> .table-bordered > :is(thead, tbody, tfoot) > tr {
> :is(th, td):first-child:not(:last-child) {
border-left: var(--1px) solid @table-border-color;
border-right: 0;
}
> :is(th, td):last-child:not(:first-child) {
border-left: 0;
border-right: var(--1px) solid @table-border-color;
}
}
}
}
// Forms
.radio-inline,
.checkbox-inline {
padding-left: 0;
padding-right: var(--20px);
}
.radio-inline input[type="radio"],
.checkbox-inline input[type="checkbox"] {
margin-left: auto;
margin-right: calc(var(--20px) * -1);
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-left: 0;
margin-right: var(--10px);
}
// Button groups
.btn-group {
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group {
margin-left: 0;
margin-right: var(--minus-1px);
}
}
.btn-group.btn-group-justified > .btn,
.btn-group.btn-group-justified > .btn-group {
float: none;
}
.btn .caret {
margin-right: 0;
}
// Input groups
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: var(--border-radius);
border-top-left-radius: var(--border-radius);
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
// Navs
.nav-justified > li {
float: none;
}
.nav-tabs-justified > li > a {
margin-left: 0;
margin-right: auto;
}
// Navbar
.navbar-brand {
float: right;
}
@media (max-width: @grid-float-breakpoint-max) {
.navbar-nav .open .dropdown-menu {
> li > a,
.dropdown-header {
padding: var(--5px) var(--25px) var(--5px) var(--15px);
}
}
}
// Badges
.nav-pills > li > a > .badge {
margin-left: 0;
margin-right: var(--3px);
}
// Media objects
.media-list {
padding-right: 0;
}
// Panels
.panel {
> .table-bordered,
> .table-responsive > .table-bordered {
> :is(thead, tbody, tfoot) > tr {
> :is(th, td):first-child:not(:last-child) {
border-left: var(--1px) solid @table-border-color;
border-right: 0;
}
> :is(th, td):last-child:not(:first-child) {
border-left: 0;
border-right: var(--1px) solid @table-border-color;
}
}
}
}
// Modals
.modal-footer {
text-align: left;
.btn + .btn {
margin-left: 0;
margin-right: var(--5px);
}
.btn-group .btn + .btn {
margin-left: 0;
margin-right: var(--minus-1px);
}
}

View File

@@ -0,0 +1,560 @@
.dropdown-menu {
left: auto;
right: 0;
}
.dropdown-menu-right {
left: 0;
right: auto;
}
.dropdown-menu-left {
left: auto;
right: 0;
}
body > .alert.alert-closable {
.message {
float: right;
}
.close-container {
float: left;
}
}
.list .checkbox-dropdown {
margin-right: var(--2px);
margin-left: 0;
}
.list-buttons-container > div {
&.settings-container.pull-right {
float: left !important;
}
&.pagination {
float: left;
}
}
.list-buttons-container > div.total-count {
float: left;
padding: 6px 0;
}
.btn-group > a.pagination-btn {
float: left;
}
li .preset .pull-right {
float: left !important;
}
.preset > div {
padding-right: 0;
padding-left: 26px;
}
ul.dropdown-menu > li.checkbox {
padding: 3px var(--14px) 3px 0;
.checkbox-text {
padding-left: 0;
padding-right: var(--2px);
}
}
.remove-filter.pull-right {
float: left !important;
}
.modal-body > div > .list > table td:first-child,
.modal-body > div > .list > table th:first-child,
#main > .list-container > .list > table td:first-child,
#main > .list-container > .list > table th:first-child,
.panel-body .no-side-margin > table td:first-child,
.panel-body .no-side-margin > table th:first-child {
padding-right: var(--panel-padding);
padding-left: var(--table-cell-padding-half);
}
.modal-body > div > .list > table td:last-child,
.modal-body > div > .list > table th:last-child,
#main > .list-container > .list > table td:last-child,
#main > .list-container > .list > table th:last-child,
.panel-body .no-side-margin > table td:last-child,
.panel-body .no-side-margin > table th:last-child {
padding-left: var(--panel-padding);
padding-right: var(--table-cell-padding-half);
}
#main > .list-container > .list {
margin-left: calc(var(--container-padding) * -1);
margin-right: calc(var(--container-padding) * -1);
}
.panel > .panel-heading > .btn-group {
right: 0;
}
.modal-footer .btn {
float: right;
}
.detail-button-container > .pull-right,
.edit-button-container > .pull-right,
.layout-container > [data-role="layoutRow"] > .btn-group.pull-right,
.header-buttons.pull-right {
float: left !important;
}
.header-breadcrumbs > .pull-left {
float: right !important;
}
.calendar-container .range-switch-group .btn {
direction: ltr;
}
.calendar-container .button-container > div > div.pull-right,
.dropdown-menu > li > a > span.pull-right {
float: left !important;
}
.button-container [data-action="previous"],
.button-container [data-action="next"] {
transform: scaleX(-1);
}
.panel > .panel-heading > .pull-right.btn-group,
.panel > .panel-heading > .pull-right.dropdown {
float: left !important;
.dropdown-menu {
left: 0;
right: auto;
}
}
.panel-heading > .btn-group {
right: 0;
margin-left: -11px;
}
.panel > .panel-heading > .pull-right.dropdown {
right: 0;
margin-left: -11px;
}
.panel .panel-heading > a.pull-right,
.cell > a.pull-right {
float: left !important;
}
.cell:has(> .inline-edit-link):has(> .field) .control-label {
float: right;
}
.inline-save-link {
margin-left: 8px;
}
.inline-cancel-link {
margin-left: 0;
}
.cell {
.inline-save-link {
float: left;
margin-left: 0;
margin-right: var(--8px);
}
.inline-cancel-link {
float: left;
margin-left: 0;
margin-right: var(--26px);
}
}
td.cell[data-name="buttons"] > .btn-group {
margin-right: -17px;
}
#main > .list-container > .list > table td.cell[data-name="buttons"] > .btn-group {
margin-right: -14px;
}
.list-expanded > .list-group > .list-group-item > .pull-right,
.list-expanded > .list-group > .list-group-item > .pull-right > .list-row-buttons {
float: left !important;
}
.list-expanded > .list-group > .list-group-item > .pull-right > .list-row-buttons {
margin-right: 0;
margin-left: -16px;
}
[data-action="showMore"] .more-count {
float: left !important;
}
.link-container > .list-group-item > .pull-right,
.link-container > .list-group-item > .pull-left > .pull-right {
float: left !important;
}
.link-container > .list-group-item > .pull-left {
float: right !important;
}
.field .link-container .list-group-item.link-with-role a {
margin-right: 14px;
}
#global-search-panel,
#last-viewed-panel,
#notifications-panel {
left: 0;
right: auto;
}
#last-viewed-panel > .panel,
#notifications-panel > .panel {
border-top-left-radius: 0;
border-top-right-radius: var(--panel-border-radius);
}
#notifications-panel {
.panel .panel-heading .pull-right {
float: left !important;
}
}
.page-header > div.row > div > .pull-right {
float: left !important;
}
.grid-stack {
direction: ltr;
}
.grid-stack > div {
direction: rtl;
}
.dynamic-logic-expression-container .pull-right,
#fields-panel .cell .field .pull-right,
.gray-box .pull-right {
float: left !important;
}
.panel.dashlet > .panel-heading > .btn-group {
right: 0;
left: -10px;
}
ul {
&.dropdown-menu-with-icons,
&:has( > li > a > .icon-item) {
padding-left: 0;
padding-right: var(--8px);
}
&.dropdown-menu-with-icons,
&:has(> li:not(.hidden) > a span.item-icon) {
> li:not(:has(.item-icon-grid)) {
a {
padding-left: var(--20px);
padding-right: var(--12px);
}
.item-text {
padding-left: 0;
padding-right: var(--10px);
}
}
}
&:has(> li:not(.hidden) > a span.item-icon) {
> li > a:not(:has(span.item-icon)) {
padding-right: var(--28px);
padding-left: var(--20px);
}
}
&.dropdown-menu > li > a > .check-icon + div {
padding-right: 0;
padding-left: var(--26px);
}
}
.panel {
> .panel-heading {
> .link-group {
> a {
padding-right: 20px;
}
float: left;
}
}
}
#navbar .navbar .menu-container {
> ul.dropdown-menu > li > a:has(> .item-user-profile) .avatar {
margin-left: var(--8px);
margin-right: 0;
}
}
.post-container {
.stream-post-preview {
margin-right: 0;
margin-left: 10px;
}
}
.link-multiple-item .link-multiple-item-icon,
.link-field-icon {
margin-left: 4px;
margin-right: 0;
}
.stream-details-container .fa-arrow-right {
transform: scaleX(-1);
}
.array-add-list-group > li {
input[type="checkbox"] {
margin-left: 0;
margin-right: 10px;
}
}
@media screen and (max-width: @screen-xs-max) {
.search-row .search-right-buttons-group {
float: left;
}
}
div.list-kanban > div > table {
.item .panel .item-menu-container {
float: left !important;
}
th.group-header {
> div {
.create-button {
float: left;
right: auto;
left: 14px;
}
}
}
}
.modal-header .collapse-button {
float: left;
}
.collapsed-modal-bar {
> .collapsed-modal {
.title-container {
float: right !important;
}
.close-container {
float: left !important;
}
}
}
.list-group-side > li {
border-right: 3px solid transparent;
border-left: 0;
padding: 5px 12px 5px 0;
}
.list-group-tree > li {
padding: 0 var(--panel-padding) 0 0;
}
.list > table th.action-cell {
a {
left: 11px;
right: auto;
}
}
#main > .list-container > .list > table th.action-cell {
a {
left: 9px;
right: auto;
@media screen and (max-width: @screen-xs-max) {
left: 5px;
}
}
}
table.table-admin-panel tr > td:first-child > div > a {
padding-right: 28px;
padding-left: 10px;
}
.input-group > .input-group-btn:not(:first-child) > .btn:first-child,
.input-group > .input-group-btn:last-child > .form-control:last-child {
border-top-left-radius: var(--border-radius) !important;
border-bottom-left-radius: var(--border-radius) !important;
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
.field .input-group > .input-group-btn > button.btn.btn-icon:not(:last-child, .radius-right) {
border-radius: 0 !important;
}
.field .input-group > input.main-element.form-control:first-child {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.input-group > .input-group-item,
.input-group {
> .selectize-control {
&.radius-right {
> .selectize-input {
border-top-left-radius: var(--border-radius);
border-bottom-left-radius: var(--border-radius);
}
&:not(.radius-left) {
> .selectize-input {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
}
}
&.radius-left {
> .selectize-input {
border-top-right-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}
&:not(.radius-right) {
> .selectize-input {
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
}
}
}
}
.btn {
&.radius-right {
border-top-left-radius: var(--border-radius) !important;
border-bottom-left-radius: var(--border-radius) !important;
&:not(.radius-left) {
.border-right-radius(0) !important;
}
}
&.radius-left {
border-top-right-radius: var(--border-radius) !important;
border-bottom-right-radius: var(--border-radius) !important;
&:not(.radius-right) {
.border-left-radius(0) !important;
}
}
&.margin-right {
margin-left: var(--padding-base-horizontal);
margin-right: 0;
}
&.margin-left {
margin-right: var(--padding-base-horizontal);
margin-left: 0;
}
}
.table {
> thead,
> tbody {
> tr {
> th:first-child,
> td:first-child {
padding-right: var(--padding-base-horizontal);
}
> th:last-child,
> td:last-child {
padding-left: var(--padding-base-horizontal);
}
@media screen and (max-width: @screen-xs-max) {
> th:first-child,
> td:first-child {
padding-right: var(--table-cell-padding);
}
> th:last-child,
> td:last-child {
padding-left: var(--table-cell-padding);
}
}
}
}
}
@media screen and (min-width: @screen-sm-min) {
.modal-body .categories-container + .list-container,
.list-categories-column + .list-main-column .list-container,
.folders-container + .list-container {
.list {
> table {
td:last-child, th:last-child {
padding-right: 10px;
}
td.cell[data-name="buttons"] > .btn-group {
margin-right: -17px;
}
}
}
}
.folders-container.sticked {
left: unset;
right: 15px;
}
}
.list > table th[data-name="r-checkbox"] .select-all-container {
float: right;
}
.checkbox input[type="checkbox"].form-checkbox {
margin-left: 0;
margin-right: -20px;
}
.selectize-control.single {
.selectize-input {
padding-left: 19px;
padding-right: 10px;
&.dropdown-active:after,
&:after {
left: 8px;
right: unset;
}
}
}

View File

@@ -0,0 +1,236 @@
body[data-navbar="side"] {
@media screen and (min-width: @screen-sm-min) {
&,
&.minimized.side-menu-opened {
#navbar .navbar {
.nav > li.more > .dropdown-menu,
.nav > li.more > .dropdown-menu > li.tab-group > ul.dropdown-menu,
.nav > li.tab-group > .dropdown-menu {
left: auto;
right: var(--navbar-width);
}
.nav > li.more > .dropdown-menu,
.nav > li.tab-group > .dropdown-menu {
border-right-width: 0;
border-left-width: var(--dropdown-border-width);
}
.nav li.tab-group {
span.full-label {
padding-left: var(--8px);
padding-right: var(--navbar-tab-text-left-padding);
}
.group-caret {
right: auto;
left: var(--13px);
transform: rotate(180deg);
}
}
a.minimizer {
margin-right: calc(var(--navbar-tab-left-padding) + var(--3px));
margin-left: 0;
}
a.minimizer > span.left {
display: none;
}
a.minimizer > span.right {
display: inline;
}
.side-menu-backdrop {
right: 0;
margin-right: var(--navbar-width);
left: 0;
margin-left: 0;
}
}
#navbar {
.navbar-right {
left: auto;
right: 0;
margin-right: var(--navbar-width);
padding-left: var(--navbar-width);
margin-left: 0;
padding-right: 0;
}
ul.tabs {
li {
float: none !important;
}
li > a {
padding-right: var(--navbar-tab-left-padding);
padding-left: var(--navbar-tab-right-padding);
}
li.tab > a {
padding-right: var(--navbar-tab-left-padding);
padding-left: var(--navbar-tab-right-padding);
}
}
}
}
&.minimized.side-menu-opened {
#navbar > .navbar {
.navbar-logo-container {
float: left;
}
a.minimizer > span.left {
display: inline;
}
a.minimizer > span.right {
display: none;
}
a.navbar-brand {
float: right;
}
}
}
}
#navbar {
ul.tabs {
> li.more > ul > li > a > span.full-label {
padding-left: 0;
padding-right: var(--navbar-tab-text-left-padding);
}
> li a > span.full-label {
padding-left: 0;
padding-right: var(--navbar-tab-text-left-padding);
}
}
.navbar-header {
> a.minimizer span {
margin-right: 8px;
margin-left: 0;
}
}
.navbar li.tab > a {
border-right-width: 0;
border-right-style: solid;
}
}
@media screen and (min-width: @screen-sm-min) {
&.minimized {
#navbar {
.nav > li.more > ul.dropdown-menu,
.nav > li.tab-group > .dropdown-menu {
left: auto;
right: var(--navbar-minimized-width);
}
a.minimizer > span.left {
display: inline;
}
a.minimizer > span.right {
display: none;
}
ul.tabs {
> li > a {
padding-right: var(--navbar-tab-left-padding);
padding-left: 0;
}
> li.tab > a {
padding-right: var(--navbar-tab-left-padding);
padding-left: 0;
}
> li > a > span.short-label > .short-label-text {
left: auto;
right: -1px;
}
> li.tab-group .group-caret {
left: 5px;
right: auto;
}
}
.navbar-right {
margin-left: 0;
padding-right: 0;
margin-right: var(--navbar-minimized-width);
padding-left: var(--navbar-minimized-width);
}
}
#content {
padding-left: var(--15px);
padding-right: calc(var(--navbar-minimized-width) + var(--container-padding));
}
#footer {
margin-left: 0;
margin-right: var(--navbar-minimized-width);
}
> .side-menu-backdrop {
margin-left: 0;
margin-right: var(--navbar-width);
}
}
&.has-navbar > .content {
padding-left: var(--15px);
padding-right: calc(var(--navbar-width) + var(--container-padding));
}
> footer {
margin-left: 0;
margin-right: var(--navbar-width);
}
}
.list-sticky-bar {
left: auto;
right: var(--navbar-width);
}
&.minimized .list-sticky-bar {
left: auto;
right: var(--navbar-minimized-width);
}
@media screen and (min-width: @screen-sm-min) {
.folders-container.sticked {
left: auto;
right: var(--navbar-width);
}
}
&.minimized {
@media screen and (min-width: @screen-sm-min) {
.folders-container.sticked {
left: auto;
right: var(--navbar-minimized-width);
}
}
}
@media screen and (min-width: @screen-sm-min) {
.notifications-badge-container {
> .notifications-button > .number-badge {
left: auto;
right: 22px;
}
}
}
}

View File

@@ -0,0 +1,50 @@
body:not([data-navbar="side"]) {
@media screen and (min-width: @screen-sm-min) {
#navbar .navbar {
ul.tabs {
li.more > li > a {
padding-right: 10px;
padding-left: 0;
}
}
.navbar-right-container {
padding-right: 0;
padding-left: 18px;
}
}
}
@media screen and (max-width: @screen-xs-max) {
#navbar .navbar {
ul.tabs {
> li a > span.full-label {
padding-right: 30px;
padding-left: 0;
}
}
}
}
div.list-kanban > div > table {
th.group-header {
> div {
padding-left: 0;
padding-right: var(--table-cell-padding);
}
> div:before,
> div:after {
content: none;
}
}
}
.kanban-row {
.item-menu-container.pull-right {
left: -9px;
margin-left: -10px;
margin-right: 0;
}
}
}

View File

@@ -0,0 +1,6 @@
html[dir="rtl"] {
@import "bootstrap.less";
@import "layout-top.less";
@import "layout-side.less";
@import "custom.less";
}