mirror of
https://github.com/Kong/insomnia
synced 2024-11-12 17:26:32 +00:00
0a616fba6b
* VCS proof of concept underway! * Stuff * Some things * Replace deprecated Electron makeSingleInstance * Rename `window` variables so not to be confused with window object * Don't unnecessarily update request when URL does not change * Regenerate package-lock * Fix tests + ESLint * Publish - insomnia-app@1.0.49 - insomnia-cookies@0.0.12 - insomnia-httpsnippet@1.16.18 - insomnia-importers@2.0.13 - insomnia-libcurl@0.0.23 - insomnia-prettify@0.1.7 - insomnia-url@0.1.6 - insomnia-xpath@1.0.9 - insomnia-plugin-base64@1.0.6 - insomnia-plugin-cookie-jar@1.0.8 - insomnia-plugin-core-themes@1.0.5 - insomnia-plugin-default-headers@1.1.9 - insomnia-plugin-file@1.0.7 - insomnia-plugin-hash@1.0.7 - insomnia-plugin-jsonpath@1.0.12 - insomnia-plugin-now@1.0.11 - insomnia-plugin-os@1.0.13 - insomnia-plugin-prompt@1.1.9 - insomnia-plugin-request@1.0.18 - insomnia-plugin-response@1.0.16 - insomnia-plugin-uuid@1.0.10 * Broken but w/e * Some tweaks * Big refactor. Create local snapshots and push done * POC merging and a lot of improvements * Lots of work done on initial UI/UX * Fix old tests * Atomic writes and size-based batches * Update StageEntry definition once again to be better * Factor out GraphQL query logic * Merge algorithm, history modal, other minor things * Fix test * Merge, checkout, revert w/ user changes now work * Force UI to refresh when switching branches changes active request * Rough draft pull() and some cleanup * E2EE stuff and some refactoring * Add ability to share project with team and fixed tests * VCS now created in root component and better remote project handling * Remove unused definition * Publish - insomnia-account@0.0.2 - insomnia-app@1.1.1 - insomnia-cookies@0.0.14 - insomnia-httpsnippet@1.16.20 - insomnia-importers@2.0.15 - insomnia-libcurl@0.0.25 - insomnia-prettify@0.1.9 - insomnia-sync@0.0.2 - insomnia-url@0.1.8 - insomnia-xpath@1.0.11 - insomnia-plugin-base64@1.0.8 - insomnia-plugin-cookie-jar@1.0.10 - insomnia-plugin-core-themes@1.0.7 - insomnia-plugin-file@1.0.9 - insomnia-plugin-hash@1.0.9 - insomnia-plugin-jsonpath@1.0.14 - insomnia-plugin-now@1.0.13 - insomnia-plugin-os@1.0.15 - insomnia-plugin-prompt@1.1.11 - insomnia-plugin-request@1.0.20 - insomnia-plugin-response@1.0.18 - insomnia-plugin-uuid@1.0.12 * Move some deps around * Fix Flow errors * Update package.json * Fix eslint errors * Fix tests * Update deps * bootstrap insomnia-sync * TRy fixing appveyor * Try something else * Bump lerna * try powershell * Try again * Fix imports * Fixed errors * sync types refactor * Show remote projects in workspace dropdown * Improved pulling of non-local workspaces * Loading indicators and some tweaks * Clean up sync staging modal * Some sync improvements: - No longer store stage - Upgrade Electron - Sync UI/UX improvements * Fix snyc tests * Upgraded deps and hot loader tweaks (it's broken for some reason) * Fix tests * Branches dialog, network refactoring, some tweaks * Fixed merging when other branch is empty * A bunch of small fixes from real testing * Fixed pull merge logic * Fix tests * Some bug fixes * A few small tweaks * Conflict resolution and other improvements * Fix tests * Add revert changes * Deal with duplicate projects per workspace * Some tweaks and accessibility improvements * Tooltip accessibility * Fix API endpoint * Fix tests * Remove jest dep from insomnia-importers
377 lines
6.1 KiB
Plaintext
377 lines
6.1 KiB
Plaintext
@import '../constants/dimensions';
|
|
@import '../constants/colors';
|
|
|
|
.form-control {
|
|
outline: none;
|
|
border: 0;
|
|
margin-bottom: @padding-sm;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
|
|
&.form-control--btn-right {
|
|
position: relative;
|
|
|
|
input {
|
|
padding-right: 2em;
|
|
}
|
|
|
|
&:hover .form-control__right {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.form-control__right {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
padding: 0 @padding-sm;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
margin: 0;
|
|
opacity: 0.5;
|
|
|
|
&:hover {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.input,
|
|
input,
|
|
textarea,
|
|
select,
|
|
button {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
margin-top: @padding-xs;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
button,
|
|
input[type='radio'],
|
|
input[type='checkbox'] {
|
|
width: auto;
|
|
}
|
|
|
|
input[type='radio'],
|
|
input[type='checkbox'] {
|
|
height: 1rem;
|
|
float: left;
|
|
margin-top: @padding-xxs;
|
|
margin-right: @padding-xs;
|
|
}
|
|
|
|
& > button {
|
|
width: auto;
|
|
}
|
|
|
|
input:invalid {
|
|
border: 1px solid var(--color-warning) !important;
|
|
}
|
|
|
|
label {
|
|
font-weight: 600;
|
|
display: block;
|
|
margin-top: @padding-xs;
|
|
padding-top: 0;
|
|
|
|
* {
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
|
|
&.form-control--thin {
|
|
label {
|
|
font-weight: normal;
|
|
}
|
|
|
|
margin-bottom: @padding-xxs;
|
|
}
|
|
|
|
&.form-control--padded,
|
|
&.form-control--outlined,
|
|
&.form-control--underlined {
|
|
textarea,
|
|
.input,
|
|
input,
|
|
select {
|
|
border: 1px solid var(--hl-md);
|
|
padding: @padding-sm;
|
|
border-radius: @radius-md;
|
|
background-color: @hl-xxs;
|
|
}
|
|
|
|
// Because <select> is weird
|
|
select {
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
&:not(.form-control--tall) {
|
|
.input,
|
|
input,
|
|
select {
|
|
height: @line-height-xs;
|
|
}
|
|
}
|
|
|
|
.input[data-focused='on'],
|
|
textarea:focus,
|
|
select:focus,
|
|
input:focus {
|
|
background-color: transparent;
|
|
border-color: var(--hl-lg);
|
|
}
|
|
}
|
|
|
|
&.form-control--underlined .input[data-focused='on'],
|
|
&.form-control--underlined input:focus,
|
|
&.form-control--underlined textarea:focus {
|
|
border-color: var(--hl);
|
|
}
|
|
|
|
&.form-control--padded {
|
|
.input,
|
|
textarea,
|
|
select,
|
|
input {
|
|
border: 0;
|
|
}
|
|
}
|
|
|
|
&.form-control--underlined {
|
|
textarea,
|
|
select,
|
|
.input,
|
|
input {
|
|
border-radius: 0;
|
|
border-top: 0;
|
|
border-right: 0;
|
|
border-left: 0;
|
|
background: none;
|
|
padding-left: @padding-xxs;
|
|
padding-right: @padding-xxs;
|
|
}
|
|
}
|
|
|
|
&.form-control--inactive {
|
|
textarea,
|
|
.input,
|
|
input,
|
|
.btn,
|
|
select {
|
|
border-style: dashed;
|
|
opacity: @opacity-subtle;
|
|
color: @hl-xl;
|
|
}
|
|
}
|
|
}
|
|
|
|
.form-control--wide {
|
|
margin-left: 0 !important;
|
|
margin-right: 0 !important;
|
|
}
|
|
|
|
.form-control--no-label::before {
|
|
content: 'nothing';
|
|
opacity: 0;
|
|
padding-top: @padding-xs;
|
|
display: block;
|
|
}
|
|
|
|
.form-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
align-content: center;
|
|
flex-direction: row;
|
|
|
|
& > * {
|
|
width: 100%;
|
|
margin-left: @padding-xxs;
|
|
margin-right: @padding-xxs;
|
|
}
|
|
|
|
& > p {
|
|
margin: 0;
|
|
}
|
|
|
|
& > *:first-child {
|
|
margin-left: 0;
|
|
}
|
|
|
|
& > *:last-child {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
.icon {
|
|
text-align: center;
|
|
color: var(--hl);
|
|
|
|
&.icon--success {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
&:hover {
|
|
color: var(--color-font);
|
|
}
|
|
}
|
|
|
|
.btn {
|
|
text-align: center;
|
|
background: var(--color-bg);
|
|
|
|
&:not(.btn--plain) {
|
|
padding: 0 calc(@padding-md * 1.5);
|
|
height: @line-height-md;
|
|
border: 1px solid transparent;
|
|
}
|
|
|
|
&.btn--compact {
|
|
padding: 0 @padding-md;
|
|
height: @line-height-sm;
|
|
}
|
|
|
|
&.btn--super-compact {
|
|
padding: 0 @padding-md;
|
|
height: @line-height-xs;
|
|
}
|
|
|
|
&.btn--super-duper-compact {
|
|
padding: @padding-xxs @padding-sm;
|
|
height: auto;
|
|
}
|
|
|
|
&.btn--micro {
|
|
font-size: @font-size-sm;
|
|
line-height: @font-size-xs;
|
|
padding: @padding-xxs @padding-sm;
|
|
height: auto;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
&.btn--outlined {
|
|
border: 1px solid @hl-lg;
|
|
border-radius: @radius-md;
|
|
}
|
|
|
|
&.btn--clicky {
|
|
.btn--super-compact;
|
|
.btn--outlined;
|
|
}
|
|
|
|
&.btn--clicky-small {
|
|
.btn--super-duper-compact;
|
|
.btn--outlined;
|
|
}
|
|
|
|
&.btn--expandable-small {
|
|
padding: 0 @padding-md;
|
|
min-height: @line-height-sm;
|
|
height: unset;
|
|
}
|
|
}
|
|
|
|
*:disabled {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.btn:focus:not(:disabled),
|
|
.btn.focus:not(:disabled),
|
|
.btn:hover:not(:disabled) {
|
|
background-color: @hl-xs;
|
|
}
|
|
|
|
.btn:active:not(:disabled) {
|
|
background-color: @hl-md;
|
|
}
|
|
|
|
.btn.btn--no-background {
|
|
opacity: 0.5;
|
|
background-color: transparent;
|
|
|
|
&:hover {
|
|
opacity: 1;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
textarea,
|
|
input,
|
|
.input,
|
|
button,
|
|
select {
|
|
transition: all 130ms ease-out;
|
|
box-sizing: border-box;
|
|
text-align: left;
|
|
font-size: inherit;
|
|
text-decoration: inherit;
|
|
background: none;
|
|
border: 0;
|
|
outline: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
color: inherit;
|
|
|
|
// Explicitly set font-family because browser stylesheet
|
|
// will use default it
|
|
font-family: var(--font-family);
|
|
|
|
&::-webkit-input-placeholder {
|
|
color: @hl-lg;
|
|
}
|
|
}
|
|
|
|
input[type='number']::-webkit-inner-spin-button {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
input.input--error,
|
|
.input.input--error {
|
|
border-color: var(--color-danger) !important;
|
|
}
|
|
|
|
button {
|
|
width: auto;
|
|
padding: 0;
|
|
margin: 0;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
option {
|
|
background-color: var(--color-bg);
|
|
color: var(--color-font);
|
|
}
|
|
|
|
textarea.no-resize {
|
|
resize: none;
|
|
}
|
|
|
|
input[type='color'] {
|
|
height: @line-height-xs !important;
|
|
padding: @padding-xxs !important;
|
|
}
|
|
|
|
label {
|
|
// So we can highlight from CSS checkbox selector
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
input[type='checkbox']:focus,
|
|
input[type='radio']:focus {
|
|
&::before {
|
|
z-index: -1;
|
|
content: ' ';
|
|
position: absolute;
|
|
top: calc(-@padding-xxs * -1);
|
|
bottom: calc(-@padding-xxs * -1);
|
|
left: calc(-@padding-xxs * -1);
|
|
right: calc(-@padding-xxs * -1);
|
|
border-radius: @radius-sm;
|
|
background-color: var(--hl-sm);
|
|
}
|
|
}
|
|
}
|