Merge pull request #2267 from lvuch/lh-refinement

continued refinement, buttons and inputs
This commit is contained in:
Lauren Harden 2021-02-18 11:01:22 -07:00 committed by GitHub
commit ff41fadb17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 215 additions and 185 deletions

View File

@ -1,7 +1,10 @@
$max-width: 1440px !default; $max-width: 1440px !default;
$min-width: 75% !default; $min-width: 75% !default;
$input-height: 55px; $input-height: 54px;
// $input-height-small: 35px;
$input-padding-lg: 18px;
$input-padding-sm: 10px;
$input-line-height: 18px;
$column-gutter: 1.75%; $column-gutter: 1.75%;

View File

@ -1,11 +1,7 @@
// $btn-padding: 15px 40px; $btn-padding: 0 21px 0 21px;
$btn-padding: 0 20px 0 20px;
$btn-sm-padding: 0 7px 0 7px; $btn-sm-padding: 0 7px 0 7px;
$btn-height: 40px; $btn-height: 40px;
$btn-sm-height: 30px; $btn-sm-height: 30px;
// $xs-padding: 2px 3px;
// $sm-padding: 8px 13px;
// $lg-padding: 18px 30px;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// This file contains all styles related to the button component. // This file contains all styles related to the button component.
@ -22,15 +18,16 @@ button,
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
border: 1px solid transparent; border: 0;
padding: $btn-padding; padding: $btn-padding;
border-radius: var(--border-radius); border-radius: var(--border-radius);
color: white; color: var(--lightest);
// height: $btn-height; line-height: $btn-height;
line-height: 38px; min-height: $btn-height;
&:hover { &:hover {
text-decoration: none; text-decoration: none;
color: var(--lightest);
} }
&.bg-transparent { &.bg-transparent {
@ -57,13 +54,19 @@ button,
.btn-group-sm > .btn, .btn-group-sm > .btn,
.btn-sm .btn-label { .btn-sm .btn-label {
padding: $btn-sm-padding; padding: $btn-sm-padding;
height: $btn-sm-height; min-height: $btn-sm-height;
line-height: 28px; line-height: 28px;
} }
//btn roles //btn roles
.role-primary { .role-primary {
background: var(--link-text); background: var(--link-text);
color: var(--primary-text);
&:hover {
background-color: var(--primary-hover-bg);
color: var(--primary-text);
}
} }
.role-secondary { .role-secondary {
@ -81,9 +84,6 @@ button,
.role-link { .role-link {
background: transparent; background: transparent;
color: var(--link-text) !important; color: var(--link-text) !important;
padding: $btn-padding;
letter-spacing: 1px;
text-transform: uppercase;
} }
.role-multi-action { .role-multi-action {
@ -91,9 +91,6 @@ button,
border: solid thin var(--link-text); border: solid thin var(--link-text);
color: var(--link-text); color: var(--link-text);
border-radius: 2px; border-radius: 2px;
// line-height: 0;
// width: $btn-height;
// padding: 0;
} }
.icon-group i { .icon-group i {

View File

@ -17,7 +17,7 @@ TEXTAREA,
display: block; display: block;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
padding: 10px; padding: $input-padding-sm;
background-color: var(--input-bg); background-color: var(--input-bg);
border-radius: var(--border-radius); border-radius: var(--border-radius);
border: solid var(--border-width) var(--input-border); border: solid var(--border-width) var(--input-border);
@ -59,9 +59,13 @@ TEXTAREA,
} }
} }
INPUT[type='search']:not(.vs__search) {
padding: calc(#{$input-padding-sm} + 2px);
}
TEXTAREA { TEXTAREA {
padding: 17px 10px 10px 10px; padding: $input-padding-lg 10px 10px 10px;
line-height: 1.25; line-height: $input-line-height;
} }
FORM { FORM {
@ -118,46 +122,10 @@ INPUT.inline-input {
margin: 0 10px; margin: 0 10px;
} }
/*
.validated-input {
INPUT {
outline-width: 2px;
outline-offset: -2px;
}
&.has-warning INPUT {
border-color: var(--warning);
}
&.has-error INPUT {
border-color: var(--error);
}
&.has-success INPUT {
border-color: var(--success);
padding-right: 32px;
background-image: url(../images/field-valid.svg);
background-size: 30px;
background-position: right;
background-repeat: no-repeat;
}
.input-warning-message {
color: var(--warning-text);
}
.input-error-message {
color: var(--error);
}
}
*/
.input-title { .input-title {
clear: both; clear: both;
margin-left: 24px; margin-left: 24px;
font-size: 12px; font-size: 12px;
// color: rgba(255,255,255,.6);
} }
.fixed select, .fixed.v-select, .fixed input:not(.vs__search){ .fixed select, .fixed.v-select, .fixed input:not(.vs__search){

View File

@ -18,14 +18,6 @@
} }
} }
/*
&.raised LABEL, .corner {
transform: translate(0, -20px);
font-size: 0.75em;
color: var(--input-label);
}
*/
.corner { .corner {
top: 5px; top: 5px;
right: 10px; right: 10px;
@ -36,6 +28,10 @@
transform: none !important; transform: none !important;
} }
.required {
color: var(--error);
}
INPUT, SELECT { INPUT, SELECT {
position: relative; position: relative;
font-size: 14px; font-size: 14px;
@ -59,17 +55,17 @@
background-color: transparent; background-color: transparent;
outline: 0; outline: 0;
box-shadow: none; box-shadow: none;
padding: 17px 0 0 0; padding: $input-padding-lg 0 0 0;
line-height: 1.25; line-height: calc(#{$input-line-height} + 1px);
&.no-label { &.no-label {
padding: 8.5px 0px 8.5px 0px; padding: $input-padding-sm 0px $input-padding-sm 0px;
} }
} }
&.view > DIV:not(.addon) { &.view > DIV:not(.addon) {
font-size: 14px; font-size: 14px;
padding: 17px 0 0 0; padding: $input-padding-lg 0 0 0;
&.no-label { &.no-label {
padding-top:0px; padding-top:0px;
@ -111,7 +107,3 @@
color: var(--input-label); color: var(--input-label);
} }
} }
.required {
color: red;
}

View File

@ -4,7 +4,7 @@
width: 100%; width: 100%;
.selected { .selected {
padding-top: 17px; padding-top: $input-padding-lg;
} }
} }
@ -12,13 +12,14 @@
> .labeled-select:not(.taggable), > .labeled-select:not(.taggable),
> .unlabeled-select:not(.taggable) { > .unlabeled-select:not(.taggable) {
min-height: $input-height; min-height: $input-height;
padding-bottom: calc(#{$input-padding-sm}/2);
} }
} }
.labeled-select, .labeled-select,
.unlabeled-select { .unlabeled-select {
min-width: 75px; min-width: 75px;
// min-height: $input-height; // line-height: $input-line-height;
.v-select { .v-select {
&.inline { &.inline {
@ -63,7 +64,7 @@
} }
.v-select.inline:not(.vs--single) { .v-select.inline:not(.vs--single) {
margin-bottom: -4px; // targets multi-select tag boxes to make the same size as rows next to it margin-bottom: -5px; // targets multi-select tag boxes to make the same size as rows next to it
min-height: 30px; min-height: 30px;
.vs__selected { .vs__selected {
@ -93,6 +94,7 @@
background-color: var(--input-bg); background-color: var(--input-bg);
border-radius: var(--border-radius); border-radius: var(--border-radius);
color: var(--input-text); color: var(--input-text);
padding: 3px 0;
.vs--single .vs__selected-options { .vs--single .vs__selected-options {
flex-wrap: nowrap; flex-wrap: nowrap;
@ -104,11 +106,7 @@
height: 100%; height: 100%;
&.vs--unsearchable { &.vs--unsearchable {
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
} }
.vs__dropdown-toggle { .vs__dropdown-toggle {
@ -122,6 +120,7 @@
&:not(.view) { &:not(.view) {
background-color: var(--input-bg); background-color: var(--input-bg);
border: solid var(--border-width) var(--input-border);
&:hover { &:hover {
&, &,
@ -130,4 +129,8 @@
} }
} }
} }
.labeled-tooltip .status-icon {
top: $input-padding-sm;
}
} }

View File

@ -61,7 +61,7 @@
border-top-width: 0; border-top-width: 0;
border-bottom-color: var(--tooltip-bg); border-bottom-color: var(--tooltip-bg);
top: 1px; top: 1px;
left: -$triangle-inner-size; left: -20px;
background: transparent; background: transparent;
} }
} }

View File

@ -67,7 +67,7 @@ $selected: rgba($primary, .5);
--header-bg : #3797D5; --header-bg : #3797D5;
--header-logo : #{$lightest}; --header-logo : #{$lightest};
--header-btn-bg : #317DB0; --header-btn-bg : #317DB0;
--header-btn-text : white; --header-btn-text : #{$lightest};
--header-height : 55px; --header-height : 55px;
--nav-width : 250px; --nav-width : 250px;
--nav-bg : #{$lighter}; --nav-bg : #{$lighter};
@ -83,7 +83,7 @@ $selected: rgba($primary, .5);
--border-width : 1px; --border-width : 1px;
--border-radius : 4px; --border-radius : 4px;
--outline : #{rgba($medium, 0.75)}; --outline : #{rgba($medium, 0.75)};
--outline-width : 2px; --outline-width : 1px;
--accent-btn : #{rgba($primary, 0.2)}; --accent-btn : #{rgba($primary, 0.2)};
--accent-btn-hover : #{rgba($primary, 0.5)}; --accent-btn-hover : #{rgba($primary, 0.5)};

View File

@ -33,7 +33,7 @@
position: absolute; position: absolute;
left: -2px; left: -2px;
z-index: z-index('dropdownContent'); z-index: z-index('dropdownContent');
padding: 5px 0; padding: $input-padding-sm 0;
margin: 0; margin: 0;
width: calc(100% + 4px); width: calc(100% + 4px);
max-height: 350px; max-height: 350px;
@ -60,7 +60,7 @@
.vs__dropdown-option { .vs__dropdown-option {
line-height: 1.42857143; /* Normalize line height */ line-height: 1.42857143; /* Normalize line height */
display: block; display: block;
padding: 3px 20px; padding: 0 calc(#{$input-padding-sm}/2);
clear: both; clear: both;
color: var(--dropdown-text); color: var(--dropdown-text);
white-space: nowrap; white-space: nowrap;
@ -200,7 +200,7 @@ $transition-duration: 150ms;
width: 0; width: 0;
max-width: 100%; max-width: 100%;
flex-grow: 1; flex-grow: 1;
margin-left: 7px; margin-left: $input-padding-sm;
} }
.vs__search::placeholder { .vs__search::placeholder {
@ -242,7 +242,7 @@ $transition-duration: 150ms;
border: 1px solid var(--primary); border: 1px solid var(--primary);
border-radius: 3px; border-radius: 3px;
color: var(--link-text); color: var(--link-text);
margin-left: 7px; margin-left: $input-padding-sm;
&:not(:last-of-type) { &:not(:last-of-type) {
margin-right: 2px; margin-right: 2px;
@ -283,7 +283,7 @@ $transition-duration: 150ms;
opacity: 0.4; opacity: 0.4;
} }
.vs__search { .vs__search {
margin-left: 7px; margin-left: $input-padding-sm;
} }
} }
.vs__selected { .vs__selected {
@ -346,9 +346,19 @@ $transition-duration: 150ms;
} }
header .vs-select .vs__dropdown-toggle { header .vs-select .vs__dropdown-toggle {
background: red !important; background: var(--error) !important;
} }
.vs__no-options { .vs__no-options {
padding: 3px 20px; padding: 3px 20px;
} }
header {
.unlabeled-select {
padding: 0;
&.focused {
border: 0;
}
}
}

View File

@ -40,7 +40,7 @@ export default {
actionColor: { actionColor: {
type: String, type: String,
default: 'bg-primary', default: 'role-primary',
}, },
waitingColor: { waitingColor: {
type: String, type: String,

View File

@ -27,7 +27,6 @@ export default {
flex-direction: row; flex-direction: row;
justify-content: space-evenly; justify-content: space-evenly;
padding: 11px; padding: 11px;
align-items: center;
.tile { .tile {
display: flex; display: flex;

View File

@ -398,4 +398,18 @@ export default {
position: relative; position: relative;
top: -2px; top: -2px;
} }
.left-right-split {
display: grid;
align-items: center;
.left-half {
grid-column: 1;
}
.right-half {
grid-column: 2;
}
}
</style> </style>

View File

@ -403,7 +403,7 @@ export default {
/> />
</div> </div>
<div class="remove"> <div class="remove">
<button v-t="'generic.remove'" :disabled="isView" type="button" class="btn bg-transparent role-link" @click="remove(row)" /> <button v-t="'generic.remove'" :disabled="isView" type="button" class="btn role-link" @click="remove(row)" />
</div> </div>
</div> </div>
<div> <div>

View File

@ -462,7 +462,7 @@ export default {
v-for="act in availableActions" v-for="act in availableActions"
:key="act.action" :key="act.action"
type="button" type="button"
class="btn bg-primary" class="btn role-primary"
:disabled="!act.enabled" :disabled="!act.enabled"
@click="applyTableAction(act, null, $event)" @click="applyTableAction(act, null, $event)"
@mouseover="setBulkActionOfInterest(act)" @mouseover="setBulkActionOfInterest(act)"
@ -680,9 +680,6 @@ $spacing: 10px;
} }
tbody { tbody {
// border-left: 40px solid transparent;
// border-right: 40px solid transparent;
// border-bottom: 2px solid var(--border);
tr { tr {
border-bottom: 1px solid var(--sortable-table-top-divider); border-bottom: 1px solid var(--sortable-table-top-divider);

View File

@ -13,7 +13,7 @@ export default {
</script> </script>
<template> <template>
<button ref="btn" class="btn bg-primary" style="font-size: 18px;" @click="login"> <button ref="btn" class="btn role-primary" @click="login">
Log In with GitHub Log In with GitHub
</button> </button>
</template> </template>

View File

@ -21,7 +21,7 @@ export default {
</InfoBox> </InfoBox>
</template> </template>
<template v-slot:remove-button="scope"> <template v-slot:remove-button="scope">
<button v-if="!isDisabled" type="button" class="btn role-link close" @click="scope.remove"> <button v-if="!isDisabled" type="button" class="btn role-link close btn-sm" @click="scope.remove">
<i class="icon icon-2x icon-x" /> <i class="icon icon-2x icon-x" />
</button> </button>
<span v-else></span> <span v-else></span>

View File

@ -110,7 +110,7 @@ export default {
v-t="'workload.container.command.addEnvVar'" v-t="'workload.container.command.addEnvVar'"
:disabled="isView" :disabled="isView"
type="button" type="button"
class="btn btn-sm role-tertiary add" class="btn role-tertiary add"
@click="addFromReference" @click="addFromReference"
/> />
</div> </div>

View File

@ -424,7 +424,7 @@ export default {
<div v-if="removeAllowed" :key="i" class="kv-item remove"> <div v-if="removeAllowed" :key="i" class="kv-item remove">
<slot name="removeButton" :remove="remove" :row="row"> <slot name="removeButton" :remove="remove" :row="row">
<button type="button" :disabled="isView" class="btn bg-transparent role-link" @click="remove(i)"> <button type="button" :disabled="isView" class="btn role-link" @click="remove(i)">
{{ removeLabel || t('generic.remove') }} {{ removeLabel || t('generic.remove') }}
</button> </button>
</slot> </slot>
@ -434,13 +434,13 @@ export default {
<div v-if="addAllowed || readAllowed" class="footer"> <div v-if="addAllowed || readAllowed" class="footer">
<slot name="add" :add="add"> <slot name="add" :add="add">
<button v-if="addAllowed" :disabled="isView" type="button" class="btn btn-sm role-tertiary add" @click="add()"> <button v-if="addAllowed" :disabled="isView" type="button" class="btn role-tertiary add" @click="add()">
{{ addLabel }} {{ addLabel }}
</button> </button>
<FileSelector <FileSelector
v-if="readAllowed" v-if="readAllowed"
:disabled="isView" :disabled="isView"
class="btn-sm role-tertiary" class="role-tertiary"
:label="t('generic.readFromFile')" :label="t('generic.readFromFile')"
:include-file-name="true" :include-file-name="true"
@selected="onFileSelected" @selected="onFileSelected"

View File

@ -271,7 +271,7 @@ export default {
<style lang='scss' scoped> <style lang='scss' scoped>
.labeled-select { .labeled-select {
.labeled-container { .labeled-container {
padding: 8px 0 0 8px; padding: $input-padding-sm 0 1px $input-padding-sm;
label { label {
margin: 0; margin: 0;
@ -290,7 +290,7 @@ export default {
} }
} }
::v-deep .vs__selected-options { ::v-deep .vs__selected-options {
margin-top: -4px; margin-top: -5px;
} }
::v-deep .v-select:not(.vs--single) { ::v-deep .v-select:not(.vs--single) {

View File

@ -51,7 +51,7 @@ export default {
.status-icon { .status-icon {
position: absolute; position: absolute;
right: 30px; right: 30px;
top: 16px; top: $input-padding-lg;
font-size: 20px; font-size: 20px;
z-index: z-index(hoverOverContent); z-index: z-index(hoverOverContent);

View File

@ -237,7 +237,7 @@ export default {
<button <button
v-if="!isView" v-if="!isView"
type="button" type="button"
class="btn bg-transparent role-link" class="btn role-link"
:style="{padding:'0px'}" :style="{padding:'0px'}"
:disabled="mode==='view'" :disabled="mode==='view'"

View File

@ -210,7 +210,7 @@ export default {
/> />
</td> </td>
<td v-if="showRemove" class="remove"> <td v-if="showRemove" class="remove">
<button type="button" class="btn bg-transparent role-link" @click="remove(idx)"> <button type="button" class="btn role-link" @click="remove(idx)">
Remove Remove
</button> </button>
</td> </td>

View File

@ -200,7 +200,7 @@ export default {
/> />
</div> </div>
<div v-if="showRemove" class="remove"> <div v-if="showRemove" class="remove">
<button type="button" class="btn bg-transparent role-link" @click="remove(idx)"> <button type="button" class="btn role-link" @click="remove(idx)">
<t k="generic.remove" /> <t k="generic.remove" />
</button> </button>
</div> </div>

View File

@ -14,7 +14,7 @@ export default {
minHeight: { minHeight: {
type: Number, type: Number,
default: 33, default: 35,
}, },
maxHeight: { maxHeight: {
type: Number, type: Number,

View File

@ -180,7 +180,7 @@ export default {
<button <button
v-if="!isView" v-if="!isView"
type="button" type="button"
class="btn bg-transparent role-link" class="btn role-link"
:disabled="mode==='view'" :disabled="mode==='view'"
@click="remove(rule)" @click="remove(rule)"
> >

View File

@ -261,7 +261,7 @@ export default {
</div> </div>
<div v-if="!row._showHost && row._serviceType !== 'LoadBalancer'" class="add-host"> <div v-if="!row._showHost && row._serviceType !== 'LoadBalancer'" class="add-host">
<button :disabled="mode==='view'" type="button" class="btn btn-sm role-tertiary" @click="row._showHost = true"> <button :disabled="mode==='view'" type="button" class="btn role-tertiary" @click="row._showHost = true">
{{ t('workloadPorts.addHost') }} {{ t('workloadPorts.addHost') }}
</button> </button>
</div> </div>
@ -279,7 +279,7 @@ export default {
</div> </div>
<div v-if="showRemove" class="remove"> <div v-if="showRemove" class="remove">
<button type="button" class="btn bg-transparent role-link" @click="remove(idx)"> <button type="button" class="btn role-link" @click="remove(idx)">
{{ t('workloadPorts.remove') }} {{ t('workloadPorts.remove') }}
</button> </button>
</div> </div>
@ -305,7 +305,7 @@ $checkbox: 75;
} }
.ports-headers, .ports-row{ .ports-headers, .ports-row{
display: grid; display: grid;
grid-template-columns: 20% 3fr 160px 80px 10% 58px; grid-template-columns: 20% 32% 145px 80px .5fr .5fr;
grid-column-gap: $column-gutter; grid-column-gap: $column-gutter;
margin-bottom: 10px; margin-bottom: 10px;
align-items: center; align-items: center;
@ -315,7 +315,7 @@ $checkbox: 75;
} }
&.show-host{ &.show-host{
grid-template-columns: 20% 3fr 160px 80px 160px 10% 1fr grid-template-columns: 20% 20% 145px 80px 140px .5fr .5fr;
} }
} }

View File

@ -114,6 +114,8 @@ export default {
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-columns: 15% 85%; grid-template-columns: 15% 85%;
align-items: center;
align-content: center;
} }
.cluster-switcher-os-logo { .cluster-switcher-os-logo {
@ -139,6 +141,8 @@ export default {
display: grid; display: grid;
width: 100%; width: 100%;
grid-template-columns: 25px fit-content(100%); grid-template-columns: 25px fit-content(100%);
align-items: center;
align-content: center;
} }
} }

View File

@ -202,7 +202,6 @@ export default {
.body ::v-deep > .child { .body ::v-deep > .child {
A { A {
border-left: solid 5px transparent; border-left: solid 5px transparent;
transition: ease-in-out all .25s;
} }
A:focus { A:focus {

View File

@ -203,11 +203,19 @@ export default {
> .import { > .import {
grid-area: import; grid-area: import;
background-color: var(--header-bg); background-color: var(--header-bg);
.btn {
padding: 0 $input-padding-sm;
}
} }
> .kubectl { > .kubectl {
grid-area: kubectl; grid-area: kubectl;
background-color: var(--header-bg); background-color: var(--header-bg);
.btn {
padding: 0 $input-padding-sm;
}
} }
> .back, > .back,

View File

@ -380,10 +380,10 @@ export default {
.filter ::v-deep .unlabeled-select { .filter ::v-deep .unlabeled-select {
background-color: transparent; background-color: transparent;
border: 0;
} }
.filter ::v-deep .unlabeled-select:not(.focused) { .filter ::v-deep .unlabeled-select:not(.focused) {
border: var(--outline-width) solid transparent;
min-height: 0; min-height: 0;
} }
@ -400,13 +400,13 @@ export default {
user-select: none; user-select: none;
cursor: default; cursor: default;
background: rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.25);
border: solid white thin; border: solid var(--header-btn-text) thin;
color: white; color: var(--header-btn-text);
height: calc(var(--header-height) - 26px); height: calc(var(--header-height) - 26px);
} }
.filter ::v-deep .unlabeled-select .vs__search::placeholder { .filter ::v-deep .unlabeled-select .vs__search::placeholder {
color: white; color: var(--header-btn-text);
} }
.filter ::v-deep .unlabeled-select INPUT:hover { .filter ::v-deep .unlabeled-select INPUT:hover {
@ -424,12 +424,12 @@ export default {
} }
.filter ::v-deep .unlabeled-select .vs__deselect:after { .filter ::v-deep .unlabeled-select .vs__deselect:after {
color: white; color: var(--header-btn-text);
} }
.filter ::v-deep .unlabeled-select .v-select .vs__actions:after { .filter ::v-deep .unlabeled-select .v-select .vs__actions:after {
fill: white !important; fill: var(--header-btn-text) !important;
color: white !important; color: var(--header-btn-text) !important;
} }
.filter ::v-deep .unlabeled-select INPUT[type='search'] { .filter ::v-deep .unlabeled-select INPUT[type='search'] {

View File

@ -457,13 +457,13 @@ export default {
</template> </template>
</Select> </Select>
<div class="pull-left ml-5"> <div class="pull-left ml-5">
<button class="btn btn-sm bg-primary" :disabled="isFollowing" @click="follow"> <button class="btn bg-primary" :disabled="isFollowing" @click="follow">
<t k="wm.containerLogs.follow" /> <t k="wm.containerLogs.follow" />
</button> </button>
<button class="btn btn-sm bg-primary" @click="clear"> <button class="btn bg-primary" @click="clear">
<t k="wm.containerLogs.clear" /> <t k="wm.containerLogs.clear" />
</button> </button>
<AsyncButton class="btn-sm" mode="download" @click="download" /> <AsyncButton mode="download" @click="download" />
</div> </div>
<div class="pull-right text-center p-10" style="min-width: 80px;"> <div class="pull-right text-center p-10" style="min-width: 80px;">
@ -477,7 +477,7 @@ export default {
trigger="click" trigger="click"
placement="top" placement="top"
> >
<button class="btn btn-sm bg-primary"> <button class="btn bg-primary">
<i class="icon icon-gear" /> <i class="icon icon-gear" />
</button> </button>

View File

@ -65,7 +65,7 @@ export default {
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
$title-height: 41px; $title-height: 60px;
.window { .window {
display: grid; display: grid;
@ -83,7 +83,7 @@ export default {
height: 100%; height: 100%;
vertical-align: middle; vertical-align: middle;
// line-height: $title-height - 4px; // line-height: $title-height - 4px;
padding: 2px 5px; padding: 10px;
} }
.body { .body {

View File

@ -91,10 +91,11 @@ export default {
.filter ::v-deep .unlabeled-select { .filter ::v-deep .unlabeled-select {
background-color: transparent; background-color: transparent;
border: 0;
} }
.filter ::v-deep .unlabeled-select:not(.focused) { .filter ::v-deep .unlabeled-select:not(.focused) {
border: var(--outline-width) solid transparent; min-height: 0;
} }
.filter ::v-deep .unlabeled-select:not(.view):hover .vs__dropdown-menu { .filter ::v-deep .unlabeled-select:not(.view):hover .vs__dropdown-menu {
@ -105,8 +106,14 @@ export default {
margin: 0; margin: 0;
} }
.filter ::v-deep .unlabeled-select .v-select .vs__selected {
margin: $input-padding-sm;
user-select: none;
color: var(--header-btn-text);
}
.filter ::v-deep .unlabeled-select .vs__search::placeholder { .filter ::v-deep .unlabeled-select .vs__search::placeholder {
color: white; color: var(--header-btn-text);
} }
.filter ::v-deep .unlabeled-select INPUT:hover { .filter ::v-deep .unlabeled-select INPUT:hover {
@ -124,12 +131,12 @@ export default {
} }
.filter ::v-deep .unlabeled-select .vs__deselect:after { .filter ::v-deep .unlabeled-select .vs__deselect:after {
color: white; color: var(--header-btn-text);
} }
.filter ::v-deep .unlabeled-select .v-select .vs__actions:after { .filter ::v-deep .unlabeled-select .v-select .vs__actions:after {
fill: white !important; fill: var(--header-btn-text) !important;
color: white !important; color: var(--header-btn-text) !important;
} }
.filter ::v-deep .unlabeled-select INPUT[type='search'] { .filter ::v-deep .unlabeled-select INPUT[type='search'] {

View File

@ -118,7 +118,7 @@ export default {
v-if="!isView" v-if="!isView"
:disabled="disableAddRecord" :disabled="disableAddRecord"
type="button" type="button"
class="btn btn-sm role-tertiary" class="btn role-tertiary"
@click="addRule('record')" @click="addRule('record')"
> >
<t k="prometheusRule.recordingRules.addLabel" /> <t k="prometheusRule.recordingRules.addLabel" />
@ -126,7 +126,7 @@ export default {
<span v-else></span> <span v-else></span>
</template> </template>
<template v-slot:remove-button="props"> <template v-slot:remove-button="props">
<button v-if="!isView" type="button" class="btn role-link close" @click="removeRule(props.i)"> <button v-if="!isView" type="button" class="btn role-link close btn-sm" @click="removeRule(props.i)">
<i class="icon icon-2x icon-x" /> <i class="icon icon-2x icon-x" />
</button> </button>
<span v-else></span> <span v-else></span>
@ -162,7 +162,7 @@ export default {
v-if="!isView" v-if="!isView"
:disabled="disableAddAlert" :disabled="disableAddAlert"
type="button" type="button"
class="btn btn-sm role-tertiary" class="btn role-tertiary"
@click="addRule('alert')" @click="addRule('alert')"
> >
<t k="prometheusRule.alertingRules.addLabel" /> <t k="prometheusRule.alertingRules.addLabel" />
@ -170,7 +170,7 @@ export default {
<span v-else></span> <span v-else></span>
</template> </template>
<template v-slot:remove-button="props"> <template v-slot:remove-button="props">
<button v-if="!isView" type="button" class="btn role-link close" @click="removeRule(props.i)"> <button v-if="!isView" type="button" class="btn role-link close btn-sm" @click="removeRule(props.i)">
<i class="icon icon-2x icon-x" /> <i class="icon icon-2x icon-x" />
</button> </button>
<span v-else></span> <span v-else></span>

View File

@ -204,7 +204,7 @@ export default {
</td> </td>
</template> </template>
<td v-if="showRemove" class="remove"> <td v-if="showRemove" class="remove">
<button type="button" class="btn bg-transparent role-link" @click="remove(idx)"> <button type="button" class="btn role-link" @click="remove(idx)">
Remove Remove
</button> </button>
</td> </td>

View File

@ -187,14 +187,14 @@ function matchingNamespaceGroupedByKey(ary, namespace) {
<div class="box"> <div class="box">
<p>The primary container</p> <p>The primary container</p>
<p>{{ value.nameDisplay }}</p> <p>{{ value.nameDisplay }}</p>
<button type="button" class="btn bg-primary" @click="selectContainer('')"> <button type="button" class="btn role-primary" @click="selectContainer('')">
Edit Edit
</button> </button>
</div> </div>
<div v-for="choice in value.spec.containers" :key="choice.name" class="box"> <div v-for="choice in value.spec.containers" :key="choice.name" class="box">
<p>Sidecar</p> <p>Sidecar</p>
<p>{{ choice.name }}</p> <p>{{ choice.name }}</p>
<button type="button" class="btn bg-primary" @click="selectContainer(choice.name)"> <button type="button" class="btn role-primary" @click="selectContainer(choice.name)">
Edit Edit
</button> </button>
<button type="button" class="btn bg-error" @click="remove(choice.name)"> <button type="button" class="btn bg-error" @click="remove(choice.name)">

View File

@ -111,7 +111,7 @@ export default {
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<button v-if="mode!=='view'" type="button" class="btn btn-sm role-tertiary" @click="volumeMounts.push({name})"> <button v-if="mode!=='view'" type="button" class="btn role-tertiary" @click="volumeMounts.push({name})">
{{ t('workload.storage.addMount') }} {{ t('workload.storage.addMount') }}
</button> </button>
</div> </div>

View File

@ -365,6 +365,10 @@ export default {
align-self: center; align-self: center;
text-align: right; text-align: right;
} }
.role-multi-action {
padding: 0 $input-padding-sm;
}
} }
} }

View File

@ -320,36 +320,16 @@ export default {
<template> <template>
<Loading v-if="$fetchState.pending" /> <Loading v-if="$fetchState.pending" />
<div v-else> <div v-else>
<div class="clearfix"> <header>
<h1 class="pull-left"> <div class="title">
<h1 class="m-0">
{{ t('catalog.charts.header') }} {{ t('catalog.charts.header') }}
</h1> </h1>
<div class="pull-right">
<input ref="searchQuery" v-model="searchQuery" type="search" class="input-sm" :placeholder="t('catalog.charts.search')">
<button v-shortkey.once="['/']" class="hide" @shortkey="focusSearch()" />
</div>
<div class="pull-right pr-10">
<Select
v-model="category"
:clearable="false"
:searchable="false"
:options="categories"
placement="bottom"
label="label"
style="min-width: 200px;"
:reduce="opt => opt.value"
>
<template #option="opt">
{{ opt.label }} ({{ opt.count }})
</template>
</Select>
</div>
<div class="pull-right pr-10">
<AsyncButton mode="refresh" class="btn-sm" @click="refresh" />
</div>
</div> </div>
</header>
<div class="clearfix mt-5"> <div class="left-right-split">
<div>
<Checkbox <Checkbox
:value="allRepos" :value="allRepos"
:label="t('catalog.charts.all')" :label="t('catalog.charts.all')"
@ -366,6 +346,28 @@ export default {
/> />
</div> </div>
<Select
v-model="category"
:clearable="false"
:searchable="false"
:options="categories"
placement="bottom"
label="label"
style="min-width: 200px;"
:reduce="opt => opt.value"
>
<template #option="opt">
{{ opt.label }} ({{ opt.count }})
</template>
</Select>
<input ref="searchQuery" v-model="searchQuery" type="search" class="input-sm" :placeholder="t('catalog.charts.search')">
<button v-shortkey.once="['/']" class="hide" @shortkey="focusSearch()" />
<AsyncButton mode="refresh" size="sm" @click="refresh" />
<!-- </div> -->
</div>
<Banner v-for="err in loadingErrors" :key="err" color="error" :label="err" /> <Banner v-for="err in loadingErrors" :key="err" color="error" :label="err" />
<div v-if="allCharts.length"> <div v-if="allCharts.length">
@ -415,4 +417,27 @@ export default {
&.color8 { background: var(--app-color8-bg); border: 1px solid var(--app-color8-accent); } &.color8 { background: var(--app-color8-bg); border: 1px solid var(--app-color8-accent); }
} }
.left-right-split {
padding: 0 0 20px 0;
width: 100%;
z-index: z-index('fixedTableHeader');
background: transparent;
display: grid;
grid-template-columns: 50% auto auto 40px;
align-content: center;
grid-column-gap: 10px;
// .left-half {
// background: lavenderblush;
// grid-column: 1;
// // grid-area: left;
// }
// .right-half {
// background: darkslateblue;
// grid-column: 2;
// // grid-area: right;
// }
}
</style> </style>

View File

@ -73,7 +73,7 @@ export default {
:tooltip="tooltip" :tooltip="tooltip"
/> />
</div> </div>
<div class="row m-20"> <div class="row m-20" style="background: tomato;">
<div class="col span-4"> <div class="col span-4">
<LabeledInput <LabeledInput
v-model="x" v-model="x"