icinga-php-library/asset/css/search-editor.less
github-actions[bot] ba8039b926 Version v0.16.0-dev
2025-11-07 18:07:50 +00:00

207 lines
3.8 KiB
Plaintext

// Style
.search-editor {
ul, ol {
list-style-type: none;
}
fieldset {
border: none;
}
button, input[type="submit"] {
.appearance(none);
background: none;
&:not(.cancel-button) {
border: none;
}
}
select:not([multiple]) {
.appearance(none);
padding-right: 1.5625em;
background-image: url('@{iplWebAssets}/img/select-icon-text-color.svg');
background-repeat: no-repeat;
background-position: right center;
background-size: contain;
.rounded-corners(0);
}
i.drag-initiator.icon::before {
color: var(--search-editor-control-color, @search-editor-control-color);
}
.drag-initiator {
cursor: grab;
}
.remove-button {
color: var(--search-editor-remove-control-color, @search-editor-remove-control-color);
}
input[type="text"], select {
border: none;
background: var(--search-term-bg, @search-term-bg);
color: var(--search-term-color, @search-term-color);
text-overflow: ellipsis;
}
:not(fieldset) > select {
.rounded-corners();
}
fieldset > input[data-type="column"] {
.rounded-corners(.4em 0 0 .4em);
}
fieldset > input[data-type="value"] {
.rounded-corners(0 .4em .4em 0);
}
.search-error {
input:invalid {
background: var(--search-term-invalid-bg, @search-term-invalid-bg);
color: var(--search-term-invalid-color, @search-term-invalid-color);
}
.search-errors {
color: var(--search-editor-error-color, @search-editor-error-color);
font-weight: bold;
}
}
li > select:not([multiple]) {
background-color: var(--search-logical-operator-bg, @search-logical-operator-bg);
color: var(--search-logical-operator-color, @search-logical-operator-color);
.rounded-corners();
}
.sortable-ghost {
border: dashed .2em var(--search-editor-drag-outline-color, @search-editor-drag-outline-color);
fieldset {
opacity: .5;
}
}
input[type="submit"] {
.rounded-corners();
background: var(--primary-button-bg, @primary-button-bg);
color: var(--primary-button-color, @primary-button-color);
&:hover {
background: var(--primary-button-hover-bg, @primary-button-hover-bg);
}
}
}
// Layout
.search-editor-opener + a.modal-opener {
display: none;
}
.search-editor {
padding: 1em;
@item-spacing: .5em;
ul, ol {
width: 100%;
margin: 0;
padding: 0;
}
li {
display: flex;
> .buttons {
margin-left: @item-spacing;
}
> select,
> fieldset {
margin-left: ~"calc(@{item-spacing} + var(--depth))";
}
}
ol {
> li {
margin-top: @item-spacing;
}
}
input[type="text"], select {
padding: 0 .5em;
}
fieldset {
display: flex;
flex: 1 1 auto;
margin: 0;
padding: 0;
input[data-type="column"],
input[data-type="value"] {
flex: 1 1 auto;
}
> :not(:first-child) {
margin-left: .1em;
}
}
input, button, select {
height: 28/12em; // Target Pixels @ default font size / default font size
}
.search-errors {
margin-left: .5em;
}
i.drag-initiator {
width: 1.5em; // Not a fan, but the only way to have a known width
}
li > ul:not(.buttons) > li:first-child:not(:has(.drag-initiator)),
ol > li:not(:has(.drag-initiator)) {
padding-left: 1.5em;
}
i.icon::before {
margin: 0;
font-size: 1.5em;
line-height: 1.5;
}
select + .buttons {
display: flex;
width: 100%;
> :last-child {
flex: 1 1 auto;
display: flex;
justify-content: flex-end;
}
}
fieldset + .buttons {
display: flex;
width: auto;
}
.cancel-button {
margin-top: 2em - @item-spacing;
}
input[type="submit"] {
float: right;
width: 6em;
margin-top: 2em - @item-spacing;
}
input[type="submit"]:not(:last-of-type) {
display: none;
}
}