@gitlab/ui 129.1.0 → 129.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,10 +6,10 @@ import { RX_DIGITS, RX_SPACES } from '../../../constants/regex';
6
6
  import { concat } from '../../../utils/array';
7
7
  import { cloneDeep } from '../../../utils/clone-deep';
8
8
  import { identity } from '../../../utils/identity';
9
- import { isString, isRegExp, isFunction } from '../../../utils/inspect';
9
+ import { isFunction, isString, isRegExp } from '../../../utils/inspect';
10
10
  import { looseEqual } from '../../../utils/loose-equal';
11
11
  import { toInteger } from '../../../utils/number';
12
- import { makeProp, hasPropFunction } from '../../../utils/props';
12
+ import { makeProp } from '../../../utils/props';
13
13
  import { escapeRegExp } from '../../../utils/string';
14
14
  import { warn } from '../../../utils/warn';
15
15
  import { stringifyRecordValues } from './stringify-record-values';
@@ -81,7 +81,8 @@ const filteringMixin = extend({
81
81
  const {
82
82
  filterFunction
83
83
  } = this;
84
- return hasPropFunction(filterFunction) ? filterFunction : null;
84
+ // `filterFunction` is an optional Function prop with no default
85
+ return isFunction(filterFunction) ? filterFunction : null;
85
86
  },
86
87
  // Returns the records in `localItems` that match the filter criteria
87
88
  // Returns the original `localItems` array if not sorting
@@ -7,7 +7,8 @@ import { mathMax } from '../utils/math';
7
7
  import { makeModelMixin } from '../utils/model';
8
8
  import { toInteger, toFloat } from '../utils/number';
9
9
  import { sortKeys } from '../utils/object';
10
- import { makeProp, hasPropFunction } from '../utils/props';
10
+ import { isFunction } from '../utils/inspect';
11
+ import { makeProp } from '../utils/props';
11
12
  import { toString } from '../utils/string';
12
13
 
13
14
  // --- Constants ---
@@ -78,7 +79,8 @@ const formTextMixin = extend({
78
79
  return mathMax(toInteger(this.debounce, 0), 0);
79
80
  },
80
81
  hasFormatter() {
81
- return hasPropFunction(this.formatter);
82
+ // `formatter` is an optional Function prop with no default
83
+ return isFunction(this.formatter);
82
84
  }
83
85
  },
84
86
  watch: {
@@ -1,8 +1,6 @@
1
1
  import { PROP_TYPE_ANY } from '../constants/props';
2
- import { cloneDeep } from './clone-deep';
3
- import { getComponentConfig } from './config';
4
2
  import { identity } from './identity';
5
- import { isUndefined, isObject, isArray, isFunction } from './inspect';
3
+ import { isUndefined, isObject, isArray } from './inspect';
6
4
  import { hasOwnProperty, clone, keys } from './object';
7
5
  import { upperFirst } from './string';
8
6
 
@@ -66,32 +64,4 @@ const pluckProps = function (keysToPluck, objToPluck) {
66
64
  }, {});
67
65
  };
68
66
 
69
- // Make a prop object configurable by global configuration
70
- // Replaces the current `default` key of each prop with a `getComponentConfig()`
71
- // call that falls back to the current default value of the prop
72
- const makePropConfigurable = (prop, key, componentKey) => ({
73
- ...cloneDeep(prop),
74
- default: function bvConfigurablePropDefault() {
75
- const value = getComponentConfig(componentKey, key, prop.default);
76
- return isFunction(value) ? value() : value;
77
- }
78
- });
79
-
80
- // Make a props object configurable by global configuration
81
- // Replaces the current `default` key of each prop with a `getComponentConfig()`
82
- // call that falls back to the current default value of the prop
83
- const makePropsConfigurable = (props, componentKey) => keys(props).reduce((result, key) => ({
84
- ...result,
85
- [key]: makePropConfigurable(props[key], key, componentKey)
86
- }), {});
87
-
88
- // Get function name we use in `makePropConfigurable()`
89
- // for the prop default value override to compare
90
- // against in `hasPropFunction()`
91
- const configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name;
92
-
93
- // Detect wether the given value is currently a function
94
- // and isn't the props default function
95
- const hasPropFunction = fn => isFunction(fn) && fn.name && fn.name !== configurablePropDefaultFnName;
96
-
97
- export { copyProps, hasPropFunction, makeProp, makePropConfigurable, makePropsConfigurable, pluckProps, suffixPropName };
67
+ export { copyProps, makeProp, pluckProps, suffixPropName };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "129.1.0",
3
+ "version": "129.1.2",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -70,7 +70,7 @@
70
70
  "echarts": "^5.6.0",
71
71
  "gridstack": "^12.4.2",
72
72
  "iframe-resizer": "^4.4.5",
73
- "lodash-es": "^4.17.21",
73
+ "lodash-es": "^4.17.23",
74
74
  "popper.js": "^1.16.1",
75
75
  "portal-vue": "2.1.7",
76
76
  "vue-functional-data-merge": "^3.1.0",
@@ -1,3 +1,218 @@
1
+ @use "sass:color";
2
+
3
+ // Bootstrap v4.x does not have special styling for color input
4
+ // So we define some basic styles to compensate
5
+ input[type="color"].form-control {
6
+ height: $input-height;
7
+ // We use the smaller padding to make the color block larger
8
+ padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
9
+ }
10
+
11
+ input[type="color"].form-control.form-control-sm,
12
+ .input-group-sm input[type="color"].form-control {
13
+ height: $input-height-sm;
14
+ // We use the smaller padding to make the color block larger
15
+ padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
16
+ }
17
+
18
+ input[type="color"].form-control.form-control-lg,
19
+ .input-group-lg input[type="color"].form-control {
20
+ height: $input-height-lg;
21
+ padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
22
+ }
23
+
24
+ input[type="color"].form-control:disabled {
25
+ // Disabled styling needs to be a bit different than regular inputs
26
+ background-color: $gl-color-neutral-500;
27
+ opacity: $btn-disabled-opacity;
28
+ }
29
+
30
+ // --- Base `.input-group > .custom-range` styling (no PR yet on Bootstrap v4) ---
31
+ .input-group {
32
+ > .custom-range {
33
+ position: relative;
34
+ flex: 1 1 auto;
35
+ width: 1%;
36
+ margin-bottom: 0;
37
+
38
+ + .form-control,
39
+ + .form-control-plaintext,
40
+ + .custom-select,
41
+ + .custom-range,
42
+ + .custom-file {
43
+ margin-left: -$input-border-width;
44
+ }
45
+ }
46
+
47
+ > .form-control,
48
+ > .form-control-plaintext,
49
+ > .custom-select,
50
+ > .custom-range,
51
+ > .custom-file {
52
+ + .custom-range {
53
+ margin-left: -$input-border-width;
54
+ }
55
+ }
56
+
57
+ > .custom-range:focus {
58
+ z-index: 3;
59
+ }
60
+
61
+ > .custom-range {
62
+ &:not(:last-child) {
63
+ @include border-right-radius(0);
64
+ }
65
+
66
+ &:not(:first-child) {
67
+ @include border-left-radius(0);
68
+ }
69
+ }
70
+
71
+ > .custom-range {
72
+ padding: 0 $input-padding-x;
73
+ background-color: $input-bg;
74
+ background-clip: padding-box;
75
+ border: $input-border-width solid $input-border-color;
76
+ height: $input-height;
77
+
78
+ @if $enable-rounded {
79
+ border-radius: $input-border-radius;
80
+ } @else {
81
+ border-radius: 0;
82
+ }
83
+
84
+ @include box-shadow($input-box-shadow);
85
+ @include transition($input-transition);
86
+ // Bootstrap v4.3.2 has deprecated this mixin
87
+ // @include form-control-focus();
88
+ // So we manually add its content here
89
+ &:focus {
90
+ color: $input-focus-color; // only needed for fallback to text input
91
+ background-color: $input-focus-bg;
92
+ border-color: $input-focus-border-color;
93
+ outline: 0;
94
+ @if $enable-shadows {
95
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
96
+ } @else {
97
+ box-shadow: $input-focus-box-shadow;
98
+ }
99
+ }
100
+
101
+ &:disabled,
102
+ &[readonly] {
103
+ background-color: $input-disabled-bg;
104
+ }
105
+ }
106
+ }
107
+
108
+ .input-group-lg > .custom-range {
109
+ height: $input-height-lg;
110
+ padding: 0 $input-padding-x-lg;
111
+ @include border-radius($input-border-radius-lg);
112
+ }
113
+
114
+ .input-group-sm > .custom-range {
115
+ height: $input-height-sm;
116
+ padding: 0 $input-padding-x-sm;
117
+ @include border-radius($input-border-radius-sm);
118
+ }
119
+
120
+ // <gl-form-input> custom-range validation styling
121
+ // Mixin for generating `.input-group .custom-range` validation styling
122
+ @mixin custom-range-validation-state($state, $color) {
123
+ .input-group .custom-range {
124
+ .was-validated &:#{$state},
125
+ &.is-#{$state} {
126
+ border-color: $color;
127
+
128
+ &:focus {
129
+ border-color: $color;
130
+ box-shadow: 0 0 0 $input-focus-width rgba($color, 0.25);
131
+ }
132
+ }
133
+ }
134
+
135
+ .custom-range {
136
+ .was-validated &:#{$state},
137
+ &.is-#{$state} {
138
+ // Pseudo-elements must be split across multiple rulesets to have an affect
139
+ &:focus {
140
+ &::-webkit-slider-thumb {
141
+ box-shadow:
142
+ 0 0 0 1px $body-bg,
143
+ 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
144
+ }
145
+
146
+ &::-moz-range-thumb {
147
+ box-shadow:
148
+ 0 0 0 1px $body-bg,
149
+ 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
150
+ }
151
+
152
+ &::-ms-thumb {
153
+ box-shadow:
154
+ 0 0 0 1px $body-bg,
155
+ 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
156
+ }
157
+ }
158
+
159
+ &::-webkit-slider-thumb {
160
+ background-color: $color;
161
+ background-image: none;
162
+
163
+ &:active {
164
+ background-color: color.adjust($color, $lightness: 35%);
165
+ background-image: none;
166
+ }
167
+ }
168
+
169
+ &::-webkit-slider-runnable-track {
170
+ background-color: rgba($color, 0.35);
171
+ }
172
+
173
+ &::-moz-range-thumb {
174
+ background-color: $color;
175
+ background-image: none;
176
+
177
+ &:active {
178
+ background-color: color.adjust($color, $lightness: 35%);
179
+ background-image: none;
180
+ }
181
+ }
182
+
183
+ &::-moz-range-track {
184
+ background: rgba($color, 0.35);
185
+ }
186
+
187
+ ~ .#{$state}-feedback,
188
+ ~ .#{$state}-tooltip {
189
+ display: block;
190
+ }
191
+
192
+ &::-ms-thumb {
193
+ background-color: $color;
194
+ background-image: none;
195
+
196
+ &:active {
197
+ background-color: color.adjust($color, $lightness: 35%);
198
+ background-image: none;
199
+ }
200
+ }
201
+
202
+ &::-ms-track-lower {
203
+ background: rgba($color, 0.35);
204
+ }
205
+
206
+ &::-ms-track-upper {
207
+ background: rgba($color, 0.35);
208
+ }
209
+ }
210
+ }
211
+ }
212
+
213
+ @include custom-range-validation-state("valid", $form-feedback-valid-color);
214
+ @include custom-range-validation-state("invalid", $form-feedback-invalid-color);
215
+
1
216
  .gl-form-input,
2
217
  .gl-form-input.form-control {
3
218
  appearance: none;
@@ -1,6 +1,7 @@
1
1
  <script>
2
2
  import { BTable } from '../../../vendor/bootstrap-vue/src/components/table/table';
3
3
  import { logWarning, isDev } from '../../../utils/utils';
4
+ import GlLoadingIcon from '../loading_icon/loading_icon.vue';
4
5
  import { tableFullSlots, tableFullProps, glTableLiteWarning } from './constants';
5
6
 
6
7
  const shouldUseFullTable = ({ $attrs, $scopedSlots }) => {
@@ -16,6 +17,7 @@ export default {
16
17
  name: 'GlTable',
17
18
  components: {
18
19
  BTable,
20
+ GlLoadingIcon,
19
21
  },
20
22
  inheritAttrs: false,
21
23
  props: {
@@ -163,6 +165,11 @@ export default {
163
165
  </template>
164
166
  </div>
165
167
  </template>
168
+ <template #table-busy>
169
+ <slot name="table-busy">
170
+ <gl-loading-icon size="lg" />
171
+ </slot>
172
+ </template>
166
173
  <template #empty="scope">
167
174
  <slot name="empty" v-bind="scope">
168
175
  <p class="gl-mb-0 gl-py-2 gl-text-subtle">{{ scope.emptyText }}</p>
@@ -7,7 +7,6 @@ $bv-enable-popover-variants: false;
7
7
  @import "../vendor/bootstrap-vue/src/utilities.scss";
8
8
 
9
9
  @import "../vendor/bootstrap-vue/src/components/dropdown/index.scss";
10
- @import "../vendor/bootstrap-vue/src/components/form-input/index.scss";
11
10
  @import "../vendor/bootstrap-vue/src/components/form-radio/index.scss";
12
11
  @import "../vendor/bootstrap-vue/src/components/modal/index.scss";
13
12
  @import "../vendor/bootstrap-vue/src/components/popover/index.scss";
@@ -44,7 +44,7 @@ $b-custom-switch-indicator-size-sm: calc(
44
44
  // --- Tables ---
45
45
 
46
46
  // Table busy state
47
- $b-table-busy-opacity: 0.55 !default;
47
+ $b-table-busy-opacity: 1 !default;
48
48
 
49
49
  // Table sorting
50
50
  $b-table-sort-icon-bg-width: 0.65em !default;
@@ -1,6 +1,5 @@
1
1
  @import "dropdown/index";
2
2
  @import "form-checkbox/index";
3
- @import "form-input/index";
4
3
  @import "form-radio/index";
5
4
  @import "modal/index";
6
5
  @import "popover/index";
@@ -15,7 +15,7 @@ import { identity } from '../../../utils/identity'
15
15
  import { isFunction, isString, isRegExp } from '../../../utils/inspect'
16
16
  import { looseEqual } from '../../../utils/loose-equal'
17
17
  import { toInteger } from '../../../utils/number'
18
- import { hasPropFunction, makeProp } from '../../../utils/props'
18
+ import { makeProp } from '../../../utils/props'
19
19
  import { escapeRegExp } from '../../../utils/string'
20
20
  import { warn } from '../../../utils/warn'
21
21
  import { stringifyRecordValues } from './stringify-record-values'
@@ -78,7 +78,8 @@ export const filteringMixin = extend({
78
78
  localFilterFn() {
79
79
  // Return `null` to signal to use internal filter function
80
80
  const { filterFunction } = this
81
- return hasPropFunction(filterFunction) ? filterFunction : null
81
+ // `filterFunction` is an optional Function prop with no default
82
+ return isFunction(filterFunction) ? filterFunction : null
82
83
  },
83
84
  // Returns the records in `localItems` that match the filter criteria
84
85
  // Returns the original `localItems` array if not sorting
@@ -18,7 +18,8 @@ import { mathMax } from '../utils/math'
18
18
  import { makeModelMixin } from '../utils/model'
19
19
  import { toInteger, toFloat } from '../utils/number'
20
20
  import { sortKeys } from '../utils/object'
21
- import { hasPropFunction, makeProp } from '../utils/props'
21
+ import { isFunction } from '../utils/inspect'
22
+ import { makeProp } from '../utils/props'
22
23
  import { toString } from '../utils/string'
23
24
 
24
25
  // --- Constants ---
@@ -93,7 +94,8 @@ export const formTextMixin = extend({
93
94
  return mathMax(toInteger(this.debounce, 0), 0)
94
95
  },
95
96
  hasFormatter() {
96
- return hasPropFunction(this.formatter)
97
+ // `formatter` is an optional Function prop with no default
98
+ return isFunction(this.formatter)
97
99
  }
98
100
  },
99
101
  watch: {
@@ -1,8 +1,6 @@
1
1
  import { PROP_TYPE_ANY } from '../constants/props'
2
- import { cloneDeep } from './clone-deep'
3
- import { getComponentConfig } from './config'
4
2
  import { identity } from './identity'
5
- import { isArray, isFunction, isObject, isUndefined } from './inspect'
3
+ import { isArray, isObject, isUndefined } from './inspect'
6
4
  import { clone, hasOwnProperty, keys } from './object'
7
5
  import { upperFirst } from './string'
8
6
 
@@ -60,33 +58,3 @@ export const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>
60
58
  memo[transformFn(prop)] = objToPluck[prop]
61
59
  return memo
62
60
  }, {})
63
-
64
- // Make a prop object configurable by global configuration
65
- // Replaces the current `default` key of each prop with a `getComponentConfig()`
66
- // call that falls back to the current default value of the prop
67
- export const makePropConfigurable = (prop, key, componentKey) => ({
68
- ...cloneDeep(prop),
69
- default: function bvConfigurablePropDefault() {
70
- const value = getComponentConfig(componentKey, key, prop.default)
71
- return isFunction(value) ? value() : value
72
- }
73
- })
74
-
75
- // Make a props object configurable by global configuration
76
- // Replaces the current `default` key of each prop with a `getComponentConfig()`
77
- // call that falls back to the current default value of the prop
78
- export const makePropsConfigurable = (props, componentKey) =>
79
- keys(props).reduce(
80
- (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),
81
- {}
82
- )
83
-
84
- // Get function name we use in `makePropConfigurable()`
85
- // for the prop default value override to compare
86
- // against in `hasPropFunction()`
87
- const configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name
88
-
89
- // Detect wether the given value is currently a function
90
- // and isn't the props default function
91
- export const hasPropFunction = fn =>
92
- isFunction(fn) && fn.name && fn.name !== configurablePropDefaultFnName
@@ -1,219 +0,0 @@
1
- @use 'sass:color';
2
-
3
- // Temporary fix for cssnano bug: https://github.com/cssnano/cssnano/issues/712
4
- // By moving center to last value in `background-position` property
5
- // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2599
6
- @if $enable-validation-icons {
7
- .form-control {
8
- .was-validated &:invalid,
9
- .was-validated &:valid,
10
- &.is-invalid,
11
- &.is-valid {
12
- background-position: right $input-height-inner-quarter center;
13
- }
14
- }
15
- }
16
-
17
- // Bootstrap v4.x does not have special styling for color input
18
- // So we define some basic styles to compensate
19
- input[type="color"].form-control {
20
- height: $input-height;
21
- // We use the smaller padding to make the color block larger
22
- padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
23
- }
24
-
25
- input[type="color"].form-control.form-control-sm,
26
- .input-group-sm input[type="color"].form-control {
27
- height: $input-height-sm;
28
- // We use the smaller padding to make the color block larger
29
- padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
30
- }
31
-
32
- input[type="color"].form-control.form-control-lg,
33
- .input-group-lg input[type="color"].form-control {
34
- height: $input-height-lg;
35
- padding: ($input-padding-y-sm * 0.5) ($input-padding-x-sm * 0.5);
36
- }
37
-
38
- input[type="color"].form-control:disabled {
39
- // Disabled styling needs to be a bit different than regular inputs
40
- background-color: $gray-500;
41
- opacity: $btn-disabled-opacity;
42
- }
43
-
44
- // --- Base `.input-group > .custom-range` styling (no PR yet on Bootstrap v4) ---
45
- .input-group {
46
- > .custom-range {
47
- position: relative;
48
- flex: 1 1 auto;
49
- width: 1%;
50
- margin-bottom: 0;
51
-
52
- + .form-control,
53
- + .form-control-plaintext,
54
- + .custom-select,
55
- + .custom-range,
56
- + .custom-file {
57
- margin-left: -$input-border-width;
58
- }
59
- }
60
-
61
- > .form-control,
62
- > .form-control-plaintext,
63
- > .custom-select,
64
- > .custom-range,
65
- > .custom-file {
66
- + .custom-range {
67
- margin-left: -$input-border-width;
68
- }
69
- }
70
-
71
- > .custom-range:focus {
72
- z-index: 3;
73
- }
74
-
75
- > .custom-range {
76
- &:not(:last-child) {
77
- @include border-right-radius(0);
78
- }
79
- &:not(:first-child) {
80
- @include border-left-radius(0);
81
- }
82
- }
83
-
84
- > .custom-range {
85
- height: $input-height;
86
- padding: 0 $input-padding-x;
87
- background-color: $input-bg;
88
- background-clip: padding-box;
89
- border: $input-border-width solid $input-border-color;
90
- height: $input-height;
91
-
92
- @if $enable-rounded {
93
- border-radius: $input-border-radius;
94
- } @else {
95
- border-radius: 0;
96
- }
97
-
98
- @include box-shadow($input-box-shadow);
99
- @include transition($input-transition);
100
- // Bootstrap v4.3.2 has deprecated this mixin
101
- // @include form-control-focus();
102
- // So we manually add its content here
103
- &:focus {
104
- color: $input-focus-color; // only needed for fallback to text input
105
- background-color: $input-focus-bg;
106
- border-color: $input-focus-border-color;
107
- outline: 0;
108
- @if $enable-shadows {
109
- box-shadow: $input-box-shadow, $input-focus-box-shadow;
110
- } @else {
111
- box-shadow: $input-focus-box-shadow;
112
- }
113
- }
114
-
115
- &:disabled,
116
- &[readonly] {
117
- background-color: $input-disabled-bg;
118
- }
119
- }
120
- }
121
-
122
- .input-group-lg > .custom-range {
123
- height: $input-height-lg;
124
- padding: 0 $input-padding-x-lg;
125
- @include border-radius($input-border-radius-lg);
126
- }
127
-
128
- .input-group-sm > .custom-range {
129
- height: $input-height-sm;
130
- padding: 0 $input-padding-x-sm;
131
- @include border-radius($input-border-radius-sm);
132
- }
133
-
134
- // --- <b-form-input>: custom-range validation styling - valid (no PR yet for Bootstrap v4.2) ---
135
- // Mixin for generating `.input-group .custom-range` validation styling
136
- @mixin bv-custom-range-validation-state($state, $color) {
137
- .input-group .custom-range {
138
- .was-validated &:#{$state},
139
- &.is-#{$state} {
140
- border-color: $color;
141
-
142
- &:focus {
143
- border-color: $color;
144
- box-shadow: 0 0 0 $input-focus-width rgba($color, 0.25);
145
- }
146
- }
147
- }
148
-
149
- .custom-range {
150
- .was-validated &:#{$state},
151
- &.is-#{$state} {
152
- // Pseudo-elements must be split across multiple rulesets to have an affect
153
- &:focus {
154
- &::-webkit-slider-thumb {
155
- box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
156
- }
157
- &::-moz-range-thumb {
158
- box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
159
- }
160
- &::-ms-thumb {
161
- box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-btn-focus-width color.adjust($color, $lightness: 35%);
162
- }
163
- }
164
-
165
- &::-webkit-slider-thumb {
166
- background-color: $color;
167
- background-image: none;
168
-
169
- &:active {
170
- background-color: color.adjust($color, $lightness: 35%);
171
- background-image: none;
172
- }
173
- }
174
-
175
- &::-webkit-slider-runnable-track {
176
- background-color: rgba($color, 0.35);
177
- }
178
-
179
- &::-moz-range-thumb {
180
- background-color: $color;
181
- background-image: none;
182
-
183
- &:active {
184
- background-color: color.adjust($color, $lightness: 35%);
185
- background-image: none;
186
- }
187
- }
188
-
189
- &::-moz-range-track {
190
- background: rgba($color, 0.35);
191
- }
192
-
193
- ~ .#{$state}-feedback,
194
- ~ .#{$state}-tooltip {
195
- display: block;
196
- }
197
-
198
- &::-ms-thumb {
199
- background-color: $color;
200
- background-image: none;
201
-
202
- &:active {
203
- background-color: color.adjust($color, $lightness: 35%);
204
- background-image: none;
205
- }
206
- }
207
-
208
- &::-ms-track-lower {
209
- background: rgba($color, 0.35);
210
- }
211
- &::-ms-track-upper {
212
- background: rgba($color, 0.35);
213
- }
214
- }
215
- }
216
- }
217
-
218
- @include bv-custom-range-validation-state("valid", $form-feedback-valid-color);
219
- @include bv-custom-range-validation-state("invalid", $form-feedback-invalid-color);
@@ -1 +0,0 @@
1
- @import "form-input";