toggle-components-library 1.25.15 → 1.25.17
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.
- package/dist/img/airship-audiences-hover.7197407c.svg +9 -0
- package/dist/img/airship-audiences.e7477e19.svg +9 -0
- package/dist/img/{airship-user-icon-hover.7eecff69.svg → airship-circle-user-icon-hover.7eecff69.svg} +0 -0
- package/dist/img/{airship-user-icon.b39571b4.svg → airship-circle-user-icon.b39571b4.svg} +0 -0
- package/dist/img/airship-user-icon.1c0e190a.svg +3 -0
- package/dist/img/airship-x-hover.e1c3bb98.svg +3 -0
- package/dist/img/airship-x.dec93e61.svg +3 -0
- package/dist/toggle-components-library.common.js +367 -151
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.css +1 -1
- package/dist/toggle-components-library.umd.js +367 -151
- package/dist/toggle-components-library.umd.js.map +1 -1
- package/dist/toggle-components-library.umd.min.js +6 -6
- package/dist/toggle-components-library.umd.min.js.map +1 -1
- package/package.json +11 -11
- package/src/.DS_Store +0 -0
- package/src/assets/icons/airship-audiences-hover.svg +9 -0
- package/src/assets/icons/airship-audiences.svg +9 -0
- package/src/assets/icons/airship-circle-user-icon-hover.svg +3 -0
- package/src/assets/icons/airship-circle-user-icon.svg +3 -0
- package/src/assets/icons/airship-user-icon-hover.svg +2 -2
- package/src/assets/icons/airship-user-icon.svg +2 -2
- package/src/assets/icons/airship-x-hover.svg +3 -0
- package/src/assets/icons/airship-x.svg +3 -0
- package/src/components/forms/ToggleInputImage.vue +10 -6
- package/src/components/forms/ToggleInputText.vue +6 -6
- package/src/components/json/char_list.json +2233 -0
- package/src/components/metrics/ToggleMetricBarChart.vue +7 -6
- package/src/components/metrics/ToggleMetricFunnelChart.vue +12 -3
- package/src/components/metrics/ToggleMetricPieChart.vue +15 -8
- package/src/components/metrics/ToggleMetricSingleMetric.vue +2 -4
- package/src/components/metrics/ToggleMetricSparkLine.vue +9 -7
- package/src/components/mixins/mixins.js +58 -23
- package/src/components/navs/multitiersidenav/ToggleMultiTierSideNav.vue +39 -3
- package/src/components/text/ToggleTextClipboardCopy.vue +10 -1
- package/src/index.js +2 -0
- package/src/sass/includes/_as_buttons.scss +1 -6
- package/src/sass/includes/_as_inputs.scss +11 -13
- package/src/sass/includes/_as_metrics.scss +28 -17
- package/src/sass/includes/_as_navs.scss +111 -6
- package/src/sass/includes/_as_table.scss +2 -1
- package/src/sass/includes/_as_text.scss +1 -1
|
@@ -69,8 +69,9 @@ export default {
|
|
|
69
69
|
plotOptions: {
|
|
70
70
|
bar: {
|
|
71
71
|
borderRadius: 5,
|
|
72
|
-
columnWidth: '
|
|
73
|
-
|
|
72
|
+
columnWidth: '85%',
|
|
73
|
+
distributed : false,
|
|
74
|
+
},
|
|
74
75
|
|
|
75
76
|
},
|
|
76
77
|
chart: {
|
|
@@ -112,17 +113,17 @@ export default {
|
|
|
112
113
|
|
|
113
114
|
colors: this.colors ? this.colors : this.getDefaultColors(),
|
|
114
115
|
legend: {
|
|
115
|
-
horizontalAlign: '
|
|
116
|
-
offsetX: -12,
|
|
116
|
+
horizontalAlign: 'center',
|
|
117
117
|
showForSingleSeries: true,
|
|
118
|
+
fontSize: '16px',
|
|
118
119
|
markers: {
|
|
119
120
|
width: 50,
|
|
121
|
+
height: 12,
|
|
120
122
|
radius: 5,
|
|
121
|
-
offsetY: 3
|
|
122
123
|
},
|
|
123
124
|
|
|
124
125
|
itemMargin: {
|
|
125
|
-
horizontal:
|
|
126
|
+
horizontal: 30,
|
|
126
127
|
vertical: 0
|
|
127
128
|
},
|
|
128
129
|
|
|
@@ -12,25 +12,34 @@
|
|
|
12
12
|
<div class="funnel-spark-line funnel-grid-3">
|
|
13
13
|
<slot name="sparkLine3"></slot>
|
|
14
14
|
</div>
|
|
15
|
+
<div class="funnel-spark-line funnel-grid-4">
|
|
16
|
+
<slot name="sparkLine4"></slot>
|
|
17
|
+
</div>
|
|
15
18
|
|
|
16
|
-
<div class="funnel-single-metric funnel-grid-
|
|
19
|
+
<div class="funnel-single-metric funnel-grid-5">
|
|
17
20
|
<div class="funnel-single-metric-container">
|
|
18
21
|
<slot name="funnel1" class="funnel-single-metric"></slot>
|
|
19
22
|
</div>
|
|
20
23
|
</div>
|
|
21
24
|
|
|
22
|
-
<div class="funnel-single-metric funnel-grid-
|
|
25
|
+
<div class="funnel-single-metric funnel-grid-6">
|
|
23
26
|
<div class="funnel-single-metric-container">
|
|
24
27
|
<slot name="funnel2" class="funnel-single-metric"></slot>
|
|
25
28
|
</div>
|
|
26
29
|
</div>
|
|
27
30
|
|
|
28
|
-
<div class="funnel-single-metric funnel-grid-
|
|
31
|
+
<div class="funnel-single-metric funnel-grid-7">
|
|
29
32
|
<div class="funnel-single-metric-container">
|
|
30
33
|
<slot name="funnel3" class="funnel-single-metric"></slot>
|
|
31
34
|
</div>
|
|
32
35
|
</div>
|
|
33
36
|
|
|
37
|
+
<div class="funnel-single-metric funnel-grid-8">
|
|
38
|
+
<div class="funnel-single-metric-container">
|
|
39
|
+
<slot name="funnel4" class="funnel-single-metric"></slot>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
34
43
|
</div>
|
|
35
44
|
</template>
|
|
36
45
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<h3 class="toggle-metric metric-label">{{label}}</h3>
|
|
4
|
-
<apexchart type="pie" :options="chartOptions" :series="values"></apexchart>
|
|
4
|
+
<apexchart type="pie" :height="height" :options="chartOptions" :series="values"></apexchart>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
7
|
</template>
|
|
@@ -27,6 +27,13 @@ export default {
|
|
|
27
27
|
type: Array,
|
|
28
28
|
required: true
|
|
29
29
|
},
|
|
30
|
+
/*
|
|
31
|
+
* Component's height
|
|
32
|
+
*/
|
|
33
|
+
height: {
|
|
34
|
+
type: String,
|
|
35
|
+
default: ""
|
|
36
|
+
},
|
|
30
37
|
/**
|
|
31
38
|
* Component's main label
|
|
32
39
|
*/
|
|
@@ -52,14 +59,14 @@ export default {
|
|
|
52
59
|
labels: this.labels,
|
|
53
60
|
plotOptions: {
|
|
54
61
|
pie: {
|
|
55
|
-
|
|
62
|
+
distributed : false,
|
|
63
|
+
customScale: 0.7,
|
|
56
64
|
dataLabels: {
|
|
57
|
-
offset:
|
|
58
|
-
}
|
|
59
|
-
|
|
65
|
+
offset: 100
|
|
66
|
+
}
|
|
60
67
|
}
|
|
61
68
|
},
|
|
62
|
-
|
|
69
|
+
colors: this.colors ? this.colors : this.getDefaultColors(),
|
|
63
70
|
dataLabels: {
|
|
64
71
|
enabledOnSeries: true,
|
|
65
72
|
formatter: function (val, {seriesIndex, w}) {
|
|
@@ -67,8 +74,8 @@ export default {
|
|
|
67
74
|
},
|
|
68
75
|
style: {
|
|
69
76
|
colors: [this.getColor('black')],
|
|
70
|
-
fontSize: '1rem',
|
|
71
|
-
fontWeight:
|
|
77
|
+
fontSize: '1.1rem',
|
|
78
|
+
fontWeight: 'bold'
|
|
72
79
|
},
|
|
73
80
|
background: {
|
|
74
81
|
enabled: false,
|
|
@@ -48,7 +48,6 @@ export default {
|
|
|
48
48
|
*/
|
|
49
49
|
currencyCode:{
|
|
50
50
|
type:String,
|
|
51
|
-
required:false,
|
|
52
51
|
default:'GBP'
|
|
53
52
|
},
|
|
54
53
|
/**
|
|
@@ -56,7 +55,6 @@ export default {
|
|
|
56
55
|
*/
|
|
57
56
|
currencyLocale:{
|
|
58
57
|
type:String,
|
|
59
|
-
required:false,
|
|
60
58
|
default:'en-GB'
|
|
61
59
|
},
|
|
62
60
|
/**
|
|
@@ -64,7 +62,7 @@ export default {
|
|
|
64
62
|
*/
|
|
65
63
|
currencyDenomination: {
|
|
66
64
|
type: Number,
|
|
67
|
-
default:
|
|
65
|
+
default: 1
|
|
68
66
|
}
|
|
69
67
|
},
|
|
70
68
|
computed: {
|
|
@@ -73,7 +71,7 @@ export default {
|
|
|
73
71
|
* @return String
|
|
74
72
|
*/
|
|
75
73
|
metricValue() {
|
|
76
|
-
if (this.value
|
|
74
|
+
if (this.value === null) {
|
|
77
75
|
return "-";
|
|
78
76
|
}
|
|
79
77
|
|
|
@@ -83,7 +83,6 @@ export default {
|
|
|
83
83
|
*/
|
|
84
84
|
currencyCode:{
|
|
85
85
|
type:String,
|
|
86
|
-
required:false,
|
|
87
86
|
default:'GBP'
|
|
88
87
|
},
|
|
89
88
|
/**
|
|
@@ -91,7 +90,6 @@ export default {
|
|
|
91
90
|
*/
|
|
92
91
|
currencyLocale:{
|
|
93
92
|
type:String,
|
|
94
|
-
required:false,
|
|
95
93
|
default:'en-GB'
|
|
96
94
|
},
|
|
97
95
|
/**
|
|
@@ -99,14 +97,14 @@ export default {
|
|
|
99
97
|
*/
|
|
100
98
|
currencyDenomination: {
|
|
101
99
|
type: Number,
|
|
102
|
-
default:
|
|
100
|
+
default: 1
|
|
103
101
|
},
|
|
104
102
|
/**
|
|
105
103
|
* Percentage base used to calculate the trend impact
|
|
106
104
|
*/
|
|
107
|
-
|
|
105
|
+
trend_impact_base :{
|
|
108
106
|
type: Number,
|
|
109
|
-
default: 5
|
|
107
|
+
default: 0.5
|
|
110
108
|
},
|
|
111
109
|
/**
|
|
112
110
|
* This prop will inverse the trend impact
|
|
@@ -136,6 +134,9 @@ export default {
|
|
|
136
134
|
},
|
|
137
135
|
stroke: {
|
|
138
136
|
width: 5,
|
|
137
|
+
curve: 'smooth',
|
|
138
|
+
lineCap: 'butt',
|
|
139
|
+
|
|
139
140
|
},
|
|
140
141
|
grid: {
|
|
141
142
|
padding: {
|
|
@@ -192,9 +193,10 @@ export default {
|
|
|
192
193
|
if (this.sparkLineVal[0].data.length > 0) {
|
|
193
194
|
// if the value is an object, map to array
|
|
194
195
|
|
|
195
|
-
const trendImpactVals = this.sparkLineVal[0].data[0].y ? this.sparkLineVal[0].data.map(data => data.y) : this.sparkLineVal[0].data;
|
|
196
|
+
const trendImpactVals = this.sparkLineVal[0].data[0].y || this.sparkLineVal[0].data[0].y === 0 ? this.sparkLineVal[0].data.map(data => data.y) : this.sparkLineVal[0].data;
|
|
197
|
+
|
|
198
|
+
let result = this.calcTrendImpact(trendImpactVals, this.trend_impact_base);
|
|
196
199
|
|
|
197
|
-
let result = this.calcTrendImpact(trendImpactVals, this.trend_impact_percentage);
|
|
198
200
|
if (this.inverse_trend_impact === true && result != false)
|
|
199
201
|
return result *-1;
|
|
200
202
|
else
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import styleInfo from '../../../src/sass/includes/_as_variables.scss';
|
|
2
|
+
import jsonCharCodesData from '../json/char_list.json';
|
|
2
3
|
|
|
3
4
|
export const mixins = {
|
|
4
5
|
data(){
|
|
5
|
-
return {
|
|
6
|
+
return {
|
|
7
|
+
jsonCharCodes: jsonCharCodesData
|
|
8
|
+
}
|
|
6
9
|
},
|
|
7
10
|
methods:{
|
|
8
11
|
|
|
@@ -59,6 +62,20 @@ export const mixins = {
|
|
|
59
62
|
|
|
60
63
|
//converts a character into an HTML entity
|
|
61
64
|
const char2Html = (char) => {
|
|
65
|
+
// Check for special characters first
|
|
66
|
+
let codepointVals = Object.values(this.jsonCharCodes).map(value => value.codepoints[0]);
|
|
67
|
+
|
|
68
|
+
let codesArray = Object.entries(this.jsonCharCodes)
|
|
69
|
+
|
|
70
|
+
if (codepointVals.includes(char.codePointAt())) {
|
|
71
|
+
|
|
72
|
+
let namedChar = codesArray.filter(nestedArr => {
|
|
73
|
+
return nestedArr[1].codepoints[0] == char.codePointAt()
|
|
74
|
+
})
|
|
75
|
+
// If it's a special character return now
|
|
76
|
+
return `${namedChar[0][0]}`
|
|
77
|
+
}
|
|
78
|
+
|
|
62
79
|
let item = `${char}`;
|
|
63
80
|
|
|
64
81
|
//spread operator can detect emoji surrogate pairs
|
|
@@ -108,7 +125,7 @@ export const charts = {
|
|
|
108
125
|
return {
|
|
109
126
|
|
|
110
127
|
defcolors: [
|
|
111
|
-
|
|
128
|
+
'#85B4FF', '#81F4FF', '#A898FF'
|
|
112
129
|
]
|
|
113
130
|
}
|
|
114
131
|
},
|
|
@@ -122,41 +139,59 @@ export const charts = {
|
|
|
122
139
|
*
|
|
123
140
|
* @return { {Integer} 1, 0,-1 }
|
|
124
141
|
*/
|
|
125
|
-
calcTrendImpact(values,
|
|
142
|
+
calcTrendImpact(values, trend_impact_base){
|
|
126
143
|
|
|
127
144
|
// If all values in the values array are 0 return 0;
|
|
128
145
|
if (values.every((val) => val === 0)){
|
|
129
|
-
return
|
|
146
|
+
return false;
|
|
130
147
|
}
|
|
131
148
|
|
|
132
|
-
let
|
|
133
|
-
values.forEach(val => {
|
|
134
|
-
sum = sum + val;
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
let average = sum/values.length;
|
|
149
|
+
let regressionCalc = this.calculateLinearRegression(values);
|
|
138
150
|
|
|
139
|
-
|
|
140
|
-
|
|
151
|
+
if (regressionCalc >= trend_impact_base){
|
|
152
|
+
return 1;
|
|
153
|
+
} else if (regressionCalc < -trend_impact_base) {
|
|
154
|
+
return -1;
|
|
155
|
+
} else {
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
},
|
|
141
159
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
160
|
+
/*
|
|
161
|
+
* Calculates the linear regression for the trend impact
|
|
162
|
+
*
|
|
163
|
+
* @param {Array} [nums] [the array of values to be calculated]
|
|
164
|
+
* @return {Integer}
|
|
165
|
+
*/
|
|
166
|
+
calculateLinearRegression(nums) {
|
|
167
|
+
let summed_nums = 0;
|
|
168
|
+
nums.forEach(val => {
|
|
169
|
+
summed_nums = summed_nums + val;
|
|
170
|
+
});
|
|
146
171
|
|
|
147
|
-
let
|
|
172
|
+
let multiplied_data = 0;
|
|
173
|
+
let summed_index = 0;
|
|
174
|
+
let squared_index = 0;
|
|
148
175
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
176
|
+
nums.forEach((num, index) => {
|
|
177
|
+
index += 1;
|
|
178
|
+
multiplied_data += index * num;
|
|
179
|
+
summed_index += index;
|
|
180
|
+
squared_index += index**2;
|
|
181
|
+
});
|
|
154
182
|
|
|
183
|
+
let numerator = ( (nums.length) * multiplied_data) - (summed_nums * summed_index);
|
|
184
|
+
let denominator = ( (nums.length) * squared_index) - summed_index**2;
|
|
185
|
+
|
|
186
|
+
if (denominator != 0)
|
|
187
|
+
return numerator/denominator;
|
|
188
|
+
else
|
|
189
|
+
return 0;
|
|
155
190
|
},
|
|
156
191
|
|
|
157
192
|
//return an array of default colors
|
|
158
193
|
getDefaultColors() {
|
|
159
|
-
return this.$data.defcolors
|
|
194
|
+
return this.$data.defcolors;
|
|
160
195
|
},
|
|
161
196
|
|
|
162
197
|
//return a specific color
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<img :src="logo.src" :alt="logo.alt" class="toggle-multi-tier-sidenav-logo">
|
|
4
4
|
<ul class="toggle-multi-tier-sidenav-ul">
|
|
5
5
|
<!-- @slot For ToggleSideNavItems -->
|
|
6
|
-
<slot></slot>
|
|
6
|
+
<slot name="nav-items"></slot>
|
|
7
7
|
</ul>
|
|
8
8
|
|
|
9
9
|
<div class="toggle-multi-tier-sidenav-divider"></div>
|
|
@@ -14,10 +14,22 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
<div class="toggle-multi-tier-sidenav-select-container">
|
|
17
|
-
<ToggleInputSelect type="text" placeholder="placeholder text" label="Location" :options="
|
|
17
|
+
<ToggleInputSelect type="text" placeholder="placeholder text" label="Location" :options="unitOptionsSorted" v-model="unitOptionVal" />
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
|
-
<div class="toggle-multi-tier-sidenav-user-
|
|
20
|
+
<div v-if="userMenuOpen" class="toggle-multi-tier-sidenav-user-menu-container">
|
|
21
|
+
<div class="toggle-multi-tier-sidenav-user-menu">
|
|
22
|
+
<ToggleHeaderTextLarge class="toggle-multi-tier-sidenav-user-name">
|
|
23
|
+
{{ user }}
|
|
24
|
+
</ToggleHeaderTextLarge>
|
|
25
|
+
<div class="toggle-multi-tier-sidenav-user-menu-divider"></div>
|
|
26
|
+
<ul class="toggle-multi-tier-sidenav-user-menu-ul">
|
|
27
|
+
<slot name="user-menu"></slot>
|
|
28
|
+
</ul>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div @click="userMenuOpen = !userMenuOpen" :class="userMenuOpen ? 'toggle-multi-tier-sidenav-user-icon-menu-open' : 'toggle-multi-tier-sidenav-user-icon'">
|
|
32
|
+
</div>
|
|
21
33
|
</nav>
|
|
22
34
|
</template>
|
|
23
35
|
|
|
@@ -28,6 +40,11 @@ import ToggleInputSelect from '../../forms/ToggleInputSelect.vue';
|
|
|
28
40
|
|
|
29
41
|
export default {
|
|
30
42
|
name: 'ToggleMultiTierSideNav',
|
|
43
|
+
data() {
|
|
44
|
+
return {
|
|
45
|
+
userMenuOpen: false,
|
|
46
|
+
}
|
|
47
|
+
},
|
|
31
48
|
props: {
|
|
32
49
|
value: {},
|
|
33
50
|
/**
|
|
@@ -44,6 +61,13 @@ export default {
|
|
|
44
61
|
type: String,
|
|
45
62
|
default: 'Airship'
|
|
46
63
|
},
|
|
64
|
+
/**
|
|
65
|
+
* Name of the user, displayed in the user menu
|
|
66
|
+
*/
|
|
67
|
+
user: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: 'User'
|
|
70
|
+
},
|
|
47
71
|
unitOptions: {
|
|
48
72
|
type: Array,
|
|
49
73
|
required: true
|
|
@@ -58,7 +82,19 @@ export default {
|
|
|
58
82
|
set: function (value) {
|
|
59
83
|
this.$emit('input', value);
|
|
60
84
|
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
unitOptionsSorted() {
|
|
88
|
+
// Create a new array and populate it with the elements from the original unitOptions array
|
|
89
|
+
const sortedUnitOptions = [...this.unitOptions];
|
|
90
|
+
|
|
91
|
+
// Sort the new array in ascending alphabetical order according to the label property of each element
|
|
92
|
+
sortedUnitOptions.sort((a, b) => a.label.localeCompare(b.label));
|
|
93
|
+
|
|
94
|
+
// Return the new sorted array
|
|
95
|
+
return sortedUnitOptions;
|
|
61
96
|
}
|
|
97
|
+
|
|
62
98
|
},
|
|
63
99
|
components: {
|
|
64
100
|
ToggleHeaderTextLarge,
|
|
@@ -45,7 +45,16 @@ export default {
|
|
|
45
45
|
window.getSelection().removeAllRanges();
|
|
46
46
|
window.getSelection().addRange(range);
|
|
47
47
|
document.execCommand("copy");
|
|
48
|
-
|
|
48
|
+
this.click();
|
|
49
|
+
},
|
|
50
|
+
click(){
|
|
51
|
+
/**
|
|
52
|
+
* Emitted when the button is clicked.
|
|
53
|
+
* @event click
|
|
54
|
+
* @type {Event}
|
|
55
|
+
*/
|
|
56
|
+
this.$emit('click');
|
|
57
|
+
}
|
|
49
58
|
}
|
|
50
59
|
};
|
|
51
60
|
</script>
|
package/src/index.js
CHANGED
|
@@ -25,6 +25,7 @@ import ToggleModal from "./components/modals/ToggleModal.vue";
|
|
|
25
25
|
import ToggleInputSearch from "./components/forms/ToggleInputSearch.vue";
|
|
26
26
|
import ToggleInputRadioButtonGroup from "./components/forms/ToggleInputRadioButtonGroup.vue";
|
|
27
27
|
import ToggleButton from "./components/buttons/ToggleButton.vue";
|
|
28
|
+
import ToggleLoginButton from "./components/buttons/ToggleLoginButton.vue";
|
|
28
29
|
import ToggleFillLoader from "./components/loaders/ToggleFillLoader.vue";
|
|
29
30
|
|
|
30
31
|
|
|
@@ -90,6 +91,7 @@ const Components = {
|
|
|
90
91
|
ToggleFillLoader,
|
|
91
92
|
ToggleInputImage,
|
|
92
93
|
ToggleButton,
|
|
94
|
+
ToggleLoginButton,
|
|
93
95
|
ToggleInputGroup,
|
|
94
96
|
ToggleHeaderTextLarge,
|
|
95
97
|
ToggleInputNumber,
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
.toggle-button-container{
|
|
19
19
|
background:white;
|
|
20
20
|
display: inline-block;
|
|
21
|
-
|
|
22
21
|
border-radius: 0.3rem;
|
|
23
22
|
&--login{
|
|
24
23
|
border-radius: 23px;
|
|
@@ -145,7 +144,7 @@
|
|
|
145
144
|
background-image: url("../assets/icons/delete-grey.svg");
|
|
146
145
|
}
|
|
147
146
|
|
|
148
|
-
// Neutral Button
|
|
147
|
+
// Neutral Button styls
|
|
149
148
|
.toggle-button.neutral, .toggle-button-a.neutral a{
|
|
150
149
|
color: $toggle-button-neutral;
|
|
151
150
|
border-color: $toggle-button-neutral;
|
|
@@ -157,10 +156,6 @@
|
|
|
157
156
|
.toggle-button.neutral:disabled, .toggle-button-a.disabled a{
|
|
158
157
|
}
|
|
159
158
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
159
|
// Mini buttons
|
|
165
160
|
//
|
|
166
161
|
.toggle-button-container-mini{
|
|
@@ -154,8 +154,8 @@
|
|
|
154
154
|
font-size: $toggle-font-size-small;
|
|
155
155
|
color : $toggle-error-red !important;
|
|
156
156
|
display : block;
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
position : absolute;
|
|
158
|
+
bottom : 0.3rem;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
// date picker
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
|
|
281
281
|
.toggle-input-select {
|
|
282
282
|
padding: 0rem;
|
|
283
|
-
font-size:
|
|
283
|
+
font-size: 0.9rem;
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -507,20 +507,20 @@ $iconWidth:20px;
|
|
|
507
507
|
background-size: cover !important;
|
|
508
508
|
background-position: center;
|
|
509
509
|
border-radius:4px;
|
|
510
|
-
cursor: move;
|
|
511
510
|
}
|
|
512
|
-
.toggle-
|
|
511
|
+
.toggle-center {
|
|
512
|
+
display: flex;
|
|
513
|
+
align-items: center;
|
|
514
|
+
justify-content: center;
|
|
515
|
+
}
|
|
516
|
+
.toggle-move-icon::after {
|
|
513
517
|
position: absolute;
|
|
514
518
|
content:'';
|
|
515
519
|
height: 100%;
|
|
516
520
|
width: 100%;
|
|
521
|
+
background-size: $iconWidth!important;
|
|
517
522
|
background: url('../assets/icons/draggable.svg') no-repeat center center;
|
|
518
|
-
|
|
519
|
-
}
|
|
520
|
-
.toggle-center {
|
|
521
|
-
display: flex;
|
|
522
|
-
align-items: center;
|
|
523
|
-
justify-content: center;
|
|
523
|
+
cursor: move;
|
|
524
524
|
}
|
|
525
525
|
|
|
526
526
|
}
|
|
@@ -893,8 +893,6 @@ $iconWidth:20px;
|
|
|
893
893
|
}
|
|
894
894
|
|
|
895
895
|
.toggle-input-label-error {
|
|
896
|
-
margin-top: 0rem;
|
|
897
|
-
margin-bottom: 0rem;
|
|
898
896
|
position: absolute;
|
|
899
897
|
bottom:-17px;
|
|
900
898
|
}
|
|
@@ -22,20 +22,20 @@
|
|
|
22
22
|
/* Funnel */
|
|
23
23
|
.toggle-metric-funnel-container {
|
|
24
24
|
grid-template-rows: auto;
|
|
25
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
25
|
+
grid-template-columns: 1fr 1fr 1fr 1fr;
|
|
26
26
|
display: grid;
|
|
27
27
|
grid-auto-flow: column;
|
|
28
28
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.funnel-grid-svg {
|
|
32
|
-
min-height:
|
|
33
|
-
background: transparent url('../assets/img/funnel.svg') no-repeat padding-box
|
|
34
|
-
background-size: 100%
|
|
32
|
+
min-height: 12rem;
|
|
33
|
+
background: transparent url('../assets/img/funnel.svg') no-repeat padding-box center;
|
|
34
|
+
background-size: 100% auto;
|
|
35
35
|
grid-row-start: 2;
|
|
36
36
|
grid-column-start: 1;
|
|
37
37
|
grid-row-end: 3;
|
|
38
|
-
grid-column-end:
|
|
38
|
+
grid-column-end: 5;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
.funnel-grid-1 {
|
|
@@ -60,6 +60,13 @@
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
.funnel-grid-4 {
|
|
63
|
+
grid-row-start: 1;
|
|
64
|
+
grid-column-start: 4;
|
|
65
|
+
grid-row-end: 2;
|
|
66
|
+
grid-column-end: 5;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.funnel-grid-5 {
|
|
63
70
|
grid-row-start: 2;
|
|
64
71
|
grid-column-start: 1;
|
|
65
72
|
grid-row-end: 3;
|
|
@@ -67,7 +74,7 @@
|
|
|
67
74
|
display: flex;
|
|
68
75
|
}
|
|
69
76
|
|
|
70
|
-
.funnel-grid-
|
|
77
|
+
.funnel-grid-6 {
|
|
71
78
|
grid-row-start: 2;
|
|
72
79
|
grid-column-start: 2;
|
|
73
80
|
grid-row-end: 3;
|
|
@@ -75,7 +82,7 @@
|
|
|
75
82
|
display: flex;
|
|
76
83
|
}
|
|
77
84
|
|
|
78
|
-
.funnel-grid-
|
|
85
|
+
.funnel-grid-7 {
|
|
79
86
|
grid-row-start: 2;
|
|
80
87
|
grid-column-start: 3;
|
|
81
88
|
grid-row-end: 3;
|
|
@@ -83,11 +90,19 @@
|
|
|
83
90
|
display: flex;
|
|
84
91
|
}
|
|
85
92
|
|
|
93
|
+
.funnel-grid-8 {
|
|
94
|
+
grid-row-start: 2;
|
|
95
|
+
grid-column-start: 4;
|
|
96
|
+
grid-row-end: 3;
|
|
97
|
+
grid-column-end: 5;
|
|
98
|
+
display: flex;
|
|
99
|
+
}
|
|
100
|
+
|
|
86
101
|
.funnel-spark-line, .funnel-single-metric {
|
|
87
102
|
margin-right: 1rem;
|
|
88
103
|
border-right: 1px solid #BCDBEE;
|
|
89
104
|
|
|
90
|
-
&:nth-child(
|
|
105
|
+
&:nth-child(5), &:last-child {
|
|
91
106
|
border: 0;
|
|
92
107
|
}
|
|
93
108
|
}
|
|
@@ -97,13 +112,9 @@
|
|
|
97
112
|
}
|
|
98
113
|
|
|
99
114
|
.funnel-single-metric-container {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
.funnel-grid-svg {
|
|
106
|
-
min-height: 15rem;
|
|
107
|
-
background-size: 100%;
|
|
108
|
-
}
|
|
115
|
+
display: flex;
|
|
116
|
+
flex-direction: column;
|
|
117
|
+
align-items: center;
|
|
118
|
+
justify-content: center;
|
|
119
|
+
width: 100%;
|
|
109
120
|
}
|