@sedoo/unidoo 0.1.71 → 0.1.72

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.
@@ -1,39 +1,54 @@
1
1
  /* eslint-disable keyword-spacing */
2
2
  <template>
3
- <v-container>
4
- <section heatmap-calendar>
5
- <div
6
- month
7
- v-for="(month, monthIndex) in heatmap.monthCalendar"
8
- :key="monthIndex">
9
- <header>{{ lo.months[monthIndex] }}</header>
10
- <div days>
11
- <div
12
- :class="computeClass(day)"
13
- v-for="(day, dayIndex) in month"
14
- :key="dayIndex"
15
- :data-day="formatDate(day.date)"
16
- :data-count="day.count"
17
- :data-color="day.colorIndex"
18
- :style="{ opacity : ((day.date <= now) ? 1 : 0.3), backgroundColor: getColor(day.colorIndex) }"
19
- v-tooltip="tooltipOptions(day)"
20
- @click="handleClick($event,day)">
21
- <div v-if="day.date < now" :style="{ color: getTextColor(day) }">{{ dayIndex + 1 }}</div>
3
+ <client-only>
4
+ <v-container>
5
+ <section v-if="heatmap" heatmap-calendar>
6
+ <div
7
+ month
8
+ v-for="(month, monthIndex) in heatmap.monthCalendar"
9
+ :key="monthIndex"
10
+ >
11
+ <header>{{ lo.months[monthIndex] }}</header>
12
+ <div days>
13
+ <div
14
+ :class="computeClass(day)"
15
+ v-for="(day, dayIndex) in month"
16
+ :key="dayIndex"
17
+ :data-day="formatDate(day.date)"
18
+ :data-count="day.count"
19
+ :data-color="day.colorIndex"
20
+ :style="{
21
+ opacity: day.date <= now ? 1 : 0.3,
22
+ backgroundColor: getColor(day.colorIndex)
23
+ }"
24
+ v-tooltip="tooltipOptions(day)"
25
+ @click="handleClick($event, day)"
26
+ >
27
+ <div v-if="day.date < now" :style="{ color: getTextColor(day) }">
28
+ {{ dayIndex + 1 }}
29
+ </div>
30
+ </div>
22
31
  </div>
23
32
  </div>
24
- </div>
25
- </section>
26
- </v-container>
33
+ </section>
34
+ </v-container>
35
+ </client-only>
27
36
  </template>
28
37
 
29
38
  <script>
30
- import Plugin from '../../plugin.js'
31
- import { VTooltip } from 'v-tooltip'
32
- import Heatmap from './Heatmap'
33
- import { DEFAULT_LOCALE, DEFAULT_RANGE_COLOR, DEFAULT_TOOLTIP_UNIT } from './consts.js'
34
- import { utcToZonedTime } from 'date-fns-tz'
39
+ import Plugin from "../../plugin.js";
40
+ import { VTooltip } from "v-tooltip";
41
+ import Heatmap from "./Heatmap";
42
+ import {
43
+ DEFAULT_LOCALE,
44
+ DEFAULT_RANGE_COLOR,
45
+ DEFAULT_TOOLTIP_UNIT
46
+ } from "./consts.js";
47
+ import { utcToZonedTime } from "date-fns-tz";
35
48
 
36
- VTooltip.enabled = window.innerWidth > 768
49
+ if (typeof window !== "undefined") {
50
+ VTooltip.enabled = window.innerWidth > 768;
51
+ }
37
52
 
38
53
  export default {
39
54
  directives: {
@@ -75,7 +90,7 @@ export default {
75
90
  showCount: {
76
91
  type: Boolean,
77
92
  default: false
78
- },
93
+ },
79
94
  noDataText: {
80
95
  type: String,
81
96
  default: null
@@ -93,22 +108,22 @@ export default {
93
108
  default: "Europe/Paris"
94
109
  }
95
110
  },
96
- data: () => ({
97
-
98
- }),
111
+ data: () => ({}),
99
112
  watch: {
100
- dateValue (val) {
101
- this.focusDate(val)
102
- this.updateDateSwitcher(val)
103
- },
104
- year (val, old) {
105
- if (val !== old) {
106
- const rects = document.querySelectorAll('[heatmap-calendar] [month] .monthday')
107
- rects.forEach(element => {
108
- element.classList.remove('day-focus')
113
+ dateValue(val) {
114
+ this.focusDate(val);
115
+ this.updateDateSwitcher(val);
116
+ },
117
+ year(val, old) {
118
+ if (val !== old && typeof document !== "undefined") {
119
+ const rects = document.querySelectorAll(
120
+ "[heatmap-calendar] [month] .monthday"
121
+ );
122
+ rects.forEach((element) => {
123
+ element.classList.remove("day-focus");
109
124
  });
110
- this.focusDate(this.dateValue)
111
- this.updateDateSwitcher(null)
125
+ this.focusDate(this.dateValue);
126
+ this.updateDateSwitcher(null);
112
127
  }
113
128
  }
114
129
  },
@@ -116,10 +131,11 @@ export default {
116
131
  now() {
117
132
  return new Date(new Date().setHours(23, 59, 59, 999)).toUnidooUTC();
118
133
  },
119
- heatmap () {
120
- return new Heatmap(this.year, this.values, this.completeValue)
134
+ heatmap() {
135
+ if (typeof window === "undefined") return null;
136
+ return new Heatmap(this.year, this.values, this.completeValue);
121
137
  },
122
- lo () {
138
+ lo() {
123
139
  if (this.locale) {
124
140
  return {
125
141
  months: this.locale.months || DEFAULT_LOCALE.months,
@@ -127,111 +143,130 @@ export default {
127
143
  on: this.locale.on || DEFAULT_LOCALE.on,
128
144
  less: this.locale.less || DEFAULT_LOCALE.less,
129
145
  more: this.locale.more || DEFAULT_LOCALE.more
130
- }
146
+ };
131
147
  }
132
- return DEFAULT_LOCALE
148
+ return DEFAULT_LOCALE;
133
149
  },
134
150
  dateValue() {
135
151
  if (this.value) {
136
- return (this.value instanceof Date) ? this.value : this.value.date;
152
+ return this.value instanceof Date ? this.value : this.value.date;
137
153
  } else {
138
154
  return this.value;
139
155
  }
140
156
  }
141
157
  },
142
- beforeMount () {
158
+ beforeMount() {
143
159
  const self = this;
144
- Date.prototype.toUnidooUTC = function() {
145
- return utcToZonedTime(this, self.timeZone);
146
- }
147
- Plugin.EventBus.$on("unidoo-heatmap-set-date", params => {
160
+ Date.prototype.toUnidooUTC = function () {
161
+ return utcToZonedTime(this, self.timeZone);
162
+ };
163
+ Plugin.EventBus.$on("unidoo-heatmap-set-date", (params) => {
148
164
  if (this.heatmapKey) {
149
165
  if (params.key === this.heatmapKey && params.date) {
150
- this.setDate(params.date)
151
- }
166
+ this.setDate(params.date);
167
+ }
152
168
  } else if (params.date) {
153
- this.setDate(params.date)
169
+ this.setDate(params.date);
154
170
  }
155
- })
156
- Plugin.EventBus.$on("unidoo-heatmap-get-date", params => {
171
+ });
172
+ Plugin.EventBus.$on("unidoo-heatmap-get-date", (params) => {
157
173
  if (this.heatmapKey) {
158
174
  if (params.key === this.heatmapKey) {
159
- this.updateDateSwitcher(this.dateValue)
160
- }
161
- } else {
162
- this.updateDateSwitcher(this.dateValue)
175
+ this.updateDateSwitcher(this.dateValue);
176
+ }
177
+ } else {
178
+ this.updateDateSwitcher(this.dateValue);
163
179
  }
164
- })
180
+ });
165
181
  },
166
182
  methods: {
167
- computeClass (day) {
168
- return `monthday ${((day.date <= this.now) ? 'clickable' : 'not-clickable')} ${(this.isSameDay(day.date, this.dateValue) ? 'day-focus' : '')}`
183
+ computeClass(day) {
184
+ return `monthday ${
185
+ day.date <= this.now ? "clickable" : "not-clickable"
186
+ } ${this.isSameDay(day.date, this.dateValue) ? "day-focus" : ""}`;
169
187
  },
170
- tooltipOptions (day) {
188
+ tooltipOptions(day) {
171
189
  if (this.tooltip) {
172
190
  if (day.count != null) {
173
191
  if (this.showCount) {
174
192
  return {
175
- content: `<b>${day.count} ${this.tooltipUnit}</b> ${this.lo.on} ${this.lo.months[day.date.getMonth()]} ${day.date.getDate()}, ${day.date.getFullYear()}`,
193
+ content: `<b>${day.count} ${this.tooltipUnit}</b> ${this.lo.on} ${
194
+ this.lo.months[day.date.getMonth()]
195
+ } ${day.date.getDate()}, ${day.date.getFullYear()}`,
176
196
  delay: { show: 150, hide: 50 }
177
- }
197
+ };
178
198
  } else {
179
199
  return {
180
- content: `${this.lo.on} ${this.lo.months[day.date.getMonth()]} ${day.date.getDate()}, ${day.date.getFullYear()}`,
200
+ content: `${this.lo.on} ${
201
+ this.lo.months[day.date.getMonth()]
202
+ } ${day.date.getDate()}, ${day.date.getFullYear()}`,
181
203
  delay: { show: 150, hide: 50 }
182
- }
204
+ };
183
205
  }
184
206
  } else if (this.noDataText) {
185
207
  return {
186
208
  content: `${this.noDataText}`,
187
209
  delay: { show: 150, hide: 50 }
188
- }
210
+ };
189
211
  } else {
190
212
  return {
191
- content: `${this.lo.on} ${this.lo.months[day.date.getMonth()]} ${day.date.getDate()}, ${day.date.getFullYear()}`,
213
+ content: `${this.lo.on} ${
214
+ this.lo.months[day.date.getMonth()]
215
+ } ${day.date.getDate()}, ${day.date.getFullYear()}`,
192
216
  delay: { show: 150, hide: 50 }
193
- }
217
+ };
194
218
  }
195
219
  }
196
- return false
220
+ return false;
197
221
  },
198
- handleClick (e, day) {
222
+ handleClick(e, day) {
199
223
  if (day) {
200
- if (day.date <= this.now && (typeof day.count === 'number' || this.missingAllowed)) {
224
+ if (
225
+ day.date <= this.now &&
226
+ (typeof day.count === "number" || this.missingAllowed)
227
+ ) {
201
228
  if (this.returnObject) {
202
- this.$emit('input', day);
229
+ this.$emit("input", day);
203
230
  } else {
204
- this.$emit('input', day.date);
231
+ this.$emit("input", day.date);
205
232
  }
206
233
  }
207
234
  }
208
235
  },
209
- setDate (d) {
210
- if (!d) return
236
+ setDate(d) {
237
+ if (!d) return;
211
238
  const day = this.heatmap.getDayFromDate(d);
212
239
  this.handleClick(null, day);
213
240
  },
214
- updateDateSwitcher (d) {
215
- this.$unidooDateSwitcher.update({
216
- hasPrevious: this.hasPreviousDate(d),
217
- hasNext: this.hasNextDate(d),
218
- previousAvailable: this.heatmap.getPreviousAvailableDate(d),
219
- nextAvailable: this.heatmap.getNextAvailableDate(d)
220
- }, this.heatmapKey);
221
- },
222
- hasPreviousDate (d) {
241
+ updateDateSwitcher(d) {
242
+ this.$unidooDateSwitcher.update(
243
+ {
244
+ hasPrevious: this.hasPreviousDate(d),
245
+ hasNext: this.hasNextDate(d),
246
+ previousAvailable: this.heatmap.getPreviousAvailableDate(d),
247
+ nextAvailable: this.heatmap.getNextAvailableDate(d)
248
+ },
249
+ this.heatmapKey
250
+ );
251
+ },
252
+ hasPreviousDate(d) {
223
253
  if (!d || !this.isDateInYear(d)) return false;
224
- const syear = (this.year instanceof Date) ? this.year.getFullYear() : this.year;
254
+ const syear =
255
+ this.year instanceof Date ? this.year.getFullYear() : this.year;
225
256
  const firstDay = new Date(syear, 0, 1).toUnidooUTC();
226
257
  d.setHours(0, 0, 0, 0);
227
258
  if (d <= firstDay) return false;
228
- return true;
259
+ return true;
229
260
  },
230
- hasNextDate (d) {
261
+ hasNextDate(d) {
231
262
  if (!d || !this.isDateInYear(d)) return false;
232
- const syear = (this.year instanceof Date) ? this.year.getFullYear() : this.year;
263
+ const syear =
264
+ this.year instanceof Date ? this.year.getFullYear() : this.year;
233
265
  let lastDay = null;
234
- if (new Date(syear, 0, 1).toUnidooUTC().getFullYear() === new Date().toUnidooUTC().getFullYear()) {
266
+ if (
267
+ new Date(syear, 0, 1).toUnidooUTC().getFullYear() ===
268
+ new Date().toUnidooUTC().getFullYear()
269
+ ) {
235
270
  lastDay = new Date().toUnidooUTC();
236
271
  } else {
237
272
  lastDay = new Date(syear, 11, 31).toUnidooUTC();
@@ -240,237 +275,244 @@ export default {
240
275
  if (d >= lastDay) return false;
241
276
  return true;
242
277
  },
243
- focusDate (d) {
244
- if (!d) return
278
+ focusDate(d) {
279
+ if (!d) return;
245
280
  const date = this.formatDate(d);
246
- const el = this.$el.querySelector(`[data-day='${date}']`)
281
+ const el = this.$el.querySelector(`[data-day='${date}']`);
247
282
  if (el) {
248
- this.focusElement(el)
283
+ this.focusElement(el);
249
284
  }
250
285
  },
251
- focusElement (el) {
252
- const rects = this.$el.querySelectorAll('[heatmap-calendar] [month] .monthday')
253
- rects.forEach(element => {
254
- element.classList.remove('day-focus')
286
+ focusElement(el) {
287
+ const rects = this.$el.querySelectorAll(
288
+ "[heatmap-calendar] [month] .monthday"
289
+ );
290
+ rects.forEach((element) => {
291
+ element.classList.remove("day-focus");
255
292
  });
256
- el.classList.add('day-focus');
293
+ el.classList.add("day-focus");
257
294
  },
258
- getColor (index) {
259
- if (typeof this.rangeColor[index] === 'undefined') {
260
- return this.rangeColor[0]
295
+ getColor(index) {
296
+ if (typeof this.rangeColor[index] === "undefined") {
297
+ return this.rangeColor[0];
261
298
  } else {
262
- return this.rangeColor[index]
299
+ return this.rangeColor[index];
263
300
  }
264
301
  },
265
302
  // compute text contrast (source https://codepen.io/davidhalford/pen/ywEva)
266
- getTextColor (day) {
267
- const rectColor = this.getColor(day.colorIndex)
268
- if (rectColor && rectColor.startsWith('#')) {
303
+ getTextColor(day) {
304
+ const rectColor = this.getColor(day.colorIndex);
305
+ if (rectColor && rectColor.startsWith("#")) {
269
306
  const threshold = 130; /* about half of 256. Lower threshold equals more dark text on dark background */
270
- const hRed = this.hexToR(rectColor)
271
- const hGreen = this.hexToG(rectColor)
272
- const hBlue = this.hexToB(rectColor)
273
- const cBrightness = ((hRed * 299) + (hGreen * 587) + (hBlue * 114)) / 1000
307
+ const hRed = this.hexToR(rectColor);
308
+ const hGreen = this.hexToG(rectColor);
309
+ const hBlue = this.hexToB(rectColor);
310
+ const cBrightness = (hRed * 299 + hGreen * 587 + hBlue * 114) / 1000;
274
311
  if (cBrightness > threshold) {
275
- return "#000000"
312
+ return "#000000";
276
313
  } else {
277
- return "#ffffff"
314
+ return "#ffffff";
278
315
  }
279
316
  } else {
280
- return "#000000"
317
+ return "#000000";
281
318
  }
282
319
  },
283
- hexToR (h) {
284
- return parseInt((this.cutHex(h)).substring(0, 2), 16)
320
+ hexToR(h) {
321
+ return parseInt(this.cutHex(h).substring(0, 2), 16);
285
322
  },
286
- hexToG (h) {
287
- return parseInt((this.cutHex(h)).substring(2, 4), 16)
323
+ hexToG(h) {
324
+ return parseInt(this.cutHex(h).substring(2, 4), 16);
288
325
  },
289
- hexToB (h) {
290
- return parseInt((this.cutHex(h)).substring(4, 6), 16)
326
+ hexToB(h) {
327
+ return parseInt(this.cutHex(h).substring(4, 6), 16);
291
328
  },
292
- cutHex (h) {
293
- return (h.charAt(0) === "#") ? h.substring(1, 7) : h
329
+ cutHex(h) {
330
+ return h.charAt(0) === "#" ? h.substring(1, 7) : h;
294
331
  },
295
- formatDate (d) {
296
- if (!d) return ''
297
- const date = new Date(d).toUnidooUTC()
298
- if (!date) return ''
299
- const dd = date.getDate()
300
- const mm = date.getMonth() + 1
301
- const yyyy = date.getFullYear()
302
- return `${yyyy}-${mm}-${dd}`
332
+ formatDate(d) {
333
+ if (!d) return "";
334
+ const date = new Date(d).toUnidooUTC();
335
+ if (!date) return "";
336
+ const dd = date.getDate();
337
+ const mm = date.getMonth() + 1;
338
+ const yyyy = date.getFullYear();
339
+ return `${yyyy}-${mm}-${dd}`;
303
340
  },
304
- isSameDay (first, second) {
305
- if (!first || !second) return false
306
- return first.getFullYear() === second.getFullYear() &&
341
+ isSameDay(first, second) {
342
+ if (!first || !second) return false;
343
+ return (
344
+ first.getFullYear() === second.getFullYear() &&
307
345
  first.getMonth() === second.getMonth() &&
308
346
  first.getDate() === second.getDate()
347
+ );
309
348
  },
310
- isDateInYear (d) {
349
+ isDateInYear(d) {
311
350
  if (this.year && d) {
312
- const sd = '' + ((d instanceof Date) ? d.getFullYear() : d);
313
- const syear = '' + ((this.year instanceof Date) ? this.year.getFullYear() : this.year);
351
+ const sd = "" + (d instanceof Date ? d.getFullYear() : d);
352
+ const syear =
353
+ "" +
354
+ (this.year instanceof Date ? this.year.getFullYear() : this.year);
314
355
  return syear === sd;
315
356
  } else {
316
- return false
357
+ return false;
317
358
  }
318
359
  }
319
360
  }
320
- }
361
+ };
321
362
  </script>
322
363
  <style scoped>
323
- section[heatmap-calendar] {
324
- display:flex;
325
- flex-flow:row wrap;
326
- max-width: 1300px;
327
- line-height: 1.5;
328
- }
364
+ section[heatmap-calendar] {
365
+ display: flex;
366
+ flex-flow: row wrap;
367
+ max-width: 1300px;
368
+ line-height: 1.5;
369
+ }
370
+ section[heatmap-calendar] [month] {
371
+ display: flex;
372
+ flex: 0 0 580px;
373
+ flex-flow: row nowrap;
374
+ align-items: top;
375
+ }
376
+ section[heatmap-calendar] [month] header {
377
+ flex: 0 0 35px;
378
+ color: #767676;
379
+ font-size: 12px;
380
+ }
381
+ section[heatmap-calendar] [month] [days] {
382
+ display: flex;
383
+ flex-direction: row;
384
+ flex-wrap: wrap;
385
+ margin: 0 5px;
386
+ }
387
+ section[heatmap-calendar] [month] .monthday {
388
+ margin-right: 2px;
389
+ margin-bottom: 2px;
390
+ width: 15px;
391
+ height: 15px;
392
+ text-align: center;
393
+ background-color: rgb(235, 237, 240);
394
+ }
395
+ section[heatmap-calendar] .monthday:not(:nth-child(7n + 1)) > div {
396
+ display: none;
397
+ }
398
+ section[heatmap-calendar] [month] .monthday.not-clickable {
399
+ opacity: 0.2;
400
+ }
401
+ section[heatmap-calendar] [month] .monthday.clickable:hover {
402
+ outline: 2px solid rgb(195, 195, 195);
403
+ cursor: pointer;
404
+ }
405
+ section[heatmap-calendar] [month] .monthday > div {
406
+ fill: black;
407
+ pointer-events: none;
408
+ font-size: 11px;
409
+ letter-spacing: 0;
410
+ line-height: 15px;
411
+ }
412
+ section[heatmap-calendar] [month] .monthday.day-focus {
413
+ box-shadow: 0px 0px 0px 1px rgba(255, 0, 0, 0.5);
414
+ }
415
+ section[heatmap-calendar] [month] .monthday.day-focus::before {
416
+ display: block;
417
+ position: absolute;
418
+ content: "";
419
+ height: 15px;
420
+ width: 15px;
421
+ background: rgba(255, 55, 43, 0.5);
422
+ }
423
+ @media screen and (max-width: 1160px) {
329
424
  section[heatmap-calendar] [month] {
330
- display:flex;
331
- flex: 0 0 580px;
332
- flex-flow:row nowrap;
333
- align-items: top;
334
- }
335
- section[heatmap-calendar] [month] header {
336
- flex: 0 0 35px;
337
- color:#767676;
338
- font-size: 12px;
339
- }
340
- section[heatmap-calendar] [month] [days] {
341
- display: flex;
342
- flex-direction: row;
343
- flex-wrap: wrap;
344
- margin: 0 5px;
345
- }
346
- section[heatmap-calendar] [month] .monthday{
347
- margin-right: 2px;
348
- margin-bottom: 2px;
349
- width:15px;
350
- height:15px;
351
- text-align: center;
352
- background-color:rgb(235, 237, 240);
353
- }
354
- section[heatmap-calendar] .monthday:not(:nth-child(7n+1)) > div {
355
- display:none;
356
- }
357
- section[heatmap-calendar] [month] .monthday.not-clickable {
358
- opacity:0.2;
359
- }
360
- section[heatmap-calendar] [month] .monthday.clickable:hover {
361
- outline:2px solid rgb(195, 195, 195);
362
- cursor: pointer;
363
- }
364
- section[heatmap-calendar] [month] .monthday > div {
365
- fill:black;
366
- pointer-events:none;
367
- font-size: 11px;
368
- letter-spacing: 0;
369
- line-height: 15px;
370
- }
371
- section[heatmap-calendar] [month] .monthday.day-focus{
372
- box-shadow: 0px 0px 0px 1px rgba(255,0,0,0.5);
373
- }
374
- section[heatmap-calendar] [month] .monthday.day-focus::before{
375
- display: block;
376
- position: absolute;
377
- content: '';
378
- height: 15px;
379
- width: 15px;
380
- background: rgba(255,55,43,0.5);
381
- }
382
- @media screen and (max-width: 1160px) {
383
- section[heatmap-calendar] [month] {
384
- flex:auto;
385
- }
425
+ flex: auto;
386
426
  }
427
+ }
387
428
  </style>
388
429
  <style>
389
- .vue-tooltip-theme.tooltip {
390
- display: block !important;
391
- z-index: 10000;
392
- }
393
- .vue-tooltip-theme.tooltip .tooltip-inner {
394
- background: rgba(0, 0, 0, .7);
395
- border-radius: 3px;
396
- color: #ebedf0;
397
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
398
- font-size: 12px;
399
- line-height: 16px;
400
- padding: 14px 10px;
401
- }
402
- .vue-tooltip-theme.tooltip .tooltip-inner b {
403
- color: white;
404
- }
405
- .vue-tooltip-theme.tooltip .tooltip-arrow {
406
- width: 0;
407
- height: 0;
408
- border-style: solid;
409
- position: absolute;
410
- margin: 5px;
411
- border-color: black;
412
- z-index: 1;
413
- }
414
- .vue-tooltip-theme.tooltip[x-placement^="top"] {
415
- margin-bottom: 5px;
416
- }
417
- .vue-tooltip-theme.tooltip[x-placement^="top"] .tooltip-arrow {
418
- border-width: 5px 5px 0 5px;
419
- border-left-color: transparent !important;
420
- border-right-color: transparent !important;
421
- border-bottom-color: transparent !important;
422
- bottom: -5px;
423
- left: calc(50% - 5px);
424
- margin-top: 0;
425
- margin-bottom: 0;
426
- }
427
- .vue-tooltip-theme.tooltip[x-placement^="bottom"] {
428
- margin-top: 5px;
429
- }
430
- .vue-tooltip-theme.tooltip[x-placement^="bottom"] .tooltip-arrow {
431
- border-width: 0 5px 5px 5px;
432
- border-left-color: transparent !important;
433
- border-right-color: transparent !important;
434
- border-top-color: transparent !important;
435
- top: -5px;
436
- left: calc(50% - 5px);
437
- margin-top: 0;
438
- margin-bottom: 0;
439
- }
440
- .vue-tooltip-theme.tooltip[x-placement^="right"] {
441
- margin-left: 5px;
442
- }
443
- .vue-tooltip-theme.tooltip[x-placement^="right"] .tooltip-arrow {
444
- border-width: 5px 5px 5px 0;
445
- border-left-color: transparent !important;
446
- border-top-color: transparent !important;
447
- border-bottom-color: transparent !important;
448
- left: -5px;
449
- top: calc(50% - 5px);
450
- margin-left: 0;
451
- margin-right: 0;
452
- }
453
- .vue-tooltip-theme.tooltip[x-placement^="left"] {
454
- margin-right: 5px;
455
- }
456
- .vue-tooltip-theme.tooltip[x-placement^="left"] .tooltip-arrow {
457
- border-width: 5px 0 5px 5px;
458
- border-top-color: transparent !important;
459
- border-right-color: transparent !important;
460
- border-bottom-color: transparent !important;
461
- right: -5px;
462
- top: calc(50% - 5px);
463
- margin-left: 0;
464
- margin-right: 0;
465
- }
466
- .vue-tooltip-theme.tooltip[aria-hidden='true'] {
467
- visibility: hidden;
468
- opacity: 0;
469
- transition: opacity .15s, visibility .15s;
470
- }
471
- .vue-tooltip-theme.tooltip[aria-hidden='false'] {
472
- visibility: visible;
473
- opacity: 1;
474
- transition: opacity .15s;
475
- }
430
+ .vue-tooltip-theme.tooltip {
431
+ display: block !important;
432
+ z-index: 10000;
433
+ }
434
+ .vue-tooltip-theme.tooltip .tooltip-inner {
435
+ background: rgba(0, 0, 0, 0.7);
436
+ border-radius: 3px;
437
+ color: #ebedf0;
438
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
439
+ Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
440
+ font-size: 12px;
441
+ line-height: 16px;
442
+ padding: 14px 10px;
443
+ }
444
+ .vue-tooltip-theme.tooltip .tooltip-inner b {
445
+ color: white;
446
+ }
447
+ .vue-tooltip-theme.tooltip .tooltip-arrow {
448
+ width: 0;
449
+ height: 0;
450
+ border-style: solid;
451
+ position: absolute;
452
+ margin: 5px;
453
+ border-color: black;
454
+ z-index: 1;
455
+ }
456
+ .vue-tooltip-theme.tooltip[x-placement^="top"] {
457
+ margin-bottom: 5px;
458
+ }
459
+ .vue-tooltip-theme.tooltip[x-placement^="top"] .tooltip-arrow {
460
+ border-width: 5px 5px 0 5px;
461
+ border-left-color: transparent !important;
462
+ border-right-color: transparent !important;
463
+ border-bottom-color: transparent !important;
464
+ bottom: -5px;
465
+ left: calc(50% - 5px);
466
+ margin-top: 0;
467
+ margin-bottom: 0;
468
+ }
469
+ .vue-tooltip-theme.tooltip[x-placement^="bottom"] {
470
+ margin-top: 5px;
471
+ }
472
+ .vue-tooltip-theme.tooltip[x-placement^="bottom"] .tooltip-arrow {
473
+ border-width: 0 5px 5px 5px;
474
+ border-left-color: transparent !important;
475
+ border-right-color: transparent !important;
476
+ border-top-color: transparent !important;
477
+ top: -5px;
478
+ left: calc(50% - 5px);
479
+ margin-top: 0;
480
+ margin-bottom: 0;
481
+ }
482
+ .vue-tooltip-theme.tooltip[x-placement^="right"] {
483
+ margin-left: 5px;
484
+ }
485
+ .vue-tooltip-theme.tooltip[x-placement^="right"] .tooltip-arrow {
486
+ border-width: 5px 5px 5px 0;
487
+ border-left-color: transparent !important;
488
+ border-top-color: transparent !important;
489
+ border-bottom-color: transparent !important;
490
+ left: -5px;
491
+ top: calc(50% - 5px);
492
+ margin-left: 0;
493
+ margin-right: 0;
494
+ }
495
+ .vue-tooltip-theme.tooltip[x-placement^="left"] {
496
+ margin-right: 5px;
497
+ }
498
+ .vue-tooltip-theme.tooltip[x-placement^="left"] .tooltip-arrow {
499
+ border-width: 5px 0 5px 5px;
500
+ border-top-color: transparent !important;
501
+ border-right-color: transparent !important;
502
+ border-bottom-color: transparent !important;
503
+ right: -5px;
504
+ top: calc(50% - 5px);
505
+ margin-left: 0;
506
+ margin-right: 0;
507
+ }
508
+ .vue-tooltip-theme.tooltip[aria-hidden="true"] {
509
+ visibility: hidden;
510
+ opacity: 0;
511
+ transition: opacity 0.15s, visibility 0.15s;
512
+ }
513
+ .vue-tooltip-theme.tooltip[aria-hidden="false"] {
514
+ visibility: visible;
515
+ opacity: 1;
516
+ transition: opacity 0.15s;
517
+ }
476
518
  </style>