toggle-components-library 1.36.1-beta.1 → 1.36.1-beta.12

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.
Files changed (32) hide show
  1. package/dist/img/contacts-greyblue.ef6f8a9a.svg +1 -0
  2. package/dist/img/contacts-white.95d07c7a.svg +1 -0
  3. package/dist/toggle-components-library.common.js +237 -219
  4. package/dist/toggle-components-library.common.js.map +1 -1
  5. package/dist/toggle-components-library.css +1 -1
  6. package/dist/toggle-components-library.umd.js +237 -219
  7. package/dist/toggle-components-library.umd.js.map +1 -1
  8. package/dist/toggle-components-library.umd.min.js +1 -1
  9. package/dist/toggle-components-library.umd.min.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/components/buttons/ToggleMetricsButton.vue +3 -18
  12. package/src/components/forms/ToggleDatePicker.vue +7 -3
  13. package/src/components/forms/ToggleInputCurrency.vue +10 -3
  14. package/src/components/forms/ToggleInputPercentage.vue +7 -1
  15. package/src/components/forms/ToggleInputText.vue +0 -4
  16. package/src/components/metrics/ToggleMetricSingleMetric.vue +7 -12
  17. package/src/components/metrics/ToggleMetricSparkLine.vue +2 -2
  18. package/src/components/statusbar/ToggleStatusBar.vue +74 -0
  19. package/src/index.js +4 -3
  20. package/src/sass/includes/_as_buttons.scss +4 -38
  21. package/src/sass/includes/_as_cards.scss +0 -29
  22. package/src/sass/includes/_as_inputs.scss +5 -0
  23. package/src/sass/includes/_as_metrics.scss +0 -5
  24. package/src/sass/includes/_as_navs.scss +0 -16
  25. package/src/sass/includes/_as_statusbar.scss +179 -0
  26. package/src/sass/main.scss +1 -0
  27. package/dist/img/airship-feedback-hover.a207c947.svg +0 -10
  28. package/dist/img/airship-feedback.1f7c858c.svg +0 -10
  29. package/package-lock.json +0 -20285
  30. package/src/assets/icons/airship-feedback-hover.svg +0 -10
  31. package/src/assets/icons/airship-feedback.svg +0 -10
  32. package/src/components/cards/ToggleCommentCard.vue +0 -59
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toggle-components-library",
3
- "version": "1.36.1-beta.1",
3
+ "version": "1.36.1-beta.12",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <button :class="['toggle-metrics-button', buttonStyle, 'toggle-metrics-button-' + size]" :style="styles" @click="click">
3
- <div :class="icon" :style="styles ? 'background-color:' + styles.color : ''"></div>
2
+ <button :class="['toggle-metrics-button', buttonStyle]" @click="click">
3
+ <div :class="icon"></div>
4
4
  <slot>{{buttonText}}</slot>
5
5
  </button>
6
6
  </template>
@@ -19,22 +19,7 @@
19
19
  },
20
20
  icon: {
21
21
  type: String,
22
- required: false,
23
- validator: function(value) {
24
- return ["heatmap-icon", "email-icon", "contacts-icon"].indexOf(value) !== -1;
25
- }
26
- },
27
- size: {
28
- type: String,
29
- default: "medium",
30
- required: false,
31
- validator: function(value) {
32
- return ["small", "medium", "large"].indexOf(value) !== -1;
33
- }
34
- },
35
- styles: {
36
- type: Object,
37
- required: false,
22
+ required: true,
38
23
  },
39
24
  },
40
25
  methods: {
@@ -6,8 +6,8 @@
6
6
  <label class="toggle-input-label">{{label}}</label>
7
7
 
8
8
  <div class="toggle-date-input-container">
9
- <div class="toggle-date-input-calendar-icon">
10
- <input type="text" class="toggle-input" :name="name" ref="date-input" :id="'toggle-date-input'+_uid" :value="date" v-on:keypress="$event.preventDefault()">
9
+ <div :class="['toggle-date-input-calendar-icon', {'calendar-icon-disabled' :disabled}]">
10
+ <input type="text" class="toggle-input" :name="name" :disabled="disabled" ref="date-input" :id="'toggle-date-input'+_uid" :value="date" v-on:keypress="$event.preventDefault()" />
11
11
  </div>
12
12
  <button type="button" class="toggle-clear" v-on:click="clearDate" v-if="displayValue"></button>
13
13
  </div>
@@ -101,7 +101,11 @@ export default {
101
101
  maxLength:{
102
102
  type: Number,
103
103
  required:false
104
- }
104
+ },
105
+ disabled: {
106
+ type: Boolean,
107
+ default: false
108
+ },
105
109
  },
106
110
 
107
111
  created : function(){
@@ -3,7 +3,8 @@
3
3
 
4
4
 
5
5
 
6
- <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid }" v-on:click="focusClosestInput">
6
+ <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid, 'toggle-input-is-disabled':disabled }" v-on:click="focusClosestInput">
7
+
7
8
  <label
8
9
  v-if="label"
9
10
  :for="name ? name : 'InputText' "
@@ -16,6 +17,7 @@
16
17
  :placeholder="placeholder ? placeholder : '' "
17
18
  :autocomplete="autocomplete ? 'on' : 'off' "
18
19
  :required="required"
20
+ :disabled="disabled"
19
21
  v-model="inputVal"
20
22
  @blur="isInputActive = false"
21
23
  @focus="isInputActive = true"
@@ -91,8 +93,13 @@ export default {
91
93
  currencyDenomination: {
92
94
  type: Number,
93
95
  default: 100
94
- }
95
-
96
+ },
97
+ disabled: {
98
+ type: Boolean,
99
+ required: false,
100
+ default: false
101
+
102
+ },
96
103
  },
97
104
 
98
105
  created : function(){
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
 
3
- <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid }" v-on:click="focusClosestInput">
3
+ <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid, 'toggle-input-is-disabled':disabled }" v-on:click="focusClosestInput">
4
4
 
5
5
  <label
6
6
  v-if="label"
@@ -14,6 +14,7 @@
14
14
  :placeholder="placeholder ? placeholder : '' "
15
15
  :autocomplete="autocomplete ? 'on' : 'off' "
16
16
  :required="required"
17
+ :disabled="disabled"
17
18
  v-model="inputVal"
18
19
  @blur="isInputActive = false"
19
20
  @focus="isInputActive = true"
@@ -77,6 +78,11 @@ export default {
77
78
  allowFloat: {
78
79
  type: Boolean,
79
80
  default: false
81
+ },
82
+ disabled: {
83
+ type: Boolean,
84
+ required: false,
85
+ default: false
80
86
  }
81
87
  },
82
88
 
@@ -105,10 +105,6 @@ export default {
105
105
  }
106
106
  },
107
107
 
108
- created : function()
109
- {
110
- this.$nextTick(() => this.$refs['input_ele'].focus());
111
- },
112
108
  computed: {
113
109
  inputVal: {
114
110
  get: function (){
@@ -2,9 +2,7 @@
2
2
  <div>
3
3
  <h3 class="toggle-metric metric-label">{{label}}</h3>
4
4
  <div class="single-metric-icon" v-if="metricPending && label.length == 0"></div>
5
- <h1 class="toggle-metric metric-value" v-else>{{metricValue}}
6
- <span v-if="score" class="toggle-metric-score-rating">/{{value.maxScore}}</span>
7
- </h1>
5
+ <h1 class="toggle-metric metric-value" v-else>{{metricValue}}</h1>
8
6
  </div>
9
7
  </template>
10
8
 
@@ -23,20 +21,20 @@ export default {
23
21
  type: String,
24
22
  default: "ToggleMetricSingleMetric"
25
23
  },
26
- /**
24
+ /**
27
25
  * Type of the value, this will affect on the format shown
28
26
  */
29
27
  type : {
30
28
  type: String,
31
29
  validator: function (value) {
32
- return ['text', 'number', 'percentage', 'currency', 'score'].indexOf(value) !== -1
30
+ return ['text', 'number', 'percentage', 'currency'].indexOf(value) !== -1
33
31
  }
34
32
  },
35
33
  /**
36
34
  * Component's value
37
35
  */
38
36
  value: {
39
- type: [String, Number, Object],
37
+ type: [String, Number],
40
38
  required: true
41
39
  },
42
40
  /**
@@ -89,17 +87,14 @@ export default {
89
87
  case 'currency':
90
88
  return (this.value/this.currencyDenomination).toLocaleString(this.currencyLocale, {style: 'currency', currency: this.currencyCode});
91
89
  case'percentage':
92
- return `${this.value} %`;
93
- case 'score':
94
- return this.value.score;
90
+ return `${this.value} %`
95
91
  default:
96
92
  return this.value.toLocaleString();
97
93
 
98
94
  }
99
- },
100
- score() {
101
- return this.type === 'score';
102
95
  }
96
+
97
+
103
98
  }
104
99
  }
105
100
 
@@ -54,14 +54,14 @@ export default {
54
54
  type : {
55
55
  type: String,
56
56
  validator: function (value) {
57
- return ['text', 'number', 'percentage', 'currency', 'score'].indexOf(value) !== -1
57
+ return ['text', 'number', 'percentage', 'currency'].indexOf(value) !== -1
58
58
  }
59
59
  },
60
60
  /**
61
61
  * single metric component value
62
62
  */
63
63
  singleMetricVal: {
64
- type: [String, Number, Object],
64
+ type: [String, Number],
65
65
  required: true
66
66
  },
67
67
  /**
@@ -0,0 +1,74 @@
1
+ <template>
2
+ <div :class="['toggle-status-bar-container', statusColours, statusSize]">
3
+ <span class="toggle-status-bar-dot blinking toggle-status-bar-label" v-if="showDot">&#9679;</span>
4
+ <label class="toggle-status-bar-label">
5
+ {{ statusName }}
6
+ </label>
7
+
8
+ <div class="toggle-status-bar-tooltip-container" v-if="showToolTip && toolTipText.length">
9
+ <div class="toggle-status-bar-tooltip">
10
+ ?
11
+ <span class="toggle-status-bar-tooltip-text">{{ toolTipText }}</span>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ name: 'StatusBar',
20
+ props: {
21
+ status: {
22
+ type: String,
23
+ required: true,
24
+ validator: function (value) {
25
+ return ['draft', 'processing', 'complete', 'inactive', 'active', 'submitted', 'failed'].indexOf(value) !== -1;
26
+ }
27
+ },
28
+ size: {
29
+ type: String,
30
+ required: false,
31
+ default: 'regular',
32
+ validator: function (value) {
33
+ return ['small', 'regular'].indexOf(value) !== -1;
34
+ }
35
+ },
36
+ toolTipOptions: {
37
+ type: Object,
38
+ required: false
39
+ }
40
+ },
41
+ computed: {
42
+ // Capitalise the first letter of the status
43
+ statusName() {
44
+ return this.status.charAt(0).toUpperCase() + this.status.slice(1);
45
+ },
46
+ // Add the status to the class name
47
+ statusColours() {
48
+ return 'toggle-status-bar-' + this.status;
49
+ },
50
+ // Add the size to the class name
51
+ statusSize() {
52
+ return 'toggle-status-bar-' + this.size;
53
+ },
54
+ // Show the dot if the status is active or processing
55
+ showDot() {
56
+ return this.status === 'active' || this.status === 'processing' || this.status === 'submitted';
57
+ },
58
+ showToolTip() {
59
+ return this.size == 'regular';
60
+ },
61
+ toolTipText() {
62
+ if (!this.toolTipOptions) {
63
+ return '';
64
+ }
65
+
66
+ if (this.toolTipOptions[this.status]) {
67
+ return this.toolTipOptions[this.status];
68
+ } else {
69
+ return '';
70
+ }
71
+ }
72
+ }
73
+ }
74
+ </script>
package/src/index.js CHANGED
@@ -83,12 +83,13 @@ import ToggleMetricFunnelChart from "./components/metrics/ToggleMetricFunnelChar
83
83
  import ToggleThreeDots from "./components/threedots/ToggleThreeDots.vue";
84
84
  import ToggleThreeDotsButton from "./components/threedots/ToggleThreeDotsButton.vue";
85
85
 
86
+ import ToggleStatusBar from "./components/statusbar/ToggleStatusBar.vue";
87
+
86
88
  import ToggleCarousel from "./components/carousel/ToggleCarousel.vue";
87
89
  import ToggleCarouselSlide from "./components/carousel/ToggleCarouselSlide.vue";
88
90
 
89
91
  import ToggleEmailCard from "./components/cards/ToggleEmailCard.vue";
90
92
  import ToggleRewardsCard from "./components/cards/ToggleRewardsCard.vue";
91
- import ToggleCommentCard from "./components/cards/ToggleCommentCard.vue";
92
93
 
93
94
 
94
95
  import './sass/main.scss';
@@ -159,11 +160,11 @@ const Components = {
159
160
  ToggleBoosterBasicButton,
160
161
  ToggleBoosterModal,
161
162
  ToggleContactSearch,
163
+ ToggleStatusBar,
162
164
  ToggleCarousel,
163
165
  ToggleCarouselSlide,
164
166
  ToggleEmailCard,
165
- ToggleRewardsCard,
166
- ToggleCommentCard
167
+ ToggleRewardsCard
167
168
  }
168
169
 
169
170
  Object.keys(Components).forEach(name => {
@@ -395,7 +395,7 @@
395
395
  }
396
396
 
397
397
  &:hover .contacts-icon {
398
- background-color: white;
398
+ background-image: url("../assets/icons/contacts-white.svg");
399
399
  }
400
400
  }
401
401
  //icons
@@ -418,11 +418,9 @@
418
418
  }
419
419
 
420
420
  .contacts-icon {
421
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='.9em' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cstyle%3Esvg%7Bfill:%23fff%7D%3C/style%3E%3Cpath d='M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z'/%3E%3C/svg%3E");
422
- background-color: #6d90b4;
423
- -webkit-mask: var(--svg);
424
- mask: var(--svg);
425
- mask-repeat: no-repeat;
421
+ background-image: url("../assets/icons/contacts-greyblue.svg");
422
+ background-repeat:no-repeat;
423
+ background-size:contain;
426
424
  margin-right: 6px;
427
425
  width: 14px;
428
426
  height: 14px;
@@ -430,38 +428,6 @@
430
428
  }
431
429
  }
432
430
 
433
- .toggle-metrics-button-small {
434
- padding: 0px 13px;
435
- font-size: 12px;
436
- &.mini-contacts {
437
- font-size: 0.65rem;
438
- padding: 5px 12px;
439
- }
440
- .heatmap-icon {
441
- width: 21px;
442
- height: 21px;
443
- }
444
- .email-icon {
445
- width: 25px;
446
- height: 25px;
447
- }
448
- .contacts-icon {
449
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='.8em' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cstyle%3Esvg%7Bfill:%23fff%7D%3C/style%3E%3Cpath d='M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z'/%3E%3C/svg%3E");
450
- -webkit-mask: var(--svg);
451
- mask: var(--svg);
452
- mask-repeat: no-repeat;
453
- }
454
- }
455
-
456
- .toggle-metrics-button-large {
457
- padding: 23px 27px;
458
- font-size: 17px;
459
- &.mini-contacts {
460
- font-size: .92rem;
461
- padding: 10px 25px;
462
- }
463
- }
464
-
465
431
  .toggle-button-booster-badge {
466
432
  display: flex;
467
433
  align-items: center;
@@ -164,32 +164,3 @@
164
164
 
165
165
  }
166
166
 
167
- .toggle-comment-card {
168
- display: flex;
169
- flex-direction: row;
170
- width: 100%;
171
- height: 250px;
172
- border-radius: 18px;
173
- padding-right: 20px;
174
- font-size: $toggle-font-size-regular;
175
- font-family: $toggle-font-family;
176
- }
177
-
178
- .toggle-comment-card-info {
179
- display: flex;
180
- flex-direction: column;
181
- justify-content: space-between;
182
- padding: 30px 70px 20px 30px;
183
- color: white;
184
- border-radius: 30px;
185
- width: 100%;
186
-
187
- .toggle-comment-card-text {
188
- text-align: justify;
189
- line-height: 1.5rem;
190
-
191
- p {
192
- margin: 0
193
- }
194
- }
195
- }
@@ -227,6 +227,11 @@
227
227
  }
228
228
  }
229
229
 
230
+ .calendar-icon-disabled {
231
+ cursor: default;
232
+ opacity: 0.5;
233
+ }
234
+
230
235
  .calendar-icon-disabled {
231
236
  cursor: default;
232
237
  opacity: 0.5;
@@ -134,9 +134,4 @@
134
134
 
135
135
  .increase-padding-bottom {
136
136
  padding-bottom: 3rem !important;
137
- }
138
-
139
- .toggle-metric-score-rating {
140
- font-size: 27px;
141
- margin-left: -8px;
142
137
  }
@@ -342,11 +342,6 @@
342
342
  &.airship-hat-icon span::before {
343
343
  background-image: url("../assets/icons/airship-hat-hover.svg");
344
344
  }
345
-
346
- &.airship-feedback-icon a::before,
347
- &.airship-feedback-icon span::before {
348
- background-image: url("../assets/icons/airship-feedback-hover.svg");
349
- }
350
345
  }
351
346
  }
352
347
 
@@ -511,17 +506,6 @@
511
506
  animation: tilt-shake 0.4s;
512
507
  background-image: url("../assets/icons/airship-audiences-hover.svg");
513
508
  }
514
- // add feedbacl
515
- &.airship-feedback-icon a::before,
516
- &.airship-feedback-icon span::before {
517
- background-image: url("../assets/icons/airship-feedback.svg");
518
- }
519
-
520
- &.airship-feedback-icon a:hover::before,
521
- &.airship-feedback-icon span:hover::before {
522
- animation: tilt-shake 0.4s;
523
- background-image: url("../assets/icons/airship-feedback-hover.svg");
524
- }
525
509
 
526
510
  }
527
511
  }
@@ -0,0 +1,179 @@
1
+ .toggle-status-bar-container {
2
+ font-family: $toggle-font-family;
3
+ font-size: 16px !important;
4
+ display: flex;
5
+ justify-content: center;
6
+ align-items: center;
7
+ height: 50px;
8
+ width: 100%;
9
+ min-width: 94px;
10
+ border-radius: 7px;
11
+ }
12
+
13
+ .toggle-status-bar-small {
14
+ height: 35px;
15
+ }
16
+
17
+ // Tooltip
18
+ .toggle-status-bar-tooltip-container{
19
+ position: absolute;
20
+ display: flex;
21
+ justify-content: right;
22
+ width: 100%;
23
+ right: 32px;
24
+ cursor: default;
25
+
26
+ .toggle-status-bar-tooltip {
27
+ position: relative;
28
+ display: inline-block;
29
+ width: 20px;
30
+ text-align: center;
31
+ border: 1px solid hotpink;
32
+ border-radius: 50px;
33
+ }
34
+
35
+ // Tooltip text
36
+ .toggle-status-bar-tooltip .toggle-status-bar-tooltip-text {
37
+ visibility: hidden;
38
+ width: 200px;
39
+ background-color: rgba(0, 0, 0, .8);
40
+ color: #fff;
41
+ text-align: center;
42
+ padding: 10px;
43
+ border-radius: 6px;
44
+ position: absolute;
45
+ z-index: 1;
46
+ top: -5px;
47
+ right: 105%;
48
+ }
49
+
50
+ .toggle-status-bar-tooltip:hover .toggle-status-bar-tooltip-text {
51
+ visibility: visible;
52
+ }
53
+ }
54
+
55
+
56
+ // Draft colours
57
+ .toggle-status-bar-draft {
58
+ background-color: #FFB88D;
59
+
60
+ .toggle-status-bar-label {
61
+ color: #A34308;
62
+ }
63
+
64
+ .toggle-status-bar-tooltip {
65
+ color: #A34308;
66
+ border: 1px solid #A34308;
67
+ }
68
+ }
69
+
70
+ // Processing colours
71
+ .toggle-status-bar-processing {
72
+ background-color: #D7E9F2;
73
+
74
+ .toggle-status-bar-label {
75
+ color: #269BE3;
76
+ }
77
+
78
+ .toggle-status-bar-tooltip {
79
+ color: #269BE3;
80
+ border: 1px solid #269BE3;
81
+ }
82
+ }
83
+
84
+ // Complete colours
85
+ .toggle-status-bar-complete {
86
+ background-color: #B3E49F;
87
+
88
+ .toggle-status-bar-label {
89
+ color: #3BB40B;
90
+ }
91
+
92
+ .toggle-status-bar-tooltip {
93
+ color: #3BB40B;
94
+ border: 1px solid #3BB40B;
95
+ }
96
+ }
97
+
98
+ // Inactive colours
99
+ .toggle-status-bar-inactive {
100
+ background-color: #D7E9F2;
101
+
102
+ .toggle-status-bar-label {
103
+ color: #269BE3;
104
+ }
105
+
106
+ .toggle-status-bar-tooltip {
107
+ color: #269BE3;
108
+ border: 1px solid #269BE3;
109
+ }
110
+ }
111
+
112
+ // Active colours
113
+ .toggle-status-bar-active {
114
+ background-color: #D7E9F2;
115
+ border: 1px solid #FF4848;
116
+
117
+ .toggle-status-bar-label {
118
+ color: #FF4848;
119
+ }
120
+
121
+ .toggle-status-bar-tooltip {
122
+ color: #FF4848;
123
+ border: 1px solid #FF4848;
124
+ }
125
+ }
126
+
127
+ // Submitted colours
128
+ .toggle-status-bar-submitted {
129
+ background-color: #D7E9F2;
130
+
131
+ .toggle-status-bar-label {
132
+ color: #269BE3;
133
+ }
134
+
135
+ .toggle-status-bar-tooltip {
136
+ color: #269BE3;
137
+ border: 1px solid #269BE3;
138
+ }
139
+
140
+ }
141
+
142
+ // Failed colours
143
+ .toggle-status-bar-failed {
144
+ background-color: #F2E3E3;
145
+ border: 1px solid #ED7B7C;
146
+
147
+ .toggle-status-bar-label {
148
+ color: #ED7B7C;
149
+ }
150
+
151
+ .toggle-status-bar-tooltip {
152
+ color: #ED7B7C;
153
+ border: 1px solid #ED7B7C;
154
+ }
155
+ }
156
+
157
+ .toggle-status-bar-dot {
158
+ font-size: 20px;
159
+ margin: 0 3px 2px 0;
160
+ float: none !important;
161
+ padding: 0 !important;
162
+ }
163
+
164
+ // Dot blinking animation
165
+ .blinking {
166
+ animation: 2s blink ease infinite;
167
+ }
168
+
169
+ @keyframes blink {
170
+
171
+ from,
172
+ to {
173
+ opacity: 0;
174
+ }
175
+
176
+ 50% {
177
+ opacity: 1;
178
+ }
179
+ }
@@ -21,5 +21,6 @@
21
21
  @import "./includes/_as_metrics.scss";
22
22
  @import "./includes/_as_threedots.scss";
23
23
  @import "./includes/_as_boosters.scss";
24
+ @import "./includes/_as_statusbar.scss";
24
25
  @import "./includes/_as_cards.scss";
25
26
  @import "./includes/_as_carousels.scss";
@@ -1,10 +0,0 @@
1
- <svg id="Group_10" data-name="Group 10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="624.048" height="499" viewBox="0 0 624.048 499">
2
- <defs>
3
- <clipPath id="clip-path">
4
- <rect id="Rectangle_25" data-name="Rectangle 25" width="624.048" height="499" fill="none"/>
5
- </clipPath>
6
- </defs>
7
- <g id="Group_9" data-name="Group 9" clip-path="url(#clip-path)">
8
- <path id="Path_3" data-name="Path 3" d="M617.3,465.069l-.384-.318c-.385-.317-.9-.738-1.674-1.49-1.419-1.279-3.616-3.309-6.36-6.112a225.664,225.664,0,0,1-20.162-23.534c-.136-.182-.271-.367-.406-.55-22.957-31.214-26.261-72.555-9.486-107.484,16.327-34,23.783-71.208,20.13-109.472C586.148,81.9,441.91-14.07,276.747,1.694S-11.9,138.983.914,273.192,157.963,503.371,323.126,487.608a364.7,364.7,0,0,0,89.545-20,77.522,77.522,0,0,1,58.556,2.224,367.136,367.136,0,0,0,38.334,14.95c29.035,9.42,63.567,16.569,96.922,13.5A19.281,19.281,0,0,0,622.561,486.8a18.785,18.785,0,0,0-5.261-21.731m-446.79-153.1A50.455,50.455,0,1,1,216.243,257.2a50.456,50.456,0,0,1-45.733,54.772m138.931-12.493a50.454,50.454,0,1,1,45.734-54.77,50.454,50.454,0,0,1-45.734,54.77m134.991-12.137a50.455,50.455,0,1,1,45.733-54.769,50.455,50.455,0,0,1-45.733,54.769" transform="translate(0 0)" fill="#477ef6"/>
9
- </g>
10
- </svg>
@@ -1,10 +0,0 @@
1
- <svg id="Group_10" data-name="Group 10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="624.048" height="499" viewBox="0 0 624.048 499">
2
- <defs>
3
- <clipPath id="clip-path">
4
- <rect id="Rectangle_25" data-name="Rectangle 25" width="624.048" height="499" fill="none"/>
5
- </clipPath>
6
- </defs>
7
- <g id="Group_9" data-name="Group 9" clip-path="url(#clip-path)">
8
- <path id="Path_3" data-name="Path 3" d="M617.3,465.069l-.384-.318c-.385-.317-.9-.738-1.674-1.49-1.419-1.279-3.616-3.309-6.36-6.112a225.664,225.664,0,0,1-20.162-23.534c-.136-.182-.271-.367-.406-.55-22.957-31.214-26.261-72.555-9.486-107.484,16.327-34,23.783-71.208,20.13-109.472C586.148,81.9,441.91-14.07,276.747,1.694S-11.9,138.983.914,273.192,157.963,503.371,323.126,487.608a364.7,364.7,0,0,0,89.545-20,77.522,77.522,0,0,1,58.556,2.224,367.136,367.136,0,0,0,38.334,14.95c29.035,9.42,63.567,16.569,96.922,13.5A19.281,19.281,0,0,0,622.561,486.8a18.785,18.785,0,0,0-5.261-21.731m-446.79-153.1A50.455,50.455,0,1,1,216.243,257.2a50.456,50.456,0,0,1-45.733,54.772m138.931-12.493a50.454,50.454,0,1,1,45.734-54.77,50.454,50.454,0,0,1-45.734,54.77m134.991-12.137a50.455,50.455,0,1,1,45.733-54.769,50.455,50.455,0,0,1-45.733,54.769" transform="translate(0 0)" fill="#354b64"/>
9
- </g>
10
- </svg>