2017-11-29 15:26:16 +01:00
|
|
|
$input-border: 1px solid $input-border-color;
|
2016-02-15 22:24:28 +01:00
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
.gf-form {
|
2016-02-15 22:24:28 +01:00
|
|
|
display: flex;
|
|
|
|
|
flex-direction: row;
|
2019-01-29 14:36:09 +01:00
|
|
|
align-items: flex-start;
|
2016-02-18 14:44:36 +01:00
|
|
|
text-align: left;
|
2016-04-15 19:56:39 -04:00
|
|
|
position: relative;
|
2020-04-13 09:58:40 +02:00
|
|
|
margin-bottom: $space-xs;
|
2016-02-15 15:27:41 +01:00
|
|
|
|
2016-04-17 12:14:25 -04:00
|
|
|
&--offset-1 {
|
|
|
|
|
margin-left: $spacer;
|
2016-02-15 15:27:41 +01:00
|
|
|
}
|
2016-04-17 22:04:43 -04:00
|
|
|
|
|
|
|
|
&--grow {
|
|
|
|
|
flex-grow: 1;
|
|
|
|
|
}
|
2017-08-31 16:38:49 +02:00
|
|
|
|
|
|
|
|
&--flex-end {
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
}
|
2017-11-29 17:13:50 +01:00
|
|
|
|
2019-09-12 14:42:28 +02:00
|
|
|
&--align-center {
|
|
|
|
|
align-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-29 17:13:50 +01:00
|
|
|
&--alt {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
|
|
|
|
|
.gf-form-label {
|
|
|
|
|
padding: 4px 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-02-15 15:27:41 +01:00
|
|
|
}
|
|
|
|
|
|
2017-12-14 12:46:00 +01:00
|
|
|
.gf-form--has-input-icon {
|
|
|
|
|
position: relative;
|
2019-03-12 12:30:34 +01:00
|
|
|
margin-right: $space-xs;
|
2017-12-14 12:46:00 +01:00
|
|
|
|
|
|
|
|
.gf-form-input-icon {
|
|
|
|
|
position: absolute;
|
2020-04-12 22:20:02 +02:00
|
|
|
top: 8px;
|
2017-12-14 12:46:00 +01:00
|
|
|
font-size: $font-size-lg;
|
|
|
|
|
left: 10px;
|
|
|
|
|
color: $input-color-placeholder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
> input {
|
2017-12-14 13:08:32 +01:00
|
|
|
padding-left: 35px;
|
2017-12-14 12:46:00 +01:00
|
|
|
|
|
|
|
|
&:focus + .gf-form-input-icon {
|
2017-12-19 16:22:41 +01:00
|
|
|
color: $text-muted;
|
2017-12-14 12:46:00 +01:00
|
|
|
}
|
|
|
|
|
}
|
2018-01-16 12:52:13 +01:00
|
|
|
|
|
|
|
|
.Select--multi .Select-multi-value-wrapper,
|
|
|
|
|
.Select-placeholder {
|
|
|
|
|
padding-left: 30px;
|
|
|
|
|
}
|
2017-12-14 12:46:00 +01:00
|
|
|
}
|
|
|
|
|
|
2016-04-18 11:35:24 -04:00
|
|
|
.gf-form-disabled {
|
|
|
|
|
color: $text-color-weak;
|
|
|
|
|
|
2017-06-22 17:10:43 -04:00
|
|
|
.gf-form-select-wrapper::after {
|
|
|
|
|
color: $text-color-weak;
|
|
|
|
|
}
|
|
|
|
|
|
2016-04-18 11:35:24 -04:00
|
|
|
a,
|
|
|
|
|
.gf-form-input {
|
|
|
|
|
color: $text-color-weak;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-02-15 15:27:41 +01:00
|
|
|
.gf-form-group {
|
2016-02-18 12:28:49 +01:00
|
|
|
margin-bottom: $spacer * 2.5;
|
2016-02-15 15:27:41 +01:00
|
|
|
}
|
|
|
|
|
|
2016-02-15 22:24:28 +01:00
|
|
|
.gf-form-inline {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
align-content: flex-start;
|
2017-12-13 15:05:43 +01:00
|
|
|
|
2019-02-04 17:26:20 +01:00
|
|
|
&--nowrap {
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
}
|
2020-04-13 09:58:40 +02:00
|
|
|
|
2020-06-01 10:52:57 +02:00
|
|
|
&--xs-view-flex-column {
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
@include media-breakpoint-down(xs) {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-13 09:58:40 +02:00
|
|
|
.select-container {
|
|
|
|
|
margin-right: $space-xs;
|
|
|
|
|
}
|
2020-04-27 18:29:41 +02:00
|
|
|
|
|
|
|
|
.gf-form-spacing {
|
|
|
|
|
margin-right: $space-xs;
|
|
|
|
|
}
|
2016-02-15 15:27:41 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gf-form-button-row {
|
2016-02-24 17:49:08 +01:00
|
|
|
padding-top: $spacer * 1.5;
|
2017-12-19 16:22:41 +01:00
|
|
|
a,
|
|
|
|
|
button {
|
2016-02-18 12:16:47 +01:00
|
|
|
margin-right: $spacer;
|
|
|
|
|
}
|
2016-02-15 15:27:41 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gf-form-label {
|
2020-04-05 20:02:52 +02:00
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
2019-03-28 11:13:53 +01:00
|
|
|
padding: $input-padding;
|
2016-02-15 22:24:28 +01:00
|
|
|
flex-shrink: 0;
|
2017-08-14 22:44:01 +02:00
|
|
|
font-weight: $font-weight-semi-bold;
|
2017-12-10 12:21:04 +01:00
|
|
|
font-size: $font-size-sm;
|
2017-10-18 07:49:52 +02:00
|
|
|
background-color: $input-label-bg;
|
2019-03-13 09:40:56 +01:00
|
|
|
height: $input-height;
|
2020-04-26 21:59:14 +02:00
|
|
|
line-height: $input-height;
|
2020-04-13 09:58:40 +02:00
|
|
|
margin-right: $space-xs;
|
|
|
|
|
border-radius: $input-border-radius;
|
|
|
|
|
justify-content: space-between;
|
2020-04-14 11:32:14 +02:00
|
|
|
border: none;
|
2016-03-29 19:03:24 +02:00
|
|
|
|
2016-04-17 22:04:43 -04:00
|
|
|
&--grow {
|
|
|
|
|
flex-grow: 1;
|
|
|
|
|
}
|
2017-05-19 11:14:11 +02:00
|
|
|
|
|
|
|
|
&--error {
|
|
|
|
|
color: $critical;
|
|
|
|
|
}
|
2017-12-19 13:33:34 +01:00
|
|
|
|
2018-12-07 17:15:46 +01:00
|
|
|
&--transparent {
|
|
|
|
|
background-color: transparent;
|
|
|
|
|
border: 0;
|
|
|
|
|
text-align: right;
|
|
|
|
|
padding-left: 0px;
|
2018-11-02 08:25:36 +01:00
|
|
|
}
|
|
|
|
|
|
2020-04-05 20:02:52 +02:00
|
|
|
&--variable {
|
|
|
|
|
color: $variable;
|
|
|
|
|
background: $panel-bg;
|
|
|
|
|
border: $panel-border;
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-29 19:48:54 +01:00
|
|
|
&--dashlink {
|
|
|
|
|
background: $panel-bg;
|
|
|
|
|
border: $panel-border;
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-14 21:17:44 +02:00
|
|
|
&--justify-left {
|
|
|
|
|
justify-content: left;
|
|
|
|
|
}
|
|
|
|
|
|
2018-12-17 17:54:40 +01:00
|
|
|
&--btn {
|
2020-04-13 09:58:40 +02:00
|
|
|
border: none;
|
2018-12-17 17:54:40 +01:00
|
|
|
border-radius: $border-radius;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
background: $list-item-hover-bg;
|
2019-01-29 08:14:07 +01:00
|
|
|
color: $link-color;
|
|
|
|
|
}
|
2018-12-17 17:54:40 +01:00
|
|
|
}
|
|
|
|
|
|
2017-12-19 13:33:34 +01:00
|
|
|
&:disabled {
|
2017-12-20 11:22:29 +01:00
|
|
|
color: $text-color-weak;
|
2017-12-19 13:33:34 +01:00
|
|
|
}
|
2016-03-29 19:03:24 +02:00
|
|
|
}
|
|
|
|
|
|
2017-12-12 12:02:44 +01:00
|
|
|
.gf-form-label + .gf-form-label {
|
2019-03-12 12:30:34 +01:00
|
|
|
margin-right: $space-xs;
|
2017-12-12 12:02:44 +01:00
|
|
|
}
|
|
|
|
|
|
2017-04-21 15:52:42 +02:00
|
|
|
.gf-form-pre {
|
2020-05-14 16:04:53 +02:00
|
|
|
display: block !important;
|
2017-04-21 15:52:42 +02:00
|
|
|
flex-grow: 1;
|
|
|
|
|
margin: 0;
|
2019-03-12 12:30:34 +01:00
|
|
|
margin-right: $space-xs;
|
2019-03-13 09:40:56 +01:00
|
|
|
border: $border-width solid transparent;
|
2017-12-09 21:42:48 +01:00
|
|
|
border-left: none;
|
2020-04-13 09:58:40 +02:00
|
|
|
@include border-radius($input-border-radius);
|
2017-04-21 15:52:42 +02:00
|
|
|
}
|
|
|
|
|
|
2016-11-18 16:53:07 +01:00
|
|
|
.gf-form-textarea {
|
|
|
|
|
max-width: 650px;
|
|
|
|
|
}
|
|
|
|
|
|
2016-02-16 14:07:41 +01:00
|
|
|
.gf-form-input {
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
2019-03-13 09:40:56 +01:00
|
|
|
height: $input-height;
|
2019-03-28 11:13:53 +01:00
|
|
|
padding: $input-padding;
|
2017-12-09 21:42:48 +01:00
|
|
|
font-size: $font-size-md;
|
2016-02-16 14:07:41 +01:00
|
|
|
line-height: $input-line-height;
|
|
|
|
|
color: $input-color;
|
|
|
|
|
background-color: $input-bg;
|
|
|
|
|
background-image: none;
|
|
|
|
|
background-clip: padding-box;
|
2017-11-29 15:26:16 +01:00
|
|
|
border: $input-border;
|
2017-12-09 21:42:48 +01:00
|
|
|
border-radius: $input-border-radius;
|
2020-04-13 09:58:40 +02:00
|
|
|
margin-right: $space-xs;
|
2017-06-19 22:23:12 +02:00
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
2016-02-16 14:07:41 +01:00
|
|
|
|
2017-07-06 09:36:57 +02:00
|
|
|
// text areas should be scrollable
|
|
|
|
|
@at-root textarea#{&} {
|
|
|
|
|
overflow: auto;
|
2017-10-16 13:39:16 +02:00
|
|
|
white-space: pre-wrap;
|
2020-04-16 17:55:08 +02:00
|
|
|
padding: 6px $space-sm;
|
|
|
|
|
min-height: $input-height;
|
2020-04-21 18:34:20 +02:00
|
|
|
height: auto;
|
2017-07-06 09:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2016-02-16 14:07:41 +01:00
|
|
|
// Unstyle the caret on `<select>`s in IE10+.
|
|
|
|
|
&::-ms-expand {
|
|
|
|
|
background-color: transparent;
|
|
|
|
|
border: 0;
|
2016-02-27 07:11:45 +01:00
|
|
|
display: none;
|
2016-02-16 14:07:41 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Customize the `:focus` state to imitate native WebKit styles.
|
|
|
|
|
@include form-control-focus();
|
|
|
|
|
|
|
|
|
|
// Placeholder
|
|
|
|
|
&::placeholder {
|
|
|
|
|
color: $input-color-placeholder;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:disabled,
|
|
|
|
|
&[readonly] {
|
|
|
|
|
background-color: $input-bg-disabled;
|
|
|
|
|
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
|
|
|
|
|
opacity: 1;
|
|
|
|
|
}
|
2016-02-16 12:15:09 +01:00
|
|
|
|
2016-02-16 14:07:41 +01:00
|
|
|
&:disabled {
|
|
|
|
|
cursor: $cursor-disabled;
|
2016-02-16 12:15:09 +01:00
|
|
|
}
|
|
|
|
|
|
2017-12-19 16:22:41 +01:00
|
|
|
&.gf-size-auto {
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
2016-04-25 15:49:33 +02:00
|
|
|
|
|
|
|
|
&--dropdown {
|
2019-03-28 11:13:53 +01:00
|
|
|
padding-right: $space-lg;
|
2020-05-10 17:11:51 +02:00
|
|
|
position: relative;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
2016-04-26 09:58:55 +02:00
|
|
|
|
2016-06-20 10:37:47 +02:00
|
|
|
&::after {
|
2016-04-25 15:49:33 +02:00
|
|
|
position: absolute;
|
2017-06-22 15:16:41 -04:00
|
|
|
top: 36%;
|
|
|
|
|
right: 11px;
|
|
|
|
|
font-size: 11px;
|
2016-04-25 15:49:33 +02:00
|
|
|
background-color: transparent;
|
2017-06-22 15:16:41 -04:00
|
|
|
color: $text-color;
|
2016-04-25 15:49:33 +02:00
|
|
|
font: normal normal normal $font-size-sm/1 FontAwesome;
|
2017-12-21 11:56:45 +01:00
|
|
|
content: '\f0d7';
|
2016-04-25 15:49:33 +02:00
|
|
|
pointer-events: none;
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-10-04 07:56:41 +02:00
|
|
|
|
|
|
|
|
&--small {
|
|
|
|
|
padding-top: 4px;
|
|
|
|
|
padding-bottom: 4px;
|
|
|
|
|
font-size: $font-size-sm;
|
|
|
|
|
}
|
2017-12-14 20:20:36 +01:00
|
|
|
|
|
|
|
|
&--plaintext {
|
|
|
|
|
white-space: unset;
|
|
|
|
|
}
|
2019-03-06 14:45:13 +01:00
|
|
|
|
|
|
|
|
&--has-help-icon {
|
2019-03-28 11:13:53 +01:00
|
|
|
padding-right: $space-xl;
|
2019-03-06 14:45:13 +01:00
|
|
|
}
|
2016-02-16 12:15:09 +01:00
|
|
|
}
|
|
|
|
|
|
History and Version Control for Dashboard Updates
A simple version control system for dashboards. Closes #1504.
Goals
1. To create a new dashboard version every time a dashboard is saved.
2. To allow users to view all versions of a given dashboard.
3. To allow users to rollback to a previous version of a dashboard.
4. To allow users to compare two versions of a dashboard.
Usage
Navigate to a dashboard, and click the settings cog. From there, click
the "Changelog" button to be brought to the Changelog view. In this
view, a table containing each version of a dashboard can be seen. Each
entry in the table represents a dashboard version. A selectable
checkbox, the version number, date created, name of the user who created
that version, and commit message is shown in the table, along with a
button that allows a user to restore to a previous version of that
dashboard. If a user wants to restore to a previous version of their
dashboard, they can do so by clicking the previously mentioned button.
If a user wants to compare two different versions of a dashboard, they
can do so by clicking the checkbox of two different dashboard versions,
then clicking the "Compare versions" button located below the dashboard.
From there, the user is brought to a view showing a summary of the
dashboard differences. Each summarized change contains a link that can
be clicked to take the user a JSON diff highlighting the changes line by
line.
Overview of Changes
Backend Changes
- A `dashboard_version` table was created to store each dashboard
version, along with a dashboard version model and structs to represent
the queries and commands necessary for the dashboard version API
methods.
- API endpoints were created to support working with dashboard
versions.
- Methods were added to create, update, read, and destroy dashboard
versions in the database.
- Logic was added to compute the diff between two versions, and
display it to the user.
- The dashboard migration logic was updated to save a "Version
1" of each existing dashboard in the database.
Frontend Changes
- New views
- Methods to pull JSON and HTML from endpoints
New API Endpoints
Each endpoint requires the authorization header to be sent in
the format,
```
Authorization: Bearer <jwt>
```
where `<jwt>` is a JSON web token obtained from the Grafana
admin panel.
`GET "/api/dashboards/db/:dashboardId/versions?orderBy=<string>&limit=<int>&start=<int>"`
Get all dashboard versions for the given dashboard ID. Accepts
three URL parameters:
- `orderBy` String to order the results by. Possible values
are `version`, `created`, `created_by`, `message`. Default
is `versions`. Ordering is always in descending order.
- `limit` Maximum number of results to return
- `start` Position in results to start from
`GET "/api/dashboards/db/:dashboardId/versions/:id"`
Get an individual dashboard version by ID, for the given
dashboard ID.
`POST "/api/dashboards/db/:dashboardId/restore"`
Restore to the given dashboard version. Post body is of
content-type `application/json`, and must contain.
```json
{
"dashboardId": <int>,
"version": <int>
}
```
`GET "/api/dashboards/db/:dashboardId/compare/:versionA...:versionB"`
Compare two dashboard versions by ID for the given
dashboard ID, returning a JSON delta formatted
representation of the diff. The URL format follows
what GitHub does. For example, visiting
[/api/dashboards/db/18/compare/22...33](http://ec2-54-80-139-44.compute-1.amazonaws.com:3000/api/dashboards/db/18/compare/22...33)
will return the diff between versions 22 and 33 for
the dashboard ID 18.
Dependencies Added
- The Go package [gojsondiff](https://github.com/yudai/gojsondiff)
was added and vendored.
2017-05-24 19:14:39 -04:00
|
|
|
.gf-form-hint {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.gf-form-hint-text {
|
|
|
|
|
display: block;
|
|
|
|
|
text-align: right;
|
|
|
|
|
padding-top: 0.5em;
|
|
|
|
|
}
|
|
|
|
|
|
2016-02-20 17:21:35 +01:00
|
|
|
.gf-form-select-wrapper {
|
|
|
|
|
position: relative;
|
2017-12-15 13:34:50 +01:00
|
|
|
background-color: $input-bg;
|
2020-04-13 09:58:40 +02:00
|
|
|
margin-right: $space-xs;
|
2016-02-20 17:21:35 +01:00
|
|
|
|
2017-12-19 13:19:44 +01:00
|
|
|
.gf-form-select-icon {
|
|
|
|
|
position: absolute;
|
|
|
|
|
z-index: 1;
|
2019-03-28 11:13:53 +01:00
|
|
|
left: $input-padding;
|
2017-12-19 13:19:44 +01:00
|
|
|
top: 50%;
|
|
|
|
|
margin-top: -7px;
|
|
|
|
|
|
|
|
|
|
& + .gf-form-input {
|
|
|
|
|
position: relative;
|
|
|
|
|
z-index: 2;
|
2019-03-28 11:13:53 +01:00
|
|
|
padding-left: $space-xl;
|
2017-12-19 13:19:44 +01:00
|
|
|
background-color: transparent;
|
|
|
|
|
|
2017-12-20 11:22:29 +01:00
|
|
|
option {
|
|
|
|
|
// Firefox
|
2017-12-19 13:19:44 +01:00
|
|
|
color: $black;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-31 14:19:07 +01:00
|
|
|
.gf-form-input {
|
|
|
|
|
margin-right: 0;
|
2020-11-03 15:29:43 +01:00
|
|
|
line-height: $input-height;
|
2018-01-31 14:19:07 +01:00
|
|
|
}
|
|
|
|
|
|
2016-02-20 17:21:35 +01:00
|
|
|
select.gf-form-input {
|
2017-12-19 16:22:41 +01:00
|
|
|
text-indent: 0.01px;
|
2017-12-21 11:56:45 +01:00
|
|
|
text-overflow: '';
|
2019-03-28 11:13:53 +01:00
|
|
|
padding-right: $space-xl;
|
2016-02-20 17:21:35 +01:00
|
|
|
appearance: none;
|
|
|
|
|
|
|
|
|
|
&:-moz-focusring {
|
2016-02-27 07:11:45 +01:00
|
|
|
outline: none;
|
2016-02-20 17:21:35 +01:00
|
|
|
color: transparent;
|
2016-02-27 07:11:45 +01:00
|
|
|
text-shadow: 0 0 0 $text-color;
|
2016-02-20 17:21:35 +01:00
|
|
|
}
|
2016-05-27 16:11:05 +02:00
|
|
|
|
|
|
|
|
&.ng-empty {
|
|
|
|
|
color: $text-color-weak;
|
|
|
|
|
}
|
2016-02-20 17:21:35 +01:00
|
|
|
}
|
|
|
|
|
|
2016-06-20 10:37:47 +02:00
|
|
|
&::after {
|
2016-02-20 17:21:35 +01:00
|
|
|
position: absolute;
|
2017-06-22 15:16:41 -04:00
|
|
|
top: 36%;
|
|
|
|
|
right: 11px;
|
2016-02-20 17:21:35 +01:00
|
|
|
background-color: transparent;
|
2017-06-22 15:16:41 -04:00
|
|
|
color: $text-color;
|
2016-02-20 17:21:35 +01:00
|
|
|
font: normal normal normal $font-size-sm/1 FontAwesome;
|
2017-12-21 11:56:45 +01:00
|
|
|
content: '\f0d7';
|
2016-02-20 17:21:35 +01:00
|
|
|
pointer-events: none;
|
2017-06-22 15:16:41 -04:00
|
|
|
font-size: 11px;
|
2016-02-20 17:21:35 +01:00
|
|
|
}
|
2016-04-15 19:56:39 -04:00
|
|
|
|
|
|
|
|
&--has-help-icon {
|
2016-06-20 10:37:47 +02:00
|
|
|
&::after {
|
2019-03-28 11:13:53 +01:00
|
|
|
right: $space-xl;
|
2016-04-15 19:56:39 -04:00
|
|
|
}
|
|
|
|
|
}
|
2016-02-20 17:21:35 +01:00
|
|
|
}
|
2016-02-19 21:24:46 -05:00
|
|
|
|
2016-03-23 15:09:48 +01:00
|
|
|
.gf-form--v-stretch {
|
|
|
|
|
align-items: stretch;
|
2016-03-18 19:32:50 -04:00
|
|
|
}
|
|
|
|
|
|
2016-02-18 12:16:47 +01:00
|
|
|
.gf-form-btn {
|
2019-03-28 11:13:53 +01:00
|
|
|
padding: $input-padding;
|
2019-03-12 12:30:34 +01:00
|
|
|
margin-right: $space-xs;
|
2016-02-18 12:16:47 +01:00
|
|
|
line-height: $input-line-height;
|
2016-04-17 12:14:25 -04:00
|
|
|
font-size: $font-size-sm;
|
|
|
|
|
|
2016-02-18 12:16:47 +01:00
|
|
|
flex-shrink: 0;
|
|
|
|
|
flex-grow: 0;
|
|
|
|
|
}
|
2016-03-20 16:18:31 +01:00
|
|
|
|
2016-03-23 15:42:46 +01:00
|
|
|
.natural-language-input {
|
2017-12-21 11:56:45 +01:00
|
|
|
&input[type='number'] {
|
2016-03-23 15:41:01 +01:00
|
|
|
font-size: $font-size-base;
|
|
|
|
|
line-height: $input-line-height;
|
|
|
|
|
margin: -6px -5px 0 5px;
|
2019-03-28 11:13:53 +01:00
|
|
|
padding: $space-xs;
|
2016-03-23 15:41:01 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-03-29 12:32:40 +02:00
|
|
|
.gf-form-dropdown-typeahead {
|
2019-03-12 12:30:34 +01:00
|
|
|
//margin-right: $space-xs; ?
|
2016-03-29 12:32:40 +02:00
|
|
|
position: relative;
|
2016-03-20 16:18:31 +01:00
|
|
|
|
2016-06-20 10:37:47 +02:00
|
|
|
&::after {
|
2016-03-29 12:32:40 +02:00
|
|
|
position: absolute;
|
|
|
|
|
top: 35%;
|
2019-03-28 11:13:53 +01:00
|
|
|
right: $space-sm;
|
2016-03-29 12:32:40 +02:00
|
|
|
background-color: transparent;
|
|
|
|
|
color: $input-color;
|
|
|
|
|
font: normal normal normal $font-size-sm/1 FontAwesome;
|
2017-12-21 11:56:45 +01:00
|
|
|
content: '\f0d7';
|
2016-03-29 12:32:40 +02:00
|
|
|
pointer-events: none;
|
2018-04-18 10:21:48 +02:00
|
|
|
font-size: 11px;
|
2016-03-29 12:32:40 +02:00
|
|
|
}
|
2016-03-20 16:18:31 +01:00
|
|
|
}
|
2016-03-29 19:03:24 +02:00
|
|
|
|
2016-04-15 19:56:39 -04:00
|
|
|
.gf-form-help-icon {
|
|
|
|
|
flex-grow: 0;
|
|
|
|
|
color: $text-color-weak;
|
|
|
|
|
|
2016-12-06 03:54:44 -08:00
|
|
|
&--bold {
|
|
|
|
|
color: $text-color-emphasis;
|
2016-12-06 05:53:33 -08:00
|
|
|
padding-left: 0;
|
2016-12-06 03:54:44 -08:00
|
|
|
}
|
|
|
|
|
|
2016-04-15 19:56:39 -04:00
|
|
|
&--right-absolute {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: $spacer;
|
2020-04-16 13:49:58 +02:00
|
|
|
top: 6px;
|
2016-04-15 19:56:39 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&--right-normal {
|
|
|
|
|
float: right;
|
|
|
|
|
}
|
2016-11-18 16:53:07 +01:00
|
|
|
|
|
|
|
|
&--header {
|
2019-03-12 12:30:34 +01:00
|
|
|
margin-bottom: $space-xxs;
|
2016-11-18 16:53:07 +01:00
|
|
|
}
|
2018-05-23 11:34:22 +02:00
|
|
|
|
2019-08-08 10:20:54 +02:00
|
|
|
&--small-padding {
|
|
|
|
|
padding-left: 4px;
|
2018-05-23 11:34:22 +02:00
|
|
|
}
|
2019-01-29 13:42:29 +01:00
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: $text-color;
|
|
|
|
|
}
|
2016-04-15 19:56:39 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
select.gf-form-input ~ .gf-form-help-icon {
|
|
|
|
|
right: 10px;
|
|
|
|
|
}
|
2017-03-21 14:34:48 +01:00
|
|
|
|
|
|
|
|
.gf-form-icon--right-absolute {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: $spacer;
|
|
|
|
|
top: 10px;
|
|
|
|
|
color: $text-muted;
|
|
|
|
|
}
|
2018-01-31 10:39:38 +01:00
|
|
|
|
|
|
|
|
.cta-form {
|
2018-01-31 14:19:07 +01:00
|
|
|
position: relative;
|
2019-03-27 08:48:24 +01:00
|
|
|
padding: $space-lg;
|
2018-02-01 14:32:19 +01:00
|
|
|
background-color: $empty-list-cta-bg;
|
2019-03-27 08:48:24 +01:00
|
|
|
margin-bottom: $space-lg;
|
2019-02-20 16:11:36 +01:00
|
|
|
border-top: 3px solid $green-base;
|
2018-01-31 14:19:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.cta-form__close {
|
2018-11-06 18:14:29 +01:00
|
|
|
background: transparent;
|
|
|
|
|
padding: 4px 8px 4px 9px;
|
|
|
|
|
border: none;
|
2018-01-31 14:19:07 +01:00
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
2018-11-06 18:14:29 +01:00
|
|
|
top: -2px;
|
2018-11-09 13:17:41 +01:00
|
|
|
font-size: $font-size-md;
|
2018-11-06 18:14:29 +01:00
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: $text-color-strong;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.cta-form__bar {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
align-content: center;
|
|
|
|
|
margin-bottom: 20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.cta-form__bar-header {
|
|
|
|
|
font-size: $font-size-h4;
|
|
|
|
|
padding-right: 20px;
|
2018-01-31 10:39:38 +01:00
|
|
|
}
|